Skip to content

Add Availability Zones (AZ) scenario support - #38

Open
dlaw4608 wants to merge 1 commit into
mainfrom
az_role
Open

Add Availability Zones (AZ) scenario support#38
dlaw4608 wants to merge 1 commit into
mainfrom
az_role

Conversation

@dlaw4608

@dlaw4608 dlaw4608 commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Ports the Nova + Cinder Availability Zones scenario from the legacy
openshift-ir-plugin / rhos-infrared automation into the shiftstack-qa
stages, so it can run under ci-framework on RHOSO 18.

What it does

Installs OCP IPI on OpenStack with one Nova aggregate per compute host
(one AZ each), OCP masters/workers distributed evenly across the AZs, and
rootVolumes placed on per-AZ Cinder backends. Post-install verification
asserts the OCP nodes and their root volumes landed in the expected Nova
and Cinder AZs. Day2 coverage includes worker scaleup and an AZ-aware
integrated-registry test.

Changes

  • prepare: configure_az.yml (host aggregates + per-AZ volume types),
    configure_az_ceph_crush.yml (pins each per-AZ pool to its host-local
    OSDs).
  • install: discovers Nova/Cinder AZs and renders per-role zones and
    per-AZ rootVolume types/zones into install-config.
  • verification: check_azs.yml verifies Nova and Cinder AZ placement.
  • day2ops: scaleup_worker and cinder_registry.
  • cleanup: remove_az.yml, gated by az_remove_on_cleanup.
  • jobs_definitions/availability_zones_4.22_nightly.yaml ties it together.

Backward compatibility

All AZ behaviour is gated behind az_enable / openshift_root_volumes
(default false). Existing shiftstack jobs are unaffected.

Add Availability Zones (AZ) scenario support

Ports the Nova + Cinder Availability Zones scenario from the legacy
openshift-ir-plugin / rhos-infrared automation into the shiftstack-qa
stages, so it can run under ci-framework on RHOSO 18.

What it does

Installs OCP IPI on OpenStack with one Nova aggregate per compute host
(one AZ each), OCP masters/workers distributed evenly across the AZs, and
rootVolumes placed on per-AZ Cinder backends. Post-install verification
asserts the OCP nodes and their root volumes landed in the expected Nova
and Cinder AZs. Day2 coverage includes worker scaleup and an AZ-aware
integrated-registry test.

Changes

  • prepare: configure_az.yml (host aggregates + per-AZ volume types),
    configure_az_ceph_crush.yml (pins each per-AZ pool to its host-local
    OSDs).
  • install: discovers Nova/Cinder AZs and renders per-role zones and
    per-AZ rootVolume types/zones into install-config.
  • verification: check_azs.yml verifies Nova and Cinder AZ placement.
  • day2ops: scaleup_worker and cinder_registry.
  • cleanup: remove_az.yml, gated by az_remove_on_cleanup.
  • jobs_definitions/availability_zones_4.22_nightly.yaml ties it together.

Port the Nova + Cinder Availability Zones scenario from the legacy
openshift-ir-plugin / rhos-infrared automation into the shiftstack-qa
stages. The AZ job installs OCP IPI on OpenStack with one Nova aggregate
per compute host (one AZ each), OCP masters/workers distributed evenly
across the AZs, and rootVolumes placed on per-AZ Cinder backends. Post-
install verification asserts the OCP nodes and their root volumes landed
in the expected Nova and Cinder AZs.

Stages/roles:
- prepare: configure_az.yml creates host aggregates + per-AZ volume types,
  configure_az_ceph_crush.yml pins each per-AZ pool to its host-local OSDs.
- install: discovers Nova/Cinder AZs (tools_cluster_checks/discover_az.yml)
  and renders zones + per-AZ rootVolume types/zones into install-config.
- verification: check_azs.yml verifies Nova and Cinder AZ placement.
- day2ops: scaleup_worker and cinder_registry (AZ-aware registry storage).
- cleanup: remove_az.yml tears down aggregates and AZ volume types, gated
  by az_remove_on_cleanup.
- jobs_definitions/availability_zones_4.22_nightly.yaml wires it together.

All AZ behaviour is gated behind az_enable / openshift_root_volumes
(default false), so non-AZ jobs are unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Change-Id: I45bdf61b3bc8e270c950e2e07590a736a9cd81ce
Signed-off-by: Daniel Lawton <dlawton@redhat.com>
@openshift-ci

openshift-ci Bot commented Sep 4, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from dlaw4608. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant