CORS-4336: Support for AWS European Sovereign Cloud#10303
CORS-4336: Support for AWS European Sovereign Cloud#10303tthvo wants to merge 4 commits intoopenshift:mainfrom
Conversation
|
@tthvo: This pull request references CORS-4239 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/label platform/aws |
|
/cc @rna-afk |
|
@tthvo: This pull request references CORS-4239 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "4.22.0" version, but no target version was set. Requesting review from QA contact: DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/jira refresh |
|
@tthvo: This pull request references CORS-4239 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
This PR covers the installer responsibility. For ingress, see openshift/cluster-ingress-operator#1360. |
|
I'll verify it today. |
|
Relative issue: https://issues.redhat.com/browse/PCO-1474 |
|
@tthvo I don't have a valid account for this region right now. I'll keep an eye on it. |
3740966 to
3b1291a
Compare
|
/hold Waiting on #10265 to not duplicate certain region and partition definitions. |
|
/test verify-vendor golint |
|
/retitle CORS-4336: Support for AWS European Sovereign Cloud |
|
@tthvo: This pull request references CORS-4336 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/jira refresh |
|
@tthvo: This pull request references CORS-4336 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
3b1291a to
bf3ac2e
Compare
|
/payload-job periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-aws-ipi-shared-vpc-phz-sts-fips-openldap-mini-perm-f7 |
|
@tthvo: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/0975dc00-0962-11f1-8d3a-01090aad877e-0 |
|
/payload-job periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-aws-usgov-ipi-private-ep-fips-f7 |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
WalkthroughThis pull request introduces partition-aware AWS region handling, particularly for the EU Sovereign Cloud (EUSC) partition. It adds partition and region constants, a partition ID lookup function, filtering logic for unsupported untagging operations, and region-specific service endpoint defaults. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.11.3)Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions Comment Tip CodeRabbit can enforce grammar and style rules using `languagetool`.Configure the |
EUS partition also uses amazonaws.com suffix similar to global partition. If using amazonaws.eu, the following error occured. MalformedPolicyDocument: Invalid principal in policy: "SERVICE":"ec2.amazonaws.eu"
Add support for AWS European Sovereign Cloud (EUSC) region eusc-de-east-1 with automatic service endpoint configuration. When users specify this region without custom service endpoints, the installer now automatically configures the required endpoints for ec2, elasticloadbalancing, s3, route53, iam, sts, and tagging services using the .amazonaws.eu domain. See: https://github.com/openshift/enhancements/blob/master/enhancements/installer/aws-eusc-partition.md
The cluster destroy process now detects the AWS partition (aws, aws-us-gov, aws-eusc, etc.) and selects the appropriate region for the resourcetagging client. This region may be different from the install region. Background: Since Route 53 is a "global" service, API requests must be configured with a specific "default" region, which differs based on the partition.
Untagging hosted zone in region "eusc-de-east-1" is not supported via resourcetagging api. If attempting to do so, the api returns the following error: UntagResources operation: Invocation of UntagResources for this resource is not supported in this region This causes the bulk untagging operation to fail and leave other resources with the shared tag on.
|
/hold cancel |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: patrickdillon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This commit adds CI infrastructure support for AWS European Sovereign Cloud (EUSC) testing using the eusc-de-east-1 region. Changes: - Add cluster-secrets-aws-eusc-qe to secret bootstrap config - Add aws-eusc-qe-quota-slice boskos resource pool with 5 quota slices in eusc-de-east-1 region - Generate updated _boskos.yaml configuration Region Details: - Region: eusc-de-east-1 (Brandenburg, Germany) - Availability zones: eusc-de-east-1a, eusc-de-east-1b (2 zones only) - Note: No edge zones (Local/Wavelength) available in this region Dependencies: - Installer support: openshift/installer#10303 - Ingress operator support: openshift/cluster-ingress-operator#1360 - API support (optional): openshift/api#2708
|
/payload-job periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-aws-ipi-shared-vpc-phz-sts-fips-openldap-mini-perm-f7 |
|
@tthvo: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/b9dba900-21d4-11f1-8a6a-1037f7630c8c-0 |
Thanks! The PR should be rebased now 🙏. I also just wanted to point out a few things:
|
|
So far, I have successfully installed in EUSC with the following configurations:
Set up
# Build the binary
$ ./hack/build.sh
# Copy the binary into an install dir with an existing install-config (region eusc-de-east-1)
$ export AWS_PROFILE=eusc
$ export OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE=registry.build11.ci.openshift.org/ci-ln-sjdtf82/release:latest
$ ./openshift-install create cluster --dir=. |
|
@tthvo: This pull request references CORS-4336 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/payload-job periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-aws-usgov-ipi-private-ep-fips-f7 |
|
@tthvo: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/40d27ec0-21da-11f1-8350-85b0f27a71ee-0 |
This commit adds CI infrastructure support for AWS European Sovereign Cloud (EUSC) testing using the eusc-de-east-1 region. Changes: - Add cluster-secrets-aws-eusc-qe to secret bootstrap config - Add aws-eusc-qe-quota-slice boskos resource pool with 5 quota slices in eusc-de-east-1 region - Generate updated _boskos.yaml configuration Region Details: - Region: eusc-de-east-1 (Brandenburg, Germany) - Availability zones: eusc-de-east-1a, eusc-de-east-1b (2 zones only) - Note: No edge zones (Local/Wavelength) available in this region Dependencies: - Installer support: openshift/installer#10303 - Ingress operator support: openshift/cluster-ingress-operator#1360 - API support (optional): openshift/api#2708
|
/test okd-scos-images |
|
@tthvo: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/lgtm /verified by @patrickdillon Tested with apiVersion: v1
baseDomain: installer-eusc.devcluster.openshift.com
metadata:
name: padillon-03191533
platform:
aws:
region: eusc-de-east-1
amiID: ami-00a514af7b252a0f0
propagateUserTags: true
userTags:
key: valueyq .status.platformStatus.aws.serviceEndpoints c/manifests/cluster-infrastructure-02-config.yml- name: ec2
url: https://ec2.eusc-de-east-1.amazonaws.eu
- name: elasticloadbalancing
url: https://elasticloadbalancing.eusc-de-east-1.amazonaws.eu
- name: iam
url: https://iam.eusc-de-east-1.amazonaws.eu
- name: route53
url: https://route53.amazonaws.eu
- name: s3
url: https://s3.eusc-de-east-1.amazonaws.eu
- name: sts
url: https://sts.eusc-de-east-1.amazonaws.eu
- name: tagging
url: https://tagging.eusc-de-east-1.amazonaws.euDNS record propagation is slow... |
|
@patrickdillon: This PR has been marked as verified by DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/test shellcheck |
|
/test shellcheck hmm? |
This PR adds support for the newly opened AWS European Sovereign Cloud (EUSC). The EUSC is a completely independent partition from global AWS Cloud, and the first available region is
eusc-de-east-1(Brandenburg, German).As of now,
eusc-de-east-1is the only available region and will be the only supported one for openshift.Notes
The
eusc-de-east-1endpoint resolution works out of the box in AWS SDK v2. For AWS SDK v1, this requires specifying custom service endpoints since the SDK v1 doesn't recognize the new partition and returns invalid URLs, especially for global services Route53 and IAM.The installer will automatically populates the service endpoints in the
install-configif unset and region iseusc-de-east-1Note that we must also build a custom RHCOS AMI since the none has been published in this region (see guide).Once all openshift components migrate to AWS SDK v2, we will no longer need custom service endpoints. As of now,
References