Exemplo n.º 1
0
    def _from_db_object(context,
                        consistencygroup,
                        db_consistencygroup,
                        expected_attrs=None):
        if expected_attrs is None:
            expected_attrs = []
        for name, field in consistencygroup.fields.items():
            if name in OPTIONAL_FIELDS:
                continue
            value = db_consistencygroup.get(name)
            setattr(consistencygroup, name, value)

        if 'cgsnapshots' in expected_attrs:
            cgsnapshots = base.obj_make_list(
                context, objects.CGSnapshotsList(context), objects.CGSnapshot,
                db_consistencygroup['cgsnapshots'])
            consistencygroup.cgsnapshots = cgsnapshots

        if 'workflows' in expected_attrs:
            workflows = base.obj_make_list(context,
                                           objects.WorkflowList(context),
                                           objects.Workflow,
                                           db_consistencygroup['workflows'])
            consistencygroup.cgsnapshots = workflows

        consistencygroup._context = context
        consistencygroup.obj_reset_changes()
        return consistencygroup
Exemplo n.º 2
0
    def _from_db_object(context, cgsnapshot, db_cgsnapshots,
                        expected_attrs=None):
        expected_attrs = expected_attrs or []
        for name, field in cgsnapshot.fields.items():
            if name in OPTIONAL_FIELDS:
                continue
            value = db_cgsnapshots.get(name)
            setattr(cgsnapshot, name, value)

        if 'consistencygroup' in expected_attrs:
            consistencygroup = objects.ConsistencyGroup(context)
            consistencygroup._from_db_object(context, consistencygroup,
                                             db_cgsnapshots[
                                                 'consistencygroup'])
            cgsnapshot.consistencygroup = consistencygroup

        if 'snapshots' in expected_attrs:
            snapshots = base.obj_make_list(
                context, objects.SnapshotsList(context),
                objects.Snapshots,
                db_cgsnapshots['snapshots'])
            cgsnapshot.snapshots = snapshots

        cgsnapshot._context = context
        cgsnapshot.obj_reset_changes()
        return cgsnapshot
Exemplo n.º 3
0
 def get_all_by_project(cls, context, project_id, filters=None,
                        marker=None, limit=None, offset=None,
                        sort_keys=None, sort_dirs=None):
     backups = db.backup_get_all_by_project(context, project_id, filters,
                                            marker, limit, offset,
                                            sort_keys, sort_dirs)
     return base.obj_make_list(context, cls(context), objects.Backup,
                               backups)
Exemplo n.º 4
0
 def get_all_for_cgsnapshot(cls, context, cgsnapshot_id):
     snapshots = db.snapshot_get_all_for_cgsnapshot(context, cgsnapshot_id)
     expected_attrs = Snapshot._get_expected_attrs(context)
     return base.obj_make_list(context,
                               cls(context),
                               objects.Snapshot,
                               snapshots,
                               expected_attrs=expected_attrs)
Exemplo n.º 5
0
 def get_active_by_window(cls, context, begin, end):
     snapshots = db.snapshot_get_active_by_window(context, begin, end)
     expected_attrs = Snapshot._get_expected_attrs(context)
     return base.obj_make_list(context,
                               cls(context),
                               objects.Snapshot,
                               snapshots,
                               expected_attrs=expected_attrs)
Exemplo n.º 6
0
 def get_by_host(cls, context, host, filters=None):
     snapshots = db.snapshot_get_by_host(context, host, filters)
     expected_attrs = Snapshot._get_expected_attrs(context)
     return base.obj_make_list(context,
                               cls(context),
                               objects.Snapshot,
                               snapshots,
                               expected_attrs=expected_attrs)
Exemplo n.º 7
0
 def get_all_by_group(cls, context, group_id, filters=None):
     workflows = db.workflow_get_all_by_group(context, group_id, filters)
     expected_attrs = cls._get_expected_attrs(context)
     return base.obj_make_list(context,
                               cls(context),
                               objects.Workflow,
                               workflows,
                               expected_attrs=expected_attrs)
Exemplo n.º 8
0
 def get_all(cls,
             context,
             search_opts,
             marker=None,
             limit=None,
             sort_keys=None,
             sort_dirs=None,
             offset=None):
     snapshots = db.snapshot_get_all(context, search_opts, marker, limit,
                                     sort_keys, sort_dirs, offset)
     expected_attrs = Snapshot._get_expected_attrs(context)
     return base.obj_make_list(context,
                               cls(context),
                               objects.Snapshot,
                               snapshots,
                               expected_attrs=expected_attrs)
Exemplo n.º 9
0
 def get_all(cls,
             context,
             filters=None,
             marker=None,
             limit=None,
             offset=None,
             sort_keys=None,
             sort_dirs=None):
     consistencygroups = db.consistencygroup_get_all(context,
                                                     filters=filters,
                                                     marker=marker,
                                                     limit=limit,
                                                     offset=offset,
                                                     sort_keys=sort_keys,
                                                     sort_dirs=sort_dirs)
     return base.obj_make_list(context, cls(context),
                               objects.ConsistencyGroup, consistencygroups)
Exemplo n.º 10
0
 def get_all(cls,
             context,
             marker,
             limit,
             sort_keys=None,
             sort_dirs=None,
             filters=None,
             offset=None):
     workflows = db.workflow_get_all(context,
                                     marker,
                                     limit,
                                     sort_keys=sort_keys,
                                     sort_dirs=sort_dirs,
                                     filters=filters,
                                     offset=offset)
     expected_attrs = cls._get_expected_attrs(context)
     return base.obj_make_list(context,
                               cls(context),
                               objects.Workflow,
                               workflows,
                               expected_attrs=expected_attrs)
Exemplo n.º 11
0
 def get_all(cls,
             context,
             inactive=0,
             filters=None,
             marker=None,
             limit=None,
             sort_keys=None,
             sort_dirs=None,
             offset=None):
     types = workflow_types.get_all_types(context,
                                          inactive,
                                          filters,
                                          marker=marker,
                                          limit=limit,
                                          sort_keys=sort_keys,
                                          sort_dirs=sort_dirs,
                                          offset=offset)
     expected_attrs = WorkflowType._get_expected_attrs(context)
     return base.obj_make_list(context,
                               cls(context),
                               objects.WorkflowType,
                               types.values(),
                               expected_attrs=expected_attrs)
Exemplo n.º 12
0
 def get_all_by_workflow(cls, context, workflow_id, filters=None):
     backups = db.backup_get_all_by_workflow(context, workflow_id, filters)
     return base.obj_make_list(context, cls(context), objects.Backup,
                               backups)
Exemplo n.º 13
0
 def get_all_by_host(cls, context, host):
     backups = db.backup_get_all_by_host(context, host)
     return base.obj_make_list(context, cls(context), objects.Backup,
                               backups)
Exemplo n.º 14
0
 def get_all_by_host(cls, context, workflow_id, host):
     attachments = db.workflow_attachment_get_by_host(
         context, workflow_id, host)
     return base.obj_make_list(context, cls(context),
                               objects.WorkflowAttachment, attachments)
Exemplo n.º 15
0
 def get_all_by_group(cls, context, group_id, filters=None):
     cgsnapshots = db.cgsnapshot_get_all_by_group(context, group_id,
                                                  filters)
     return base.obj_make_list(context, cls(context),
                               objects.CGSnapshot,
                               cgsnapshots)
Exemplo n.º 16
0
 def get_all_by_binary(cls, context, binary, disabled=None):
     services = db.service_get_all_by_binary(context, binary,
                                             disabled=disabled)
     return base.obj_make_list(context, cls(context), objects.Service,
                               services)
Exemplo n.º 17
0
 def get_all(cls, context, filters=None):
     services = db.service_get_all(context, filters)
     return base.obj_make_list(context, cls(context), objects.Service,
                               services)
Exemplo n.º 18
0
 def get_all_by_instance_uuid(cls, context, workflow_id, instance_uuid):
     attachments = db.workflow_attachment_get_by_instance_uuid(
         context, workflow_id, instance_uuid)
     return base.obj_make_list(context, cls(context),
                               objects.WorkflowAttachment, attachments)
Exemplo n.º 19
0
    def _from_db_object(context, workflow, db_workflow, expected_attrs=None):
        if expected_attrs is None:
            expected_attrs = []
        for name, field in workflow.fields.items():
            if name in Workflow.OPTIONAL_FIELDS:
                continue
            value = db_workflow.get(name)
            if isinstance(field, fields.IntegerField):
                value = value or 0
            workflow[name] = value

        # Get data from db_workflow object that was queried by joined query
        # from DB
        if 'metadata' in expected_attrs:
            metadata = db_workflow.get('workflow_metadata', [])
            workflow.metadata = {
                item['key']: item['value']
                for item in metadata
            }
        if 'admin_metadata' in expected_attrs:
            metadata = db_workflow.get('workflow_admin_metadata', [])
            workflow.admin_metadata = {
                item['key']: item['value']
                for item in metadata
            }
        if 'glance_metadata' in expected_attrs:
            metadata = db_workflow.get('workflow_glance_metadata', [])
            workflow.glance_metadata = {
                item['key']: item['value']
                for item in metadata
            }
        if 'workflow_type' in expected_attrs:
            db_workflow_type = db_workflow.get('workflow_type')
            if db_workflow_type:
                vt_expected_attrs = []
                if 'workflow_type.extra_specs' in expected_attrs:
                    vt_expected_attrs.append('extra_specs')
                workflow.workflow_type = objects.WorkflowType._from_db_object(
                    context,
                    objects.WorkflowType(),
                    db_workflow_type,
                    expected_attrs=vt_expected_attrs)
        if 'workflow_attachment' in expected_attrs:
            attachments = base.obj_make_list(
                context, objects.WorkflowAttachmentList(context),
                objects.WorkflowAttachment,
                db_workflow.get('workflow_attachment'))
            workflow.workflow_attachment = attachments
        if 'consistencygroup' in expected_attrs:
            consistencygroup = objects.ConsistencyGroup(context)
            consistencygroup._from_db_object(context, consistencygroup,
                                             db_workflow['consistencygroup'])
            workflow.consistencygroup = consistencygroup
        if 'snapshots' in expected_attrs:
            snapshots = base.obj_make_list(context,
                                           objects.SnapshotList(context),
                                           objects.Snapshot,
                                           db_workflow['snapshots'])
            workflow.snapshots = snapshots

        workflow._context = context
        workflow.obj_reset_changes()
        return workflow