def undo(self, workflow_dict): LOG.info("Running undo...") try: from dbaas_nfsaas.models import HostAttr databaseinfra = workflow_dict['databaseinfra'] instance = workflow_dict['source_instances'][0] if 'database_locked' in workflow_dict and workflow_dict['database_locked']: driver = databaseinfra.get_driver() client = driver.get_client(instance) driver.unlock_database(client) if 'snapshopt_id' in workflow_dict: snapshot = Snapshot.objects.get( snapshopt_id=workflow_dict['snapshopt_id'] ) delete_snapshot(snapshot=snapshot) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def remove_snapshot_backup(snapshot): LOG.info("Removing backup for %s" % (snapshot)) delete_snapshot(snapshot) snapshot.purge_at = datetime.datetime.now() snapshot.save() return
def remove_snapshot_backup(snapshot): snapshots = snapshot.group.backups.all() if snapshot.group else [snapshot] for snapshot in snapshots: if snapshot.purge_at: continue LOG.info("Removing backup for %s" % (snapshot)) delete_snapshot(snapshot) snapshot.purge_at = datetime.datetime.now() snapshot.save() return
def do(self, workflow_dict): try: snapshot = Snapshot.objects.get( snapshopt_id=workflow_dict['snapshopt_id'] ) delete_snapshot(snapshot=snapshot) del workflow_dict['snapshopt_id'] return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def undo(self, workflow_dict): LOG.info("Running undo...") try: if 'snapshopt_id' in workflow_dict: snapshot = Snapshot.objects.get( snapshopt_id=workflow_dict['snapshopt_id'] ) delete_snapshot(snapshot=snapshot) snapshot.purge_at = datetime.datetime.now() snapshot.save() return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False