def execute(self): # remove backups by freezer admin action backup_media = self.conf.backup_media if backup_media == 'cindernative': admin_os = admin.AdminOs(self.conf.client_manager) admin_os.del_off_limit_fullbackup(self.conf.cindernative_vol_id, self.conf.fullbackup_rotation) return {} if self.conf.remove_from_date: timestamp = utils.date_to_timestamp(self.conf.remove_from_date) else: timestamp = datetime.datetime.now() - \ datetime.timedelta(days=float(self.conf.remove_older_than)) timestamp = int(time.mktime(timestamp.timetuple())) if self.conf.backup_media == 'cinder': if self.conf.cinder_vol_id: old_backups = self.get_cinder_old_backups( timestamp, self.conf.cinder_vol_id) self.remove_backup_dirs(old_backups, self.conf.cinder_vol_id) return {} else: for instance_id in self.cinder_vol_ids: old_backups = self.get_cinder_old_backups( timestamp, instance_id) self.remove_backup_dirs(old_backups, instance_id) return {} hostname_backup_name_set = set() if self.conf.backup_media == 'nova': if self.conf.project_id: instance_ids = self.engine.get_nova_tenant( self.conf.project_id) for instance_id in instance_ids: hostname_backup_name = os.path.join( self.conf.hostname_backup_name, instance_id) hostname_backup_name_set.add(hostname_backup_name) elif self.conf.nova_inst_id: hostname_backup_name = os.path.join( self.conf.hostname_backup_name, self.conf.nova_inst_id) hostname_backup_name_set.add(hostname_backup_name) else: for instance_id in self.nova_instance_ids: hostname_backup_name = os.path.join( self.conf.hostname_backup_name, instance_id) hostname_backup_name_set.add(hostname_backup_name) else: hostname_backup_name_set.add(self.conf.hostname_backup_name) for backup_name in hostname_backup_name_set: self.storage.remove_older_than(self.engine, timestamp, backup_name) return {}
def setUp(self): super(TestAdmin, self).setUp() self.backup_opt = commons.BackupOpt1() self.admin_os = admin.AdminOs(self.backup_opt.client_manager) self.client_manager = self.backup_opt.client_manager