# Copyright 2020 Dell Inc. or its subsidiaries. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- # Tasks for Deploying AWX on the system - name: Check AWX status on machine include_tasks: check_awx_status.yml tags: install - name: Include common variables include_vars: ../../common/vars/main.yml tags: install - name: Internet validation include_tasks: ../../common/tasks/internet_validation.yml when: not awx_status tags: install - name: Get and encrypt AWX password include_tasks: clone_awx.yml when: not awx_status tags: install - name: Modify firewall config include_tasks: firewall_settings.yml when: not awx_status tags: install - name: Install AWX include_tasks: install_awx.yml when: not awx_status tags: install - name: Status message block: - debug: msg: "{{ message_skipped }}" verbosity: 2 when: awx_status - debug: msg: "{{ message_installed }}" verbosity: 2 when: not awx_status tags: install - name: Internet validation include_tasks: ../../common/tasks/internet_validation.yml tags: install - name: Waiting for AWX UI to be accessible wait_for: timeout: 300 delegate_to: localhost tags: install - name: Re-install if in migrating state block: - name: Check if AWX UI is accessible command: >- awx --conf.host "{{ awx_ip }}" --conf.username "{{ awx_user }}" --conf.password "{{ admin_password }}" organizations list -f human changed_when: no rescue: - name: Remove old containers docker_container: name: "{{ item }}" state: absent loop: - awx_task - awx_web - name: Restart docker service: name: docker state: restarted - name: Run AWX install.yml file command: ansible-playbook -i inventory install.yml --extra-vars "admin_password={{ admin_password }}" args: chdir: "{{ awx_installer_path }}" ignore_errors: yes - name: Waiting for AWX UI to be accessible wait_for: timeout: 150 delegate_to: localhost tags: install - name: Install AWX-CLI include_tasks: install_awx_cli.yml tags: install - name: Configure AWX include_tasks: awx_configuration.yml tags: install