Skip to content
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

Please drop machine-os-content reference #101

Closed
cgwalters opened this issue Oct 4, 2022 · 18 comments · Fixed by #102, #135 or #142
Closed

Please drop machine-os-content reference #101

cgwalters opened this issue Oct 4, 2022 · 18 comments · Fixed by #102, #135 or #142
Assignees

Comments

cgwalters added a commit to cgwalters/driver-toolkit that referenced this issue Oct 6, 2022
As part of https://github.com/openshift/enhancements/blob/master/enhancements/ocp-coreos-layering/ocp-coreos-layering.md
we have switched to a new `rhel-coreos-8`.

Really, nothing else besides the MCO should be pulling in or
referencing the OS images.  I don't understand what
cross-checking the image stream tag was ever doing at all.  The
MCO owns rolling out the right OS version, and if that isn't
correct something else went seriously wrong.

Closes: openshift#101
openshift-ci bot pushed a commit that referenced this issue Oct 11, 2022
As part of https://github.com/openshift/enhancements/blob/master/enhancements/ocp-coreos-layering/ocp-coreos-layering.md
we have switched to a new `rhel-coreos-8`.

Really, nothing else besides the MCO should be pulling in or
referencing the OS images.  I don't understand what
cross-checking the image stream tag was ever doing at all.  The
MCO owns rolling out the right OS version, and if that isn't
correct something else went seriously wrong.

Closes: #101
@qbarrand
Copy link
Contributor

Reopening this issue with #103.
We need more guidance on how to replace machine-os-content, which provides an essential piece in the way DTK is currently released.

@qbarrand
Copy link
Contributor

/reopen

@openshift-ci
Copy link

openshift-ci bot commented Oct 11, 2022

@qbarrand: Reopened this issue.

In response to this:

/reopen

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/test-infra repository.

@openshift-ci openshift-ci bot reopened this Oct 11, 2022
@cgwalters
Copy link
Member Author

OK, let's discuss design in https://issues.redhat.com/browse/MCO-392?focusedCommentId=21048335&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-21048335 or so? I see the desire for a tag for "default operating system". But I'd still really like to push for a world where we ship both rhel-coreos-8 and rhel-coreos-9 for example, and so anything using the "default" tag would then need to consider whether it actually needs to look at all possible operating system tags for example.

@ybettan
Copy link
Contributor

ybettan commented Oct 31, 2022

/cc @ybettan
So I can keep track of it.

@ybettan
Copy link
Contributor

ybettan commented Nov 17, 2022

I have added documentation of all the moving parts of that imagestream.

@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 16, 2023
@ybettan
Copy link
Contributor

ybettan commented Feb 16, 2023

/remove-lifecycle stale
After some discussion the first step of the solution will be to try to user rhel-coreos-8 or rhel-coreos-9 in the image-refrences instead of machine-os-content.

This will require adding the io.openshift.build.versions label to the rhel-coreos-<8|9> and replace the primary source in ART's repo.

Additional info can be found at https://redhat-internal.slack.com/archives/C02CU30L7GF/p1676467754327349

@openshift-ci openshift-ci bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 16, 2023
@ybettan
Copy link
Contributor

ybettan commented Feb 16, 2023

/assign @ybettan

@sosiouxme
Copy link
Member

sosiouxme commented Apr 24, 2023

it's just rhel-coreos now. but io.openshift.build.versions label isn't there like in m-o-c:

🐚 oc image info $(oc adm release info --image-for rhel-coreos 4.13.0-rc.5) | grep version
            org.opencontainers.image.version=413.92.202304191831-0
            version=413.92.202304191831-0
            
🐚 oc image info $(oc adm release info --image-for machine-os-content 4.13.0-rc.5) | grep versions
             io.openshift.build.versions=machine-os=413.92.202304191831-0

@cgwalters
Copy link
Member Author

Yeah, this is messy...there's a whole lot interlocked here. We have a build time option to add it and I tried to use it here but then we reverted here because we discovered that oc adm release new barfs if there are two images with the same machine-os label...

And that's where it stands, I think we'd need to fix oc adm release new.

@sosiouxme
Copy link
Member

perhaps DTK could change to looking at org.opencontainers.image.version label for 4.13+?
not sure the significance of these labels

@ybettan
Copy link
Contributor

ybettan commented Apr 27, 2023

@sosiouxme DTK isn't doing any of this stuff at all.
All we are doing is to add the machine-os-content snapshot.

I think that oc adm new... is the one responsible for the substitution so this change will probably need to be done there.

I don't mind changing the shapshot to any other container if needed to make it work.

Adding the slack thread for full context if needed: https://redhat-internal.slack.com/archives/C02CU30L7GF/p1676467754327349

@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 26, 2023
@ybettan
Copy link
Contributor

ybettan commented Jul 27, 2023

/remove-lifecycle stale

@openshift-ci openshift-ci bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 27, 2023
@jlebon
Copy link
Member

jlebon commented Sep 25, 2023

The RHCOS pipeline is still building and maintaining the path to this container image. Would be helpful if we could finally nuke it completely from our deliverables. (E.g. our pipeline just tripped on a bug trying to build that container: coreos/coreos-assembler#3635).

Naive question: rather than trying to solve the "how to ship multiple images with proper labels" part (which requires changes to oc), can we not stage the changes in both RHCOS and DTK and flip the switch roughly at the same time so that the new container has machine-os and the old container is gone?

It sounds like the blocker was on the fact that we'll eventually want the oc changes anyway so that we can ship multiple OS versions in the future, but it seems like for now we don't have to block on that to remove the legacy oscontainer.

@ybettan
Copy link
Contributor

ybettan commented Sep 27, 2023

Naive question: rather than trying to solve the "how to ship multiple images with proper labels" part (which requires changes to oc), can we not stage the changes in both RHCOS and DTK and flip the switch roughly at the same time so that the new container has machine-os and the old container is gone?

I don't anticipate an issue from the DTK side doing it.
AFAIK, if:

  1. machine-oc-content is removed
  2. "io.openshift.build.versions": "machine-os=<ocp version>.<rhel version>.<timestamp>" is added to rhel-coreos instead
  3. dtk-image-references is modified to point to rhel-coreos image instead of machine-os-content
    Then we should be good to go.

In case the io.openshift.build.versions needs to be added to any other container in the payload in the future, then we can address the oc issue.

jlebon added a commit to jlebon/driver-toolkit that referenced this issue Sep 27, 2023
The `machine-os-content` is deprecated and we'd like to stop shipping it
entirely in the release payload. Point the DTK imagestream to the `rhel-
coreos` image instead.

Closes: openshift#101
jlebon added a commit to jlebon/os that referenced this issue Sep 27, 2023
This was previously enabled (openshift#1048) and then disabled again (openshift#1084)
because `oc` doesn't know how to handle multiple images with those
labels in the release payload. We'll need to solve this eventually if
we want to be able to ship multiple OS images in the payload (that's
tracked in openshift#1047), but we don't need to block on this if we can remove
the legacy `machine-os-content` at the same time.

See also: openshift/driver-toolkit#101
See also: openshift/machine-config-operator#3364
@jlebon
Copy link
Member

jlebon commented Sep 27, 2023

I threw up openshift/os#1374 and #135. I invite folks who have more context on this issue to review those. On the ART side, it looks like https://issues.redhat.com/browse/ART-4932 is still the ticket tracking the cleanups needed there.

jlebon added a commit to jlebon/os that referenced this issue Sep 27, 2023
This was previously enabled (openshift#1048) and then disabled again (openshift#1084)
because `oc` doesn't know how to handle multiple images with those
labels in the release payload. We'll need to solve this eventually if
we want to be able to ship multiple OS images in the payload (that's
tracked in openshift#1047), but we don't need to block on this if we can remove
the legacy `machine-os-content` at the same time.

See also: openshift/driver-toolkit#101
See also: openshift/machine-config-operator#3364
openshift-merge-bot bot pushed a commit that referenced this issue Nov 9, 2023
The `machine-os-content` is deprecated and we'd like to stop shipping it
entirely in the release payload. Point the DTK imagestream to the `rhel-
coreos` image instead.

Closes: #101
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment