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: host_attr = HostAttr.objects.get(host=instance.hostname, is_active=True) NfsaasProvider.remove_snapshot( environment=databaseinfra.environment, host_attr=host_attr, snapshot_id=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: 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: host_attr = HostAttr.objects.get(host=instance.hostname, is_active=True) NfsaasProvider.remove_snapshot( environment=databaseinfra.environment, host_attr=host_attr, snapshot_id=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 remove_snapshot_backup(snapshot): LOG.info("Removing backup for %s" % (snapshot)) instance = snapshot.instance databaseinfra = instance.databaseinfra NfsaasProvider.remove_snapshot(environment=databaseinfra.environment, plan=databaseinfra.plan, host=instance.hostname, snapshopt=snapshot.snapshopt_id) snapshot.purge_at = datetime.datetime.now() snapshot.save() return
def remove_snapshot_backup(snapshot): LOG.info("Removing backup for %s" % (snapshot)) instance = snapshot.instance databaseinfra = instance.databaseinfra NfsaasProvider.remove_snapshot(environment = databaseinfra.environment, plan = databaseinfra.plan, host = instance.hostname, snapshopt = snapshot.snapshopt_id) snapshot.purge_at = datetime.datetime.now() snapshot.save() return
def remove_snapshot_backup(snapshot): from dbaas_nfsaas.models import HostAttr LOG.info("Removing backup for %s" % (snapshot)) instance = snapshot.instance databaseinfra = instance.databaseinfra host_attr = HostAttr.objects.get(nfsaas_path=snapshot.export_path) NfsaasProvider.remove_snapshot(environment=databaseinfra.environment, host_attr=host_attr, snapshot_id=snapshot.snapshopt_id) snapshot.purge_at = datetime.datetime.now() snapshot.save() return
def do(self, workflow_dict): try: from dbaas_nfsaas.models import HostAttr databaseinfra = workflow_dict['databaseinfra'] instance = workflow_dict['source_instances'][0] host_attr = HostAttr.objects.get(host=instance.hostname, is_active=True) NfsaasProvider.remove_snapshot(environment=databaseinfra.environment, host_attr=host_attr, snapshot_id=workflow_dict['snapshopt_id']) 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