From f88c9d1d061b5a1d7128bf526d8773a58546ff01 Mon Sep 17 00:00:00 2001 From: ssamson-tis Date: Fri, 30 Oct 2015 15:19:47 +0100 Subject: [PATCH] - fix use_compression --- libtisbackup/backup_xva.py | 50 ++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/libtisbackup/backup_xva.py b/libtisbackup/backup_xva.py index b4499dc..94c273b 100755 --- a/libtisbackup/backup_xva.py +++ b/libtisbackup/backup_xva.py @@ -18,25 +18,21 @@ # # ----------------------------------------------------------------------- from __future__ import with_statement -import os -import datetime -from common import * -import XenAPI -import time import logging import re -import os.path import os import datetime -import select import urllib import socket import tarfile import hashlib from stat import * -import ssl +import ssl -if hasattr(ssl, '_create_unverified_context'): +from common import * +import XenAPI + +if hasattr(ssl, '_create_unverified_context'): ssl._create_default_https_context = ssl._create_unverified_context @@ -53,14 +49,14 @@ class backup_xva(backup_generic): reuse_snapshot = "no" ignore_proxies = "yes" use_compression = "true" - - if str2bool(ignore_proxies) == True: + + if str2bool(ignore_proxies): os.environ['http_proxy']="" os.environ['https_proxy']="" def verify_export_xva(self,filename): self.logger.debug("[%s] Verify xva export integrity",self.server_name) - tar = tarfile.open(filename) + tar = tarfile.open(filename) members = tar.getmembers() for tarinfo in members: if re.search('^[0-9]*$',os.path.basename(tarinfo.name)): @@ -84,8 +80,8 @@ class backup_xva(backup_generic): session = XenAPI.Session('https://'+xcphost) session.login_with_password(user_xen,password_xen) - if not session.xenapi.VM.get_by_name_label(vdi_name): - return "bad VM name: %s" % vdi_name + if not session.xenapi.VM.get_by_name_label(vdi_name): + return "bad VM name: %s" % vdi_name vm = session.xenapi.VM.get_by_name_label(vdi_name)[0] status_vm = session.xenapi.VM.get_power_state(vm) @@ -99,7 +95,7 @@ class backup_xva(backup_generic): #add snapshot option - if str2bool(halt_vm) == False: + if not str2bool(halt_vm): self.logger.debug("[%s] Check if previous tisbackups snapshots exist",vdi_name) old_snapshots = session.xenapi.VM.get_by_name_label("tisbackup-%s"%(vdi_name)) self.logger.debug("[%s] Old snaps count %s", vdi_name, len(old_snapshots)) @@ -134,26 +130,26 @@ class backup_xva(backup_generic): #get snapshot opaqueRef vm = session.xenapi.VM.get_by_name_label("tisbackup-%s"%(vdi_name))[0] session.xenapi.VM.set_name_description(snapshot,"snapshot created by tisbackup on: %s"%(now.strftime("%Y-%m-%d %H:%M"))) - else: + else: self.logger.debug("[%s] Status of VM: %s",self.backup_name,status_vm) if status_vm == "Running": self.logger.debug("[%s] Shudown in progress",self.backup_name) if dry_run: - print "session.xenapi.VM.clean_shutdown(vm)" + print "session.xenapi.VM.clean_shutdown(vm)" else: session.xenapi.VM.clean_shutdown(vm) try: try: filename_temp = filename+".tmp" self.logger.debug("[%s] Copy in progress",self.backup_name) - if not str2bool(use_compression): + if not str2bool(self.use_compression): socket.setdefaulttimeout(120) scheme = "http://" - if str2bool(enable_https) == True: + if str2bool(enable_https): scheme = "https://" url = scheme+user_xen+":"+password_xen+"@"+self.xcphost+"/export?use_compression="+self.use_compression+"&uuid="+session.xenapi.VM.get_uuid(vm) - + urllib.urlretrieve(url, filename_temp) urllib.urlcleanup() @@ -164,7 +160,7 @@ class backup_xva(backup_generic): raise finally: - if str2bool(halt_vm) == False: + if not str2bool(halt_vm): self.logger.debug("[%s] Destroy snapshot",'tisbackup-%s'%(vdi_name)) try: for vbd in session.xenapi.VM.get_VBDs(snapshot): @@ -173,10 +169,10 @@ class backup_xva(backup_generic): else: vdi = session.xenapi.VBD.get_VDI(vbd) if not 'NULL' in vdi: - session.xenapi.VDI.destroy(vdi) - session.xenapi.VM.destroy(snapshot) + session.xenapi.VDI.destroy(vdi) + session.xenapi.VM.destroy(snapshot) except XenAPI.Failure, error: - return("error when destroy snapshot %s"%(error)) + return("error when destroy snapshot %s"%(error)) elif status_vm == "Running": self.logger.debug("[%s] Starting in progress",self.backup_name) @@ -190,7 +186,7 @@ class backup_xva(backup_generic): if os.path.exists(filename_temp): tar = tarfile.open(filename_temp) if not tar.getnames(): - unlink(filename_temp) + os.unlink(filename_temp) return("Tar error") tar.close() if str2bool(self.verify_export): @@ -206,7 +202,7 @@ class backup_xva(backup_generic): try: dest_filename = os.path.join(self.backup_dir,"%s-%s.%s" % (self.backup_name,self.backup_start_date,'xva')) - options = [] + options = [] options_params = " ".join(options) cmd = self.export_xva( vdi_name= self.server_name,filename= dest_filename, halt_vm= self.halt_vm, enable_https=self.enable_https, dry_run= self.dry_run, reuse_snapshot=self.reuse_snapshot) if os.path.exists(dest_filename): @@ -220,7 +216,7 @@ class backup_xva(backup_generic): stats['backup_location'] = dest_filename if cmd == 0: stats['log']='XVA backup from %s OK, %d bytes written' % (self.server_name,stats['written_bytes']) - stats['status']='OK' + stats['status']='OK' else: raise Exception(cmd)