Esempio n. 1
0
    def _from_db_object(cls, context, volume, db_volume, expected_attrs=None):
        if expected_attrs is None:
            expected_attrs = []
        for name, field in volume.fields.items():
            if name in volume.OPTIONAL_FIELDS:
                continue
            value = db_volume.get(name)
            if isinstance(field, fields.IntegerField):
                value = value or 0
            volume[name] = value

        if 'metadata' in expected_attrs:
            metadata = db_volume.get('volume_metadata', [])
            volume.metadata = {item['key']: item['value'] for item in metadata}
        if 'volume_attachment' in expected_attrs:
            if db_volume.get('volume_attachment', None) is None:
                db_volume.volume_attachment = None
            else:
                attachments = base.obj_make_list(
                    context, objects.VolumeAttachmentList(context),
                    objects.VolumeAttachment,
                    db_volume.get('volume_attachment'))
                volume.volume_attachment = attachments

        volume._context = context
        volume.obj_reset_changes()
        return volume
Esempio n. 2
0
 def get_all(cls, context, filters=None, marker=None, limit=None,
             offset=None, sort_keys=None, sort_dirs=None):
     checkpoints = db.checkpoint_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.Checkpoint,
                               checkpoints)
Esempio n. 3
0
 def get_all_by_project(cls, context, project_id, filters, marker=None,
                        limit=None, sort_keys=None, sort_dirs=None,
                        offset=None):
     snapshots = db.snapshot_get_all_by_project(
         context, project_id, filters=filters, marker=marker, limit=limit,
         sort_keys=sort_keys, sort_dirs=sort_dirs, offset=offset)
     return base.obj_make_list(context, cls(context), objects.Snapshot,
                               snapshots)
Esempio n. 4
0
 def get_all(cls,
             context,
             filters=None,
             marker=None,
             limit=None,
             offset=None,
             sort_keys=None,
             sort_dirs=None):
     backups = db.backup_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.Backup,
                               backups)
Esempio n. 5
0
 def get_all(cls,
             context,
             marker=None,
             limit=None,
             sort_keys=None,
             sort_dirs=None,
             filters=None,
             offset=None):
     volumes = db.volume_get_all(context,
                                 marker=marker,
                                 limit=limit,
                                 sort_keys=sort_keys,
                                 sort_dirs=sort_dirs,
                                 filters=filters,
                                 offset=offset)
     return base.obj_make_list(context, cls(context), objects.Volume,
                               volumes)
Esempio n. 6
0
 def get_all(cls,
             context,
             filters=None,
             marker=None,
             limit=None,
             offset=None,
             sort_keys=None,
             sort_dirs=None):
     replications = db.replication_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.Replication,
                               replications)
Esempio n. 7
0
 def get_all_by_volume(cls, context, volume_id, filters=None):
     backups = db.backup_get_all_by_volume(context,
                                           volume_id=volume_id,
                                           filters=filters)
     return base.obj_make_list(context, cls(context), objects.Backup,
                               backups)
Esempio n. 8
0
 def get_all_by_replication(cls, context, replication_id, filters=None):
     checkpoints = db.checkpoint_get_all_by_replication(
         context, replication_id=replication_id, filters=filters)
     return base.obj_make_list(context, cls(context), objects.Checkpoint,
                               checkpoints)
Esempio n. 9
0
 def get_all_by_topic(cls, context, topic, disabled=None):
     services = db.service_get_all_by_topic(context,
                                            topic=topic,
                                            disabled=disabled)
     return base.obj_make_list(context, cls(context), objects.Service,
                               services)
Esempio n. 10
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)
Esempio n. 11
0
 def get_all_by_instance_uuid(cls, context, volume_id, instance_uuid):
     attachments = db.volume_attachment_get_all_by_instance_uuid(
         context, volume_id, instance_uuid)
     return base.obj_make_list(context, cls(context),
                               objects.VolumeAttachment, attachments)
Esempio n. 12
0
 def get_all_by_host(cls, context, volume_id, host):
     attachments = db.volume_attachment_get_all_by_host(
         context, volume_id, host)
     return base.obj_make_list(context, cls(context),
                               objects.VolumeAttachment, attachments)
Esempio n. 13
0
 def get_all_by_volume(cls, context, volume_id):
     snapshots = db.snapshot_get_all_by_volume(context, volume_id)
     return base.obj_make_list(context, cls(context), objects.Snapshot,
                               snapshots)