-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.14.z, 4.15.z, 4.17.z, 4.16.z, 4.18.z, 4.19.z
-
Quality / Stability / Reliability
-
False
-
-
None
-
None
-
None
-
None
-
Rejected
-
Oddish Sprint 275, Pikachu Sprint 276
-
2
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
Semver template expansion can produce duplicate skips and replaces of the same target, which confuses OLMv0
Version-Release number of selected component (if applicable):
How reproducible:
100%
Steps to Reproduce:
1. with a semver template configured to generate major-version channels and including minor-version bumps, like this example (written as reproducer-semver.yaml): schema: olm.semver generatemajorchannels: true stable: bundles: - image: quay.io/jordankeister/test-operator:v1.0.0 - image: quay.io/jordankeister/test-operator:v1.1.0 - image: quay.io/jordankeister/test-operator:v1.1.2 - image: quay.io/jordankeister/test-operator:v1.1.4 - image: quay.io/jordankeister/test-operator:v1.2.0 - image: quay.io/jordankeister/test-operator:v1.2.1 - image: quay.io/jordankeister/test-operator:v1.3.0 - image: quay.io/jordankeister/test-operator:v1.4.0 2. expand the template via `opm alpha render-template semver reproducer-semver.yaml` 3. see that in the major-version FBC channels generated, whenever the upgrade graph would cross a minor-version boundary, it includes the previous minor-version's highest patch version as both a 'skips' and 'replaces' link from the next minor-version's highest patch version.
Actual results:
... "entries": [ { "name": "test-operator-v1.0.0" }, { "name": "test-operator-v1.1.0" }, { "name": "test-operator-v1.1.2" }, { "name": "test-operator-v1.1.4", "replaces": "test-operator-v1.0.0", "skips": [ "test-operator-v1.0.0", "test-operator-v1.1.0", "test-operator-v1.1.2" ] }, ...
Expected results:
... "entries": [ { "name": "test-operator-v1.0.0" }, { "name": "test-operator-v1.1.0" }, { "name": "test-operator-v1.1.2" }, { "name": "test-operator-v1.1.4", "replaces": "test-operator-v1.0.0", "skips": [ "test-operator-v1.1.0", "test-operator-v1.1.2" ] }, ...
Additional info:
- causes
-
OCPBUGS-60253 opm validate is not failing when channel entry both replaces and skips the same bundle
-
- MODIFIED
-
- links to