virsh: add --keep-nvram option to undefine command

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
This commit is contained in:
Nikolay Shirokovskiy 2016-05-27 11:05:16 +03:00 committed by Michal Privoznik
parent 048e5c64f7
commit 34a6e84748
2 changed files with 11 additions and 3 deletions

View File

@ -3605,6 +3605,10 @@ static const vshCmdOptDef opts_undefine[] = {
.type = VSH_OT_BOOL,
.help = N_("remove nvram file, if inactive")
},
{.name = "keep-nvram",
.type = VSH_OT_BOOL,
.help = N_("keep nvram file, if inactive")
},
{.name = NULL}
};
@ -3630,6 +3634,7 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd)
bool remove_all_storage = vshCommandOptBool(cmd, "remove-all-storage");
bool delete_snapshots = vshCommandOptBool(cmd, "delete-snapshots");
bool nvram = vshCommandOptBool(cmd, "nvram");
bool keep_nvram = vshCommandOptBool(cmd, "keep-nvram");
/* Positive if these items exist. */
int has_managed_save = 0;
int has_snapshots_metadata = 0;
@ -3658,6 +3663,7 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd)
virshControlPtr priv = ctl->privData;
VSH_REQUIRE_OPTION("delete-snapshots", "remove-all-storage");
VSH_EXCLUSIVE_OPTIONS("nvram", "keep-nvram");
ignore_value(vshCommandOptStringQuiet(ctl, cmd, "storage", &vol_string));
@ -3681,6 +3687,8 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd)
}
if (nvram)
flags |= VIR_DOMAIN_UNDEFINE_NVRAM;
if (keep_nvram)
flags |= VIR_DOMAIN_UNDEFINE_KEEP_NVRAM;
if (!(dom = virshCommandOptDomain(ctl, cmd, &name)))
return false;

View File

@ -2443,7 +2443,7 @@ Output the device used for the TTY console of the domain. If the information
is not available the processes will provide an exit code of 1.
=item B<undefine> I<domain> [I<--managed-save>] [I<--snapshots-metadata>]
[I<--nvram>]
[I<--nvram>] [I<--keep-nvram>]
[ {I<--storage> B<volumes> | I<--remove-all-storage> [I<--delete-snapshots>]}
I<--wipe-storage>]
@ -2461,8 +2461,8 @@ domain. Without the flag, attempts to undefine an inactive domain with
snapshot metadata will fail. If the domain is active, this flag is
ignored.
The I<--nvram> flag ensures no nvram (/domain/os/nvram/) file is
left behind. If the domain has an nvram file and the flag is
I<--nvram> and I<--keep-nvram> specify accordingly to delete or keep nvram
(/domain/os/nvram/) file. If the domain has an nvram file and the flags are
omitted, the undefine will fail.
The I<--storage> flag takes a parameter B<volumes>, which is a comma separated