def blockdev_backup(self): assert len( self.target_disks) >= len( self.source_disks), "No enough target disks define in cfg!" source_lst = list(map(lambda x: "drive_%s" % x, self.source_disks)) target_lst = list(map(lambda x: "drive_%s" % x, self.target_disks)) bitmap_lst = list(map(lambda x: "bitmap_%s" % x, range(len(self.source_disks)))) try: if len(source_lst) > 1: error_context.context( "backup %s to %s, options: %s" % (source_lst, target_lst, self.backup_options)) backup_utils.blockdev_batch_backup( self.main_vm, source_lst, target_lst, bitmap_lst, **self.backup_options) else: error_context.context( "backup %s to %s, options: %s" % (source_lst[0], target_lst[0], self.backup_options)) backup_utils.blockdev_backup( self.main_vm, source_lst[0], target_lst[0], **self.backup_options) finally: memory.drop_caches()
def do_incremental_backup(self): extra_options = {'sync': self.sync_mode, 'auto_disable_bitmap': False} if self.sync_mode != "top": extra_options["bitmap-mode"] = self.bitmap_mode backup_utils.blockdev_batch_backup(self.main_vm, self.source_images, self.inc_backups, self.bitmaps, **extra_options)
def do_full_backup(self): extra_options = {"sync": "full", "auto_disable_bitmap": False} backup_utils.blockdev_batch_backup( self.main_vm, self.source_images, self.full_backups, self.bitmaps, **extra_options)
def _do_backup(self, backup_nodes, bitmaps): extra_options = {"sync": "none", "wait_job_complete": False} backup_utils.blockdev_batch_backup(self.main_vm, self.source_images, backup_nodes, bitmaps, **extra_options) self.backup_jobs = [ job['id'] for job in job_utils.query_jobs(self.main_vm) ]
def do_incremental_backup(self): extra_options = { "sync": self.inc_sync_mode, "bitmap-mode": self.inc_bitmap_mode, "auto_disable_bitmap": False } backup_utils.blockdev_batch_backup(self.main_vm, self.source_images, self.inc_backups, self.bitmaps, **extra_options)
def do_full_backup(self): extra_options = {"sync": "full", "auto_disable_bitmap": False} if self.params.get('auto_dismiss') == 'no': extra_options['auto_dismiss'] = False extra_options['auto_finalize'] = False granularity = self.get_granularity() if granularity is not None: extra_options['granularity'] = granularity logging.info("bitmap granularity is '%s' " % granularity) backup_utils.blockdev_batch_backup(self.main_vm, self.source_images, self.full_backups, self.bitmaps, **extra_options)
def do_incremental_backup(self): extra_options = { "sync": "none", "disabled_bitmaps": self.disabled_bitmaps, "wait_job_complete": False } backup_utils.blockdev_batch_backup(self.main_vm, self.source_images, self.inc_backups, self.inc_backup_bitmaps, **extra_options) self.backup_jobs = [ job['id'] for job in job_utils.query_jobs(self.main_vm) ]
def do_increamental_backup(self): extra_options = {'sync': 'incremental', 'auto_disable_bitmap': False} if self.params.get("completion_mode") == 'grouped': extra_options['completion_mode'] = 'grouped' if self.params.get('negative_test') == 'yes': try: backup_utils.blockdev_batch_backup(self.main_vm, self.source_images, self.inc_backups, self.bitmaps, **extra_options) except AssertionError: return self.test.fail('expect incremental backup job(s) failed') else: backup_utils.blockdev_batch_backup(self.main_vm, self.source_images, self.inc_backups, self.bitmaps, **extra_options)
def do_increamental_backup(self): extra_options = {'sync': 'incremental', 'auto_disable_bitmap': False} if self.params.get("completion_mode") == 'grouped': extra_options['completion_mode'] = 'grouped' if self.params.get('negative_test') == 'yes': extra_options['wait_job_complete'] = False # Unwrap blockdev_batch_backup to catch the exception backup_func = backup_utils.blockdev_batch_backup.__wrapped__ try: backup_func(self.main_vm, self.source_images, self.inc_backups, self.bitmaps, **extra_options) except qemu_monitor.QMPCmdError as e: if self.params['error_msg'] not in str(e): self.test.fail('Unexpect error: %s' % str(e)) else: self.test.fail('expect incremental backup job(s) failed') else: backup_utils.blockdev_batch_backup(self.main_vm, self.source_images, self.inc_backups, self.bitmaps, **extra_options)
def do_incremental_backup(self): extra_options = {"sync": "incremental"} blockdev_batch_backup(self.main_vm, self._snapshot_nodes, self._inc_bk_nodes, self._merged_bitmaps, **extra_options)
def do_incremental_backup(self): """incremental backup: data->inc""" extra_options = {"sync": "incremental"} backup_utils.blockdev_batch_backup(self.main_vm, self._source_nodes, self._inc_bk_nodes, self._bitmaps, **extra_options)
def do_full_backup(self): """full backup: data->base""" extra_options = {"sync": "full"} backup_utils.blockdev_batch_backup(self.main_vm, self._source_nodes, self._full_bk_nodes, self._bitmaps, **extra_options)
def do_full_backup(self): blockdev_batch_backup(self.main_vm, self._source_nodes, self._full_bk_nodes, None, **self._full_backup_options)