Coder Social home page Coder Social logo

ansible-role-awx's Introduction

ansible-role-awx's People

Contributors

geerlingguy avatar kymidd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ansible-role-awx's Issues

Broken on all AWS AMIs

This role appears to be broken on all AWS AMIs. As such, it's unusable on AWS.

I've tried: RedHat 7.5, AWS AMIs, SUSE and Ubuntu. All have various, different issues.

- name: Install AWX
   hosts: awx
   become: yes

   roles:

   - role: geerlingguy.repo-epel
   - role: geerlingguy.git
   - role: geerlingguy.ansible
   - role: geerlingguy.docker
   - role: geerlingguy.pip
   - role: geerlingguy.nodejs
   - role: geerlingguy.awx

RedHat

TASK [geerlingguy.git : Ensure git is installed (RedHat).] fatal: [3.104.64.48]: FAILED! => {"changed": false, "msg": "No package matching 'git-svn' found available, installed or updated", "rc": 126, "results": ["No package matching 'git-svn' found available, installed or updated"]}

Reported here: geerlingguy/ansible-role-git#41

AWS AMIs

Amazon Linux AMI 2018.03.0 (HVM)

TASK [geerlingguy.docker : Install Docker.] ********************************************************************************************************************************************************** fatal: [52.63.98.103]: FAILED! => {"changed": false, "msg": "Error: Package: 3:docker-ce-18.09.2-3.el7.x86_64 (docker-ce-stable)\n Requires: container-selinux >= 2.9\nError: Package: containerd.io-1.2.2-3.3.el7.x86_64 (docker-ce-stable)\n Requires: systemd\nError: Package: 3:docker-ce-18.09.2-3.el7.x86_64 (docker-ce-stable)\n Requires: libsystemd.so.0()(64bit)\nError: Package: 3:docker-ce-18.09.2-3.el7.x86_64 (docker-ce-stable)\n Requires: libsystemd.so.0(LIBSYSTEMD_209)(64bit)\nError: Package: 3:docker-ce-18.09.2-3.el7.x86_64 (docker-ce-stable)\n Requires: systemd-units\n", "rc": 1, "results": ["Loaded plugins: priorities, update-motd, upgrade-helper\nResolving Dependencies\n--> Running transaction check\n---> Package docker-ce.x86_64 3:18.09.2-3.el7 will be installed\n--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: containerd.io >= 1.2.2-3 for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: libseccomp >= 2.3 for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: docker-ce-cli for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit) for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: systemd-units for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: libseccomp.so.2()(64bit) for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: libsystemd.so.0()(64bit) for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Running transaction check\n---> Package containerd.io.x86_64 0:1.2.2-3.3.el7 will be installed\n--> Processing Dependency: systemd for package: containerd.io-1.2.2-3.3.el7.x86_64\n--> Processing Dependency: systemd for package: containerd.io-1.2.2-3.3.el7.x86_64\n---> Package docker-ce.x86_64 3:18.09.2-3.el7 will be installed\n--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit) for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: systemd-units for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: libsystemd.so.0()(64bit) for package: 3:docker-ce-18.09.2-3.el7.x86_64\n---> Package docker-ce-cli.x86_64 1:18.09.2-3.el7 will be installed\n--> Processing Dependency: libltdl.so.7()(64bit) for package: 1:docker-ce-cli-18.09.2-3.el7.x86_64\n---> Package libseccomp.x86_64 0:2.3.1-2.4.amzn1 will be installed\n--> Running transaction check\n---> Package containerd.io.x86_64 0:1.2.2-3.3.el7 will be installed\n--> Processing Dependency: systemd for package: containerd.io-1.2.2-3.3.el7.x86_64\n--> Processing Dependency: systemd for package: containerd.io-1.2.2-3.3.el7.x86_64\n---> Package docker-ce.x86_64 3:18.09.2-3.el7 will be installed\n--> Processing Dependency: container-selinux >= 2.9 for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit) for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: systemd-units for package: 3:docker-ce-18.09.2-3.el7.x86_64\n--> Processing Dependency: libsystemd.so.0()(64bit) for package: 3:docker-ce-18.09.2-3.el7.x86_64\n---> Package libtool-ltdl.x86_64 0:2.4.2-20.4.8.5.32.amzn1 will be installed\n--> Finished Dependency Resolution\n You could try using --skip-broken to work around the problem\n You could try running: rpm -Va --nofiles --nodigest\n"]}

Reported here: geerlingguy/ansible-role-docker#56 (comment)

SUSE Linux

TASK [geerlingguy.repo-epel : Install EPEL repo.] fatal: [13.236.182.225]: FAILED! => {"msg": "The conditional check 'result.rc == 0' failed. The error was: error while evaluating conditional (result.rc == 0): 'dict object' has no attribute 'rc'"}

Ubuntu

TASK [geerlingguy.repo-epel : Install EPEL repo.] **************************************************************************************************************************************************** fatal: [54.252.163.104]: FAILED! => {"msg": "The conditional check 'result.rc == 0' failed. The error was: error while evaluating conditional (result.rc == 0): 'dict object' has no attribute 'rc'"}

docker-compose lib needs setuptools_rust

Hello,
Thanks for this role.

The new versions of docker-compose library requires setuptools_rust, at least on ubuntu. This is how I fixed it (as root user):

apt-get install build-essential libssl-dev libffi-dev cargo
snap install rustup --classic
rustup default stable

Add optional tasks for monolithic install

...mainly because I want to understand the architecture a little better, but also because I already have like 90% of the dependencies taken care of with:

- src: geerlingguy.repo-epel
- src: geerlingguy.git
- src: geerlingguy.ansible
- src: geerlingguy.pip
- src: geerlingguy.nodejs
- src: geerlingguy.postgresql
- src: geerlingguy.memcached
- src: geerlingguy.rabbitmq
# I want to be able to use this role to do a monolith install.
# - src: geerlingguy.awx

It also seems like this kind of installation might be easier to maintain/reason with for very basic single-server installations (e.g. for a small side project or small business that just wants to run the bare minimum on something like a 1GB DigitalOcean droplet—e.g. for Server Check.in :D)

Blank login page after install of AWX - no /var/lib/awx/public/static directory

Hi Jeff - firstly thanks for creating a role that installs AWX. I'm not sure if I should be asking here or on the AWX group....

I installed AWX today via your role - it installed without issues. When I browsed to the webpage AWX had an upgrade message on it, after a period of time it just went to a blank white screen. After a number of reboots etc I can only launch to a blank white screen which has AWX in the address bar.

AWX is running on an Ubuntu 17.10 box. Let me know what other info I can provide to assist.....

Update - I can access http://awx/api and then login, just can't access http://awx

I've just posted this on the AWX project support forum as I suspect this is an issue on the AWX side (or my server itself?), not an issue with the role.

Thanks in advance!

podman & buildah errors on redhat systems

An error of this sort will pop up on rhel8/centos8/centosstream because podman and buildah are installed and try to replace docker. Making sure those packages are uninstalled on a server will prevent this from happening:

TASK [geerlingguy.docker : Ensure containerd.io is installed.] ************************
fatal: [192.168.1.1]: FAILED! => {"changed": false, "failures": [], "msg": "Depsolve Error occured: \n Problem: problem with installed package buildah-1.15.1-2.module+el8.3.0+8221+97165c3f.x86_64\n  - package buildah-1.15.1-2.module+el8.3.0+8221+97165c3f.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.5-3.gite94b4f9.module+el8+2769+577ad176.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.5-3.gite94b4f9.module+el8.0.0+2958+4e823551.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.5-3.gite94b4f9.module+el8.0.0+4017+bbba319f.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.5-3.gite94b4f9.module+el8.0.0.z+3525+56c076c3.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.9.0-5.module+el8.1.0+4240+893c1ab8.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.11.6-7.module+el8.2.0+5856+b8046c6d.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.11.6-6.module+el8.1.1+5865+cc793d95.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.11.6-4.module+el8.1.1+5259+bcdd613a.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.14.9-1.module+el8.2.1+6689+748e6520.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package buildah-1.11.6-8.module+el8.2.0+6368+cf16aa14.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module+el8.3.0+8221+97165c3f.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module+el8.3.0+8221+97165c3f.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-54.rc5.dev.git2abd837.module+el8+2769+577ad176.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-54.rc5.dev.git2abd837.module+el8+2769+577ad176.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module+el8.0.0+3049+59fd2bba.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module+el8.0.0+3049+59fd2bba.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module+el8.0.0.z+3525+56c076c3.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-55.rc5.dev.git2abd837.module+el8.0.0.z+3525+56c076c3.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-56.rc8.dev.git425e105.module+el8.0.0+4017+bbba319f.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-56.rc8.dev.git425e105.module+el8.0.0+4017+bbba319f.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-60.rc8.module+el8.1.0+4081+b29780af.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-60.rc8.module+el8.1.0+4081+b29780af.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-61.rc8.module+el8.1.0+4873+4a24e241.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-61.rc8.module+el8.1.0+4873+4a24e241.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-64.rc9.module+el8.1.1+5259+bcdd613a.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-64.rc9.module+el8.1.1+5259+bcdd613a.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-65.rc10.module+el8.2.0+5762+aaee29fb.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-65.rc10.module+el8.2.0+5762+aaee29fb.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-65.rc10.module+el8.2.0+6368+cf16aa14.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-65.rc10.module+el8.2.0+6368+cf16aa14.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-66.rc10.module+el8.2.1+6465+1a51e8b6.x86_64\n  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-66.rc10.module+el8.2.1+6465+1a51e8b6.x86_64\n  - cannot install the best candidate for the job\n  - package runc-1.0.0-55.rc5.dev.git2abd837.module+el8+2794+c81bb0a1.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-55.rc5.dev.git2abd837.module+el8.0.0+2956+30df4692.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-55.rc5.dev.git2abd837.module+el8.0.0+4014+8662b6b2.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-55.rc5.dev.git2abd837.module+el8.1.0+3468+011f0ab0.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-56.rc5.dev.git2abd837.module+el8.1.0+4908+72a45cef.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-64.rc10.module+el8.2.0+5728+ac3aae00.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-56.rc5.dev.git2abd837.module+el8.2.0+6370+6fb6c8ca.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-64.rc10.module+el8.2.0+6369+1f4293b4.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-64.rc10.module+el8.3.0+8233+627fbb78.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-56.rc5.dev.git2abd837.module+el8.3.0+8236+8e428216.x86_64 is filtered out by modular filtering\n  - package runc-1.0.0-64.rc10.module+el8.3.0+8377+eff33c85.x86_64 is filtered out by modular filtering", "rc": 1, "results"


Build issue - docker compose deprecated

When running this playbook on a Vagrant Ansible instance I get all the way through the playbook to here
TASK [geerlingguy.awx : Run the AWX installation playbook.] *********************************************************************************************************************************fatal: [ansible.test.com]: FAILED! => {"changed": false, "cmd": "ansible-playbook -i inventory install.yml -e postgres_data_dir=/var/lib/pgdocker", "msg": "[Errno 2] No such file or directory: b'ansible-playbook': b'ansible-playbook'", "rc": 2}

I'm using ansible-galaxy to pull the role in directly and then deploy it, so I don't keep a copy of the ansible-role-awx role locally. I'm wondering if this is the issue

Make postgres_data_dir configurable via variable

The default AWX install configuration sets postgres_data_dir as /tmp/pgdocker, which is a bit annoying if you want to keep a persistant installation and try AWX for a few days (weeks, months) time. It is easy to change it if you install it from scratch, but not with this role.

create_host_config() got an unexpected keyword argument 'init'

Perhaps not directly the fault of this role, but it currently fails for me on step 'Run the AWX installation playbook.' with error 'create_host_config() got an unexpected keyword argument 'init' on Ubuntu 16.04.

Looks like an issue with a combination of Ansible and Docker (see issues 42162 and 2041).

I managed to get past by downgrading Ansible to v2.5.5 (the geerlingguy.ansible role currently installs 2.6.1).

Others with similar issues seemed to get by with switching between docker/docker-py/docker-ce but I didn't).

Hoped adding this issue here might help others struggling with this popular role.

Retain data beyond VM life

As alluded to in previous issues:
-Reinstalls after machine restart
-Make postgres_data_dir configurable via variable

This role does not allow you to retain AMX data and configuration. Need to be able to retain data beyond the life of the VM. Using Ansible is all about slash and burn environments, build and env, inject data etc.

This is especially an issue when running AWX with Vagrant and VirtualBox. I would like to be able to map the DB directory to a share on the host and for the (host resident) DB not to be wiped when the VM is recreated.

OR

How do I extract data and then re-inject it when the VM is rebuilt?

The backup.yml and restore.yml file mentioned in the Tower documentation do not seem to exist.
Copying the DB files seems to corrupt the DB (suspect key/certificate issue).
Changing the DB location as Pull Request #4 postgres_data_dir in a variable retains data during reboots but overwrites the data on rebuild.

Is anyone maintaining this role? It doesnt look like it has been updated in a while.

Make role more flexible; able to work with monolithic install

Basically, I don't want to assume that everyone using this role will only use it to build the entire set of Docker containers AWX uses in it's current default installation.

The first goal: make it so the git checkout can be run basically standalone.

install fails

I have tried on a fresh VM with CentOS 1804 (RHEL 7.5).

Installed ansible (2.4 from repo).

Installed suggested dependency roles with ansible-galaxy

Install fails complaining "unable to load docker-compose"
awx.txt

Reinstalls after machine restart

I have used this role to install awx on a VM in a cloud environment. So far installation went fine and awx itself works flawlessly, thanks a lot! But when I restart the machine it seems that it reinstalls or reconfigures awx: the machine has 100% cpu for about one hour with the the process awx-manage celery worker .. running. Afterwards all data is lost and awx is set back to installation defaults. I don't know if the cause of this is this role or the awx project itself. Do you know how to persist data between machine restarts?

yaml.scanner.ScannerError: mapping values are not allowed here

AWX role fails with this error:

Configuration error - yaml.scanner.ScannerError: mapping values are not allowed here\\n  in \\\"/tmp/awxcompose/docker-compose.yml

Playbook:

---
- name: Install AWX
  hosts: awx
  become: yes

  vars:
    ansible_distribution_major_version: 6

  pre_tasks:

  - name: Install Python Pip
    package:
      name: python-pip
      state: present

  - name: Install Docker
    command: pip install docker

  - name: Install Docker Compose
    command: pip install docker-compose

  roles:

  - role: geerlingguy.repo-epel
  - role: geerlingguy.git
  - role: geerlingguy.ansible
  - role: geerlingguy.nodejs
  - role: geerlingguy.awx

RHEL8 AWX Installation Playbook task failure

On a clean rhel8.3 install the task errors out at TASK [geerlingguy.awx : Run the AWX installation playbook.]
When I try to access awx from the 4 containers that were created, its stuck at http://192.168.1.1/migrations_notran/ with it displaying

AWX is installing.

This page will refresh when complete.

Here is the play I am using, correct me if im using bad parameters:

- hosts: all
  become: true
  
  tasks:
    - name: remove podman & buildah
      become: true
      become_user: root # why?
      action: >
        {{ ansible_pkg_mgr }}
        name=podman,buildah
        state=absent
        update_cache=yes

  vars:
    # nodejs_version: "10.x"
    docker_install_compose: false
    pip_install_packages:
      - name: docker
      - name: docker-compose

  roles:
    - geerlingguy.repo-epel
    - geerlingguy.git
    - geerlingguy.pip
    - geerlingguy.ansible
    - geerlingguy.docker
    - geerlingguy.nodejs
    - role: geerlingguy.awx
      docker_edition: 'ce'
      # docker_yum_repo_url: https://download.docker.com/linux/centos/docker-{{ docker_edition }}.repo
      docker_yum_repo_url: https://download.docker.com/linux/rhel/docker-{{ docker_edition }}.repo
      docker_yum_repo_enable_nightly: '0'
      docker_yum_repo_enable_test: '0'
      # docker_yum_gpg_key: https://download.docker.com/linux/centos/gpg
      docker_yum_gpg_key: https://download.docker.com/linux/rhel/gpg

      awx_repo: https://github.com/ansible/awx.git
      awx_repo_dir: "~/awx"
      # awx_version: devel
      awx_version: "16.0.0"
      # awx_keep_updated: true
      # awx_run_install_playbook: true
      postgres_data_dir: /var/lib/pgdocker

Error output:

TASK [geerlingguy.awx : Run the AWX installation playbook.] ********************************************************************************************************************
fatal: [192.168.1.1]: FAILED! => {"changed": true, "cmd": ["ansible-playbook", "-i", "inventory", "install.yml", "-e", "postgres_data_dir=/var/lib/pgdocker"], "delta": "0:02:33.394275", "end": "2021-01-09 04:47:35.363864", "msg": "non-zero return code", "rc": 2, "start": "2021-01-09 04:45:01.969589", "stderr": "", "stderr_lines": [], "stdout": "\nPLAY [Build and deploy AWX] ****************************************************\n\nTASK [Gathering Facts] *********************************************************\nok: [localhost]\n\nTASK [check_vars : include_tasks] **********************************************\nskipping: [localhost]\n\nTASK [check_vars : include_tasks] **********************************************\nincluded: /root/awx/installer/roles/check_vars/tasks/check_docker.yml for localhost\n\nTASK [check_vars : postgres_data_dir should be defined] ************************\nok: [localhost] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [image_build : Set global version if not provided] ************************\nskipping: [localhost]\n\nTASK [image_build : Verify awx-logos directory exists for official install] ****\nskipping: [localhost]\n\nTASK [image_build : Copy logos for inclusion in sdist] *************************\nskipping: [localhost]\n\nTASK [image_build : Set sdist file name] ***************************************\nskipping: [localhost]\n\nTASK [image_build : AWX Distribution] ******************************************\nskipping: [localhost]\n\nTASK [image_build : Stat distribution file] ************************************\nskipping: [localhost]\n\nTASK [image_build : Clean distribution] ****************************************\nskipping: [localhost]\n\nTASK [image_build : Build sdist builder image] *********************************\nskipping: [localhost]\n\nTASK [image_build : Build AWX distribution using container] ********************\nskipping: [localhost]\n\nTASK [image_build : Build AWX distribution locally] ****************************\nskipping: [localhost]\n\nTASK [image_build : Set docker build base path] ********************************\nskipping: [localhost]\n\nTASK [image_build : Set awx image name] ****************************************\nskipping: [localhost]\n\nTASK [image_build : Ensure directory exists] ***********************************\nskipping: [localhost]\n\nTASK [image_build : Stage sdist] ***********************************************\nskipping: [localhost]\n\nTASK [image_build : Template web Dockerfile] ***********************************\nskipping: [localhost]\n\nTASK [image_build : Stage launch_awx] ******************************************\nskipping: [localhost]\n\nTASK [image_build : Stage launch_awx_task] *************************************\nskipping: [localhost]\n\nTASK [image_build : Stage rsyslog.conf] ****************************************\nskipping: [localhost]\n\nTASK [image_build : Stage supervisor.conf] *************************************\nskipping: [localhost]\n\nTASK [image_build : Stage supervisor_task.conf] ********************************\nskipping: [localhost]\n\nTASK [image_build : Stage settings.py] *****************************************\nskipping: [localhost]\n\nTASK [image_build : Stage requirements] ****************************************\nskipping: [localhost]\n\nTASK [image_build : Stage config watcher] **************************************\nskipping: [localhost]\n\nTASK [image_build : Stage Makefile] ********************************************\nskipping: [localhost]\n\nTASK [image_build : Build base awx image] **************************************\nskipping: [localhost]\n\nTASK [image_build : Tag awx images as latest] **********************************\nskipping: [localhost] => (item=awx) \n\nTASK [image_build : Clean docker base directory] *******************************\nskipping: [localhost]\n\nTASK [image_push : Authenticate with Docker registry if registry password given] ***\nskipping: [localhost]\n\nTASK [image_push : Remove awx image] *******************************************\nskipping: [localhost]\n\nTASK [image_push : Tag and push awx image to registry] *************************\nskipping: [localhost]\n\nTASK [image_push : Set full image path for Registry] ***************************\nskipping: [localhost]\n\nTASK [kubernetes : Generate broadcast websocket secret] ************************\nskipping: [localhost]\n\nTASK [kubernetes : fail] *******************************************************\nskipping: [localhost]\n\nTASK [kubernetes : include_tasks] **********************************************\nskipping: [localhost] => (item=openshift_auth.yml) \nskipping: [localhost] => (item=openshift.yml) \n\nTASK [kubernetes : include_tasks] **********************************************\nskipping: [localhost] => (item=kubernetes_auth.yml) \nskipping: [localhost] => (item=kubernetes.yml) \n\nTASK [kubernetes : Use kubectl or oc] ******************************************\nskipping: [localhost]\n\nTASK [kubernetes : set_fact] ***************************************************\nskipping: [localhost]\n\nTASK [kubernetes : Record deployment size] *************************************\nskipping: [localhost]\n\nTASK [kubernetes : Set expected post-deployment Replicas value] ****************\nskipping: [localhost]\n\nTASK [kubernetes : Delete existing Deployment (or StatefulSet)] ****************\nskipping: [localhost]\n\nTASK [kubernetes : Get Postgres Service Detail] ********************************\nskipping: [localhost]\n\nTASK [kubernetes : Template PostgreSQL Deployment (OpenShift)] *****************\nskipping: [localhost]\n\nTASK [kubernetes : Deploy and Activate Postgres (OpenShift)] *******************\nskipping: [localhost]\n\nTASK [kubernetes : Create Temporary Values File (Kubernetes)] ******************\nskipping: [localhost]\n\nTASK [kubernetes : Populate Temporary Values File (Kubernetes)] ****************\nskipping: [localhost]\n\nTASK [kubernetes : Deploy and Activate Postgres (Kubernetes)] ******************\nskipping: [localhost]\n\nTASK [kubernetes : Remove tempfile] ********************************************\nskipping: [localhost]\n\nTASK [kubernetes : Set postgresql hostname to helm package service (Kubernetes)] ***\nskipping: [localhost]\n\nTASK [kubernetes : Wait for Postgres to activate] ******************************\nskipping: [localhost]\n\nTASK [kubernetes : Check if Postgres 9.6 is being used] ************************\nskipping: [localhost]\n\nTASK [kubernetes : Set new pg image] *******************************************\nskipping: [localhost]\n\nTASK [kubernetes : Wait for change to take affect] *****************************\nskipping: [localhost]\n\nTASK [kubernetes : Set env var for pg upgrade] *********************************\nskipping: [localhost]\n\nTASK [kubernetes : Wait for change to take affect] *****************************\nskipping: [localhost]\n\nTASK [kubernetes : Set env var for new pg version] *****************************\nskipping: [localhost]\n\nTASK [kubernetes : Wait for Postgres to redeploy] ******************************\nskipping: [localhost]\n\nTASK [kubernetes : Wait for Postgres to finish upgrading] **********************\nskipping: [localhost]\n\nTASK [kubernetes : Unset upgrade env var] **************************************\nskipping: [localhost]\n\nTASK [kubernetes : Wait for Postgres to redeploy] ******************************\nskipping: [localhost]\n\nTASK [kubernetes : Set awx image name] *****************************************\nskipping: [localhost]\n\nTASK [kubernetes : Determine Deployment api version] ***************************\nskipping: [localhost]\n\nTASK [kubernetes : Get Root CA file contents] **********************************\nskipping: [localhost]\n\nTASK [kubernetes : Render Root CA template] ************************************\nskipping: [localhost]\n\nTASK [kubernetes : Apply Root CA template] *************************************\nskipping: [localhost]\n\nTASK [kubernetes : Set Root CA file name] **************************************\nskipping: [localhost]\n\nTASK [kubernetes : Set Root CA file location] **********************************\nskipping: [localhost]\n\nTASK [kubernetes : Render deployment templates] ********************************\nskipping: [localhost] => (item=None) \nskipping: [localhost] => (item=None) \nskipping: [localhost] => (item=None) \nskipping: [localhost] => (item=None) \nskipping: [localhost] => (item=None) \nskipping: [localhost]\n\nTASK [kubernetes : Apply Deployment] *******************************************\nskipping: [localhost]\n\nTASK [kubernetes : Delete any existing management pod] *************************\nskipping: [localhost]\n\nTASK [kubernetes : Template management pod] ************************************\nskipping: [localhost]\n\nTASK [kubernetes : Create management pod] **************************************\nskipping: [localhost]\n\nTASK [kubernetes : Wait for management pod to start] ***************************\nskipping: [localhost]\n\nTASK [kubernetes : Migrate database] *******************************************\nskipping: [localhost]\n\nTASK [kubernetes : Check for Tower Super users] ********************************\nskipping: [localhost]\n\nTASK [kubernetes : create django super user if it does not exist] **************\nskipping: [localhost]\n\nTASK [kubernetes : update django super user password] **************************\nskipping: [localhost]\n\nTASK [kubernetes : Create the default organization if it is needed.] ***********\nskipping: [localhost]\n\nTASK [kubernetes : Delete management pod] **************************************\nskipping: [localhost]\n\nTASK [kubernetes : Scale up deployment] ****************************************\nskipping: [localhost]\n\nTASK [local_docker : Generate broadcast websocket secret] **********************\nok: [localhost]\n\nTASK [local_docker : Check for existing Postgres data] *************************\nok: [localhost]\n\nTASK [local_docker : Record Postgres version] **********************************\nskipping: [localhost]\n\nTASK [local_docker : Determine whether to upgrade postgres] ********************\nok: [localhost]\n\nTASK [local_docker : Set up new postgres paths pre-upgrade] ********************\nskipping: [localhost] => (item=/var/lib/pgdocker/10/data) \n\nTASK [local_docker : Stop AWX before upgrading postgres] ***********************\nskipping: [localhost]\n\nTASK [local_docker : Upgrade Postgres] *****************************************\nskipping: [localhost]\n\nTASK [local_docker : Copy old pg_hba.conf] *************************************\nskipping: [localhost]\n\nTASK [local_docker : Remove old data directory] ********************************\nok: [localhost]\n\nTASK [local_docker : Export Docker awx image if it isnt local and there isnt a registry defined] ***\nskipping: [localhost]\n\nTASK [local_docker : Set docker base path] *************************************\nskipping: [localhost]\n\nTASK [local_docker : Ensure directory exists] **********************************\nskipping: [localhost]\n\nTASK [local_docker : Copy awx image to docker execution] ***********************\nskipping: [localhost]\n\nTASK [local_docker : Load awx image] *******************************************\nskipping: [localhost]\n\nTASK [local_docker : Set full image path for local install] ********************\nskipping: [localhost]\n\nTASK [local_docker : Set DockerHub Image Paths] ********************************\nok: [localhost]\n\nTASK [local_docker : Create ~/.awx/awxcompose directory] ***********************\nchanged: [localhost]\n\nTASK [local_docker : Create Redis socket directory] ****************************\nchanged: [localhost]\n\nTASK [local_docker : Create Docker Compose Configuration] **********************\nchanged: [localhost] => (item={'file': 'environment.sh', 'mode': '0600'})\nchanged: [localhost] => (item={'file': 'credentials.py', 'mode': '0600'})\nchanged: [localhost] => (item={'file': 'docker-compose.yml', 'mode': '0600'})\nchanged: [localhost] => (item={'file': 'nginx.conf', 'mode': '0600'})\nchanged: [localhost] => (item={'file': 'redis.conf', 'mode': '0664'})\n\nTASK [local_docker : Render SECRET_KEY file] ***********************************\nchanged: [localhost]\n\nTASK [local_docker : Start the containers] *************************************\nchanged: [localhost]\n\nTASK [local_docker : Update CA trust in awx_web container] *********************\nchanged: [localhost]\n\nTASK [local_docker : Update CA trust in awx_task container] ********************\nchanged: [localhost]\n\nTASK [local_docker : Create Preload data] **************************************\nfatal: [localhost]: FAILED! => {\"changed\": false, \"cmd\": [\"docker\", \"exec\", \"awx_task\", \"bash\", \"-c\", \"/usr/bin/awx-manage create_preload_data\"], \"delta\": \"0:00:07.778706\", \"end\": \"2021-01-09 04:47:35.205295\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2021-01-09 04:47:27.426589\", \"stderr\": \"Traceback (most recent call last):\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\npsycopg2.errors.UndefinedTable: relation \\\"main_organization\\\" does not exist\\nLINE 1: SELECT COUNT(*) AS \\\"__count\\\" FROM \\\"main_organization\\\"\\n                                          ^\\n\\n\\nThe above exception was the direct cause of the following exception:\\n\\nTraceback (most recent call last):\\n  File \\\"/usr/bin/awx-manage\\\", line 8, in <module>\\n    sys.exit(manage())\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/__init__.py\\\", line 154, in manage\\n    execute_from_command_line(sys.argv)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\\\", line 381, in execute_from_command_line\\n    utility.execute()\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\\\", line 375, in execute\\n    self.fetch_command(subcommand).run_from_argv(self.argv)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\\\", line 323, in run_from_argv\\n    self.execute(*args, **cmd_options)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\\\", line 364, in execute\\n    output = self.handle(*args, **options)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/main/management/commands/create_preload_data.py\\\", line 17, in handle\\n    if Organization.objects.count():\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/manager.py\\\", line 82, in manager_method\\n    return getattr(self.get_queryset(), name)(*args, **kwargs)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/query.py\\\", line 392, in count\\n    return self.query.get_count(using=self.db)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/query.py\\\", line 504, in get_count\\n    number = obj.get_aggregation(using, ['__count'])['__count']\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/query.py\\\", line 489, in get_aggregation\\n    result = compiler.execute_sql(SINGLE)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/compiler.py\\\", line 1142, in execute_sql\\n    cursor.execute(sql, params)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 67, in execute\\n    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 76, in _execute_with_wrappers\\n    return executor(sql, params, many, context)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/utils.py\\\", line 89, in __exit__\\n    raise dj_exc_value.with_traceback(traceback) from exc_value\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\ndjango.db.utils.ProgrammingError: relation \\\"main_organization\\\" does not exist\\nLINE 1: SELECT COUNT(*) AS \\\"__count\\\" FROM \\\"main_organization\\\"\\n                                          ^\", \"stderr_lines\": [\"Traceback (most recent call last):\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\", \"    return self.cursor.execute(sql, params)\", \"psycopg2.errors.UndefinedTable: relation \\\"main_organization\\\" does not exist\", \"LINE 1: SELECT COUNT(*) AS \\\"__count\\\" FROM \\\"main_organization\\\"\", \"                                          ^\", \"\", \"\", \"The above exception was the direct cause of the following exception:\", \"\", \"Traceback (most recent call last):\", \"  File \\\"/usr/bin/awx-manage\\\", line 8, in <module>\", \"    sys.exit(manage())\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/__init__.py\\\", line 154, in manage\", \"    execute_from_command_line(sys.argv)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\\\", line 381, in execute_from_command_line\", \"    utility.execute()\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\\\", line 375, in execute\", \"    self.fetch_command(subcommand).run_from_argv(self.argv)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\\\", line 323, in run_from_argv\", \"    self.execute(*args, **cmd_options)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\\\", line 364, in execute\", \"    output = self.handle(*args, **options)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/main/management/commands/create_preload_data.py\\\", line 17, in handle\", \"    if Organization.objects.count():\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/manager.py\\\", line 82, in manager_method\", \"    return getattr(self.get_queryset(), name)(*args, **kwargs)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/query.py\\\", line 392, in count\", \"    return self.query.get_count(using=self.db)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/query.py\\\", line 504, in get_count\", \"    number = obj.get_aggregation(using, ['__count'])['__count']\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/query.py\\\", line 489, in get_aggregation\", \"    result = compiler.execute_sql(SINGLE)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/compiler.py\\\", line 1142, in execute_sql\", \"    cursor.execute(sql, params)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 67, in execute\", \"    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 76, in _execute_with_wrappers\", \"    return executor(sql, params, many, context)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\", \"    return self.cursor.execute(sql, params)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/utils.py\\\", line 89, in __exit__\", \"    raise dj_exc_value.with_traceback(traceback) from exc_value\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\", \"    return self.cursor.execute(sql, params)\", \"django.db.utils.ProgrammingError: relation \\\"main_organization\\\" does not exist\", \"LINE 1: SELECT COUNT(*) AS \\\"__count\\\" FROM \\\"main_organization\\\"\", \"                                          ^\"], \"stdout\": \"\", \"stdout_lines\": []}\n\nPLAY RECAP *********************************************************************\nlocalhost                  : ok=15   changed=7    unreachable=0    failed=1    skipped=91   rescued=0    ignored=0   ", "stdout_lines": ["", "PLAY [Build and deploy AWX] ****************************************************", "", "TASK [Gathering Facts] *********************************************************", "ok: [localhost]", "", "TASK [check_vars : include_tasks] **********************************************", "skipping: [localhost]", "", "TASK [check_vars : include_tasks] **********************************************", "included: /root/awx/installer/roles/check_vars/tasks/check_docker.yml for localhost", "", "TASK [check_vars : postgres_data_dir should be defined] ************************", "ok: [localhost] => {", "    \"changed\": false,", "    \"msg\": \"All assertions passed\"", "}", "", "TASK [image_build : Set global version if not provided] ************************", "skipping: [localhost]", "", "TASK [image_build : Verify awx-logos directory exists for official install] ****", "skipping: [localhost]", "", "TASK [image_build : Copy logos for inclusion in sdist] *************************", "skipping: [localhost]", "", "TASK [image_build : Set sdist file name] ***************************************", "skipping: [localhost]", "", "TASK [image_build : AWX Distribution] ******************************************", "skipping: [localhost]", "", "TASK [image_build : Stat distribution file] ************************************", "skipping: [localhost]", "", "TASK [image_build : Clean distribution] ****************************************", "skipping: [localhost]", "", "TASK [image_build : Build sdist builder image] *********************************", "skipping: [localhost]", "", "TASK [image_build : Build AWX distribution using container] ********************", "skipping: [localhost]", "", "TASK [image_build : Build AWX distribution locally] ****************************", "skipping: [localhost]", "", "TASK [image_build : Set docker build base path] ********************************", "skipping: [localhost]", "", "TASK [image_build : Set awx image name] ****************************************", "skipping: [localhost]", "", "TASK [image_build : Ensure directory exists] ***********************************", "skipping: [localhost]", "", "TASK [image_build : Stage sdist] ***********************************************", "skipping: [localhost]", "", "TASK [image_build : Template web Dockerfile] ***********************************", "skipping: [localhost]", "", "TASK [image_build : Stage launch_awx] ******************************************", "skipping: [localhost]", "", "TASK [image_build : Stage launch_awx_task] *************************************", "skipping: [localhost]", "", "TASK [image_build : Stage rsyslog.conf] ****************************************", "skipping: [localhost]", "", "TASK [image_build : Stage supervisor.conf] *************************************", "skipping: [localhost]", "", "TASK [image_build : Stage supervisor_task.conf] ********************************", "skipping: [localhost]", "", "TASK [image_build : Stage settings.py] *****************************************", "skipping: [localhost]", "", "TASK [image_build : Stage requirements] ****************************************", "skipping: [localhost]", "", "TASK [image_build : Stage config watcher] **************************************", "skipping: [localhost]", "", "TASK [image_build : Stage Makefile] ********************************************", "skipping: [localhost]", "", "TASK [image_build : Build base awx image] **************************************", "skipping: [localhost]", "", "TASK [image_build : Tag awx images as latest] **********************************", "skipping: [localhost] => (item=awx) ", "", "TASK [image_build : Clean docker base directory] *******************************", "skipping: [localhost]", "", "TASK [image_push : Authenticate with Docker registry if registry password given] ***", "skipping: [localhost]", "", "TASK [image_push : Remove awx image] *******************************************", "skipping: [localhost]", "", "TASK [image_push : Tag and push awx image to registry] *************************", "skipping: [localhost]", "", "TASK [image_push : Set full image path for Registry] ***************************", "skipping: [localhost]", "", "TASK [kubernetes : Generate broadcast websocket secret] ************************", "skipping: [localhost]", "", "TASK [kubernetes : fail] *******************************************************", "skipping: [localhost]", "", "TASK [kubernetes : include_tasks] **********************************************", "skipping: [localhost] => (item=openshift_auth.yml) ", "skipping: [localhost] => (item=openshift.yml) ", "", "TASK [kubernetes : include_tasks] **********************************************", "skipping: [localhost] => (item=kubernetes_auth.yml) ", "skipping: [localhost] => (item=kubernetes.yml) ", "", "TASK [kubernetes : Use kubectl or oc] ******************************************", "skipping: [localhost]", "", "TASK [kubernetes : set_fact] ***************************************************", "skipping: [localhost]", "", "TASK [kubernetes : Record deployment size] *************************************", "skipping: [localhost]", "", "TASK [kubernetes : Set expected post-deployment Replicas value] ****************", "skipping: [localhost]", "", "TASK [kubernetes : Delete existing Deployment (or StatefulSet)] ****************", "skipping: [localhost]", "", "TASK [kubernetes : Get Postgres Service Detail] ********************************", "skipping: [localhost]", "", "TASK [kubernetes : Template PostgreSQL Deployment (OpenShift)] *****************", "skipping: [localhost]", "", "TASK [kubernetes : Deploy and Activate Postgres (OpenShift)] *******************", "skipping: [localhost]", "", "TASK [kubernetes : Create Temporary Values File (Kubernetes)] ******************", "skipping: [localhost]", "", "TASK [kubernetes : Populate Temporary Values File (Kubernetes)] ****************", "skipping: [localhost]", "", "TASK [kubernetes : Deploy and Activate Postgres (Kubernetes)] ******************", "skipping: [localhost]", "", "TASK [kubernetes : Remove tempfile] ********************************************", "skipping: [localhost]", "", "TASK [kubernetes : Set postgresql hostname to helm package service (Kubernetes)] ***", "skipping: [localhost]", "", "TASK [kubernetes : Wait for Postgres to activate] ******************************", "skipping: [localhost]", "", "TASK [kubernetes : Check if Postgres 9.6 is being used] ************************", "skipping: [localhost]", "", "TASK [kubernetes : Set new pg image] *******************************************", "skipping: [localhost]", "", "TASK [kubernetes : Wait for change to take affect] *****************************", "skipping: [localhost]", "", "TASK [kubernetes : Set env var for pg upgrade] *********************************", "skipping: [localhost]", "", "TASK [kubernetes : Wait for change to take affect] *****************************", "skipping: [localhost]", "", "TASK [kubernetes : Set env var for new pg version] *****************************", "skipping: [localhost]", "", "TASK [kubernetes : Wait for Postgres to redeploy] ******************************", "skipping: [localhost]", "", "TASK [kubernetes : Wait for Postgres to finish upgrading] **********************", "skipping: [localhost]", "", "TASK [kubernetes : Unset upgrade env var] **************************************", "skipping: [localhost]", "", "TASK [kubernetes : Wait for Postgres to redeploy] ******************************", "skipping: [localhost]", "", "TASK [kubernetes : Set awx image name] *****************************************", "skipping: [localhost]", "", "TASK [kubernetes : Determine Deployment api version] ***************************", "skipping: [localhost]", "", "TASK [kubernetes : Get Root CA file contents] **********************************", "skipping: [localhost]", "", "TASK [kubernetes : Render Root CA template] ************************************", "skipping: [localhost]", "", "TASK [kubernetes : Apply Root CA template] *************************************", "skipping: [localhost]", "", "TASK [kubernetes : Set Root CA file name] **************************************", "skipping: [localhost]", "", "TASK [kubernetes : Set Root CA file location] **********************************", "skipping: [localhost]", "", "TASK [kubernetes : Render deployment templates] ********************************", "skipping: [localhost] => (item=None) ", "skipping: [localhost] => (item=None) ", "skipping: [localhost] => (item=None) ", "skipping: [localhost] => (item=None) ", "skipping: [localhost] => (item=None) ", "skipping: [localhost]", "", "TASK [kubernetes : Apply Deployment] *******************************************", "skipping: [localhost]", "", "TASK [kubernetes : Delete any existing management pod] *************************", "skipping: [localhost]", "", "TASK [kubernetes : Template management pod] ************************************", "skipping: [localhost]", "", "TASK [kubernetes : Create management pod] **************************************", "skipping: [localhost]", "", "TASK [kubernetes : Wait for management pod to start] ***************************", "skipping: [localhost]", "", "TASK [kubernetes : Migrate database] *******************************************", "skipping: [localhost]", "", "TASK [kubernetes : Check for Tower Super users] ********************************", "skipping: [localhost]", "", "TASK [kubernetes : create django super user if it does not exist] **************", "skipping: [localhost]", "", "TASK [kubernetes : update django super user password] **************************", "skipping: [localhost]", "", "TASK [kubernetes : Create the default organization if it is needed.] ***********", "skipping: [localhost]", "", "TASK [kubernetes : Delete management pod] **************************************", "skipping: [localhost]", "", "TASK [kubernetes : Scale up deployment] ****************************************", "skipping: [localhost]", "", "TASK [local_docker : Generate broadcast websocket secret] **********************", "ok: [localhost]", "", "TASK [local_docker : Check for existing Postgres data] *************************", "ok: [localhost]", "", "TASK [local_docker : Record Postgres version] **********************************", "skipping: [localhost]", "", "TASK [local_docker : Determine whether to upgrade postgres] ********************", "ok: [localhost]", "", "TASK [local_docker : Set up new postgres paths pre-upgrade] ********************", "skipping: [localhost] => (item=/var/lib/pgdocker/10/data) ", "", "TASK [local_docker : Stop AWX before upgrading postgres] ***********************", "skipping: [localhost]", "", "TASK [local_docker : Upgrade Postgres] *****************************************", "skipping: [localhost]", "", "TASK [local_docker : Copy old pg_hba.conf] *************************************", "skipping: [localhost]", "", "TASK [local_docker : Remove old data directory] ********************************", "ok: [localhost]", "", "TASK [local_docker : Export Docker awx image if it isnt local and there isnt a registry defined] ***", "skipping: [localhost]", "", "TASK [local_docker : Set docker base path] *************************************", "skipping: [localhost]", "", "TASK [local_docker : Ensure directory exists] **********************************", "skipping: [localhost]", "", "TASK [local_docker : Copy awx image to docker execution] ***********************", "skipping: [localhost]", "", "TASK [local_docker : Load awx image] *******************************************", "skipping: [localhost]", "", "TASK [local_docker : Set full image path for local install] ********************", "skipping: [localhost]", "", "TASK [local_docker : Set DockerHub Image Paths] ********************************", "ok: [localhost]", "", "TASK [local_docker : Create ~/.awx/awxcompose directory] ***********************", "changed: [localhost]", "", "TASK [local_docker : Create Redis socket directory] ****************************", "changed: [localhost]", "", "TASK [local_docker : Create Docker Compose Configuration] **********************", "changed: [localhost] => (item={'file': 'environment.sh', 'mode': '0600'})", "changed: [localhost] => (item={'file': 'credentials.py', 'mode': '0600'})", "changed: [localhost] => (item={'file': 'docker-compose.yml', 'mode': '0600'})", "changed: [localhost] => (item={'file': 'nginx.conf', 'mode': '0600'})", "changed: [localhost] => (item={'file': 'redis.conf', 'mode': '0664'})", "", "TASK [local_docker : Render SECRET_KEY file] ***********************************", "changed: [localhost]", "", "TASK [local_docker : Start the containers] *************************************", "changed: [localhost]", "", "TASK [local_docker : Update CA trust in awx_web container] *********************", "changed: [localhost]", "", "TASK [local_docker : Update CA trust in awx_task container] ********************", "changed: [localhost]", "", "TASK [local_docker : Create Preload data] **************************************", "fatal: [localhost]: FAILED! => {\"changed\": false, \"cmd\": [\"docker\", \"exec\", \"awx_task\", \"bash\", \"-c\", \"/usr/bin/awx-manage create_preload_data\"], \"delta\": \"0:00:07.778706\", \"end\": \"2021-01-09 04:47:35.205295\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2021-01-09 04:47:27.426589\", \"stderr\": \"Traceback (most recent call last):\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\npsycopg2.errors.UndefinedTable: relation \\\"main_organization\\\" does not exist\\nLINE 1: SELECT COUNT(*) AS \\\"__count\\\" FROM \\\"main_organization\\\"\\n                                          ^\\n\\n\\nThe above exception was the direct cause of the following exception:\\n\\nTraceback (most recent call last):\\n  File \\\"/usr/bin/awx-manage\\\", line 8, in <module>\\n    sys.exit(manage())\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/__init__.py\\\", line 154, in manage\\n    execute_from_command_line(sys.argv)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\\\", line 381, in execute_from_command_line\\n    utility.execute()\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\\\", line 375, in execute\\n    self.fetch_command(subcommand).run_from_argv(self.argv)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\\\", line 323, in run_from_argv\\n    self.execute(*args, **cmd_options)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\\\", line 364, in execute\\n    output = self.handle(*args, **options)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/main/management/commands/create_preload_data.py\\\", line 17, in handle\\n    if Organization.objects.count():\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/manager.py\\\", line 82, in manager_method\\n    return getattr(self.get_queryset(), name)(*args, **kwargs)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/query.py\\\", line 392, in count\\n    return self.query.get_count(using=self.db)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/query.py\\\", line 504, in get_count\\n    number = obj.get_aggregation(using, ['__count'])['__count']\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/query.py\\\", line 489, in get_aggregation\\n    result = compiler.execute_sql(SINGLE)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/compiler.py\\\", line 1142, in execute_sql\\n    cursor.execute(sql, params)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 67, in execute\\n    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 76, in _execute_with_wrappers\\n    return executor(sql, params, many, context)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/utils.py\\\", line 89, in __exit__\\n    raise dj_exc_value.with_traceback(traceback) from exc_value\\n  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\ndjango.db.utils.ProgrammingError: relation \\\"main_organization\\\" does not exist\\nLINE 1: SELECT COUNT(*) AS \\\"__count\\\" FROM \\\"main_organization\\\"\\n                                          ^\", \"stderr_lines\": [\"Traceback (most recent call last):\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\", \"    return self.cursor.execute(sql, params)\", \"psycopg2.errors.UndefinedTable: relation \\\"main_organization\\\" does not exist\", \"LINE 1: SELECT COUNT(*) AS \\\"__count\\\" FROM \\\"main_organization\\\"\", \"                                          ^\", \"\", \"\", \"The above exception was the direct cause of the following exception:\", \"\", \"Traceback (most recent call last):\", \"  File \\\"/usr/bin/awx-manage\\\", line 8, in <module>\", \"    sys.exit(manage())\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/__init__.py\\\", line 154, in manage\", \"    execute_from_command_line(sys.argv)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\\\", line 381, in execute_from_command_line\", \"    utility.execute()\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\\\", line 375, in execute\", \"    self.fetch_command(subcommand).run_from_argv(self.argv)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\\\", line 323, in run_from_argv\", \"    self.execute(*args, **cmd_options)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\\\", line 364, in execute\", \"    output = self.handle(*args, **options)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/main/management/commands/create_preload_data.py\\\", line 17, in handle\", \"    if Organization.objects.count():\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/manager.py\\\", line 82, in manager_method\", \"    return getattr(self.get_queryset(), name)(*args, **kwargs)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/query.py\\\", line 392, in count\", \"    return self.query.get_count(using=self.db)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/query.py\\\", line 504, in get_count\", \"    number = obj.get_aggregation(using, ['__count'])['__count']\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/query.py\\\", line 489, in get_aggregation\", \"    result = compiler.execute_sql(SINGLE)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/models/sql/compiler.py\\\", line 1142, in execute_sql\", \"    cursor.execute(sql, params)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 67, in execute\", \"    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 76, in _execute_with_wrappers\", \"    return executor(sql, params, many, context)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\", \"    return self.cursor.execute(sql, params)\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/utils.py\\\", line 89, in __exit__\", \"    raise dj_exc_value.with_traceback(traceback) from exc_value\", \"  File \\\"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\", \"    return self.cursor.execute(sql, params)\", \"django.db.utils.ProgrammingError: relation \\\"main_organization\\\" does not exist\", \"LINE 1: SELECT COUNT(*) AS \\\"__count\\\" FROM \\\"main_organization\\\"\", \"                                          ^\"], \"stdout\": \"\", \"stdout_lines\": []}", "", "PLAY RECAP *********************************************************************", "localhost                  : ok=15   changed=7    unreachable=0    failed=1    skipped=91   rescued=0    ignored=0   "]}

PLAY RECAP *********************************************************************************************************************************************************************
192.168.1.1               : ok=31   changed=12   unreachable=0    failed=1    skipped=31   rescued=0    ignored=0   

Inability to use SSL

SSL is not able to be configured by a playbook including this role due to the awx installation playbook being called using ansible command module.

For example, the following playbook will not configure SSL because the variables relevant to SSL are not passed on to the playbook that is installing awx.

- name: Provision Server as AWX server
  hosts: ddi-awx
  roles:
    - role: geerlingguy.git
    - role: geerlingguy.pip
    - role: geerlingguy.ansible
    - role: geerlingguy.docker
    - role: geerlingguy.awx
      ssl_certificate: /tmp/my-ssl.cert
      dockerhub_base: # intentionally left blank to force docker images to be built locally.

Install fails due to possible syntax error

Hello -

Thank you for your all of your efforts on this module they are appreciated :-)

I am trying to install on an Ubuntu 18.04 system running Ansible 2.7.4. The first half of the installer seems to work perfectly however, the install fails on the actual setup of AWX. I am receiving the following error:

ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.

The error appears to have been in '/root/awx/installer/roles/local_docker/tasks/compose.yml': line 39, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

- block:
    - name: Start the containers
      ^ here

Thank you in advance for any assistance you can provide.

Error during installation - CentOS 7

Hi all,

I'm trying to install AWX using this template, however, after fixing the dependency issue where it lacks docker-compose (added during pip install), I've got this blocker now:

"TASK [local_docker : Activate AWX Web Container] *******************************", "fatal: [localhost]: FAILED! => {\"changed\": false, \"msg\": \"Non-string value found for env option. Ambiguous env options must be wrapped in quotes to avoid them being interpreted. Key: DATABASE_PORT\"}"

INFO:
`
docker-compose version 1.25.4, build 8d51620a
npm --version 3.10.10
Docker version 19.03.8, build afacb8b
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

Machine:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
`

Thanks

Any plan to support podman instead of docker?

Hi
First, thank for all the work you are doing around ansible. Do you have any plan on rhel8 to add podman support since it is the default way to go?
If not, I may propose a PR if this is something you find useful.
Thanks

docker-compose

the playbook fails with below error:
Unable to load docker-compose. Try pip install docker-compose. Error: Traceback (most recent call last):\n File \"/tmp/ansible_docker_service_payload_MtsKkc/ansible_docker_service_payload.zip/ansible/modules/cloud/docker/_docker_service.py

server is new redhat7 and has only what comes from redhat.
all playbooks ran fine except the awx role.
would you please advise?
Thanks,
--Haythem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.