-
Story
-
Resolution: Done
-
Blocker
-
None
-
None
-
BU Product Work
-
5
-
False
-
False
-
OCPSTRAT-36 - OpenShift Optional Capabilities (Phase 4)
-
OTA 224, OTA 225, OTA 226, OTA 234, OTA 235, OTA 237, OTA 238, OTA 239, OTA 240
oc adm release extract --included ... or some such, that only works when no release pullspec is given, where oc connects to the cluster to ask after the current release image (as it does today when you leave off a pullspec) but also collects FeatureGates and cluster profile and all that sort of stuff so it can write only the manifests it expects the CVO to be attempting to reconcile.
This would be narrowly useful for ccoctl (see CCO-178 and CCO-186), because with this extract option, ccoctl wouldn't need to try to reproduce "which of these CredentialsRequests manifests does the cluster actually want filled?" locally.
It also seems like it would be useful for anyone trying to get a better feel for what the CVO is up to in their cluster, for the same reason that it reduces distracting manifests that don't apply.
The downside is that if we screw up the inclusion logic, we could have oc diverging from the CVO, and end up increasing confusion instead of decreasing confusion. If we move the inclusion logic to library-go, that reduces the risk a bit, but there's always the possibility that users are using an oc that is older or newer than the cluster's CVO. Some way to have oc warn when the option is used but the version differs from the current CVO version would be useful, but possibly complicated to implement, unless we take shortcuts like assuming that the currently running CVO has a version matched to the ClusterVersion's status.desired target.
Definition of done (more details in the OTA-692 spike comment):
- Add a new --included flag to $ oc adm release extract --to <dir path> <pull-spec or version-number>. The --included flag filters extracted manifests to those that are expected to be included with the cluster.
- blocks
-
CCO-186 ccoctl support for credentialing optional capabilities
- Release Pending
- is blocked by
-
OTA-582 Create a library-go Manifest.Include method
- Closed
-
OTA-824 Add CI presubmits for critical 'oc adm release ...' pathways
- Closed
-
OTA-993 Centralize all manifest-inclusion logic in library-go
- Closed
-
OTA-994 Reduce duplication in 'oc adm release extract'
- Closed
-
OTA-692 Spike: oc adm release extract should consider install config, capabilities
- Closed
- is related to
-
OTA-968 Pre-Merge Testing: provide option for extracting included manifests
- Closed
-
CCO-178 RFE: ccoctl has a mode to reject manifests with cluster-profile annotations and unrecognized platforms
- Closed
- split to
-
OTA-1010 Move implicit capability enablement to libary-go
- To Do
- links to