upload-oscontainer: Support oscontainer.yaml and extensions.yaml#1916
upload-oscontainer: Support oscontainer.yaml and extensions.yaml#1916openshift-merge-robot merged 1 commit intocoreos:masterfrom
Conversation
fba2b6a to
586eb00
Compare
jlebon
left a comment
There was a problem hiding this comment.
One comment, LGTM otherwise! Also had some feedback in openshift/os#455 which could affect the implementation here.
Pairs with openshift/os#455 Add an `oscontainer.yaml` which allows configuring (currently) just the `FROM` line equivalent. This helps keep things declarative in the config instead of part of the pipeline. And since extensions are now a core part of OpenShift 4 (particularly RT kernel) which also uses the oscontainer, let's lift the logic to generate those bits of the oscontainer into this repo and out of the config git. Both of these are part of the general philosophy we've had that: - config git is declarative config - coreos-assembler is the mechanism - a pipeline just scripts coreos-assembler in a way that's easy to reproduce with plain podman too
|
OK reworked this to add an |
| # 1 = extension name | ||
| # 2 = package string/glob | ||
| # 3 = OPTIONAL: dependencies string/glob | ||
| def createext(extname, pkgs): |
There was a problem hiding this comment.
The previous script this is intending to replace used to link deps at the top-level for backcompat. Is it safe to drop that behaviour now?
There was a problem hiding this comment.
I'm pretty sure yes; the code which was doing regexp.MustCompile("kernel-rt*") to find packages went away as part of unifying that code with extensions in openshift/machine-config-operator@6757381 which is in 4.6.
(But, I didn't actually test this in a cluster yet)
There was a problem hiding this comment.
Ok tested now and works!
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cgwalters, jlebon 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 |
There's some logic I didn't currently preserve from this in the move into coreos-assembler around kernel/kernel-headers matching. coreos/coreos-assembler#1916 I will look at re-adding that. But short term we don't actually have that problem right now and I'd like to get the 4.7 pipeline switched over to the new model so we don't have duplication. The goal here is to make it very "cosa like" to upload the oscontainer because it needs to be trivial for other people to do outside of a pipeline. Because this is git, when we need some of this code again we can find it in the history.
Pairs with openshift/os#455
Add an
oscontainer.yamlwhich allows configuring (currently) justthe
FROMline equivalent. This helps keep things declarativein the config instead of part of the pipeline.
And since extensions are now a core part of OpenShift 4 (particularly RT kernel)
which also uses the oscontainer, let's lift the logic to generate
those bits of the oscontainer into this repo and out of the config git.
Both of these are part of the general philosophy we've had that:
easy to reproduce with plain podman too