-
Story
-
Resolution: Done
-
Major
-
None
-
None
-
None
-
Future Sustainability
-
False
-
-
False
-
3
-
None
-
None
-
INKEY$ (OPRUN 243)
Description:
Implement semver upgrade edge generation function as discussed in the RFC.
Background:
Please read RFC for better formatting and full scope. The excerpt below is just to indicate the scope covered by this specific issue.
Need to implement semver upgrade edge generation function as discussed in the RFC.
Semver
Semver based implementation is expected to:
- Satisfy the interface discussed above
type Successors func(currentBundle string) []string- Return a list of successor bundles based on semver. The list will not include bundle versions outside the major version of the installed bundle. (In semver a new major version is intended to indicate breaking changes, and we don’t want to default to that behavior. Future iterations may include knobs to extend this behavior.)
- This mode will not allow downgrading.
As part of this issue we also need to make sure that ForceSemverUpgradeConstraints feature gate is respected:
The solver needs to be able to switch between upgrade constraint semantics based on rules defined above (see Fig 1).
Acceptance Criteria:
- Is implemented behind the feature gate proposed in https://issues.redhat.com/browse/OPRUN-3051
- unit tests / e2e (if required) implemented and passing without flakes
- depends on
-
OPRUN-3051 [upstream] Add ForceSemverUpgradeConstraints feature gate
-
- Closed
-
-
OPRUN-3053 [upstream] Refactor legacy upgrade constraint semantics behind an interface
-
- Closed
-
- is blocked by
-
OPRUN-3031 [upstream] Update Operator Controller to use VariableSources
-
- Closed
-
- is depended on by
-
OPRUN-3070 [upstream] Documentation for semver upgrade edge constraints support
-
- Closed
-
- relates to
-
OPECO-2942 Initial Upgrade Support - Semver Upgrade Edge Generation
-
- Closed
-
- links to