[Ovirt-devel] [PATCH appliance] Allows create-ovirt-appliance to overwrite an existing appliance.
Perry Myers
pmyers at redhat.com
Mon Dec 1 21:49:00 UTC 2008
Darryl L. Pierce wrote:
> Adds the argument "-u" which tells the script to undefine an existing
> appliance with the same name as the appliance to be created.
This will create problems... If you run create-ovirt-appliance with -u it
will re-create the appliance but if you have not updated the disk image
your network on the appliance will be possibly messed up.
Hence the reason why I say in the following check:
> # If the appliance is already defined, abort since rewriting the appliance
> # will change network settings that break the appliance.
So the proper way to re-create the appliance image is to first run
get-ovirt-appliance which copies a pristine disk image into the images
directory, followed by create-ovirt-appliance.
get-ovirt-appliance undefines the old appliance, making the -u option
unnecessary for create-ovirt-appliance
Perry
> Signed-off-by: Darryl L. Pierce <dpierce at redhat.com>
> ---
> create-ovirt-appliance | 11 ++++++++++-
> 1 files changed, 10 insertions(+), 1 deletions(-)
>
> diff --git a/create-ovirt-appliance b/create-ovirt-appliance
> index 1a1529f..938c766 100755
> --- a/create-ovirt-appliance
> +++ b/create-ovirt-appliance
> @@ -27,18 +27,20 @@ Usage: $ME [-d image_dir] [-n name] [-c] [-f raw|qcow2]
> -n: appliance name (default: $NAME_DEFAULT)
> -c: open console when appliance is started
> -f: disk image format for appliance (default: $DISK_FMT_DEFAULT)
> + -u: undefine any existing appliance with same name
> -h: display this help and exit
> EOF
> }
>
> err=0 help=0
> console=0
> -while getopts :d:n:cf:h c; do
> +while getopts :d:n:cf:uh c; do
> case $c in
> d) imgdir=$OPTARG;;
> n) name=$OPTARG;;
> c) console=1;;
> f) DISK_FMT=$OPTARG;;
> + u) undefine_vm=1;;
> h) help=1;;
> '?') err=1; warn "invalid option: \`-$OPTARG'";;
> :) err=1; warn "missing argument to \`-$OPTARG' option";;
> @@ -50,6 +52,13 @@ test $help = 1 && { usage; exit 0; }
>
> do_checks
>
> +if [ -n "$undefine_vm" ]; then
> + # destroy the existing virtual machine that has the same name as the
> + # appliance to be created
> + echo "Undefine existing application named $name..."
> + virsh undefine $name > /dev/null 2>&1&
> +fi
> +
> if virsh dumpxml $name > /dev/null 2>&1 ; then
> # If the appliance is already defined, abort since rewriting the appliance
> # will change network settings that break the appliance.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston -=|
|=- Email: pmyers at redhat.com -=|
|=- Office: +1 412 474 3552 Mobile: +1 703 362 9622 -=|
|=- GnuPG: E65E4F3D 88F9 F1C9 C2F3 1303 01FE 817C C5D2 8B91 E65E 4F3D -=|
More information about the ovirt-devel
mailing list