disk: use GenerateUUIDs in CreatePartitionTable
Instead of generating the UUIDs directly when new partitions are
created and separately for the boot and root partition, use the
new `PartitionTable.GenerateUUIDs` method to generate all UUIDs
that are missing in one go. Since this changes the order in
which the uuids are generated the test manifests UUIDs changed
and needed to be updated:
I used to following patch to get the updated manifests:
--- a/internal/distro/distro_test_common/distro_test_common.go
+++ b/internal/distro/distro_test_common/distro_test_common.go
@@ -105,6 +105,12 @@ func TestDistro_Manifest(t *testing.T, pipelinePath string, prefix string, regis
require.NoError(t, err)
diff := cmp.Diff(expected, actual)
+ if diff != "" {
+ tt.Manifest = got
+ data, _ := json.MarshalIndent(tt, "", " ")
+ path := filepath.Join("/tmp", filepath.Base(fileName))
+ _ = ioutil.WriteFile(path, data, 0644)
+ }
require.Emptyf(t, diff, "Distro: %s\nArch: %s\nImage type: %s\nTest case file: %s\n", d.Name(), arch.Name(), imageType.Name(), fileName)
}
})
And the following fish snippet to update the existing ones, using the
jq and sponge utilities:
for file in /tmp/rhel_85-*.json
set filename (basename $file)
jq -s '.[0].manifest = .[1].manifest | .[0]' test/data/manifests/$filename /tmp/$filename | sponge test/data/manifests/$filename
end
This commit is contained in:
parent
58112e7152
commit
d9ef268809
5 changed files with 33 additions and 39 deletions
|
|
@ -36,16 +36,10 @@ func CreatePartitionTable(
|
|||
// copies of the partition table, so make a copy first
|
||||
table := basePartitionTable.Clone()
|
||||
|
||||
if bootPartition := table.BootPartition(); bootPartition != nil {
|
||||
// the boot partition UUID needs to be set since this
|
||||
// needs to be randomly generated
|
||||
bootPartition.Filesystem.UUID = uuid.Must(newRandomUUIDFromReader(rng)).String()
|
||||
}
|
||||
|
||||
for _, m := range mountpoints {
|
||||
if m.Mountpoint != "/" {
|
||||
partitionSize := m.MinSize / sectorSize
|
||||
table.createFilesystem(m.Mountpoint, partitionSize, rng)
|
||||
table.createFilesystem(m.Mountpoint, partitionSize)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -63,15 +57,16 @@ func CreatePartitionTable(
|
|||
// by setting the size dynamically
|
||||
rootPartition := table.RootPartition()
|
||||
rootPartition.Size = ((imageSize / sectorSize) - start - 100)
|
||||
rootPartition.Filesystem.UUID = uuid.Must(newRandomUUIDFromReader(rng)).String()
|
||||
|
||||
// Generate new UUIDs for filesystems and partitions
|
||||
table.GenerateUUIDs(rng)
|
||||
|
||||
return *table
|
||||
}
|
||||
|
||||
func (pt *PartitionTable) createFilesystem(mountpoint string, size uint64, rng *rand.Rand) {
|
||||
func (pt *PartitionTable) createFilesystem(mountpoint string, size uint64) {
|
||||
filesystem := Filesystem{
|
||||
Type: "xfs",
|
||||
UUID: uuid.Must(newRandomUUIDFromReader(rng)).String(),
|
||||
Mountpoint: mountpoint,
|
||||
FSTabOptions: "defaults",
|
||||
FSTabFreq: 0,
|
||||
|
|
@ -85,7 +80,6 @@ func (pt *PartitionTable) createFilesystem(mountpoint string, size uint64, rng *
|
|||
|
||||
if pt.Type == "gpt" {
|
||||
partition.Type = FilesystemDataGUID
|
||||
partition.UUID = uuid.Must(newRandomUUIDFromReader(rng)).String()
|
||||
}
|
||||
|
||||
pt.Partitions = append(pt.Partitions, partition)
|
||||
|
|
|
|||
|
|
@ -1334,13 +1334,13 @@
|
|||
"options": {
|
||||
"filesystems": [
|
||||
{
|
||||
"uuid": "e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1",
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/",
|
||||
"options": "defaults"
|
||||
},
|
||||
{
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/usr",
|
||||
"options": "defaults"
|
||||
|
|
@ -1364,7 +1364,7 @@
|
|||
{
|
||||
"type": "org.osbuild.grub2",
|
||||
"options": {
|
||||
"root_fs_uuid": "e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1",
|
||||
"root_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 crashkernel=auto debug",
|
||||
"uefi": {
|
||||
"vendor": "redhat"
|
||||
|
|
@ -1413,13 +1413,13 @@
|
|||
"size": 4194304,
|
||||
"start": 206848,
|
||||
"type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75"
|
||||
"uuid": "a178892e-e285-4ce1-9114-55780875d64e"
|
||||
},
|
||||
{
|
||||
"size": 2097152,
|
||||
"start": 4401152,
|
||||
"type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
|
||||
"uuid": "a178892e-e285-4ce1-9114-55780875d64e"
|
||||
"uuid": "e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1451,7 +1451,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1",
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"label": "root"
|
||||
},
|
||||
"devices": {
|
||||
|
|
@ -1468,7 +1468,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8"
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75"
|
||||
},
|
||||
"devices": {
|
||||
"device": {
|
||||
|
|
|
|||
|
|
@ -1441,19 +1441,19 @@
|
|||
"options": {
|
||||
"filesystems": [
|
||||
{
|
||||
"uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4",
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/",
|
||||
"options": "defaults"
|
||||
},
|
||||
{
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/usr",
|
||||
"options": "defaults"
|
||||
},
|
||||
{
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75",
|
||||
"uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/var",
|
||||
"options": "defaults"
|
||||
|
|
@ -1464,7 +1464,7 @@
|
|||
{
|
||||
"type": "org.osbuild.grub2",
|
||||
"options": {
|
||||
"root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4",
|
||||
"root_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 crashkernel=auto debug",
|
||||
"legacy": "powerpc-ieee1275",
|
||||
"saved_entry": "ffffffffffffffffffffffffffffffff-4.18.0-299.1.el8.ppc64le"
|
||||
|
|
@ -1527,7 +1527,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4"
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8"
|
||||
},
|
||||
"devices": {
|
||||
"device": {
|
||||
|
|
@ -1543,7 +1543,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8"
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75"
|
||||
},
|
||||
"devices": {
|
||||
"device": {
|
||||
|
|
@ -1559,7 +1559,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75"
|
||||
"uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4"
|
||||
},
|
||||
"devices": {
|
||||
"device": {
|
||||
|
|
|
|||
|
|
@ -450,7 +450,7 @@
|
|||
{
|
||||
"type": "org.osbuild.kernel-cmdline",
|
||||
"options": {
|
||||
"root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4",
|
||||
"root_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 crashkernel=auto"
|
||||
}
|
||||
},
|
||||
|
|
@ -1464,19 +1464,19 @@
|
|||
"options": {
|
||||
"filesystems": [
|
||||
{
|
||||
"uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4",
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/",
|
||||
"options": "defaults"
|
||||
},
|
||||
{
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/usr",
|
||||
"options": "defaults"
|
||||
},
|
||||
{
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75",
|
||||
"uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/var",
|
||||
"options": "defaults"
|
||||
|
|
@ -1540,7 +1540,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4"
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8"
|
||||
},
|
||||
"devices": {
|
||||
"device": {
|
||||
|
|
@ -1556,7 +1556,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8"
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75"
|
||||
},
|
||||
"devices": {
|
||||
"device": {
|
||||
|
|
@ -1572,7 +1572,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75"
|
||||
"uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4"
|
||||
},
|
||||
"devices": {
|
||||
"device": {
|
||||
|
|
|
|||
|
|
@ -1350,13 +1350,13 @@
|
|||
"options": {
|
||||
"filesystems": [
|
||||
{
|
||||
"uuid": "e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1",
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/",
|
||||
"options": "defaults"
|
||||
},
|
||||
{
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75",
|
||||
"vfs_type": "xfs",
|
||||
"path": "/usr",
|
||||
"options": "defaults"
|
||||
|
|
@ -1380,7 +1380,7 @@
|
|||
{
|
||||
"type": "org.osbuild.grub2",
|
||||
"options": {
|
||||
"root_fs_uuid": "e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1",
|
||||
"root_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 crashkernel=auto debug",
|
||||
"legacy": "i386-pc",
|
||||
"uefi": {
|
||||
|
|
@ -1437,13 +1437,13 @@
|
|||
"size": 4194304,
|
||||
"start": 208896,
|
||||
"type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75"
|
||||
"uuid": "a178892e-e285-4ce1-9114-55780875d64e"
|
||||
},
|
||||
{
|
||||
"size": 2097152,
|
||||
"start": 4403200,
|
||||
"type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
|
||||
"uuid": "a178892e-e285-4ce1-9114-55780875d64e"
|
||||
"uuid": "e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1475,7 +1475,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1",
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8",
|
||||
"label": "root"
|
||||
},
|
||||
"devices": {
|
||||
|
|
@ -1492,7 +1492,7 @@
|
|||
{
|
||||
"type": "org.osbuild.mkfs.xfs",
|
||||
"options": {
|
||||
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8"
|
||||
"uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75"
|
||||
},
|
||||
"devices": {
|
||||
"device": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue