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
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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