Skip to content

Commit 24fed80

Browse files
committed
Add CI jobs for AWS European Sovereign Cloud (EUSC)
Implement continuous integration support for AWS EUSC partition (aws-eusc) in eusc-de-east-1 region. Includes cluster profile definition, service endpoints configuration, custom AMI handling, and periodic test jobs. This enables OpenShift testing on AWS's new European Sovereign Cloud infrastructure, which requires explicit endpoint configuration and custom RHCOS AMIs not available in public regions.
1 parent 895e68e commit 24fed80

14 files changed

Lines changed: 249 additions & 0 deletions

ci-operator/config/openshift/openshift-tests-private/openshift-openshift-tests-private-release-4.22__amd64-nightly.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1851,6 +1851,29 @@ tests:
18511851
test:
18521852
- chain: openshift-e2e-test-qe-destructive
18531853
workflow: cucushift-installer-rehearse-aws-usgov-ipi-private-workers-marketplace
1854+
- as: aws-eusc-ipi-private-f60
1855+
cron: 0 6 */60 * *
1856+
steps:
1857+
cluster_profile: aws-eusc-qe
1858+
env:
1859+
BASE_DOMAIN: qe.devcluster.openshift.com
1860+
AWS_EUSC_REGION: eusc-de-east-1
1861+
TEST_FILTERS: ~EdgeZones&;~HyperShiftMGMT&;~MicroShiftOnly&
1862+
test:
1863+
- chain: openshift-e2e-test-qe
1864+
workflow: cucushift-installer-rehearse-aws-eusc-ipi-private
1865+
- as: aws-eusc-ipi-private-nlb-f60
1866+
cron: 0 12 */60 * *
1867+
steps:
1868+
cluster_profile: aws-eusc-qe
1869+
env:
1870+
BASE_DOMAIN: qe.devcluster.openshift.com
1871+
AWS_EUSC_REGION: eusc-de-east-1
1872+
AWS_LB_TYPE: NLB
1873+
TEST_FILTERS: ~EdgeZones&;~HyperShiftMGMT&;~MicroShiftOnly&
1874+
test:
1875+
- chain: openshift-e2e-test-qe
1876+
workflow: cucushift-installer-rehearse-aws-eusc-ipi-private
18541877
- as: azure-aks-hypershift-arm-nodepool-guest-f7
18551878
cron: 1 2 7,14,23,30 * *
18561879
steps:

ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -616,6 +616,13 @@
616616
- openshift-tests-private
617617
- verification-tests
618618

619+
- profile: aws-eusc-qe
620+
owners:
621+
- org: openshift
622+
repos:
623+
- openshift-tests-private
624+
- verification-tests
625+
619626
- profile: aws-autorelease-qe
620627
owners:
621628
- org: openshift
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
approvers:
2+
- jianlinliu
3+
- yunjiang29
4+
- gpei
5+
- liweinan
6+
reviewers:
7+
- jianlinliu
8+
- yunjiang29
9+
- gpei
10+
- liweinan
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
workflow:
2+
as: cucushift-installer-rehearse-aws-eusc-ipi-private
3+
steps:
4+
pre:
5+
- chain: cucushift-installer-rehearse-aws-eusc-ipi-private-provision
6+
- ref: cucushift-installer-reportportal-marker
7+
post:
8+
- chain: cucushift-installer-rehearse-aws-eusc-ipi-private-deprovision
9+
- ref: send-results-to-reportportal
10+
documentation: |-
11+
This workflow provisions an OpenShift cluster on AWS European Sovereign
12+
Cloud (EUSC) using IPI with private network configuration, runs tests,
13+
and deprovisions the cluster.
14+
15+
EUSC-specific features:
16+
- Region: eusc-de-east-1 (Brandenburg, Germany)
17+
- Partition: aws-eusc
18+
- Custom service endpoints configuration
19+
- Custom RHCOS AMI requirement
20+
- 2 availability zones only (eusc-de-east-1a, eusc-de-east-1b)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
approvers:
2+
- jianlinliu
3+
- yunjiang29
4+
- gpei
5+
- liweinan
6+
reviewers:
7+
- jianlinliu
8+
- yunjiang29
9+
- gpei
10+
- liweinan
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
chain:
2+
as: cucushift-installer-rehearse-aws-eusc-ipi-private-deprovision
3+
steps:
4+
- chain: ipi-deprovision
5+
documentation: |-
6+
Deprovision an OpenShift cluster from AWS EUSC and collect artifacts.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
approvers:
2+
- jianlinliu
3+
- yunjiang29
4+
- gpei
5+
- liweinan
6+
reviewers:
7+
- jianlinliu
8+
- yunjiang29
9+
- gpei
10+
- liweinan
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
chain:
2+
as: cucushift-installer-rehearse-aws-eusc-ipi-private-provision
3+
steps:
4+
- ref: ipi-conf
5+
- ref: ipi-conf-telemetry
6+
- ref: ipi-conf-aws
7+
- ref: ipi-conf-aws-eusc-endpoints
8+
- ref: ipi-conf-aws-eusc-ami
9+
- chain: ipi-install
10+
- chain: cucushift-installer-check
11+
documentation: |-
12+
Provision an OpenShift cluster on AWS European Sovereign Cloud (EUSC)
13+
with private network configuration.
14+
15+
This chain configures EUSC-specific requirements:
16+
- Service endpoints for eusc-de-east-1 region
17+
- Custom RHCOS AMI (required for EUSC)
18+
- Standard AWS IPI configuration
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
approvers:
2+
- jianlinliu
3+
- yunjiang29
4+
- gpei
5+
- liweinan
6+
reviewers:
7+
- jianlinliu
8+
- yunjiang29
9+
- gpei
10+
- liweinan
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
set -o nounset
3+
set -o errexit
4+
set -o pipefail
5+
6+
CONFIG="${SHARED_DIR}/install-config.yaml"
7+
8+
if [[ -z "${AWS_EUSC_AMI_ID}" ]]; then
9+
echo "ERROR: AWS_EUSC_AMI_ID is not set. EUSC regions require custom RHCOS AMI."
10+
echo "Please provide a valid AMI ID for eusc-de-east-1 region."
11+
exit 1
12+
fi
13+
14+
echo "Configuring custom RHCOS AMI: ${AWS_EUSC_AMI_ID}"
15+
16+
# Create patch for custom AMI
17+
CONFIG_PATCH="${SHARED_DIR}/install-config-eusc-ami.yaml.patch"
18+
cat > "${CONFIG_PATCH}" << EOF
19+
platform:
20+
aws:
21+
amiID: ${AWS_EUSC_AMI_ID}
22+
EOF
23+
24+
# Apply patch
25+
yq-go m -x -i "${CONFIG}" "${CONFIG_PATCH}"
26+
27+
echo "Custom AMI configured successfully"

0 commit comments

Comments
 (0)