From nobody Wed May 14 16:46:39 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1524065164180310.1139235377706; Wed, 18 Apr 2018 08:26:04 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7194F3164239; Wed, 18 Apr 2018 15:26:02 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 11E979231D; Wed, 18 Apr 2018 15:25:38 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A1BAF1805972; Wed, 18 Apr 2018 15:25:37 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3IFPUU9006924 for ; Wed, 18 Apr 2018 11:25:30 -0400 Received: by smtp.corp.redhat.com (Postfix) id 4D5F37C26; Wed, 18 Apr 2018 15:25:30 +0000 (UTC) Received: from inaba.usersys.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E44A61DB27 for ; Wed, 18 Apr 2018 15:25:29 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Wed, 18 Apr 2018 17:25:19 +0200 Message-Id: <20180418152522.17923-3-abologna@redhat.com> In-Reply-To: <20180418152522.17923-1-abologna@redhat.com> References: <20180418152522.17923-1-abologna@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Subject: [libvirt] [jenkins-ci PATCH 2/5] guests: Figure out OS-dependent paths automatically X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Wed, 18 Apr 2018 15:26:03 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" When configuring a guest, we need to know the absolute path for some commands and files; unfortunately, while most of them are the same regardless of the OS, some of them don't. Right now we hardcode such paths in the inventory, but it would be better if we didn't have to do that: this commit introduces a way to let Ansible figure out the paths for itself instead. We're going to use it for more paths later on. Signed-off-by: Andrea Bolognani --- guests/group_vars/all/main.yml | 5 --- guests/host_vars/libvirt-freebsd-10/main.yml | 5 --- guests/host_vars/libvirt-freebsd-11/main.yml | 5 --- guests/host_vars/libvirt-freebsd-current/main.yml | 5 --- guests/site.yml | 1 + guests/tasks/paths.yml | 37 +++++++++++++++++++= ++++ 6 files changed, 38 insertions(+), 20 deletions(-) create mode 100644 guests/tasks/paths.yml diff --git a/guests/group_vars/all/main.yml b/guests/group_vars/all/main.yml index 4e05c66..b364acf 100644 --- a/guests/group_vars/all/main.yml +++ b/guests/group_vars/all/main.yml @@ -18,8 +18,3 @@ GI_TYPELIB_PATH: $VIRT_PREFIX/lib/girepository-1.0 OSINFO_SYSTEM_DIR: $VIRT_PREFIX/share/osinfo PERL5LIB: PYTHONPATH: - -bash: /bin/bash -java: /usr/bin/java -su: /bin/su -sudoers: /etc/sudoers diff --git a/guests/host_vars/libvirt-freebsd-10/main.yml b/guests/host_var= s/libvirt-freebsd-10/main.yml index 487b3e8..ab5e367 100644 --- a/guests/host_vars/libvirt-freebsd-10/main.yml +++ b/guests/host_vars/libvirt-freebsd-10/main.yml @@ -4,11 +4,6 @@ ansible_python_interpreter: /usr/local/bin/python2 PERL5LIB: $VIRT_PREFIX/lib/perl5/site_perl/mach/5.26 PYTHONPATH: $VIRT_PREFIX/lib/python3.6/site-packages =20 -bash: /usr/local/bin/bash -java: /usr/local/bin/java -su: /usr/bin/su -sudoers: /usr/local/etc/sudoers - projects: - libosinfo - libvirt diff --git a/guests/host_vars/libvirt-freebsd-11/main.yml b/guests/host_var= s/libvirt-freebsd-11/main.yml index 487b3e8..ab5e367 100644 --- a/guests/host_vars/libvirt-freebsd-11/main.yml +++ b/guests/host_vars/libvirt-freebsd-11/main.yml @@ -4,11 +4,6 @@ ansible_python_interpreter: /usr/local/bin/python2 PERL5LIB: $VIRT_PREFIX/lib/perl5/site_perl/mach/5.26 PYTHONPATH: $VIRT_PREFIX/lib/python3.6/site-packages =20 -bash: /usr/local/bin/bash -java: /usr/local/bin/java -su: /usr/bin/su -sudoers: /usr/local/etc/sudoers - projects: - libosinfo - libvirt diff --git a/guests/host_vars/libvirt-freebsd-current/main.yml b/guests/hos= t_vars/libvirt-freebsd-current/main.yml index 487b3e8..ab5e367 100644 --- a/guests/host_vars/libvirt-freebsd-current/main.yml +++ b/guests/host_vars/libvirt-freebsd-current/main.yml @@ -4,11 +4,6 @@ ansible_python_interpreter: /usr/local/bin/python2 PERL5LIB: $VIRT_PREFIX/lib/perl5/site_perl/mach/5.26 PYTHONPATH: $VIRT_PREFIX/lib/python3.6/site-packages =20 -bash: /usr/local/bin/bash -java: /usr/local/bin/java -su: /usr/bin/su -sudoers: /usr/local/etc/sudoers - projects: - libosinfo - libvirt diff --git a/guests/site.yml b/guests/site.yml index 46d2db6..063b0c6 100644 --- a/guests/site.yml +++ b/guests/site.yml @@ -48,6 +48,7 @@ - flavor =3D=3D "jenkins" =20 # Configure environment. Needs to happen after installing packages + - include: tasks/paths.yml - include: tasks/bootloader.yml - include: tasks/services.yml - include: tasks/kludges.yml diff --git a/guests/tasks/paths.yml b/guests/tasks/paths.yml new file mode 100644 index 0000000..36b699f --- /dev/null +++ b/guests/tasks/paths.yml @@ -0,0 +1,37 @@ +--- +- set_fact: + commands: {} + files: {} + +- name: 'Look for commands' + shell: 'which {{ item }} 2>/dev/null || true' + register: which + with_items: + - bash + - java + - su + +- name: 'Look for files' + shell: 'find /etc /usr/local/etc -name {{ item }} 2>/dev/null' + register: find + with_items: + - sudoers + +- set_fact: + commands: '{{ commands|combine({ item.item: item.stdout }) }}' + no_log: True + with_items: + '{{ which.results }}' + +- set_fact: + files: '{{ files|combine({ item.item: item.stdout }) }}' + no_log: True + with_items: + '{{ find.results }}' + +- name: 'Export paths' + set_fact: + bash: '{{ commands["bash"] }}' + java: '{{ commands["java"] }}' + su: '{{ commands["su"] }}' + sudoers: '{{ files["sudoers"] }}' --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list