-
Notifications
You must be signed in to change notification settings - Fork 27
Conversation
51eef26
to
f3d7b77
Compare
Woohoo! With the above I successfully booted FCOS with a separate Ignition file:
Result:
|
Two high-level questions:
|
half of hates it and half of me loves it. If we go that route I think I'd almost rather have it done in rpm-ostree itself rather than coreos-assembler (i.e. another stanza in the manifest) |
Yup. I feel the same I feel like the root of this problem is that dracut is really awkward to use for this since it requires all it's units in
I'm in favor of an |
Hmm, I thought that's what this repo was about? Are you suggesting just keeping the
Yeah, I can imagine moving that functionality to rpm-ostree eventually and superseding Again, this would also allow us to give the manifest a major diet (right now we've got ~140 lines of postprocessing which mostly just creates files). Basically consider the RPM an "integration layer" which contains all the bits that make FCOS FCOS. (Though I suppose one could argue this belongs better in the release package, but having the RPM dynamically constructed from sources that sit alongside the manifest is much nicer to hack on and test). Is there a similar package in CL for this? Was it something that gave more trouble than it was worth? |
On CL we have the [1] https://github.com/coreos/init |
OK, I opened #55 for this!
And now I'm rereading this comment more carefully. I do like the |
04a850f
to
4e4cd7b
Compare
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably worth running shellcheck over the shell scripts as well
Done! |
This is blocked on coreos/fedora-coreos-config#66 now, which is blocked on coreos/coreos-assembler#414. |
Is this still WIP? |
Yes, though we're getting there! I split out the FCOS-specific bits into coreos/fedora-coreos-config#70. Still testing that combination. (Though this PR now also requires #61). |
Right now, we enable our services by adding a link in `initrd.target.requires`. However, it seems like systemd doesn't necessarily fail the boot even if `initrd.target` fails. That unit has: OnFailure=emergency.target OnFailureJobMode=replace-irreversibly But looking at the logs, it seems like that can get overridden by the `systemctl isolate initrd-switch-root.target` call that `initrd-cleanup.service` does. Let's just be really explicit here and tell systemd we want to immediately switch to `emergency.target` if any of our units fail.
Add support for the new Ignition `mount` and `umount` stages. The `mount` stage runs *after* the `disks` stage and `initrd-root-fs.target`, since we need to be able to mount under `/sysroot`, but *before* the `files` stage, which will of course drop files under those mounts. Combined with coreos/fedora-coreos-config#70, this allows us to drop all OSTree-specific bits and no longer rely on `ostree-prepare-root.service` to mount `/var` for us.
Dropped WIP on this. See status updates in coreos/fedora-coreos-config#70. Maybe let's merge it soon-ish, so it's easier for others to test it out before we switch FCOS/RHCOS to spec 3.0.0? Hmm, we should probably set up a COPR or something to track master. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still LGTM with the fcos-config changes
I defer to andrew - feel free to merge at your convenience |
Synced with jlebon: in the interest of making it easier to package for the time being we'll be bringing the modules back from the fcos config |
This module is the integration point between Ignition and Fedora CoreOS. Notably, we add two new systemd services in the initrd which mesh with Ignition's own systemd services: 1. `coreos-mount-var.service`, which finds the `/var` stateroot bind mount and mounts it under `/sysroot/var` before `ignition-mount` potentially adds more mounts underneath (or even shadowing `/var` itself). 2. `coreos-populate-var.service`, which sets up `/var` on first boot using `systemd-tmpfiles` before `ignition-files` runs. NOTE: this is a temporary holding place to make packaging easier. Eventually, we will move this module to the FCOS overlay: coreos/fedora-coreos-config#70
Was hitting issues doing a final sanity check of this on FCOS and RHCOS. On FCOS, I noticed some On RHCOS, the situation is more serious.
This is not a regression from this PR or Ignition v2.0.0-alpha: specifying any extra disk on the latest dev RHCOS will fail similarly. @ajeddeloh mentioned it's likely systemd/systemd#9625. Testing that now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
OK, yup, I can confirm we were hitting systemd/systemd#9625. With that patch, RHCOS is working fine here as well! Let's merge this and discuss the systemd backport situation OOB? |
SGTM. Merge away |
I don't have merging privileges on this repo. |
you should now |
OK, I can confirm this. The basic issue here is that using Mind you, it doesn't actually seem to cause any failures. The journal does get flushed to |
Still cobbling together the FCOS side of this so will likely need some more tweaks, but this is what I'm working with right now.
Requires: #46