From 9a00b55f861aa2a87bb4327158c942de7e0b46e4 Mon Sep 17 00:00:00 2001 From: Simon de Vlieger Date: Mon, 17 Feb 2025 11:50:30 +0100 Subject: [PATCH] fedora: image type names follow variants Fedora consists of many variants. Historically we haven't really based our own definitions on anything. Let's introduce variant name prefixes to all Fedora image types to indicate what variant they are based on. The next commit will then make these variants similar to (or equal to) the Fedora variants as they are supposed to be. We keep the old image type names around as aliases since changing them is a breaking change. We should however consider deprecating them and emitting a warning for some time. Signed-off-by: Simon de Vlieger --- pkg/distro/distro_test.go | 6 +- .../distro_test_common/distro_test_common.go | 13 +- pkg/distro/fedora/distro.go | 54 +++--- pkg/distro/fedora/distro_test.go | 166 +++++++++--------- pkg/distro/fedora/imagetype.go | 6 +- .../packagesets/fedora/package_sets.yaml | 32 ++-- 6 files changed, 144 insertions(+), 133 deletions(-) diff --git a/pkg/distro/distro_test.go b/pkg/distro/distro_test.go index 32c57fc49a..b90fcb59fa 100644 --- a/pkg/distro/distro_test.go +++ b/pkg/distro/distro_test.go @@ -541,12 +541,12 @@ func TestDistro_ManifestFIPSWarning(t *testing.T) { "edge-simplified-installer", "edge-qcow2-image", "iot-installer", - "iot-raw-image", + "iot-raw-xz", "iot-simplified-installer", - "iot-qcow2-image", + "iot-qcow2", } noCustomizableImages := []string{ - "live-installer", + "workstation-live-installer", "azure-eap7-rhui", } diff --git a/pkg/distro/distro_test_common/distro_test_common.go b/pkg/distro/distro_test_common/distro_test_common.go index f1c03e2ac7..7ab0fa7906 100644 --- a/pkg/distro/distro_test_common/distro_test_common.go +++ b/pkg/distro/distro_test_common/distro_test_common.go @@ -22,7 +22,7 @@ func isOSTree(imgType distro.ImageType) bool { } func isUbi(imgType distro.ImageType) bool { - return imgType.Name() == "wsl" + return imgType.Name() == "wsl" || imgType.Name() == "server-wsl" } var knownKernels = []string{"kernel", "kernel-debug", "kernel-rt"} @@ -84,8 +84,8 @@ func TestDistro_KernelOption(t *testing.T, d distro.Distro) { "edge-simplified-installer": true, "edge-vsphere": true, "iot-installer": true, - "iot-qcow2-image": true, - "iot-raw-image": true, + "iot-qcow2": true, + "iot-raw-xz": true, "iot-simplified-installer": true, // the tar image type is a minimal image type which is not expected to @@ -98,8 +98,9 @@ func TestDistro_KernelOption(t *testing.T, d distro.Distro) { // image installer on Fedora doesn't support kernel customizations // on RHEL we support kernel name // TODO: Remove when we unify the allowed options - "image-installer": true, - "live-installer": true, + "image-installer": true, + "minimal-installer": true, + "workstation-live-installer": true, } { // empty blueprint: all image types should just have the default kernel @@ -184,8 +185,6 @@ func TestDistro_OSTreeOptions(t *testing.T, d distro.Distro) { "edge-simplified-installer": true, "iot-ami": true, "iot-installer": true, - "iot-qcow2-image": true, - "iot-raw-image": true, "iot-simplified-installer": true, } diff --git a/pkg/distro/fedora/distro.go b/pkg/distro/fedora/distro.go index 20ea3eb0d0..8adb1d6685 100644 --- a/pkg/distro/fedora/distro.go +++ b/pkg/distro/fedora/distro.go @@ -86,15 +86,15 @@ var ( // Image Definitions imageInstallerImgType = imageType{ - name: "image-installer", - nameAliases: []string{"fedora-image-installer"}, + name: "minimal-installer", + nameAliases: []string{"image-installer", "fedora-image-installer"}, filename: "installer.iso", mimeType: "application/x-iso9660-image", packageSets: map[string]packageSetFunc{ osPkgsKey: func(t *imageType) rpmmd.PackageSet { // use the minimal raw image type for the OS package set ft := &imageType{ - name: "minimal-raw", + name: "minimal-raw-xz", arch: t.arch, } return packagesets.Load(ft, VersionReplacements()) @@ -117,8 +117,8 @@ var ( } liveInstallerImgType = imageType{ - name: "live-installer", - nameAliases: []string{}, + name: "workstation-live-installer", + nameAliases: []string{"live-installer"}, filename: "live-installer.iso", mimeType: "application/x-iso9660-image", packageSets: map[string]packageSetFunc{ @@ -251,7 +251,7 @@ var ( } iotRawImgType = imageType{ - name: "iot-raw-image", + name: "iot-raw-xz", nameAliases: []string{"fedora-iot-raw-image"}, filename: "image.raw.xz", compression: "xz", @@ -283,7 +283,8 @@ var ( } iotQcow2ImgType = imageType{ - name: "iot-qcow2-image", + name: "iot-qcow2", + nameAliases: []string{"iot-qcow2-image"}, // kept for backwards compatibility filename: "image.qcow2", mimeType: "application/x-qemu-disk", packageSets: map[string]packageSetFunc{}, @@ -309,7 +310,8 @@ var ( } qcow2ImgType = imageType{ - name: "qcow2", + name: "server-qcow2", + nameAliases: []string{"qcow2"}, // kept for backwards compatibility filename: "disk.qcow2", mimeType: "application/x-qemu-disk", environment: &environment.KVM{}, @@ -341,9 +343,10 @@ var ( } vmdkImgType = imageType{ - name: "vmdk", - filename: "disk.vmdk", - mimeType: "application/x-vmdk", + name: "server-vmdk", + nameAliases: []string{"vmdk"}, // kept for backwards compatibility + filename: "disk.vmdk", + mimeType: "application/x-vmdk", packageSets: map[string]packageSetFunc{ osPkgsKey: packageSetLoader, }, @@ -360,9 +363,10 @@ var ( } ovaImgType = imageType{ - name: "ova", - filename: "image.ova", - mimeType: "application/ovf", + name: "server-ova", + nameAliases: []string{"ova"}, // kept for backwards compatibility + filename: "image.ova", + mimeType: "application/ovf", packageSets: map[string]packageSetFunc{ osPkgsKey: packageSetLoader, }, @@ -400,9 +404,10 @@ var ( } wslImgType = imageType{ - name: "wsl", - filename: "wsl.tar", - mimeType: "application/x-tar", + name: "server-wsl", + nameAliases: []string{"wsl"}, // kept for backwards compatibility + filename: "wsl.tar", + mimeType: "application/x-tar", packageSets: map[string]packageSetFunc{ osPkgsKey: packageSetLoader, }, @@ -426,7 +431,8 @@ var ( } minimalrawImgType = imageType{ - name: "minimal-raw", + name: "minimal-raw-xz", + nameAliases: []string{"minimal-raw"}, // kept for backwards compatibility filename: "disk.raw.xz", compression: "xz", mimeType: "application/xz", @@ -647,10 +653,12 @@ func newDistro(version int) distro.Distro { } ociImgType := qcow2ImgType - ociImgType.name = "oci" + ociImgType.name = "server-oci" + ociImgType.nameAliases = []string{"oci"} // kept for backwards compatibility amiImgType := qcow2ImgType - amiImgType.name = "ami" + amiImgType.name = "server-ami" + amiImgType.nameAliases = []string{"ami"} // kept for backwards compatibility amiImgType.filename = "image.raw" amiImgType.mimeType = "application/octet-stream" amiImgType.payloadPipelines = []string{"os", "image"} @@ -658,10 +666,12 @@ func newDistro(version int) distro.Distro { amiImgType.environment = &environment.EC2{} openstackImgType := qcow2ImgType - openstackImgType.name = "openstack" + openstackImgType.name = "server-openstack" + openstackImgType.nameAliases = []string{"openstack"} // kept for backwards compatibility vhdImgType := qcow2ImgType - vhdImgType.name = "vhd" + vhdImgType.name = "server-vhd" + vhdImgType.nameAliases = []string{"vhd"} // kept for backwards compatibility vhdImgType.filename = "disk.vhd" vhdImgType.mimeType = "application/x-vhd" vhdImgType.payloadPipelines = []string{"os", "image", "vpc"} diff --git a/pkg/distro/fedora/distro_test.go b/pkg/distro/fedora/distro_test.go index 2e1e2d2762..e6d4b9b5fa 100644 --- a/pkg/distro/fedora/distro_test.go +++ b/pkg/distro/fedora/distro_test.go @@ -46,48 +46,48 @@ func TestFilenameFromType(t *testing.T) { } tests := []testCfg{ { - name: "ami", - args: args{"ami"}, + name: "server-ami", + args: args{"server-ami"}, want: wantResult{ filename: "image.raw", mimeType: "application/octet-stream", }, }, { - name: "qcow2", - args: args{"qcow2"}, + name: "server-qcow2", + args: args{"server-qcow2"}, want: wantResult{ filename: "disk.qcow2", mimeType: "application/x-qemu-disk", }, }, { - name: "openstack", - args: args{"openstack"}, + name: "server-openstack", + args: args{"server-openstack"}, want: wantResult{ filename: "disk.qcow2", mimeType: "application/x-qemu-disk", }, }, { - name: "vhd", - args: args{"vhd"}, + name: "server-vhd", + args: args{"server-vhd"}, want: wantResult{ filename: "disk.vhd", mimeType: "application/x-vhd", }, }, { - name: "vmdk", - args: args{"vmdk"}, + name: "server-vmdk", + args: args{"server-vmdk"}, want: wantResult{ filename: "disk.vmdk", mimeType: "application/x-vmdk", }, }, { - name: "ova", - args: args{"ova"}, + name: "server-ova", + args: args{"server-ova"}, want: wantResult{ filename: "image.ova", mimeType: "application/ovf", @@ -102,8 +102,8 @@ func TestFilenameFromType(t *testing.T) { }, }, { - name: "wsl", - args: args{"wsl"}, + name: "server-wsl", + args: args{"server-wsl"}, want: wantResult{ filename: "wsl.tar", mimeType: "application/x-tar", @@ -187,8 +187,8 @@ func TestFilenameFromType(t *testing.T) { want: wantResult{wantErr: true}, }, { - name: "minimal-raw", - args: args{"minimal-raw"}, + name: "minimal-raw-xz", + args: args{"minimal-raw-xz"}, want: wantResult{ filename: "disk.raw.xz", mimeType: "application/xz", @@ -323,22 +323,22 @@ func TestImageType_Name(t *testing.T) { { arch: "x86_64", imgNames: []string{ - "ami", - "image-installer", + "server-ami", + "minimal-installer", "iot-commit", "iot-container", "iot-installer", - "iot-qcow2-image", - "iot-raw-image", - "live-installer", - "minimal-raw", - "oci", - "openstack", - "ova", - "qcow2", - "vhd", - "vmdk", - "wsl", + "iot-qcow2", + "iot-raw-xz", + "workstation-live-installer", + "minimal-raw-xz", + "server-oci", + "server-openstack", + "server-ova", + "server-qcow2", + "server-vhd", + "server-vmdk", + "server-wsl", }, verTypes: map[string][]string{ "40": { @@ -354,17 +354,17 @@ func TestImageType_Name(t *testing.T) { { arch: "aarch64", imgNames: []string{ - "ami", - "image-installer", + "server-ami", + "minimal-installer", "iot-commit", "iot-container", "iot-installer", - "iot-qcow2-image", - "iot-raw-image", - "minimal-raw", - "oci", - "openstack", - "qcow2", + "iot-qcow2", + "iot-raw-xz", + "minimal-raw-xz", + "server-oci", + "server-openstack", + "server-qcow2", }, verTypes: map[string][]string{ "40": { @@ -500,11 +500,11 @@ func TestDistro_ManifestError(t *testing.T) { assert.EqualError(t, err, "kernel boot parameter customizations are not supported for ostree types") } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" { assert.EqualError(t, err, fmt.Sprintf("boot ISO image type \"%s\" requires specifying a URL from which to retrieve the OSTree commit", imgTypeName)) - } else if imgTypeName == "image-installer" { + } else if imgTypeName == "minimal-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.UnsupportedCustomizationError, imgTypeName, "User, Group, FIPS, Installer, Timezone, Locale")) - } else if imgTypeName == "live-installer" { + } else if imgTypeName == "workstation-live-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.NoCustomizationsAllowedError, imgTypeName)) - } else if imgTypeName == "iot-raw-image" || imgTypeName == "iot-qcow2-image" { + } else if imgTypeName == "iot-raw-xz" || imgTypeName == "iot-qcow2" { assert.EqualError(t, err, fmt.Sprintf(distro.UnsupportedCustomizationError, imgTypeName, "User, Group, Directories, Files, Services, FIPS")) } else { assert.NoError(t, err) @@ -524,23 +524,23 @@ func TestArchitecture_ListImageTypes(t *testing.T) { { arch: "x86_64", imgNames: []string{ - "ami", + "server-ami", "container", - "image-installer", + "minimal-installer", "iot-commit", "iot-container", "iot-installer", - "iot-qcow2-image", - "iot-raw-image", - "live-installer", - "minimal-raw", - "oci", - "openstack", - "ova", - "qcow2", - "vhd", - "vmdk", - "wsl", + "iot-qcow2", + "iot-raw-xz", + "workstation-live-installer", + "minimal-raw-xz", + "server-oci", + "server-openstack", + "server-ova", + "server-qcow2", + "server-vhd", + "server-vmdk", + "server-wsl", }, verTypes: map[string][]string{ "40": { @@ -556,19 +556,19 @@ func TestArchitecture_ListImageTypes(t *testing.T) { { arch: "aarch64", imgNames: []string{ - "ami", + "server-ami", "container", - "image-installer", + "minimal-installer", "iot-commit", "iot-container", "iot-installer", - "iot-qcow2-image", - "iot-raw-image", - "live-installer", - "minimal-raw", - "oci", - "openstack", - "qcow2", + "iot-qcow2", + "iot-raw-xz", + "workstation-live-installer", + "minimal-raw-xz", + "server-oci", + "server-openstack", + "server-qcow2", }, verTypes: map[string][]string{ "40": { @@ -585,7 +585,7 @@ func TestArchitecture_ListImageTypes(t *testing.T) { arch: "ppc64le", imgNames: []string{ "container", - "qcow2", + "server-qcow2", }, verTypes: map[string][]string{ "40": { @@ -600,7 +600,7 @@ func TestArchitecture_ListImageTypes(t *testing.T) { arch: "s390x", imgNames: []string{ "container", - "qcow2", + "server-qcow2", }, verTypes: map[string][]string{ "40": { @@ -727,11 +727,11 @@ func TestDistro_CustomFileSystemManifestError(t *testing.T) { _, _, err := imgType.Manifest(&bp, distro.ImageOptions{}, nil, nil) if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-bootable-container" { assert.EqualError(t, err, "Custom mountpoints and partitioning are not supported for ostree types") - } else if imgTypeName == "iot-raw-image" || imgTypeName == "iot-qcow2-image" { + } else if imgTypeName == "iot-raw-xz" || imgTypeName == "iot-qcow2" { assert.EqualError(t, err, fmt.Sprintf(distro.UnsupportedCustomizationError, imgTypeName, "User, Group, Directories, Files, Services, FIPS")) - } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" || imgTypeName == "image-installer" { + } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" || imgTypeName == "minimal-installer" { continue - } else if imgTypeName == "live-installer" { + } else if imgTypeName == "workstation-live-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.NoCustomizationsAllowedError, imgTypeName)) } else { assert.EqualError(t, err, "The following errors occurred while setting up custom mountpoints:\npath \"/etc\" is not allowed") @@ -761,11 +761,11 @@ func TestDistro_TestRootMountPoint(t *testing.T) { _, _, err := imgType.Manifest(&bp, distro.ImageOptions{}, nil, nil) if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-bootable-container" { assert.EqualError(t, err, "Custom mountpoints and partitioning are not supported for ostree types") - } else if imgTypeName == "iot-raw-image" || imgTypeName == "iot-qcow2-image" { + } else if imgTypeName == "iot-raw-xz" || imgTypeName == "iot-qcow2" { assert.EqualError(t, err, fmt.Sprintf(distro.UnsupportedCustomizationError, imgTypeName, "User, Group, Directories, Files, Services, FIPS")) - } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" || imgTypeName == "image-installer" { + } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" || imgTypeName == "minimal-installer" { continue - } else if imgTypeName == "live-installer" { + } else if imgTypeName == "workstation-live-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.NoCustomizationsAllowedError, imgTypeName)) } else { assert.NoError(t, err) @@ -797,9 +797,9 @@ func TestDistro_CustomFileSystemSubDirectories(t *testing.T) { for _, imgTypeName := range arch.ListImageTypes() { imgType, _ := arch.GetImageType(imgTypeName) _, _, err := imgType.Manifest(&bp, distro.ImageOptions{}, nil, nil) - if strings.HasPrefix(imgTypeName, "iot-") || strings.HasPrefix(imgTypeName, "image-") { + if strings.HasPrefix(imgTypeName, "iot-") || imgTypeName == "minimal-installer" { continue - } else if imgTypeName == "live-installer" { + } else if imgTypeName == "workstation-live-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.NoCustomizationsAllowedError, imgTypeName)) } else { assert.NoError(t, err) @@ -839,9 +839,9 @@ func TestDistro_MountpointsWithArbitraryDepthAllowed(t *testing.T) { for _, imgTypeName := range arch.ListImageTypes() { imgType, _ := arch.GetImageType(imgTypeName) _, _, err := imgType.Manifest(&bp, distro.ImageOptions{}, nil, nil) - if strings.HasPrefix(imgTypeName, "iot-") || strings.HasPrefix(imgTypeName, "image-") { + if strings.HasPrefix(imgTypeName, "iot-") || imgTypeName == "minimal-installer" { continue - } else if imgTypeName == "live-installer" { + } else if imgTypeName == "workstation-live-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.NoCustomizationsAllowedError, imgTypeName)) } else { assert.NoError(t, err) @@ -877,9 +877,9 @@ func TestDistro_DirtyMountpointsNotAllowed(t *testing.T) { for _, imgTypeName := range arch.ListImageTypes() { imgType, _ := arch.GetImageType(imgTypeName) _, _, err := imgType.Manifest(&bp, distro.ImageOptions{}, nil, nil) - if strings.HasPrefix(imgTypeName, "iot-") || strings.HasPrefix(imgTypeName, "image-") { + if strings.HasPrefix(imgTypeName, "iot-") || imgTypeName == "minimal-installer" { continue - } else if imgTypeName == "live-installer" { + } else if imgTypeName == "workstation-live-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.NoCustomizationsAllowedError, imgTypeName)) } else { assert.EqualError(t, err, "The following errors occurred while setting up custom mountpoints:\npath \"//\" must be canonical\npath \"/var//\" must be canonical\npath \"/var//log/audit/\" must be canonical") @@ -909,11 +909,11 @@ func TestDistro_CustomUsrPartitionNotLargeEnough(t *testing.T) { _, _, err := imgType.Manifest(&bp, distro.ImageOptions{}, nil, nil) if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-bootable-container" { assert.EqualError(t, err, "Custom mountpoints and partitioning are not supported for ostree types") - } else if imgTypeName == "iot-raw-image" || imgTypeName == "iot-qcow2-image" { + } else if imgTypeName == "iot-raw-xz" || imgTypeName == "iot-qcow2" { assert.EqualError(t, err, fmt.Sprintf(distro.UnsupportedCustomizationError, imgTypeName, "User, Group, Directories, Files, Services, FIPS")) - } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" || imgTypeName == "image-installer" { + } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" || imgTypeName == "minimal-installer" { continue - } else if imgTypeName == "live-installer" { + } else if imgTypeName == "workstation-live-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.NoCustomizationsAllowedError, imgTypeName)) } else { assert.NoError(t, err) @@ -954,11 +954,11 @@ func TestDistro_PartitioningConflict(t *testing.T) { _, _, err := imgType.Manifest(&bp, distro.ImageOptions{}, nil, nil) if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-bootable-container" { assert.EqualError(t, err, "Custom mountpoints and partitioning are not supported for ostree types") - } else if imgTypeName == "iot-raw-image" || imgTypeName == "iot-qcow2-image" { + } else if imgTypeName == "iot-raw-xz" || imgTypeName == "iot-qcow2" { assert.EqualError(t, err, fmt.Sprintf(distro.UnsupportedCustomizationError, imgTypeName, "User, Group, Directories, Files, Services, FIPS")) - } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" || imgTypeName == "image-installer" { + } else if imgTypeName == "iot-installer" || imgTypeName == "iot-simplified-installer" || imgTypeName == "minimal-installer" { continue - } else if imgTypeName == "live-installer" { + } else if imgTypeName == "workstation-live-installer" { assert.EqualError(t, err, fmt.Sprintf(distro.NoCustomizationsAllowedError, imgTypeName)) } else { assert.EqualError(t, err, "partitioning customizations cannot be used with custom filesystems (mountpoints)") @@ -1042,7 +1042,7 @@ func TestDistro_DiskCustomizationRunsValidateLayoutConstraints(t *testing.T) { for _, archName := range fedoraDistro.ListArches() { arch, err := fedoraDistro.GetArch(archName) assert.NoError(t, err) - imgType, err := arch.GetImageType("qcow2") + imgType, err := arch.GetImageType("server-qcow2") assert.NoError(t, err, archName) t.Run(fmt.Sprintf("%s/%s", archName, imgType.Name()), func(t *testing.T) { imgType, _ := arch.GetImageType(imgType.Name()) diff --git a/pkg/distro/fedora/imagetype.go b/pkg/distro/fedora/imagetype.go index 16130a7483..16a122227c 100644 --- a/pkg/distro/fedora/imagetype.go +++ b/pkg/distro/fedora/imagetype.go @@ -315,7 +315,7 @@ func (t *imageType) checkOptions(bp *blueprint.Blueprint, options distro.ImageOp } } - if t.name == "iot-raw-image" || t.name == "iot-qcow2-image" { + if t.name == "iot-raw-xz" || t.name == "iot-qcow2" { allowed := []string{"User", "Group", "Directories", "Files", "Services", "FIPS"} if err := customizations.CheckAllowed(allowed...); err != nil { return warnings, fmt.Errorf(distro.UnsupportedCustomizationError, t.name, strings.Join(allowed, ", ")) @@ -364,13 +364,13 @@ func (t *imageType) checkOptions(bp *blueprint.Blueprint, options distro.ImageOp return warnings, fmt.Errorf("ignition.firstboot requires a provisioning url") } } - } else if t.name == "iot-installer" || t.name == "image-installer" { + } else if t.name == "iot-installer" || t.name == "minimal-installer" { // "Installer" is actually not allowed for image-installer right now, but this is checked at the end allowed := []string{"User", "Group", "FIPS", "Installer", "Timezone", "Locale"} if err := customizations.CheckAllowed(allowed...); err != nil { return warnings, fmt.Errorf(distro.UnsupportedCustomizationError, t.name, strings.Join(allowed, ", ")) } - } else if t.name == "live-installer" { + } else if t.name == "workstation-live-installer" { allowed := []string{"Installer"} if err := customizations.CheckAllowed(allowed...); err != nil { return warnings, fmt.Errorf(distro.NoCustomizationsAllowedError, t.name) diff --git a/pkg/distro/packagesets/fedora/package_sets.yaml b/pkg/distro/packagesets/fedora/package_sets.yaml index f3b7318915..212558c112 100644 --- a/pkg/distro/packagesets/fedora/package_sets.yaml +++ b/pkg/distro/packagesets/fedora/package_sets.yaml @@ -11,7 +11,7 @@ cloud_base: # not used directly; added for reference - "geolite2-country" - "plymouth" -qcow2: &qcow2 +server_qcow2: &server_qcow2 include: # cloud_base - "@Fedora Cloud Server" @@ -28,16 +28,16 @@ qcow2: &qcow2 - "geolite2-country" - "plymouth" -ami: - <<: *qcow2 +server_ami: + <<: *server_qcow2 -oci: - <<: *qcow2 +server_oci: + <<: *server_qcow2 -openstack: - <<: *qcow2 +server_openstack: + <<: *server_qcow2 -vhd: +server_vhd: include: # cloud_base - "@Fedora Cloud Server" @@ -54,7 +54,7 @@ vhd: - "geolite2-country" - "plymouth" -vmdk: &vmdk +server_vmdk: &server_vmdk include: - "@Fedora Cloud Server" - "chrony" @@ -73,8 +73,8 @@ vmdk: &vmdk - "grubby-deprecated" - "extlinux-bootloader" -ova: - <<: *vmdk +server_ova: + <<: *server_vmdk # NOTE: keep in sync with official fedora-iot definitions: # https://pagure.io/fedora-iot/ostree/blob/main/f/fedora-iot-base.yaml @@ -600,7 +600,7 @@ iot_installer: - "dmidecode" -live_installer: +workstation_live_installer: include: - "@workstation-product-environment" - "@anaconda-tools" @@ -632,7 +632,7 @@ live_installer: - "anaconda-webui" -image_installer: +minimal_installer: # anaconda include: - "aajohan-comfortaa-fonts" @@ -816,10 +816,10 @@ container: &container - "whois-nls" - "xkeyboard-config" -wsl: +server_wsl: <<: *container -minimal_raw: +minimal: &minimal include: - "@core" - "initial-setup" @@ -829,6 +829,8 @@ minimal_raw: - "realtek-firmware" - "iwlwifi-mvm-firmware" +minimal_raw_xz: + <<: *minimal iot_simplified_installer: include: