Stages: support vmdk subformat in the qemu stage
Support specifying the subformat for the `vmdk` image type in the `org.osbuild.qemu` stage.
This commit is contained in:
parent
b4593f0f2b
commit
bbe6127ddb
4 changed files with 77 additions and 1 deletions
|
|
@ -61,6 +61,11 @@ SCHEMA_2 = r"""
|
|||
"description": "The type of the format, here 'vmdk'",
|
||||
"type": "string",
|
||||
"enum": ["vmdk"]
|
||||
},
|
||||
"subformat": {
|
||||
"description": "VMDK flat extent format",
|
||||
"type": "string",
|
||||
"enum": ["monolithicSparse", "monolithicFlat", "twoGbMaxExtentSparse", "twoGbMaxExtentFlat", "streamOptimized"]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -133,6 +138,14 @@ def qcow2_arguments(options):
|
|||
return argv
|
||||
|
||||
|
||||
def vmdk_arguments(options):
|
||||
argv = ["-c"]
|
||||
subformat = options.get("subformat")
|
||||
if subformat:
|
||||
argv += ["-o", f"subformat={subformat}"]
|
||||
return argv
|
||||
|
||||
|
||||
def parse_input(inputs):
|
||||
image = inputs["image"]
|
||||
files = image["data"]["files"]
|
||||
|
|
@ -153,7 +166,7 @@ def main(inputs, output, options):
|
|||
formats = {
|
||||
"qcow2": qcow2_arguments,
|
||||
"vdi": [],
|
||||
"vmdk": ["-c"],
|
||||
"vmdk": vmdk_arguments,
|
||||
"vpc": ["-o", "subformat=fixed,force_size"],
|
||||
"vhdx": []
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,15 @@
|
|||
"image.vmdk": {
|
||||
"format": "vmdk"
|
||||
},
|
||||
"image-stream.vmdk": {
|
||||
"format": "vmdk",
|
||||
"format-specific": {
|
||||
"type": "vmdk",
|
||||
"data": {
|
||||
"create-type": "streamOptimized"
|
||||
}
|
||||
}
|
||||
},
|
||||
"image.vpc": {
|
||||
"format": "raw"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -468,6 +468,33 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "image-stream.vmdk",
|
||||
"build": "name:build",
|
||||
"stages": [
|
||||
{
|
||||
"type": "org.osbuild.qemu",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"type": "org.osbuild.files",
|
||||
"origin": "org.osbuild.pipeline",
|
||||
"references": {
|
||||
"name:image": {
|
||||
"file": "image.raw"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"filename": "image-stream.vmdk",
|
||||
"format": {
|
||||
"type": "vmdk",
|
||||
"subformat": "streamOptimized"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "image.vpc",
|
||||
"build": "name:build",
|
||||
|
|
|
|||
|
|
@ -126,6 +126,33 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "image-stream.vmdk",
|
||||
"build": "name:build",
|
||||
"stages": [
|
||||
{
|
||||
"type": "org.osbuild.qemu",
|
||||
"inputs": {
|
||||
"image": {
|
||||
"type": "org.osbuild.files",
|
||||
"origin": "org.osbuild.pipeline",
|
||||
"references": {
|
||||
"name:image": {
|
||||
"file": "image.raw"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"filename": "image-stream.vmdk",
|
||||
"format": {
|
||||
"type": "vmdk",
|
||||
"subformat": "streamOptimized"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "image.vpc",
|
||||
"build": "name:build",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue