MULTIARCH-4559: config/v1/types_cluster_version.go: Add 'architecture' to the release structure#2024
Conversation
|
@wking: This pull request references MULTIARCH-4559 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.18.0" version, but no target version was set. 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 openshift-eng/jira-lifecycle-plugin repository. |
|
Hello @wking! Some important instructions when contributing to openshift/api: |
| // Valid values are 'Multi' and empty. | ||
| // | ||
| // +optional | ||
| Architecture ClusterVersionArchitecture `json:"architecture,omitempty"` |
There was a problem hiding this comment.
Which feature gate would you like? The enhancement is pretty thin in that section.
There was a problem hiding this comment.
the ImageStreamImportMode featuregate implemented here: #1928
There was a problem hiding this comment.
Feature gate added as of 7f3382e. The verify-crd-schema failures are all existing properties in the new-with-this-pull clusterversions.config.openshift.io/ImageStreamImportMode.yaml file, and they'll need the /override ci/prow/verify-crd-schema mentioned in the failure message.
| // value of the cluster architecture. In this context cluster | ||
| // architecture means either a single architecture or a multi | ||
| // architecture. | ||
| // Valid values are 'Multi' and empty. |
There was a problem hiding this comment.
This may very well end up extended with more detail in the near future, but starting here is acceptable.
|
@wking any progress on this? |
…ructure
As requested in the enhancement [1]. Motivation for the new property
from the enhancement [2]:
There were a few options discussed in lieu of introducing a new
ClusterVersion status field and the potential risks for doing
so. The alternatives are highlighted with reasoning given for why
they were not pursued:
* Default ImportMode to PreserveOriginal everywhere:
single-arch-release users maybe concerned about import size and
the lack of metadata like dockerImageLayers and
dockerImageMetadata for manifestlisted imagestream tags.
* Clusters with homogeneous nodes running the multi payload who do
not want to import manifestlists: The clusters can either migrate
to single arch payloads or manually toggle the importMode through
the image config CRD.
* CVO provides architecural knowledge to the
cluster-image-registry-operator through a configmap or the image
config CRD: To limit the risk of many external consumers using
CVO's status field to determine that their cluster is multi-arch
ready, the idea was to expose this information to the specific
controller. This solution is not necessary as we let other
controller implementers decide if the CVO's new status field is
the best fit for their use case.
David and Prashanth requested the ImageStreamImportMode feature gating
in [3].
[1]: https://github.com/openshift/enhancements/blob/36ef3f51e5b7bfb2d4af18d415ba762e0a0431ac/enhancements/multi-arch/dynamic-imagestream-importmode-setting.md#api-extensions
[2]: https://github.com/openshift/enhancements/blob/36ef3f51e5b7bfb2d4af18d415ba762e0a0431ac/enhancements/multi-arch/dynamic-imagestream-importmode-setting.md#motivations-for-a-new-clusterversion-status-property
[3]: openshift#2024 (comment)
f153ad8 to
49ec891
Compare
Generated using: $ PROTO_OPTIONAL=true make update
49ec891 to
31505ab
Compare
…ructure
As requested in the enhancement [1]. Motivation for the new property
from the enhancement [2]:
There were a few options discussed in lieu of introducing a new
ClusterVersion status field and the potential risks for doing
so. The alternatives are highlighted with reasoning given for why
they were not pursued:
* Default ImportMode to PreserveOriginal everywhere:
single-arch-release users maybe concerned about import size and
the lack of metadata like dockerImageLayers and
dockerImageMetadata for manifestlisted imagestream tags.
* Clusters with homogeneous nodes running the multi payload who do
not want to import manifestlists: The clusters can either migrate
to single arch payloads or manually toggle the importMode through
the image config CRD.
* CVO provides architecural knowledge to the
cluster-image-registry-operator through a configmap or the image
config CRD: To limit the risk of many external consumers using
CVO's status field to determine that their cluster is multi-arch
ready, the idea was to expose this information to the specific
controller. This solution is not necessary as we let other
controller implementers decide if the CVO's new status field is
the best fit for their use case.
David an Prashanth requested the ImageStreamImportMode feature gating
in [3].
[1]: https://github.com/openshift/enhancements/blob/36ef3f51e5b7bfb2d4af18d415ba762e0a0431ac/enhancements/multi-arch/dynamic-imagestream-importmode-setting.md#api-extensions
[2]: https://github.com/openshift/enhancements/blob/36ef3f51e5b7bfb2d4af18d415ba762e0a0431ac/enhancements/multi-arch/dynamic-imagestream-importmode-setting.md#motivations-for-a-new-clusterversion-status-property
[3]: openshift#2024 (comment)
31505ab to
86a5195
Compare
…Mode: New tests For the new feature-set flavor. I copied AAA_ungated.yaml, added the featureGate property, and then updated every existing Release structure to set 'architecture: Multi'.
fe67da3 to
7f3382e
Compare
|
/lgtm |
|
/override ci/prow/verify-crd-schema |
|
@deads2k: Overrode contexts on behalf of deads2k: ci/prow/verify-crd-schema 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. |
|
@wking: 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. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: deads2k, Prashanth684, wking 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 |
|
[ART PR BUILD NOTIFIER] Distgit: ose-cluster-config-api |
Pulling in [1]. Generated with: $ go get github.com/openshift/api@master $ go mod tidy $ go mod vendor $ git add -A go.* vendor using: $ go version go version go1.23.1 linux/amd64 [1]: openshift/api#2024
…on desired Architecture openshift/api#2024 introduces the architecture property in the desired status field which indicates the architecture of the cluster (or the architecture being reconciled to). Set import mode based on this status - if "Multi", set importmode to PreserveOriginal, else to Legacy.
…on desired Architecture openshift/api#2024 introduces the architecture property in the desired status field which indicates the architecture of the cluster (or the architecture being reconciled to). Set import mode based on this status - if "Multi", set importmode to PreserveOriginal, else to Legacy.
…on desired Architecture openshift/api#2024 introduces the architecture property in the desired status field which indicates the architecture of the cluster (or the architecture being reconciled to). Set import mode based on this status - if "Multi", set importmode to PreserveOriginal, else to Legacy.
…on desired Architecture openshift/api#2024 introduces the architecture property in the desired status field which indicates the architecture of the cluster (or the architecture being reconciled to). Set import mode based on this status - if "Multi", set importmode to PreserveOriginal, else to Legacy.
…on desired Architecture openshift/api#2024 introduces the architecture property in the desired status field which indicates the architecture of the cluster (or the architecture being reconciled to). Set import mode based on this status - if "Multi", set importmode to PreserveOriginal, else to Legacy.
…on desired Architecture openshift/api#2024 introduces the architecture property in the desired status field which indicates the architecture of the cluster (or the architecture being reconciled to). Set import mode based on this status - if "Multi", set importmode to PreserveOriginal, else to Legacy.
…on desired Architecture openshift/api#2024 introduces the architecture property in the desired status field which indicates the architecture of the cluster (or the architecture being reconciled to). Set import mode based on this status - if "Multi", set importmode to PreserveOriginal, else to Legacy. Backport of openshift#1164
As requested in the enhancement. Motivation for the new property from the enhancement: