Add OVA script support

1. Ensure that system_template and script are not nullable in the DB.
2. Ensure that the CLI and API enforce the above and clean up CLI
arguments for profile add.
3. Ensure that, before uploading OVAs, a 'default_ova' provisioning
script is present.
4. Use the 'default_ova' script for new OVA uploads.
5. Ensure that OVA details are properly added to the vm_data dict in the
provisioner vmbuilder.
This commit is contained in:
2022-10-06 10:27:08 -04:00
parent bffab7a5a1
commit 7a3870fc44
7 changed files with 104 additions and 21 deletions

View File

@ -5265,7 +5265,8 @@ def provisioner_profile_list(limit):
"-s",
"--system-template",
"system_template",
help="The system template for the profile.",
required=True,
help="The system template for the profile (required).",
)
@click.option(
"-n",
@ -5280,10 +5281,24 @@ def provisioner_profile_list(limit):
help="The storage template for the profile.",
)
@click.option(
"-u", "--userdata", "userdata", help="The userdata document for the profile."
"-u",
"--userdata",
"userdata",
help="The userdata document for the profile.",
)
@click.option(
"-x",
"--script",
"script",
required=True,
help="The script for the profile (required).",
)
@click.option(
"-o",
"--ova",
"ova",
help="The OVA image for the profile; set automatically with 'provisioner ova upload'.",
)
@click.option("-x", "--script", "script", help="The script for the profile.")
@click.option("-o", "--ova", "ova", help="The OVA image for the profile.")
@click.option(
"-a",
"--script-arg",