CNTRLPLANE-625: Add support for custom trust bundle for AWS API endpoints - #7681
CNTRLPLANE-625: Add support for custom trust bundle for AWS API endpoints#7681hypershift-jira-solve-ci[bot] wants to merge 2 commits into
Conversation
The additionalTrustBundle was already synced to the guest cluster as a user-ca-bundle ConfigMap, but it was not included in the cloud-provider-config ConfigMap for AWS clusters. This meant the CCCMO's trusted_ca_bundle_controller could not pick up custom CA certificates for AWS API endpoints. This change adds an AWS case to reconcileCloudConfig() that: - Syncs the AWS cloud provider config from the control plane to the guest cluster's cloud-provider-config ConfigMap in openshift-config - Includes the additionalTrustBundle CA data under the "ca-bundle.pem" key, which the CCCMO expects for merging into the CCM trusted CA bundle - Removes the ca-bundle.pem key when additionalTrustBundle is unset Additionally, the Infrastructure CR for AWS now references the cloud-provider-config ConfigMap via Spec.CloudConfig, allowing the kube-cloud-config controller and CCCMO to locate the cloud provider configuration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add unit tests to verify the AWS cloud-provider-config reconciliation: - When no additionalTrustBundle is set, cloud-provider-config is created without ca-bundle.pem - When additionalTrustBundle is set, ca-bundle.pem is included - When additionalTrustBundle is removed, ca-bundle.pem is cleaned up Also add a test for the Infrastructure CR to verify that CloudConfig.Name and CloudConfig.Key are set correctly for AWS. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@hypershift-jira-solve-ci[bot]: This pull request references CNTRLPLANE-625 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. |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
|
@hypershift-jira-solve-ci[bot]: This pull request references CNTRLPLANE-625 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. |
|
Hi @hypershift-jira-solve-ci[bot]. Thanks for your PR. I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: hypershift-jira-solve-ci[bot] The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…fig (#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
|
/close duplicate PR |
|
@bryan-cox: Closed this PR. 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 kubernetes-sigs/prow repository. |
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…fig (openshift#74613) The periodic-jira-agent job was defined in both the main and release-4.22 CI configurations for openshift/hypershift, both with the same cron schedule (30 8 * * 1). This caused both jobs to fire simultaneously, race to process the same Jira tickets, and create duplicate PRs. On 2025-02-09, both jobs processed CNTRLPLANE-625: - Build 2020777354950873088 (release-4.22 job) created openshift/hypershift#7681 - Build 2020777354405613568 (main job) created openshift/hypershift#7682 The release-4.22 job is a config-brancher artifact that should not exist since the jira-agent workflow only needs to run once against the main branch. The main config is the authoritative source. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
What this PR does / why we need it:
This PR ensures the
additionalTrustBundleCA certificates are synced to the guest cluster'scloud-provider-configConfigMap for AWS clusters, enabling the CCCMO'strusted_ca_bundle_controllerto pick up custom CA certificates for AWS API endpoints.Changes:
AWS cloud-provider-config sync (
resources.go): Added anAWSPlatformcase toreconcileCloudConfig()that:cloud-provider-configConfigMap inopenshift-configadditionalTrustBundleCA data under theca-bundle.pemkey (the key expected by CCCMO)ca-bundle.pemwhenadditionalTrustBundleis unsetInfrastructure CloudConfig for AWS (
infrastructure.go): SetsSpec.CloudConfig.NameandSpec.CloudConfig.Keyon the Infrastructure CR for AWS, allowing the kube-cloud-config controller and CCCMO to locate the cloud provider configuration.Unit tests: Added tests for both the cloud config reconciliation and the Infrastructure CR changes.
Which issue(s) this PR fixes:
Fixes https://issues.redhat.com/browse/CNTRLPLANE-625
Special notes for your reviewer:
The
additionalTrustBundlewas already synced to the guest cluster as auser-ca-bundleConfigMap, but it was not included in thecloud-provider-configConfigMap. The CCCMO'strusted_ca_bundle_controllerlooks specifically for aca-bundle.pemkey in the synced cloud-config ConfigMap. This pattern is already implemented for OpenStack, and this PR extends it to AWS.Checklist:
🤖 Generated with Claude Code via
/jira-solve [CNTRLPLANE-625](https://issues.redhat.com//browse/CNTRLPLANE-625) originAlways review AI generated responses prior to use.