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

buildextend-installer: refactoring for separate rootfs image #1612

Merged
merged 7 commits into from
Jul 21, 2020
Merged

buildextend-installer: refactoring for separate rootfs image #1612

merged 7 commits into from
Jul 21, 2020

Conversation

bgilbert
Copy link
Contributor

Split refactoring patches out of #1608 and add a couple more cleanups.

@cgwalters
Copy link
Member

All the easy patches here look right. I read the big initramfs refactoring...and it looks right at a high level. I think kola testiso covers everything except we might not have gotten 4kn wired up?

/approve

@bgilbert
Copy link
Contributor Author

/hold

@bgilbert
Copy link
Contributor Author

except we might not have gotten 4kn wired up?

It's wired up, but: #1613

bgilbert added 6 commits July 21, 2020 15:00
Every file we're writing (except the flag file in /etc) is already
compressed.
The kernel and initrd don't need to be executable.
Accumulate additional initrd contents into temporary directories
and then cpio them all up at once.  This ensures we don't have a bunch
of little cpios concatenated together, which is nice for debugging and
will be required for the separate PXE rootfs.
In practice it's required for all release images, and we've forgotten
about this before:

    coreos/fedora-coreos-pipeline#250

This increases build time for local development, but improves the
consistency of build artifacts and reduces code complexity a bit.
if img_metal4k_obj is not None:
if is_live:
if img_metal_obj is None or img_metal4k_obj is None:
raise Exception("Live image generation requires `metal` and `metal4k` images")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a blocker, but I think we should have a switch like --allow-missing-metal4k to still allow skipping this for the local dev case. Iterating on the live ISO is super painful, and while the majority of the time is the mksquashfs step, having to recreate a metal4k image we don't care about each time accumulates to a non-trivial amount of time.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<jlebon> i'd say we can try getting it in as is, and if someone (perhaps me) gets annoyed enough
         in the future to add that option, i wouldn't oppose :)

👍 Let's skip for now. If we want to re-add the option, I agree that --allow-missing-... is more palatable, since the caller knows they're asking for that, and it doesn't matter as much if it breaks.

@jlebon
Copy link
Member

jlebon commented Jul 21, 2020

Let's wait until #1613 is in to make sure CI exercises the 4k path too.

@bgilbert
Copy link
Contributor Author

Rebased on #1613.

/unhold

@jlebon
Copy link
Member

jlebon commented Jul 21, 2020

/lgtm

@dustymabe
Copy link
Member

yay - we're able to drop image.yaml osmet flag now

@dustymabe
Copy link
Member

/hold

briefly

Comment on lines +160 to +162
else:
if img_metal_obj is None:
raise Exception("ISO image generation requires `metal` image")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're building a legacy installer (that doesn't include the rootfs) do we really require the metal image?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahh, seems like we get the kernel arguments and such from the img_metal later on so I guess it is required.

@dustymabe
Copy link
Member

/unhold

/lgtm

@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bgilbert, cgwalters, dustymabe, jlebon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [bgilbert,cgwalters,dustymabe,jlebon]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants