-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Extract the image-references file from the release, pass it to machine-config-operator
#6234
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
Extract the image-references file from the release, pass it to machine-config-operator
#6234
Conversation
Previously all the MCO needed was the machine-os-content image, which became osImageURL, but now that we have new format images, extension containers, and probably a pair (one new format image, one extension container) per RHCOS major version (rhel-coreos-8, rhel-coreos-9, etc) we need to consume more than one image out of the payload. As a result, the MCO needs the image-references file so that it can read all of the OS images contained within and select the one it prefers. This dumps the image-references file out of the payload so the MCO can consume it, and also adds an argument to the `machine-config-operator` call to consume it.
cgwalters
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Simple and elegant IMO!
| --infra-image="${MACHINE_CONFIG_INFRA_IMAGE}" \ | ||
| --keepalived-image="${KEEPALIVED_IMAGE}" \ | ||
| --coredns-image="${COREDNS_IMAGE}" \ | ||
| --haproxy-image="${HAPROXY_IMAGE}" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In theory we could also drop these arguments now, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could, yes, but I was a big chicken 😄
I figured we'd add the new argument -> make sure on our end everything works (I'm sure it does) -> come back for cleanup. If you think we should pull the old args out now to save time, we can?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We wouldn't pass CI here unless the new path worked entirely, right? (I guess there's possible corner cases on e.g. bare metal images not used in the default cloud cases, but we can probably just double check before merging)
I don't have a strong opinion here and will leave it to your choice!
|
/retest-required |
|
@jkyros: The following tests failed, say
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/test-infra repository. I understand the commands that are listed here. |
+1 /approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cgwalters, patrickdillon 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 |
|
/lgtm |
|
/skip |
The MCO needs access to
image-referencesduring bootstrap so it can reference additional images.I'm open to more elegant ways to do this if you have concerns.
As for why...
rhel-coreos-8andrhel-coreos-8-extensions. ( https://issues.redhat.com/browse/ART-3883, openshift/os: Explicitly promote into ocp/4.12 imagestream release#31118)machine-os-contentrhel-coreos-9,rhel-coreos-9-extensions) and potentially other things, so we'd rather have a general case solution rather than add just one more argument (like--release-image-rhel-coreos-8)machine-config-operatorto accept theimage-referencesfile in Accept new image format, consume in controllerconfig, but stop there machine-config-operator#3286 (Specifically: openshift/machine-config-operator@76c17f8)bootkube.shfeedimage-referencesto us so we can use it during bootstrapmachine-os-contentlaterIn service to: https://issues.redhat.com/browse/MCO-291