diff --git a/ansible.cfg b/ansible.cfg index 742d4d299..ba9d97d97 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -24,6 +24,9 @@ scp_if_ssh = True become_user = root become_method = sudo +[hosts:aix] +ansible_python_interpreter = /opt/freeware/libexec/python3 + [hosts:smartos] ansible_python_interpreter = /opt/local/bin/python diff --git a/ansible/roles/baselayout/tasks/partials/repo/aix.yml b/ansible/roles/baselayout/tasks/partials/repo/aix.yml new file mode 100644 index 000000000..e3a77afea --- /dev/null +++ b/ansible/roles/baselayout/tasks/partials/repo/aix.yml @@ -0,0 +1,15 @@ +# Appears to be some issue with the Ansible dnf task on AIX and gcc10-c++, +# so manage that package here. + +- name: Check for gcc10-c++ + ansible.builtin.command: + cmd: /opt/freeware/bin/dnf list installed gcc10-c++ + changed_when: no + check_mode: no + failed_when: no + register: gcc10_installed + +- name: Install gcc10-c++ + ansible.builtin.command: + cmd: /opt/freeware/bin/dnf install -y gcc10-c++ + when: gcc10_installed.rc != 0 diff --git a/ansible/roles/baselayout/vars/main.yml b/ansible/roles/baselayout/vars/main.yml index d4c9af2c7..bc922aee2 100644 --- a/ansible/roles/baselayout/vars/main.yml +++ b/ansible/roles/baselayout/vars/main.yml @@ -33,15 +33,17 @@ common_packages: [ # % ansible -m debug -a "var=os" HOST packages: { aix: [ - 'bash,cmake,coreutils,curl,gcc-c++,tar,unzip,git,make,sudo,python-setuptools,python3.9', + 'bash,cmake,coreutils,curl,gcc-c++,tar,unzip,git,make,sudo,python3-setuptools,python3', ], + # Appears to be some issue with the Ansible dnf task on AIX and gcc10-c++, so handle separately. aix72: [ - 'gcc8-c++,gcc10-c++,gcc12-c++' + 'gcc8-c++,gcc12-c++' ], + # Appears to be some issue with the Ansible dnf task on AIX and gcc10-c++, so handle separately. aix73: [ - 'gcc8-c++,gcc10-c++,gcc12-c++' + 'gcc8-c++,gcc12-c++' ], ibmi: [ diff --git a/ansible/roles/bootstrap/tasks/partials/aix.yml b/ansible/roles/bootstrap/tasks/partials/aix.yml index c5a799dfc..ed3dbd2a2 100644 --- a/ansible/roles/bootstrap/tasks/partials/aix.yml +++ b/ansible/roles/bootstrap/tasks/partials/aix.yml @@ -73,3 +73,8 @@ - name: Set hostname to inventory_hostname AIX ansible.builtin.command: hostname {{ inventory_hostname }} when: current_hostname.stdout != inventory_hostname + +- name: set pkg_mgr + ansible.builtin.set_fact: + ansible_facts: + pkg_mgr: dnf diff --git a/ansible/roles/package-upgrade/tasks/partials/dnf.yml b/ansible/roles/package-upgrade/tasks/partials/dnf.yml index 3d1d4e742..b8cbbe154 100644 --- a/ansible/roles/package-upgrade/tasks/partials/dnf.yml +++ b/ansible/roles/package-upgrade/tasks/partials/dnf.yml @@ -8,4 +8,5 @@ ansible.builtin.dnf: name: "*" state: latest + use_backend: "{{ os|startswith('aix')|ternary('dnf4', omit) }}" notify: package updated diff --git a/ansible/roles/package-upgrade/vars/main.yml b/ansible/roles/package-upgrade/vars/main.yml index 87457013c..e18ce11fd 100644 --- a/ansible/roles/package-upgrade/vars/main.yml +++ b/ansible/roles/package-upgrade/vars/main.yml @@ -5,9 +5,9 @@ # pm: { - 'yum': ['centos', 'rhel7', 'aix72', 'ibmi'], + 'yum': ['centos', 'rhel7', 'ibmi'], 'apt': ['debian', 'ubuntu'], - 'dnf': ['aix73', 'fedora', 'rhel8', 'rhel9'], + 'dnf': ['aix72', 'aix73', 'fedora', 'rhel8', 'rhel9'], 'pkgng': 'freebsd', 'pkgin': 'smartos', 'chocolatey': 'win',