Open JM1 opened 1 year ago
I think I'd say we should add e.g. --apply-live-only
or so, which would actually be useful for non-ISO cases too.
We could also default to having --apply-live
mean --apply-live-only
on physically readonly systems.
It looks like rpm-ostree
already implements all necessary features to support rebasing a Live ISO ☺️ This PR for fedora-coreos-config changes the way FCOS accesses contents of a Live ISO. Together with systemd's soft-reboot this allows to rebase a running system.
Host system details
Expected vs actual behavior
Please allow to run
rpm-ostree rebase
on a system which has been launched with a Live ISO. For example, when FCOS is booted with a Live ISO both/
and/system
are mounted read-only. This causesrpm-ostree rebase ...
to fail with:If
rpm-ostree rebase
cannot be implemented for live isos, another option might be to supportrpm-ostree install --apply-live
instead.Rationale
OKD/FCOS uses FCOS as its bootimage, i.e. when booting cluster nodes the first time during installation. FCOS does not provide tools such as OpenShift Client (
oc
) orhyperkube
which are used during single-node cluster installation at first boot (e.g.oc
in bootkube.sh). RHCOS and SCOS include these tools, but FCOS has to pivot the root fs to okd-machine-os first in order to make those tools available. Pivoting usesrpm-ostree rebase
but during SNO installation the node will be booted from a FCOS Live ISO where/
and/sysroot
are read-only. Thusrpm-ostree rebase
fails and necessary tools for SNO installation will not be available, causing the setup to stall.Allowing
rpm-ostree install --apply-live
on live isos would allow users to extend their live environment in the same way as traditional installations. Either to install necessary tools such ashyperkube
in the OKD/FCOS SNO use case above or auxiliary tools such asfzf
or interpreters.