debian-forge-composer/cmd
Ondřej Budai 973639d372 distro/rhel84: use a random uuid for XFS partition
Imagine this situation: You have a RHEL system booted from an image produced
by osbuild-composer. On this system, you want to use osbuild-composer to
create another image of RHEL.

However, there's currently something funny with partitions:

All RHEL images built by osbuild-composer contain a root xfs partition. The
interesting bit is that they all share the same xfs partition UUID. This might
sound like a good thing for reproducibility but it has a quirk.

The issue appears when osbuild runs the qemu assembler: it needs to mount all
partitions of the future image to copy the OS tree into it.

Imagine that osbuild-composer is running on a system booted from an imaged
produced by osbuild-composer. This means that its root xfs partition has this
uuid:

efe8afea-c0a8-45dc-8e6e-499279f6fa5d

When osbuild-composer builds an image on this system, it runs osbuild that
runs the qemu assembler at some point. As I said previously, it will mount
all partitions of the future image. That means that it will also try to
mount the root xfs partition with this uuid:

efe8afea-c0a8-45dc-8e6e-499279f6fa5d

Do you remember this one? Yeah, it's the same one as before. However, the xfs
kernel driver doesn't like that. It contains a global table[1] of all xfs
partitions that forbids to mount 2 xfs partitions with the same uuid.

I mean... uuids are meant to be unique, right?

This commit changes the way we build RHEL 8.4 images: Each one now has a
unique uuid. It's now literally a unique universally unique identifier. haha

[1]: a349e4c659/fs/xfs/xfs_mount.c (L51)
2020-12-15 16:43:39 +01:00
..
cloud-cleaner test: extract GenerateCIArtifactName to test helpers 2020-12-01 08:27:44 +01:00
osbuild-auth-tests test/auth: rework the test to use the new openssl setup 2020-11-05 13:48:48 +01:00
osbuild-composer worker/server: move it to the style of koji server 2020-11-19 17:39:24 +00:00
osbuild-composer-cli-tests tests: rename composer-cli tests 2020-10-06 13:08:26 +02:00
osbuild-dnf-json-tests tree-wide: drop f31 support 2020-10-21 09:04:13 +02:00
osbuild-image-tests test: extract GenerateCIArtifactName to test helpers 2020-12-01 08:27:44 +01:00
osbuild-koji upload/koji: don't pass task_id to cg_init_build 2020-09-16 00:15:02 +01:00
osbuild-koji-tests test/koji: move the koji test to schutzbot 2020-11-02 19:59:28 +01:00
osbuild-pipeline distro/rhel84: use a random uuid for XFS partition 2020-12-15 16:43:39 +01:00
osbuild-store-dump distro/rhel84: use a random uuid for XFS partition 2020-12-15 16:43:39 +01:00
osbuild-upload-aws upload/aws: fix architecture for aarch64 images 2020-12-01 08:27:44 +01:00
osbuild-upload-azure cmd/osbuild-upload-azure: improve error message on wrong arguments 2020-04-27 20:34:20 +02:00
osbuild-worker upload/aws: fix architecture for aarch64 images 2020-12-01 08:27:44 +01:00