From 8d7519f27a8cbcec182270b11c7c9ec280fb3b0e Mon Sep 17 00:00:00 2001 From: Sean Sullivan Date: Thu, 14 Jan 2021 11:00:45 -0600 Subject: [PATCH] Update process (#28) Make it possible to run playbook as non-root (in case pre-requisites are already installed) --- roles/pre_tasks/README.md | 3 +++ roles/pre_tasks/tasks/main.yml | 14 +++++++++++++- roles/pre_tasks/vars/main.yml | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/roles/pre_tasks/README.md b/roles/pre_tasks/README.md index 1b7be22..e5e5652 100644 --- a/roles/pre_tasks/README.md +++ b/roles/pre_tasks/README.md @@ -13,6 +13,9 @@ Available variables are listed below, along with default values defined (see def ```yaml tower_working_location: "/root/" +# Use the default tower installation template +pre_tasks_process_template: true + # Tower variables tower_admin_password: "password" diff --git a/roles/pre_tasks/tasks/main.yml b/roles/pre_tasks/tasks/main.yml index 5d3eb99..e736135 100644 --- a/roles/pre_tasks/tasks/main.yml +++ b/roles/pre_tasks/tasks/main.yml @@ -1,10 +1,22 @@ --- # Install absolutely necessary packages + +- name: Check if the absolutely necessary packages are installed + raw: "rpm -q {{ __towerutils_check_packages | join(' ') }}" # noqa 303 + register: __towerutils_type_packages + ignore_errors: yes + changed_when: false + - name: "Install absolutely necessary packages" yum: - name: "{{ tower_pre_tasks_packages }}" + name: "{{ package_item }}" state: present + loop: "{{ __towerutils_check_packages }}" + loop_control: + loop_var: package_item + when: + - ('package ' + package_item + ' is not installed') in __towerutils_type_packages.stdout # Assert tower version specified - name: "Assert tower version specified" diff --git a/roles/pre_tasks/vars/main.yml b/roles/pre_tasks/vars/main.yml index 41c059e..fc5014d 100644 --- a/roles/pre_tasks/vars/main.yml +++ b/roles/pre_tasks/vars/main.yml @@ -1,6 +1,6 @@ --- # list of absolutely required RPM packages -tower_pre_tasks_packages: +__towerutils_check_packages: - unzip # required by unarchive module, not present on a minimal/core RHEL - tar # required by unarchive module, not present on a minimal/core RHEL