-
Notifications
You must be signed in to change notification settings - Fork 33
OPRUN-4181: UPSTREAM: <carry>: support singleown cases in disconnected #524
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@kuiwang02: This pull request references OPRUN-4181 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.21.0" version, but no target version was set. In 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-aggregate periodic-ci-openshift-release-master-nightly-4.21-e2e-metal-ipi-ovn-ipv6-techpreview 5 |
@kuiwang02: 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/a5d6a670-aa57-11f0-9255-fd1d8f920f61-0 |
/payload-aggregate periodic-ci-openshift-release-master-nightly-4.21-e2e-metal-ipi-serial-ovn-ipv6-techpreview-1of2 5 |
@kuiwang02: 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/af9bb7e0-aa57-11f0-8bdf-dd4979e6d9f5-0 |
/payload-aggregate periodic-ci-openshift-release-master-nightly-4.21-e2e-metal-ipi-serial-ovn-ipv6-techpreview-2of2 5 |
@kuiwang02: 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/b5c30920-aa57-11f0-8353-342853163df4-0 |
/payload-aggregate periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn-techpreview 5 |
@kuiwang02: 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/bdac55b0-aa57-11f0-869f-0cf0638b5b59-0 |
/payload-aggregate periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn-techpreview-serial 5 |
@kuiwang02: 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/c52b6ec0-aa57-11f0-9ec1-3bca17589a75-0 |
a166edf
to
7849382
Compare
/payload-aggregate periodic-ci-openshift-release-master-nightly-4.21-e2e-metal-ipi-ovn-ipv6-techpreview 5 |
@kuiwang02: 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/5134b010-aa6d-11f0-814e-fd629be74c60-0 |
/payload-aggregate periodic-ci-openshift-release-master-nightly-4.21-e2e-metal-ipi-serial-ovn-ipv6-techpreview-1of2 5 |
/payload-aggregate periodic-ci-openshift-release-master-nightly-4.21-e2e-metal-ipi-serial-ovn-ipv6-techpreview-2of2 5 |
@kuiwang02: 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/58e3d9d0-aa6d-11f0-8be5-237e58fc54b2-0 |
@kuiwang02: 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/5fcad190-aa6d-11f0-99cd-cc61929f009b-0 |
/payload-aggregate periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn-techpreview 5 |
@kuiwang02: 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/677c4540-aa6d-11f0-8ba2-dca1125a2d10-0 |
/payload-aggregate periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn-techpreview-serial 5 |
@kuiwang02: 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/7516a1a0-aa6d-11f0-80c9-66446d50a317-0 |
/retest-required |
/payload-aggregate periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn-techpreview-serial 5 |
@kuiwang02: 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/6ffa1d50-aaf4-11f0-83a9-2b9e0bee43e0-0 |
@kuiwang02: This pull request references OPRUN-4181 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.21.0" version, but no target version was set. In 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. |
/retitle OPRUN-4181: UPSTREAM: : support singleown cases in disconnected |
SingleOwn Test Results Summary (Connected & Disconnected Environments)SingleOwn Parallel Case in Disconnected EnvironmentCommand: Run Reference: Prow Jobs: Example log output: passed: (50.3s) 2025-10-16T12:28:59 "[sig-olmv1][OCPFeatureGate:NewOLMOwnSingleNamespace] OLMv1 operator installation support for singleNamespace watch mode with operator should install a cluster extension successfully" ✅ Conclusion: SingleOwn Serial Cases in Disconnected EnvironmentCommand: Run Reference: Prow Jobs: Example log outputs: passed: (25.3s) 2025-10-16T12:35:10 "[sig-olmv1][OCPFeatureGate:NewOLMOwnSingleNamespace][Serial] OLMv1 operator installation support for ownNamespace watch mode with an operator that does not support ownNamespace installation mode should fail to install a cluster extension successfully" ✅ Conclusion: SingleOwn Parallel Case in Connected EnvironmentCommand: Run Reference: Prow Jobs: Example log output: passed: (58.6s) 2025-10-16T11:01:34 "[sig-olmv1][OCPFeatureGate:NewOLMOwnSingleNamespace] OLMv1 operator installation support for singleNamespace watch mode with operator should install a cluster extension successfully" ✅ Conclusion: SingleOwn Serial Cases in Connected EnvironmentCommand: Run Reference: Prow Jobs: Example log outputs: passed: (31.9s) 2025-10-16T13:33:45 "[sig-olmv1][OCPFeatureGate:NewOLMOwnSingleNamespace][Serial] OLMv1 operator installation support for ownNamespace watch mode with an operator that does not support ownNamespace installation mode should fail to install a cluster extension successfully" ✅ Conclusion: Overall SummaryAll SingleOwn test cases — both Parallel and Serial, in Connected and Disconnected environments — have passed successfully. This confirms that the updated test logic and image initialization now work reliably across both network conditions. |
@kuiwang02: trigger 4 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/24a01e50-aaf8-11f0-8bfc-e91f98ae9557-0 |
/verified by @kuiwang02 |
@kuiwang02: This PR has been marked as verified by In 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. |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jianzhangbjz, kuiwang02 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
e77207b
into
openshift:main
Why / Problem Statement
OLMv1 singleown test cases were marked as
[Skipped:Disconnected][Serial]
which prevented them from:This limited test coverage in disconnected environments and increased overall test execution time.
What / Solution
This PR makes package names configurable in singleown testdata and enables execution with both connected and disconnected environments by:
{{ PACKAGE-NAME }}
template variable throughout testdata files{{ crdSuffix }}
template variable throughout testdata files[Skipped:Disconnected]
tags to allow tests to run in disconnected environments with some of them in parallelChanges Made
Testdata Templates
testdata/singleown/bundle/metadata/annotations.yaml
{{ PACKAGE-NAME }}
template variable tooperators.operatorframework.io.bundle.package.v1
annotationtestdata/singleown/bundle/manifests/webhook-operator.clusterserviceversion.yaml
name: {{ PACKAGE-NAME }}.v0.0.5
toname: "{{ PACKAGE-NAME }}.v0.0.5"
(added quotes for YAML compliance)testdata/singleown/index/configs/index.yaml
"webhook-operator"
with"{{ PACKAGE-NAME }}"
:New testdata files created:
testdata/singleown/
directory structure including:Generated Bindata Files
pkg/bindata/singleown/bundle/bundle.go
- Auto-generated file embedding bundle assets (461 lines added)pkg/bindata/singleown/index/index.go
- Auto-generated file embedding index catalog (271 lines added)Test Implementation:
test/olmv1-singleownnamespace.go
All Tests:
[Skipped:Disconnected]
tag to enable disconnected environment executionSerial
tag from Tests 1, 2, 3, 5 to enable parallel executionhelpers.RequireImageRegistry(ctx)
checkBeforeEach(func()
toBeforeEach(func(ctx SpecContext)
for context supportBuild Configuration
Makefile
openshift_payload_olmv1.json
Key Technical Decisions
Template-based Package Name Configuration
{{ PACKAGE-NAME }}
template variable in testdata, similar to existing{{ CRD-SUFFIX }}
patternRandom String vs Ginkgo Process ID for CRD Suffix
unique
); avoids potential conflicts in different execution environments; random strings are more collision-resistantcrdSuffix = unique
(reuse existing random string); Test 3 usescrdSuffix = rand.String(4)
(nounique
variable in that scope)Unique Package Name Patterns Per Test Suite
singleown-operator-single-<random>
singleown-operator-own-<random>
singleown-operator-both-<random>
singleown-operator-<random>
In-cluster Bundle and Catalog for Disconnected Support
helpers.NewCatalogAndClusterBundles()
with singleown bindata assetsParallel Execution Enablement
Serial
tag from Tests 1, 2, 3, 5 to enable parallel executionTest 4 Scope Change
Testing
Template Variables in Use
{{ PACKAGE-NAME }}
- New variable added in this PR for unique package names{{ CRD-SUFFIX }}
- Existing variable for unique CRD names{{ TEST-BUNDLE }}
- Existing variable for bundle image reference{{ TEST-CONTROLLER }}
- Existing variable for controller image reference{{ NAMESPACE }}
- Existing variable for namespace reference for buildconfig and imageAssisted-by: Claude Code