rhel8: add ova image type

This commit is contained in:
Sanne Raymaekers 2023-04-03 15:15:15 +02:00
parent 39f1e74d73
commit a7c02245ee
3 changed files with 43 additions and 1 deletions

View file

@ -302,6 +302,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(),
)
x86_64.addImageTypes(
&platform.X86{},
tarImgType(),

View file

@ -119,6 +119,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"},
@ -301,6 +309,7 @@ func TestImageType_Name(t *testing.T) {
"azure-sap-rhui",
"azure-eap7-rhui",
"vmdk",
"ova",
"ami",
"ec2",
"ec2-ha",
@ -496,6 +505,7 @@ func TestArchitecture_ListImageTypes(t *testing.T) {
"azure-sap-rhui",
"azure-eap7-rhui",
"vmdk",
"ova",
"ami",
"ec2",
"ec2-ha",

View file

@ -5,6 +5,8 @@ import (
"github.com/osbuild/osbuild-composer/internal/rpmmd"
)
const vmdkKernelOptions = "ro net.ifnames=0"
func vmdkImgType() imageType {
return imageType{
name: "vmdk",
@ -13,7 +15,7 @@ func vmdkImgType() imageType {
packageSets: map[string]packageSetFunc{
osPkgsKey: vmdkCommonPackageSet,
},
kernelOptions: "ro net.ifnames=0",
kernelOptions: vmdkKernelOptions,
bootable: true,
defaultSize: 4 * common.GibiByte,
image: liveImage,
@ -24,6 +26,25 @@ func vmdkImgType() imageType {
}
}
func ovaImgType() imageType {
return imageType{
name: "ova",
filename: "image.ova",
mimeType: "application/ovf",
packageSets: map[string]packageSetFunc{
osPkgsKey: vmdkCommonPackageSet,
},
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 {
return rpmmd.PackageSet{
Include: []string{