From 383f02a858753c091c10bfee9059e9e7798681dd Mon Sep 17 00:00:00 2001 From: rocky Cloud User Date: Thu, 20 Nov 2025 17:02:47 +0000 Subject: [PATCH 01/13] pin ansible-core 2.16, update cloudalchemy roles, remove selinux in requirements.txt --- requirements.txt | 4 ++-- requirements.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements.txt b/requirements.txt index 4e816af82..b54a0d8e6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -ansible==6.7.0 # cloudalchemy.prometheus uses ansible.builtin.include, removed in ansible-core==2.16 => ansible==9 +ansible-core==2.16 openstacksdk python-openstackclient==8.0.0 python-manilaclient @@ -7,7 +7,7 @@ jmespath bcrypt==4.3.0 passlib[bcrypt]==1.7.4 cookiecutter -selinux # this is a shim to avoid having to use --system-site-packages, you still need sudo yum install libselinux-python3 +# selinux # this is a shim to avoid having to use --system-site-packages, you still need sudo yum install libselinux-python3 netaddr matplotlib pulp-cli==0.23.2 diff --git a/requirements.yml b/requirements.yml index 0d24cdf2d..bd38c9772 100644 --- a/requirements.yml +++ b/requirements.yml @@ -9,12 +9,12 @@ roles: - src: https://github.com/stackhpc/ansible-node-exporter.git version: stackhpc name: cloudalchemy.node_exporter - - src: https://github.com/cloudalchemy/ansible-prometheus.git - version: 4d2c8d742de39e50387e0aa6d5510b21c7451343 # need fix in preceeding commit for rocky + - src: https://github.com/stackhpc/ansible-prometheus.git + version: master name: cloudalchemy.prometheus - src: https://github.com/stackhpc/ansible-grafana.git name: cloudalchemy.grafana - version: stackhpc-0.19.0 # fix grafana install + version: 0f516ea925b63868719475a8eb77bccc0db11be3 - src: https://github.com/OSC/ood-ansible.git name: osc.ood version: v4.0.1 From ea265e1621e859aa111f819d262ad6b6e1c85022 Mon Sep 17 00:00:00 2001 From: rocky Cloud User Date: Fri, 21 Nov 2025 09:42:06 +0000 Subject: [PATCH 02/13] bump CI images --- environments/.stackhpc/tofu/cluster_image.auto.tfvars.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/environments/.stackhpc/tofu/cluster_image.auto.tfvars.json b/environments/.stackhpc/tofu/cluster_image.auto.tfvars.json index 0be7322ec..7ee4b8afc 100644 --- a/environments/.stackhpc/tofu/cluster_image.auto.tfvars.json +++ b/environments/.stackhpc/tofu/cluster_image.auto.tfvars.json @@ -1,6 +1,6 @@ { "cluster_image": { - "RL8": "openhpc-RL8-251027-1123-d389c00b", - "RL9": "openhpc-RL9-251027-1123-d389c00b" + "RL8": "openhpc-RL8-251120-2221-383f02a8", + "RL9": "openhpc-RL9-251120-2221-383f02a8" } } From afa87ff53f60e149fadb033ede0b457ff60f92f2 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Fri, 21 Nov 2025 12:50:52 +0000 Subject: [PATCH 03/13] regenerate venv when python version changes --- dev/setup-env.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/dev/setup-env.sh b/dev/setup-env.sh index d0c14bb6f..a065916ce 100755 --- a/dev/setup-env.sh +++ b/dev/setup-env.sh @@ -19,18 +19,19 @@ if [[ "$PYTHON_VERSION" == "" ]]; then if [[ "$OS" == "ubuntu" && "$MAJOR_VERSION" == "22" ]]; then PYTHON_VERSION="/usr/bin/python3.10" elif [[ "$OS" == "rocky" && "$MAJOR_VERSION" == "8" ]]; then - # python3.9+ doesn't have selinux bindings - PYTHON_VERSION="/usr/bin/python3.8" # use `sudo yum install python38` on Rocky Linux 8 to install this + PYTHON_VERSION="/usr/bin/python3.12" # use `sudo yum install python3.12` on Rocky Linux 8 to install this elif [[ "$OS" == "rocky" && "$MAJOR_VERSION" == "9" ]]; then - PYTHON_VERSION="/usr/bin/python3.9" + PYTHON_VERSION="/usr/bin/python3.12" else echo "Unsupported OS version: $OS $MAJOR_VERSION" exit 1 fi fi -if [[ ! -d "venv" ]]; then - $PYTHON_VERSION -m venv venv +if [[ ! -x venv/bin/python ]] || \ + [[ "$($PYTHON_VERSION -V 2>&1)" != "$(venv/bin/python -V 2>&1)" ]]; then + rm -rf venv + $PYTHON_VERSION -m venv venv fi # shellcheck disable=SC1091 From 755a1af57488ca0205150ba2bb8697f849863625 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Mon, 24 Nov 2025 12:43:38 +0000 Subject: [PATCH 04/13] pip freeze at ansible-core 2.16 --- requirements.txt | 99 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 87 insertions(+), 12 deletions(-) diff --git a/requirements.txt b/requirements.txt index b54a0d8e6..f7e8819f4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,14 +1,89 @@ -ansible-core==2.16 -openstacksdk -python-openstackclient==8.0.0 -python-manilaclient -python-ironicclient -jmespath +ansible-core==2.16.0 +arrow==1.4.0 +attrs==25.4.0 +autopage==0.5.2 bcrypt==4.3.0 -passlib[bcrypt]==1.7.4 -cookiecutter -# selinux # this is a shim to avoid having to use --system-site-packages, you still need sudo yum install libselinux-python3 -netaddr -matplotlib -pulp-cli==0.23.2 beautifulsoup4==4.13.3 +binaryornot==0.4.4 +certifi==2025.11.12 +cffi==2.0.0 +chardet==5.2.0 +charset-normalizer==3.4.4 +click==8.3.1 +cliff==4.12.0 +cmd2==2.7.0 +contourpy==1.3.3 +cookiecutter==2.6.0 +cryptography==46.0.3 +cycler==0.12.1 +debtcollector==3.0.0 +decorator==5.2.1 +dogpile.cache==1.5.0 +fonttools==4.60.1 +idna==3.11 +iso8601==2.1.0 +Jinja2==3.1.6 +jmespath==1.0.1 +jsonpatch==1.33 +jsonpointer==3.0.0 +jsonschema==4.25.1 +jsonschema-specifications==2025.9.1 +keystoneauth1==5.12.0 +kiwisolver==1.4.9 +markdown-it-py==4.0.0 +MarkupSafe==3.0.3 +matplotlib==3.10.7 +mdurl==0.1.2 +msgpack==1.1.2 +netaddr==1.3.0 +numpy==2.3.5 +openstacksdk==4.8.0 +os-service-types==1.8.2 +osc-lib==4.2.0 +oslo.config==10.1.0 +oslo.context==6.2.0 +oslo.i18n==6.7.1 +oslo.log==7.2.1 +oslo.serialization==5.8.0 +oslo.utils==9.2.0 +packaging==23.2 +passlib==1.7.4 +pbr==7.0.3 +pillow==12.0.0 +platformdirs==4.5.0 +prettytable==3.17.0 +psutil==7.1.3 +pulp-cli==0.23.2 +pulp-glue==0.23.2 +pycparser==2.23 +Pygments==2.19.2 +pyparsing==3.2.5 +pyperclip==1.11.0 +python-cinderclient==9.8.0 +python-dateutil==2.9.0.post0 +python-ironicclient==5.14.0 +python-keystoneclient==5.7.0 +python-manilaclient==5.7.0 +python-openstackclient==8.0.0 +python-slugify==8.0.4 +PyYAML==6.0.3 +referencing==0.37.0 +requests==2.31.0 +requestsexceptions==1.4.0 +resolvelib==1.0.1 +rfc3986==2.0.0 +rich==14.2.0 +rich-argparse==1.7.2 +rpds-py==0.29.0 +schema==0.7.8 +setuptools==80.9.0 +six==1.17.0 +soupsieve==2.8 +stevedore==5.6.0 +text-unidecode==1.3 +toml==0.10.2 +typing_extensions==4.15.0 +tzdata==2025.2 +urllib3==2.5.0 +wcwidth==0.2.14 +wrapt==2.0.1 From 2798417ecdfad98cf61787248f0a941c27153771 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Mon, 24 Nov 2025 18:17:38 +0000 Subject: [PATCH 05/13] Upgrade all CI to use ubuntu 24.04 runners --- .github/workflows/extra.yml | 2 +- .github/workflows/fatimage.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/nightly-cleanup.yml | 2 +- .github/workflows/nightlybuild.yml | 4 ++-- .github/workflows/release-image.yml | 2 +- .github/workflows/s3-image-sync.yml | 6 +++--- .github/workflows/stackhpc.yml | 2 +- .github/workflows/trivyscan.yml | 2 +- .github/workflows/upgrade-check.yml.sample | 2 +- .github/workflows/upload-release-image.yml.sample | 2 +- dev/setup-env.sh | 4 ++-- 13 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/extra.yml b/.github/workflows/extra.yml index b8531c1b1..05911f28c 100644 --- a/.github/workflows/extra.yml +++ b/.github/workflows/extra.yml @@ -18,7 +18,7 @@ permissions: jobs: doca: name: extra-build - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false # allow other matrix jobs to continue even if one fails matrix: # build RL8, RL9 diff --git a/.github/workflows/fatimage.yml b/.github/workflows/fatimage.yml index 95049edfa..c6b7bccd4 100644 --- a/.github/workflows/fatimage.yml +++ b/.github/workflows/fatimage.yml @@ -29,7 +29,7 @@ jobs: concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.build.image_name }} # to branch/PR + OS cancel-in-progress: true - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false # allow other matrix jobs to continue even if one fails matrix: # build RL8, RL9 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d82457760..d3858157c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -13,7 +13,7 @@ permissions: jobs: lint: name: Lint - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: contents: read packages: read diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e883ebfff..46e751506 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,7 +38,7 @@ jobs: files_changed: name: Determine files changed needs: lint - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 # Map a step output to a job output, this allows other jobs to be gated on the filter results outputs: # The 'stackhpc' output will be 'true' if either of the two stackhpc filters below matched diff --git a/.github/workflows/nightly-cleanup.yml b/.github/workflows/nightly-cleanup.yml index 4c2fd0164..9d34a191f 100644 --- a/.github/workflows/nightly-cleanup.yml +++ b/.github/workflows/nightly-cleanup.yml @@ -21,7 +21,7 @@ jobs: - LEAFCLOUD - SMS - ARCUS - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 env: OS_CLOUD: openstack CI_CLOUD: ${{ matrix.cloud }} diff --git a/.github/workflows/nightlybuild.yml b/.github/workflows/nightlybuild.yml index 21e9d64b6..2ed58c1db 100644 --- a/.github/workflows/nightlybuild.yml +++ b/.github/workflows/nightlybuild.yml @@ -26,7 +26,7 @@ jobs: concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.build.image_name }} # to branch/PR + OS cancel-in-progress: true - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false # allow other matrix jobs to continue even if one fails matrix: # build RL8, RL9 @@ -131,7 +131,7 @@ jobs: concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.build.image_name }}-${{ matrix.target_cloud }} cancel-in-progress: true - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/release-image.yml b/.github/workflows/release-image.yml index 1ee545cd0..19033c368 100644 --- a/.github/workflows/release-image.yml +++ b/.github/workflows/release-image.yml @@ -16,7 +16,7 @@ permissions: jobs: ci-image-release: name: ci-image-release - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 concurrency: ${{ github.workflow }}-${{ github.ref }} strategy: fail-fast: false diff --git a/.github/workflows/s3-image-sync.yml b/.github/workflows/s3-image-sync.yml index 86552b123..f40aae116 100644 --- a/.github/workflows/s3-image-sync.yml +++ b/.github/workflows/s3-image-sync.yml @@ -19,7 +19,7 @@ permissions: jobs: s3_cleanup: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 concurrency: ${{ github.workflow }}-${{ github.ref }} strategy: fail-fast: false @@ -41,7 +41,7 @@ jobs: s3cmd rm s3://${{ env.S3_BUCKET }} --recursive --force image_upload: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: s3_cleanup concurrency: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.build }} strategy: @@ -118,7 +118,7 @@ jobs: image_sync: needs: image_upload - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 concurrency: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.cloud }}-${{ matrix.build }} strategy: fail-fast: false diff --git a/.github/workflows/stackhpc.yml b/.github/workflows/stackhpc.yml index 60c05389e..63df79aba 100644 --- a/.github/workflows/stackhpc.yml +++ b/.github/workflows/stackhpc.yml @@ -18,7 +18,7 @@ permissions: jobs: openstack: name: openstack-ci - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false # allow other matrix jobs to continue even if one fails matrix: diff --git a/.github/workflows/trivyscan.yml b/.github/workflows/trivyscan.yml index df449451b..8c57a00d7 100644 --- a/.github/workflows/trivyscan.yml +++ b/.github/workflows/trivyscan.yml @@ -17,7 +17,7 @@ permissions: jobs: scan: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/upgrade-check.yml.sample b/.github/workflows/upgrade-check.yml.sample index eabe973f3..ffc2585d8 100644 --- a/.github/workflows/upgrade-check.yml.sample +++ b/.github/workflows/upgrade-check.yml.sample @@ -37,7 +37,7 @@ permissions: jobs: check_for_update: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout the config repo diff --git a/.github/workflows/upload-release-image.yml.sample b/.github/workflows/upload-release-image.yml.sample index fd7635afe..13d8ea697 100644 --- a/.github/workflows/upload-release-image.yml.sample +++ b/.github/workflows/upload-release-image.yml.sample @@ -37,7 +37,7 @@ permissions: jobs: image_upload: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 concurrency: ${{ github.ref }} env: OS_CLOUD: openstack diff --git a/dev/setup-env.sh b/dev/setup-env.sh index a065916ce..d32093c96 100755 --- a/dev/setup-env.sh +++ b/dev/setup-env.sh @@ -16,8 +16,8 @@ if [[ "$PYTHON_VERSION" == "" ]]; then MAJOR_VERSION=$(echo "$OS_VERSION" | cut -d. -f1) - if [[ "$OS" == "ubuntu" && "$MAJOR_VERSION" == "22" ]]; then - PYTHON_VERSION="/usr/bin/python3.10" + if [[ "$OS" == "ubuntu" && "$MAJOR_VERSION" == "24" ]]; then + PYTHON_VERSION="/usr/bin/python3.12" elif [[ "$OS" == "rocky" && "$MAJOR_VERSION" == "8" ]]; then PYTHON_VERSION="/usr/bin/python3.12" # use `sudo yum install python3.12` on Rocky Linux 8 to install this elif [[ "$OS" == "rocky" && "$MAJOR_VERSION" == "9" ]]; then From 9c15a95fb52c77bf06f837e5e376ea98737f3c4e Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Tue, 25 Nov 2025 13:45:26 +0000 Subject: [PATCH 06/13] fix compute-init rsync owner/group options --- ansible/roles/compute_init/tasks/install.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ansible/roles/compute_init/tasks/install.yml b/ansible/roles/compute_init/tasks/install.yml index 4d353dea2..3f66b562e 100644 --- a/ansible/roles/compute_init/tasks/install.yml +++ b/ansible/roles/compute_init/tasks/install.yml @@ -22,8 +22,6 @@ rsync_opts: - "-p" - "--chmod=D770,F644" - - "--owner=root" - - "--group=root" recursive: true use_ssh_args: true become: true @@ -57,6 +55,14 @@ - src: ../../eessi dest: roles/ +- name: Ensure ownership is root after sync + ansible.builtin.file: + path: "/etc/ansible-init/playbooks/" + owner: root + group: root + recurse: true + become: true + - name: Add filter_plugins to ansible.cfg ansible.builtin.lineinfile: path: /etc/ansible-init/ansible.cfg From 52f8391a4cc29e93b043cc3c1946fac6e6d20250 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Tue, 25 Nov 2025 14:50:27 +0000 Subject: [PATCH 07/13] Bump CI images --- environments/.stackhpc/tofu/cluster_image.auto.tfvars.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/environments/.stackhpc/tofu/cluster_image.auto.tfvars.json b/environments/.stackhpc/tofu/cluster_image.auto.tfvars.json index 7ee4b8afc..081007565 100644 --- a/environments/.stackhpc/tofu/cluster_image.auto.tfvars.json +++ b/environments/.stackhpc/tofu/cluster_image.auto.tfvars.json @@ -1,6 +1,6 @@ { "cluster_image": { - "RL8": "openhpc-RL8-251120-2221-383f02a8", - "RL9": "openhpc-RL9-251120-2221-383f02a8" + "RL8": "openhpc-RL8-251125-1415-9c15a95f", + "RL9": "openhpc-RL9-251125-1416-9c15a95f" } } From 791c63918fc7b5e8e78a0dca81148d02a6beacb0 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Tue, 25 Nov 2025 14:53:23 +0000 Subject: [PATCH 08/13] bump workflow cleanup to ubuntu 24 --- .github/workflows/workflow-cleanup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow-cleanup.yml b/.github/workflows/workflow-cleanup.yml index 1b1ddaa5f..ac9768a3a 100644 --- a/.github/workflows/workflow-cleanup.yml +++ b/.github/workflows/workflow-cleanup.yml @@ -26,7 +26,7 @@ permissions: jobs: ci_cluster_cleanup: name: ci-cluster-cleanup - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 env: OS_CLOUD: openstack CI_CLOUD: ${{ github.event.inputs.ci_cloud }} From 6582722bfa6bf93eb5d6352eb0f12e7104cfd904 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Tue, 25 Nov 2025 15:08:54 +0000 Subject: [PATCH 09/13] setup-env.sh linting fix --- dev/setup-env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/setup-env.sh b/dev/setup-env.sh index d32093c96..9a971d97d 100755 --- a/dev/setup-env.sh +++ b/dev/setup-env.sh @@ -29,7 +29,7 @@ if [[ "$PYTHON_VERSION" == "" ]]; then fi if [[ ! -x venv/bin/python ]] || \ - [[ "$($PYTHON_VERSION -V 2>&1)" != "$(venv/bin/python -V 2>&1)" ]]; then + [[ "$($PYTHON_VERSION -V 2>&1)" != "$(venv/bin/python -V 2>&1)" ]]; then rm -rf venv $PYTHON_VERSION -m venv venv fi From 2e80e5ee3901300811d432d3155dd697526331a3 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Tue, 25 Nov 2025 17:16:37 +0000 Subject: [PATCH 10/13] define python version var at workflow level for testing rebuild --- .github/workflows/stackhpc.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/stackhpc.yml b/.github/workflows/stackhpc.yml index 63df79aba..fac9dfc63 100644 --- a/.github/workflows/stackhpc.yml +++ b/.github/workflows/stackhpc.yml @@ -77,6 +77,8 @@ jobs: - name: Install ansible, pip and galaxy requirements run: dev/setup-env.sh + env: + PYTHON_VERSION: /usr/bin/python3.10 - name: Install OpenTofu uses: opentofu/setup-opentofu@v1.0.5 From a9f29b1f72c571ae21b96d2b9cbfd6da5d653d93 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Tue, 25 Nov 2025 21:46:03 +0000 Subject: [PATCH 11/13] test old release with python3.12 venv override --- .github/workflows/stackhpc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stackhpc.yml b/.github/workflows/stackhpc.yml index fac9dfc63..dc77a40d2 100644 --- a/.github/workflows/stackhpc.yml +++ b/.github/workflows/stackhpc.yml @@ -78,7 +78,7 @@ jobs: - name: Install ansible, pip and galaxy requirements run: dev/setup-env.sh env: - PYTHON_VERSION: /usr/bin/python3.10 + PYTHON_VERSION: /usr/bin/python3.12 - name: Install OpenTofu uses: opentofu/setup-opentofu@v1.0.5 From a62b7a1f2c7c5933f1c9118df90aaddfa5f4d911 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Tue, 25 Nov 2025 22:15:40 +0000 Subject: [PATCH 12/13] install python 3.10 for Ubuntu 22.04 runner in latest release CI test --- .github/workflows/stackhpc.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/stackhpc.yml b/.github/workflows/stackhpc.yml index dc77a40d2..390af719d 100644 --- a/.github/workflows/stackhpc.yml +++ b/.github/workflows/stackhpc.yml @@ -75,10 +75,19 @@ jobs: run: cat environments/.stackhpc/bastion_fingerprints >> ~/.ssh/known_hosts shell: bash + - name: Install Python 3.10 on Ubuntu 24.04 (remove once latest appliance release is published) + run: | + sudo apt-get update + sudo apt-get install -y software-properties-common + sudo add-apt-repository -y ppa:deadsnakes/ppa + sudo apt-get update + sudo apt-get install -y python3.10 python3.10-venv python3.10-distutils python3.10-dev python3.10-pip + shell: bash + - name: Install ansible, pip and galaxy requirements run: dev/setup-env.sh env: - PYTHON_VERSION: /usr/bin/python3.12 + PYTHON_VERSION: /usr/bin/python3.10 - name: Install OpenTofu uses: opentofu/setup-opentofu@v1.0.5 From 7a5535c03838690e7f947b292ff152ace5270fa9 Mon Sep 17 00:00:00 2001 From: bertiethorpe Date: Wed, 26 Nov 2025 12:39:02 +0000 Subject: [PATCH 13/13] use github action setup-python to select python version --- .github/workflows/stackhpc.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/stackhpc.yml b/.github/workflows/stackhpc.yml index 390af719d..ff481ae80 100644 --- a/.github/workflows/stackhpc.yml +++ b/.github/workflows/stackhpc.yml @@ -75,19 +75,14 @@ jobs: run: cat environments/.stackhpc/bastion_fingerprints >> ~/.ssh/known_hosts shell: bash - - name: Install Python 3.10 on Ubuntu 24.04 (remove once latest appliance release is published) - run: | - sudo apt-get update - sudo apt-get install -y software-properties-common - sudo add-apt-repository -y ppa:deadsnakes/ppa - sudo apt-get update - sudo apt-get install -y python3.10 python3.10-venv python3.10-distutils python3.10-dev python3.10-pip - shell: bash + - uses: actions/setup-python@v6 + with: + python-version: '3.10' - name: Install ansible, pip and galaxy requirements run: dev/setup-env.sh env: - PYTHON_VERSION: /usr/bin/python3.10 + PYTHON_VERSION: python3 # overrides os-release discovery logic - name: Install OpenTofu uses: opentofu/setup-opentofu@v1.0.5 @@ -157,8 +152,14 @@ jobs: - name: Checkout current branch run: git checkout ${{ github.head_ref || github.ref_name }} + - uses: actions/setup-python@v6 + with: + python-version: '3.12' + - name: Update ansible, pip and galaxy requirements run: dev/setup-env.sh + env: + PYTHON_VERSION: python3 # overrides os-release discovery logic - name: Reimage login and control nodes to image in current branch id: reimage_non_compute