top of page
Writer's picturePower DevOps

Installing Ansible AWX on IBM AIX

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!


4,037 views16 comments

Recent Posts

See All

16 Comments


@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


Like

xax
Apr 08, 2022

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:…


Like
ganesh.karmegam
Apr 28, 2022
Replying to

Hello,


you can create link and try


ln -sf /opt/freeware/bin/git /usr/bin/git


Like

ganesh.karmegam
Mar 03, 2022

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…


Like
xax
Oct 03, 2022
Replying to

i find solution here:


https://community.ibm.com/community/user/power/communities/community-home/digestviewer/viewthread?MessageKey=d3b6a514-8966-4a96-b988-6e202d7cfd72&CommunityKey=10c1d831-47ee-4d92-a138-b03f7896f7c9&tab=digestviewer


I replace :

vars:

ansible_python_interpreter: /opt/freeware/bin/python

to

vars:

ansible_python_interpreter: /opt/freeware/bin/python3_32


in install yml

Like

Ralf
Apr 14, 2021

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?

Like
Power DevOps
Power DevOps
Apr 14, 2021
Replying to

Hi Ralf,


the problem is:


"ksh: psql: not found."


If I look at the code of the newest AWX package, the line is already changed to the full-qualified path:


/opt/freeware/bin/psql


IBM has changed its policy regarding open-source packages on AIX and they don't provide symlinks in /usr/bin anymore.


Either you should install newer version of AWX or make symlinks in /usr/bin for /opt/freeware/bin/psql, /opt/freeware/bin/createuser and /opt/freeware/bin/createdb

Like

Marcus Haupt
Mar 19, 2021

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?

Like
Power DevOps
Power DevOps
Mar 19, 2021
Replying to

Thank you for reporting! We will check it and update the playbook.

Like
bottom of page