On 05/24/2012 03:47 PM, tangchen wrote:
> Signed-off-by: Tang Chen<[email protected]>
> ---
> client/virt/libvirt_vm.py | 30 ++++++++++++++++++++++++++++++
> 1 files changed, 30 insertions(+), 0 deletions(-)
>
> diff --git a/client/virt/libvirt_vm.py b/client/virt/libvirt_vm.py
> index ce594af..4a1409c 100644
> --- a/client/virt/libvirt_vm.py
> +++ b/client/virt/libvirt_vm.py
> @@ -188,6 +188,27 @@ def virsh_dumpxml(name, uri = ""):
> return virsh_cmd("dumpxml %s" % name, uri)
>
>
> +def dumpxml_to_local_file(name, file_path, uri=""):
> + """
> + Dump the guest's xml to a file on localhost.
> + @param name: VM name
> + @param file_path: The full path to new xml file.
> + If the file exists, it will be cleaned.
> + """
> + try:
> + f = open(file_path, 'w')
> + xml = virsh_dumpxml(name, uri)
> + f.write(xml)
> + f.close()
> + return True
> + except error.CmdError, detail:
> + logging.error("Failed to dump xmlfile of %s to %s.\n%s",
> + (name, file_path, detail))
> + if not f.closed:
> + f.close()
> + return False
> +
> +
> def virsh_is_alive(name, uri = ""):
> """
> Return True if the domain is started/alive.
> @@ -689,6 +710,15 @@ class VM(virt_vm.BaseVM):
> return virsh_dumpxml(self.name, self.connect_uri)
>
>
> + def backup_xml(self, file_path):
We should reuse virsh_dumpxml() then give a optional 'to_file'
parameter, for example,
def virsh_dumpxml(name, to_file="", uri="")
if to_file:
cmd = "dumpxml %s > %s" % (name, to_file)
else:
cmd = "dumpxml %s" % name
return virsh_cmd(cmd, uri)
> + """
> + Backup the guest's xmlfile.
> +
> + @param file_path: Full path to the backup file.
> + """
> + return dumpxml_to_local_file(self.name, file_path, self.connect_uri)
> +
> +
> def clone(self, name=None, params=None, root_dir=None,
> address_cache=None,
> copy_state=False):
> """
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest