rhel9: add ova image type

This commit is contained in:
Sanne Raymaekers 2023-03-30 11:44:48 +02:00
parent 1687937c51
commit 39f1e74d73
3 changed files with 44 additions and 1 deletions

View file

@ -259,6 +259,17 @@ func newDistro(name string, minor int) *distribution {
vmdkImgType,
)
x86_64.addImageTypes(
&platform.X86{
BIOS: true,
UEFIVendor: rd.vendor,
BasePlatform: platform.BasePlatform{
ImageFormat: platform.FORMAT_OVA,
},
},
ovaImgType,
)
ec2X86Platform := &platform.X86{
BIOS: true,
UEFIVendor: rd.vendor,

View file

@ -112,6 +112,14 @@ func TestFilenameFromType(t *testing.T) {
mimeType: "application/x-vmdk",
},
},
{
name: "ova",
args: args{"ova"},
want: wantResult{
filename: "image.ova",
mimeType: "application/ovf",
},
},
{
name: "tar",
args: args{"tar"},
@ -284,6 +292,7 @@ func TestImageType_Name(t *testing.T) {
"vhd",
"azure-rhui",
"vmdk",
"ova",
"ami",
"ec2",
"ec2-ha",
@ -475,6 +484,7 @@ func TestArchitecture_ListImageTypes(t *testing.T) {
"vhd",
"azure-rhui",
"vmdk",
"ova",
"ami",
"ec2",
"ec2-ha",

View file

@ -6,6 +6,8 @@ import (
"github.com/osbuild/osbuild-composer/internal/rpmmd"
)
const vmdkKernelOptions = "ro net.ifnames=0"
var vmdkImgType = imageType{
name: "vmdk",
filename: "disk.vmdk",
@ -16,7 +18,7 @@ var vmdkImgType = imageType{
defaultImageConfig: &distro.ImageConfig{
Locale: common.ToPtr("en_US.UTF-8"),
},
kernelOptions: "ro net.ifnames=0",
kernelOptions: vmdkKernelOptions,
bootable: true,
defaultSize: 4 * common.GibiByte,
image: liveImage,
@ -26,6 +28,26 @@ var vmdkImgType = imageType{
basePartitionTables: defaultBasePartitionTables,
}
var ovaImgType = imageType{
name: "ova",
filename: "image.ova",
mimeType: "application/ovf",
packageSets: map[string]packageSetFunc{
osPkgsKey: vmdkCommonPackageSet,
},
defaultImageConfig: &distro.ImageConfig{
Locale: common.ToPtr("en_US.UTF-8"),
},
kernelOptions: vmdkKernelOptions,
bootable: true,
defaultSize: 4 * common.GibiByte,
image: liveImage,
buildPipelines: []string{"build"},
payloadPipelines: []string{"os", "image", "vmdk", "ovf", "archive"},
exports: []string{"archive"},
basePartitionTables: defaultBasePartitionTables,
}
func vmdkCommonPackageSet(t *imageType) rpmmd.PackageSet {
ps := rpmmd.PackageSet{
Include: []string{