fix: ensure machine-id, initiatorname.iscsi and host{id,nqn} are unique (backport #190) #191
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Our OS image includes
/etc/machine-id
,/etc/iscsi/initiatorname.iscsi
,/etc/nvme/hostid
and/etc/nvme/hostnqn
. This means that those files will be identical on every single Harvester node installed from a given ISO image. This is wrong./etc/machine-id
is meant to be unique per host, see e.g.:https://manpages.opensuse.org/Tumbleweed/systemd/machine-id.5.en.html
Likewise, the iSCSI initiator name and NVMe hostid/hostnqn need to be unique when accessing external storage via iSCSI or NVMe over fabrics.
This commit removes those files from the OS image, and adds commands to
00_rootfs.yaml
to generate/etc/iscsi/initiatorname.iscsi
,/etc/nvme/hostid
and/etc/nvme/hostnqn
at boot time, if those files don't already exist (which they won't, on first boot - after that the generated content will persist)./etc/machine-id
generation is handled automatically by systemd and its persistence is already covered by existing code in00_rootfs.yaml
.Related issue: harvester/harvester#6911
Note that this also requires harvester/harvester-installer#984 in order to work correctly (see that PR for the test plan).
This is an automatic backport of pull request #190 done by Mergify.