coreos / coreos-assembler

Tooling container to assemble CoreOS-like systems
https://coreos.github.io/coreos-assembler/
Apache License 2.0
333 stars 165 forks source link

runvm-osbuild: fix handling of `container-(repo|tag)` fields #3758

Closed jlebon closed 4 months ago

jlebon commented 4 months ago

Those fields are optional so we need to use getconfig_def instead.

Fixes b74e2f986 ("osbuild: Allow deploy via container image").

jlebon commented 4 months ago

Actually, there might be another issue here. Building rawhide, I get

ValueError: More than one deployment found: ['/run/osbuild/tree/ostree/deploy/fedora-coreos/deploy/f303df07520cad4b3fdbedebebd6da930505d4875ce679da33773c2501854288.0', '/run/osbuild/tree/ostree/deploy/fedora-coreos/deploy/3f7e2808f563277d21274304b134e3a0a38bc2961450c22385dc99a9b3099319.0']

jlebon commented 4 months ago

OK yeah, I think there is another bug in https://github.com/coreos/coreos-assembler/commit/b74e2f9869c981ee15dfbfee3a998d1e64a8b8f4. Specifically, we used to do:

mpp-if: ociarchive != ''
then:
  ...
else:
  ...

and now we do:

mpp-if: ociarchive != ''
then:
  ...
mpp-if: container_repo != ''
then:
  ...
else:
  ...

which is semantically different; we now run the else branch where before we didn't.

I don't see osbuild-mpp supporting an else if but I guess we can nest them to get the same effect. But ideally we fold back what we added in https://github.com/coreos/coreos-assembler/commit/b74e2f9869c981ee15dfbfee3a998d1e64a8b8f4 into calling the org.osbuild.ostree.deploy.container stage just once.

jlebon commented 4 months ago

OK, latest commit fixes that too and with that I can build rawhide locally!

ravanelli commented 4 months ago

@jlebon Thanks for fixing it!