Added a --replace option to virt-image which allows it to replace an existing machine if it is current running or defined
David Lutterkort wrote:
On Thu, 2008-06-26 at 12:47 -0400, Bryan M. Kearney @redhat.com wrote:
# HG changeset patch
# User "Bryan M. Kearney <bkearney@redhat.com>"
# Date 1214497967 14400
# Node ID efba908eb79ad0bf2805c27f784de92578207f1b
# Parent 63aca2dbb3154a65505b1ccef080a8887742cef5
Added a --replace option to virt-image which allows it to replace an existing machine if it is current running or defined
Couldn't the same be achieved with a small shell script wrapper around
the virt-image invocation, something like
It seems that this patch addresses a very specific use case (repeatedly
starting a VM based on the same image.xml)
Other than that it might be redundant though, the patch looks fine.
For me, if I have a shutoff machine then 'virsh list' does not return
anything, but virt-manager shows me the shutoff machine. In addition,
virt-image will fail on an install because of the shutoff machine.
I believe your script would work if the machine was running, and if I
knew the name of the machine inside the image_xml.
So. this patch will destroy a running one, or replace a defined one with
the same name.
-- bk
_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@redhat.com
https://www.redhat.com/mailman/listinfo/et-mgmt-tools
06-27-2008, 11:40 AM
Bryan Kearney
Added a --replace option to virt-image which allows it to replace an existing machine if it is current running or defined
Daniel P. Berrange wrote:
On Thu, Jun 26, 2008 at 12:47:27PM -0400, "Bryan M. Kearney <bkearney@redhat.com>"@redhat.com wrote:
+ if vm.ID() == -1:
+ logging.info("Removing old definition for image %s" %(self.name))
+ vm.undefine()
+ else:
+ logging.info("Destroying image %s" %(self.name))
+ vm.destroy()
You don't want this to be an either / or conditional. If the VM exists
you should *always* attempt to undefine it - a running VM may or may
not have a config file
So you want something closer to
if vm.ID() != -1:
vm.destroy()
try:
vm.undefine()
except:
pass
Daniel
I thought destroy did an undefine. I have made the change, will resend
the patch.
-- bk
_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@redhat.com
https://www.redhat.com/mailman/listinfo/et-mgmt-tools