Skip to content

Add DiB variables to allow platform architecture choice #1497

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 26 commits into
base: stackhpc/2024.1
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
7aa154f
Point DiB to aarch64 elements branch
MaxBed4d Feb 4, 2025
733d073
Add new variable to set architecture var
MaxBed4d Feb 4, 2025
67fc696
Add call to custom branch of kayobe
MaxBed4d Feb 4, 2025
2e3e062
Add qemu and DIB flag to enable ARM64 docker platform
MaxBed4d Feb 5, 2025
07d8057
Add ability to choose image build platform
MaxBed4d Feb 6, 2025
3ffeea7
Update etc/kayobe/kolla.yml
MaxBed4d Feb 6, 2025
c35e545
Update etc/kayobe/stackhpc.yml
MaxBed4d Feb 6, 2025
77533ae
Update etc/kayobe/overcloud-dib.yml
MaxBed4d Feb 6, 2025
7430f04
Update .github/workflows/overcloud-host-image-build.yml
MaxBed4d Feb 6, 2025
2ba2bf6
Update .github/workflows/overcloud-host-image-build.yml
MaxBed4d Feb 6, 2025
263bdc4
Update .github/workflows/overcloud-host-image-build.yml
MaxBed4d Feb 7, 2025
3ce498c
Update etc/kayobe/stackhpc.yml
MaxBed4d Feb 10, 2025
6e5748a
Add image properties.cpu_arch
MaxBed4d Feb 10, 2025
6b1dc8f
Fix space formatting
MaxBed4d Feb 25, 2025
e23be58
Docs: Magnum templates are tied to Azimuth release
MoteHue Feb 19, 2025
8028f93
Bump Ironic to expand check_cipher_suite_errors
MoteHue Feb 14, 2025
9e1b3b8
Match job name of OS Capacity to what Azimuth expects (#1531)
seunghun1ee Feb 26, 2025
e9b6727
Upgrade docs: reminder about custom policies
MoteHue Feb 4, 2025
a02c89e
Add information about using Amphora from SRT
seunghun1ee Feb 27, 2025
197d09d
Deploy OS capacity after overcloud service upgrade
MoteHue Feb 27, 2025
d26509b
Fix handler notify in fix-houston.yml
MoteHue Feb 27, 2025
c624344
Fix the Horizon Identity->Domains panel for admins
MoteHue Feb 27, 2025
4be9f6c
Automate Kolla version updates (#1532)
assumptionsandg Feb 27, 2025
6003442
Merge branch 'stackhpc/2024.1' into aarch64-image-build
MaxBed4d Feb 28, 2025
c51d21c
Merge branch 'stackhpc/2024.1' into aarch64-image-build
m-bull Mar 24, 2025
ba3866a
Merge branch 'stackhpc/2024.1' into aarch64-image-build
Alex-Welsh May 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions .github/workflows/overcloud-host-image-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ on:
options:
- SMS Lab
- Leafcloud
cpu-platform-architecture:
description: Select the image's build architecture
type: choice
default: x86_64
options:
- x86_64
- aarch64
secrets:
KAYOBE_VAULT_PASSWORD:
required: true
Expand All @@ -36,6 +43,7 @@ env:
ANSIBLE_FORCE_COLOR: True
KAYOBE_ENVIRONMENT: ci-builder
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
overcloud_dib_architechture: ${{ inputs.cpu-platform-architecture == 'x86_64' && 'amd64' || 'arm64' }}
jobs:
runner-selection:
uses: ./.github/workflows/runner-selector.yml
Expand Down Expand Up @@ -216,7 +224,7 @@ jobs:
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
kayobe seed host command run \
--command "sudo apt update && sudo apt -y install gcc git libffi-dev python3-dev python-is-python3 python3-venv" --show-output
--command "sudo apt update && sudo apt -y install gcc git libffi-dev python3-dev python-is-python3 python3-venv qemu-user-static" --show-output
env:
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}

Expand Down Expand Up @@ -260,7 +268,7 @@ jobs:
src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
-e artifact_path=/opt/kayobe/images/overcloud-rocky-9 \
-e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \
-e artifact_type="kayobe-images" \
-e artifact_type="kayobe-images/{{ inputs.cpu-platform-architecture }}" \
-e file_regex="*.qcow2" \
-e os_distribution="rocky" \
-e os_release="9"
Expand All @@ -276,6 +284,7 @@ jobs:
src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
-e local_image_path="/opt/kayobe/images/overcloud-rocky-9/overcloud-rocky-9.qcow2" \
-e image_name=overcloud-rocky-9-${{ steps.host_image_tag.outputs.host_image_tag }}
-e cpu-platform=${{ env.overcloud_dib_architechture }}
env:
CLOUDS_YAML: ${{ secrets.CLOUDS_YAML }}
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
Expand Down Expand Up @@ -328,7 +337,7 @@ jobs:
src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
-e artifact_path=/opt/kayobe/images/overcloud-ubuntu-jammy \
-e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \
-e artifact_type="kayobe-images" \
-e artifact_type="kayobe-images/{{ inputs.cpu-platform-architecture }}" \
-e file_regex="*.qcow2" \
-e os_distribution="ubuntu" \
-e os_release="jammy"
Expand All @@ -344,6 +353,7 @@ jobs:
src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
-e local_image_path="/opt/kayobe/images/overcloud-ubuntu-jammy/overcloud-ubuntu-jammy.qcow2" \
-e image_name=overcloud-ubuntu-jammy-${{ steps.host_image_tag.outputs.host_image_tag }}
-e cpu-platform=${{ env.overcloud_dib_architechture }}
env:
CLOUDS_YAML: ${{ secrets.CLOUDS_YAML }}
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
Expand Down
2 changes: 1 addition & 1 deletion etc/kayobe/ansible/openstack-host-image-upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
hosts: seed
vars:
local_image_path: /opt/kayobe/images/overcloud-{{ os_distribution }}-{{ os_release }}/overcloud-{{ os_distribution }}-{{ os_release }}.qcow2
image_name: overcloud-{{ os_distribution }}-{{ os_release }}
image_name: overcloud-{{ os_distribution }}-{{ os_release }}-{{ cpu-platform }}
tasks:
- name: Upload image to Glance
block:
Expand Down
5 changes: 5 additions & 0 deletions etc/kayobe/kolla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ kolla_build_customizations: "{{ kolla_build_customizations_common | combine(koll
# Dict mapping Kolla Dockerfile ARG names to their values.
kolla_build_args: {}

###############################################################################
# Kolla platform architecture configuration.

kolla_base_arch: "{{ 'aarch64' if stackhpc_cpu_arch == 'arm64' else stackhpc_cpu_arch }}"

###############################################################################
# Kolla-ansible inventory configuration.

Expand Down
3 changes: 3 additions & 0 deletions etc/kayobe/overcloud-dib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ overcloud_dib_git_elements_extra:
version: "v1.6.3"
elements_path: "elements"

# Selects the architecture of the overcloud host image being built.
overcloud_dib_architechture: "{{ 'amd64' if stackhpc_cpu_arch == 'x86_64' else 'arm64' }}"

# List of git repositories containing Diskimage Builder (DIB) elements. See
# stackhpc.openstack.os_images role for usage. Default is a combination of
# overcloud_dib_git_elements_default and overcloud_dib_git_elements_extra.
Expand Down
4 changes: 4 additions & 0 deletions etc/kayobe/stackhpc-overcloud-dib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ stackhpc_overcloud_dib_host_image:
elements: "{{ stackhpc_overcloud_dib_elements }}"
env: "{{ stackhpc_overcloud_dib_env_vars }}"
packages: "{{ stackhpc_overcloud_dib_packages }}"
properties:
- cpu_arch: "{{ overcloud_dib_architechture }} "


# StackHPC overcloud DIB image name.
stackhpc_overcloud_dib_name: "deployment_image"
Expand Down Expand Up @@ -58,6 +61,7 @@ stackhpc_overcloud_dib_env_vars:
YUM: dnf
# Workaround for stack user home ownership bug
DIB_IMAGE_CACHE: "/tmp/yum"
DIB_CONTAINERFILE_BUILDOPTS: "--platform linux/{{ overcloud_dib_architecture }}"

# StackHPC overcloud DIB image packages.
stackhpc_overcloud_dib_packages:
Expand Down
4 changes: 4 additions & 0 deletions etc/kayobe/stackhpc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ stackhpc_include_os_minor_version_in_repo_url: false

stackhpc_rocky_9_url_version: "{{ '9.' + stackhpc_pulp_repo_rocky_9_minor_version | string if stackhpc_include_os_minor_version_in_repo_url | bool else '9' }}"

# Pick build architecture for kolla and disk image builder
# Choose between x86_64 or arm64
stackhpc_cpu_arch: 'x86_64'

###############################################################################
# Debs
# Ubuntu jammy
Expand Down
Loading