-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
CORS-3652 : RHCOS Stream Marketplace Images #9329
base: main
Are you sure you want to change the base?
Conversation
Adds a standalone go program that generates data/data/coreos/marketplace-rhcos.json This file is combined with rhcos.json to create the coreos stream, but the files are updated at different cadences by different teams.
Updates the generation of the coreos stream manifest, which runs during container building, to merge the contents of the marketplace-rhcos.json file with rhcos.json when creating the coreos stream configmap.
Reworks the logic for fetching the coreos stream to merge a marketplace.json file (if it exists) with the (rhcos|fcos).json file before producing the results.
Adds the ability to discover existing images in the Azure marketplace to be used for populating the marketplace rhcos stream.
Adds armcompute package to provide an API for Azure marketplace images.
go mod tidy && go mod vendor
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/cc @bryan-cox @bennerv |
This is a WIP implementation of using Azure marketplace images from the coreOS stream: - reads marketplace images instead of azure disk from stream - sets up images in control plane machine manifests (needs more work) - removes image upload Also includes a marketplace-rhcos.json file which was generated with STREAM_RELEASE_OVERRIDE=417.94.202407010000-0 go run -mod=vendor ./hack/rhcos/populate-marketplace-imagestream.go
28ac065
to
6944b1b
Compare
@patrickdillon: The following tests failed, say
Full PR test history. Your PR dashboard. 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. I understand the commands that are listed here. |
This is an implementation of openshift/enhancements#1655
./hack/rhcos/populate-marketplace-imagestream.go
which generatesdata/data/coreos/marketplace-rhcos.json
marketplace-rhcos.json
withrhcos.json
when:openshift-install coreos print-stream-json
./hack/build-coreos-manifest.go
(as part of the Dockerfile build) to generate the RHCOS stream configmapopenshift-install create cluster
openshift/enhancements#1655 is still a WIP and needs to be updated to reflect this work, but enough consensus has been reached that the work itself can help guide the enhancement.
How it works:
Users can run this standalone command (using authentication libs of the openshift-installer) to generate/update the marketplace stream:
By default, the command will look for (Azure unpaid) images in the current branch (discovered from the local
rhcos.json
). I added an override to force searching for a specific release. In this case, the override value is hacky with zero-padding because I could not determine the RHCOS build which was used to publish the ARO images (they truncate the timestamp).The results of this command produce the
marketplace-rhcos.json
file, checked in here.When using the print-stream-json command, the marketplace-rhcos.json results are merged with rhcos.json:
Similarly, the configmap generated from ./hack/build-coreos-manifest.go contains the merged json.
Finally, the poc ipi azure install demonstrates the installation time gains we achieve when not needing to upload an image as part of the install process.