ci-operator-configresolver: Add upstream config resolver#5253
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: automatic mode |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (6)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
🚧 Files skipped from review as they are similar to previous changes (5)
📝 WalkthroughWalkthroughAdds optional upstream integrated-stream resolution to configresolver, switches the integrated-stream cache to a TTL-backed implementation, and threads the new resolver address through the e2e framework and affected e2e tests. ChangesUpstream integrated-stream resolver
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 2 warnings)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/test e2e |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
/hold |
|
/retest-required |
7773952 to
85be9fb
Compare
|
/test e2e |
85be9fb to
254317f
Compare
|
/test e2e |
|
/override ci/prow/breaking-changes |
|
@danilo-gemoli: Overrode contexts on behalf of danilo-gemoli: ci/prow/breaking-changes 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. |
|
/override ci/prow/breaking-changes |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
@danilo-gemoli: Overrode contexts on behalf of danilo-gemoli: ci/prow/breaking-changes, ci/prow/e2e, ci/prow/images, ci/prow/integration 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. |
|
/unhold |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: danilo-gemoli, droslean 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 |
|
/override ci/prow/images |
|
@danilo-gemoli: Overrode contexts on behalf of danilo-gemoli: ci/prow/images, ci/prow/integration 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. |
|
@danilo-gemoli: all tests passed! 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. |
e2etests use a realci-operator-configresolverthat is expected to find ISocp/X.Ywithin the cluster the test is running on, but these streams exist onapp.cionly.As a consequence of that, we experience failures like this.
This PR overcomes the problem by adding a new parameter on
ci-operator-configresolver:that
e2es set to the production endpointhttps://config.ci.openshift.org/.The upstream resolver is used to retrieve information about the integrated streams.
Upstream Resolver Support for
ci-operator-configresolverThis PR adds an optional upstream resolver path for resolving OpenShift “integrated streams” so e2e tests in isolated clusters don’t fail when the test cluster lacks
ocp/X.YImageStreams (those exist only onapp.ci). When configured,ci-operator-configresolverdelegates integrated-stream lookups to the production config service.What changed
ci-operator-configresolver(cmd/ci-operator-configresolver/main.go)--upstream-resolver-address.--upstream-resolver-addressis set./integratedStreamendpoint serves from the new integration cache (replacing the prior in-memory/mutex cache approach).Unit tests (
cmd/ci-operator-configresolver/main_test.go)E2E framework + tests
test/e2e/framework/framework.go:ConfigResolverOptions.UpstreamResolverAddressci-operator-configresolveras--upstream-resolver-address.api.URLForService("config")):test/e2e/multi-stage/e2e_test.gotest/e2e/observer/e2e_test.gotestCaseis used.test/e2e/multi-stage/integration-releases.yaml: adjusted the 4.18 “latest” checks to read/release-manifests/release-metadatainstead of greppingcluster-version-operator version/oc version.Practical impact
ci-operator-configresolvertohttps://config.ci.openshift.org/(via the framework wiring) to resolve integrated streams even whenocp/X.YImageStreams are missing from the test cluster.Test/validation notes
/test e2e,/hold,/retest-required) while validating the change.