Skip to content

doc: bring AIX steps up to date with reality#4340

Open
sxa wants to merge 11 commits into
nodejs:mainfrom
sxa:aix73doc
Open

doc: bring AIX steps up to date with reality#4340
sxa wants to merge 11 commits into
nodejs:mainfrom
sxa:aix73doc

Conversation

@sxa
Copy link
Copy Markdown
Member

@sxa sxa commented May 15, 2026

I've collapsed a few sections into twisties to make this a bit more digestible for people who want an overview of what's needed for setting up AIX systems from our providers.
Some additions, some removals of obsolete things/references to things that are no longer manual (e.g. cmake)

Preview at https://github.com/sxa/nodebuild/blob/aix73doc/ansible/MANUAL_STEPS.md#aix

Still in draft for now as I'm still experimenting:

  • the index in the doc will likely need to be updated due to the changes
  • the explicit "AIX 7.2" heading is probably obsolete as most sections are applicable to 7.2/7.3 and we no longer have 7.1 or earlier. Removed, although there are some AIX 7.2/7.3 differences such as the OpenXL17 runtime packages being presinstalled
  • The required physical disk sizes probably need to be updated as 20+50GB may not be adequate for newer versions with the additional requirements for node 26. 20+70GiB is probably a minimum. Stated 90GiB total minimum on the VG
  • Need to clarify if the ansible_python_interpreter can be configured properly as I haven't made it work other than from the ansible-playbook command line yet. TBC - after the setup is complete this no longer seems to be required ...
  • Need to verify on another clean system whether anything other than python3-pip is required to be installed manually (likely also dnf-python)
  • Check whether we really need all of the packages from the IBM UTILITIES package set. No, just one which ahs now been added to the playbook so it will be installed automatically. Similarly the runtime package in MANUAL_STEPS is NOT required for AIX 7.3 as it already has a suitable version

Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa sxa assigned sxa, abmusse and richardlau and unassigned abmusse and richardlau May 15, 2026
@sxa sxa requested review from abmusse and richardlau May 15, 2026 11:28
Copy link
Copy Markdown
Member

@richardlau richardlau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since sections have been removed/renamed please also update the links at the top of the file.

Comment thread ansible/MANUAL_STEPS.md Outdated
Comment thread ansible/MANUAL_STEPS.md Outdated
Comment thread ansible/MANUAL_STEPS.md Outdated
What you do need to install manually is **ccache**
You may need to set up the AIX toolbox if it is not configured by default by
your provider, and potentially update python and pip to allow ansible to
communicate with it properly (`dnf install python3-pip` will often be enough)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

python3-pip should be being installed via the playbook.
There may be packages such as python3-dnf (needed for the ansible.builtin.dnf/ansible.builtin.package tasks) which should be done as part of the bootstrap role if not already.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's installed explicitly via a download/install of pip3 outside the toolbox on AIX 7.2. I've left that as-is (I'm only testing on 7.3 just now) and am pulling down the python3-pip from the AIX Toolbox for 7.3

Comment thread ansible/MANUAL_STEPS.md Outdated
Comment thread ansible/MANUAL_STEPS.md Outdated
sxa and others added 4 commits May 15, 2026 17:15
Co-authored-by: Richard Lau <richard.lau@ibm.com>
Co-authored-by: Richard Lau <richard.lau@ibm.com>
Co-authored-by: Richard Lau <richard.lau@ibm.com>
Co-authored-by: Richard Lau <richard.lau@ibm.com>
@sxa
Copy link
Copy Markdown
Member Author

sxa commented May 15, 2026

I'm also thinking that the playbooks should perhaps detect that some of the packages now required have been installed and warn the user explicitly if they're not present - listing them here explicitly:

From the runtimes package:

  • libc++.rte
  • libc++abi.rte
  • libomp.rte
  • libunwind.rte

From the utilities package:

  • libc++.adt.include

Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
Copy link
Copy Markdown
Member Author

sxa commented May 18, 2026

Various changes in the latest version including:

  • Added python3-dnf update before we start as that was preventing the playbooks from succeeding unless done manually beforehand.- Reducing the chlv value for /home to all that's needed for the sizes in the playbooks
  • Added a couple of "error hints" for things that might go wrong in the task descriptions
  • Added in the IBM OpenXL utilities download and relevant installs which were previously in the manual steps.
  • Added python3-pip (required for the tap2junit install) into the list of packages to get from the AIX Toolbox in AIX 7.3

# Appears to be some issue with the Ansible dnf task on AIX and gcc10-c++, so handle separately.
aix73: [
'gcc8-c++,gcc12-c++'
'gcc8-c++,gcc12-c++,python3-pip'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could install python3-pip in ansible/roles/jenkins-worker/tasks/partials/tap2junit/aix73.yml as it'd be nearer to where it is actually needed.

And on that subject, it's probably my fault (or necessary when we supported older versions of AIX) but ansible/roles/jenkins-worker/tasks/partials/tap2junit/aix.yml and ansible/roles/jenkins-worker/tasks/partials/tap2junit/aix73.yml could likely be unified.

Copy link
Copy Markdown
Member Author

@sxa sxa May 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I was a bit torn as to whether to leave that in the tap2junt role but I erred on the side of putting it next to some of the existing setup commands to keep those roles just for their intended installation. A philosophical question really, happy to move it if you'd prefer.

Yeah I agree that those could likely be unified into a common aix.yml but did it this way for now as i was only playing with 7.3 boxed and I wouldn't want to unify without verifying that it definitely worked on 7.2 (and also whether running the playbooks with it being pulled from the repos on 7.2 would conflict with machines already set up by the "outside dnf" setup)

@sxa
Copy link
Copy Markdown
Member Author

sxa commented May 18, 2026

@richardlau Are you ok with the Utilities install being in the bootstrap role/ I considered a separate one ... The playbooks will run to completion without it so it's not required to "bootstrap" the rest of the playbooks (although will be required when you get to building)

@richardlau
Copy link
Copy Markdown
Member

@richardlau Are you ok with the Utilities install being in the bootstrap role/ I considered a separate one ... The playbooks will run to completion without it so it's not required to "bootstrap" the rest of the playbooks (although will be required when you get to building)

I think its fine for now. We can move later if necessary.

sxa added 5 commits May 18, 2026 17:29
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa sxa marked this pull request as ready for review May 18, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants