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
示例#3
0
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
示例#4
0
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
示例#5
0
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
示例#6
0
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