Yes, you can install Ansible AWX on AIX. All what you need to do I'd try to summarize in this article. You can see the installation process in the Youtube video.
First of all you must have an AIX LPAR (surprise!). I suggest to build a new LPAR, but you can use one of your existing LPARs if you want. I tried to install AWX together with NIM on the same LPAR. As for me it worked. Your mileage may vary.
Your LPAR must have AIX 7.2 TL3 or AIX 7.2 TL4. I did tests only with AIX 7.2 TL3 SP2, SP4 and TL4 SP0 and SP1. I hope it works with other SPs too, but I'm pretty sure, it will not work with earlier TLs or AIX 7.1.
You must have enough RAM in the LPAR. At least 4 GB. AWX doesn't work with less RAM. With 2 GB RAM you will see PGSP_KILL messages in errpt quite soon.
You must have enough space in /var and /opt filesystems. AWX is installed into /var/lib/awx and uses PostgreSQL database in /var/lib/postgres. If you plan to work with AWX (not just test it), I suggest to create separate filesystems for AWX (/var/lib/awx) and PostgreSQL (/var/lib/postgres). AWX requires a bunch of RPM packages to be installed on your LPAR. It means, you must have enough free space in /opt/freeware. My prerequisite check script checks, if there is at least 4GB free space in /var and /opt.
As I already wrote, AWX has a lot of RPM dependencies. To resolve the whole RPM dependency hell you should have YUM installed on your AIX box. You can download RPMs from IBM AIX Toolbox for Linux applications and install them manually. But quite frankly - you don't want it! Install YUM! If you don't have a direct internet connection (air-gapped environment is quite usual at big shops), make a local mirror of the IBM repository. It is very easy and you can find an article in the Internet, how to do it.
AWX requires an installation of 2 additional packages - Kerberos and rsyslog. Both you can find in IBM Web download pack for AIX. Kerberos is called Network Authentication Services there. Copy the packages somewhere on the server (don't forget licenses!) and run:
# installp -acgXYd /path/to/packages krb5.client.rte rsyslog.base
If you have some other logging daemon, you must not change anything.
Now you are ready to install Ansible AWX on AIX. If you already have some server with ansible on it, download the installation package to that server. If you don't have such server, you can first install ansible on AIX:
# yum -y install ansible
You might also want to install ansible on your AIX box, if you don't have SSH connection from your ansible workstation to your AIX box or if you can't connect with root account. Yes, you need root to install AWX!
After you downloaded the installation package, unpack it and switch to awx-install directory:
# curl -L -O https://dl.power-devops.com/ansible-awx-13.0.0-aix7.2.install.tar.gz
# gzip -dc ansible-awx-13.0.0-aix7.2.install.tar.gz | tar xf -
# cd awx-install
Now you can start the installation playbook. If you do it from a separate ansible workstation:
# ansible-playbook -i your_aix_server, awx_install.yml
or if you do it locally on your AIX box:
# ansible-playbook -i localhost, -c local awx_install.yml
You can now go and drink another cup of coffee (tee, cola, etc.) with your colleagues. The installation can be sometimes very long. On my small LPAR with 0,1 CPU on a S822 it takes 15-20 minutes.
When AWX is installed, you get the message, that you must set AWX admin password. You must login to your AIX server and execute the following command:
# su - awx -c awx-manage changepassword admin
If you don't like the user "admin", you can create another administrator:
# awx-manage createsuperuser --username USERNAME --email EMAIL@ADDRESS
Now you are ready to open your browser and there your frish new AWX instance.
Enjoy!
@Andrey
Where are the .js files stored on AIX as I've an issue with InventorySourceDetail.js and saw this https://github.com/ansible/awx/issues/9043 which got me thinking about modifying my copy.
Many thanks, Steve
Hello, i try to install on P9 lpar AIX 7200-05-03-2136 and use last version of awx
Please can you help me
Got this error :
PLAY [all] ****************************************************************************************************************************
TASK [Gathering Facts] ****************************************************************************************************************
ok: [localhost]
TASK [copy prereq check script] *******************************************************************************************************
changed: [localhost]
TASK [execute prereq check script] ****************************************************************************************************
changed: [localhost]
TASK [remove prereq check script] *****************************************************************************************************
changed: [localhost]
TASK [check if X11.base.lib is installed] *********************************************************************************************
changed: [localhost]
TASK [check if rsyslog.base is installed] *********************************************************************************************
changed: [localhost]
TASK [check if krb5.client.rte is installed] ******************************************************************************************
changed: [localhost]
TASK [update all packages] ************************************************************************************************************
ok: [localhost]
TASK [install required packages] ******************************************************************************************************
ok: [localhost]
TASK [make a temp install directory] **************************************************************************************************
changed: [localhost]
TASK [copy our required packages] *****************************************************************************************************
changed: [localhost] => (item=linux_compat-0.1.2-1.aix7.2.ppc.rpm)
changed:…
Hello,
I have a problem when installing "ansible-playbook -i localhost,-c local awx_install.yml"
Here the Output from the Display
PLAY [all] *******************************************************************************************************************************************************************************
TASK [Gathering Facts] *******************************************************************************************************************************************************************
ok: [nimprddr34]
TASK [copy prereq check script] **********************************************************************************************************************************************************
changed: [nimprddr34]
TASK [execute prereq check script] *******************************************************************************************************************************************************
changed: [nimprddr34]
TASK [remove prereq check script] ********************************************************************************************************************************************************
changed: [nimprddr34]
TASK [check if X11.base.lib is installed] ************************************************************************************************************************************************
changed: [nimprddr34]
TASK [check if rsyslog.base is installed] ************************************************************************************************************************************************
changed: [nimprddr34]
TASK [check if krb5.client.rte is installed] *********************************************************************************************************************************************
changed: [nimprddr34]
TASK [update all packages] ***************************************************************************************************************************************************************
fatal: [nimprddr34]: FAILED! => {"changed": false, "cmd": "dnf install -y python2-dnf", "msg": "Could not import the dnf python module using /usr/bin/python (2.7.18 (default, May 4 2020, 03:46:51) [GCC 8.3.0]). Please install `python2-dnf` package or ensure you hav…
Hello, I have a Problem to Install "ansible-playbook -i localhost,-c local awx_install.yml"
Here the Output from the Dispay :
TASK [check awx user in postgres] *************************************************************************************************************
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running su
fatal: [dclpm]: FAILED! => {"changed": true, "cmd": ["su", "-", "postgres", "-c", "psql -tAc \"SELECT 1 FROM pg_roles WHERE rolname='awx'\""], "delta": "0:00:00.093446", "end": "2021-04-14 10:18:55.064843", "msg": "non-zero return code", "rc": 127, "start": "2021-04-14 10:18:54.971397", "stderr": "ksh: psql: not found.", "stderr_lines": ["ksh: psql: not found."], "stdout": "", "stdout_lines": []}
PLAY RECAP ************************************************************************************************************************************
localhost : ok=23 changed=13 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
Does anyone have a solution for me?
Hello and many thanks for this great tutorial to install AWX on AIX. It seems, that with the new version of Ansible AWX for AIX there is a dependency issue... I personally use an AIX 7.2 TL 5 SP 1 - at this point I want to mention, that I had to modify the check_awx_prereq.ksh, so it accepts TL 5. Nevertheless, if I play the playbook and it comes to the installation of the packages in task [install required packages] it can not find the necessary library package libXpm.a. Because this package does not exist on the AIX Toolbox Repository the installation fails.
So, is there any workaround for this problem?