fedora: add ova image type

This commit is contained in:
Sanne Raymaekers 2023-04-03 15:33:47 +02:00
parent a7c02245ee
commit e91dcae110
2 changed files with 49 additions and 9 deletions

View file

@ -231,6 +231,16 @@ var (
environment: &environment.Azure{}, environment: &environment.Azure{},
} }
vmdkDefaultImageConfig = &distro.ImageConfig{
Locale: common.ToPtr("en_US.UTF-8"),
EnabledServices: []string{
"cloud-init.service",
"cloud-config.service",
"cloud-final.service",
"cloud-init-local.service",
},
}
vmdkImgType = imageType{ vmdkImgType = imageType{
name: "vmdk", name: "vmdk",
filename: "disk.vmdk", filename: "disk.vmdk",
@ -238,15 +248,7 @@ var (
packageSets: map[string]packageSetFunc{ packageSets: map[string]packageSetFunc{
osPkgsKey: vmdkCommonPackageSet, osPkgsKey: vmdkCommonPackageSet,
}, },
defaultImageConfig: &distro.ImageConfig{ defaultImageConfig: vmdkDefaultImageConfig,
Locale: common.ToPtr("en_US.UTF-8"),
EnabledServices: []string{
"cloud-init.service",
"cloud-config.service",
"cloud-final.service",
"cloud-init-local.service",
},
},
kernelOptions: defaultKernelOptions, kernelOptions: defaultKernelOptions,
bootable: true, bootable: true,
defaultSize: 2 * common.GibiByte, defaultSize: 2 * common.GibiByte,
@ -257,6 +259,24 @@ var (
basePartitionTables: defaultBasePartitionTables, basePartitionTables: defaultBasePartitionTables,
} }
ovaImgType = imageType{
name: "ova",
filename: "image.ova",
mimeType: "application/ovf",
packageSets: map[string]packageSetFunc{
osPkgsKey: vmdkCommonPackageSet,
},
defaultImageConfig: vmdkDefaultImageConfig,
kernelOptions: defaultKernelOptions,
bootable: true,
defaultSize: 2 * common.GibiByte,
image: liveImage,
buildPipelines: []string{"build"},
payloadPipelines: []string{"os", "image", "vmdk", "ovf", "archive"},
exports: []string{"archive"},
basePartitionTables: defaultBasePartitionTables,
}
openstackImgType = imageType{ openstackImgType = imageType{
name: "openstack", name: "openstack",
filename: "disk.qcow2", filename: "disk.qcow2",
@ -946,6 +966,16 @@ func newDistro(version int) distro.Distro {
}, },
vmdkImgType, vmdkImgType,
) )
x86_64.addImageTypes(
&platform.X86{
BIOS: true,
UEFIVendor: "fedora",
BasePlatform: platform.BasePlatform{
ImageFormat: platform.FORMAT_OVA,
},
},
ovaImgType,
)
x86_64.addImageTypes( x86_64.addImageTypes(
&platform.X86{ &platform.X86{
BIOS: true, BIOS: true,

View file

@ -92,6 +92,14 @@ func TestFilenameFromType(t *testing.T) {
mimeType: "application/x-vmdk", mimeType: "application/x-vmdk",
}, },
}, },
{
name: "ova",
args: args{"ova"},
want: wantResult{
filename: "image.ova",
mimeType: "application/ovf",
},
},
{ {
name: "container", name: "container",
args: args{"container"}, args: args{"container"},
@ -268,6 +276,7 @@ func TestImageType_Name(t *testing.T) {
"openstack", "openstack",
"vhd", "vhd",
"vmdk", "vmdk",
"ova",
"ami", "ami",
"iot-commit", "iot-commit",
"iot-container", "iot-container",
@ -446,6 +455,7 @@ func TestArchitecture_ListImageTypes(t *testing.T) {
"openstack", "openstack",
"vhd", "vhd",
"vmdk", "vmdk",
"ova",
"ami", "ami",
"iot-commit", "iot-commit",
"iot-container", "iot-container",