Implement metadata options for snapshots

This patch implements metadata for snapshots as well as
the ability to update/delete that metadata.

Implements blueprint: update-snap-metadata

Change-Id: Iec2b7a51cdc3dffad41f24807067cc6c8e7d5135
This commit is contained in:
John Griffith
2013-02-18 23:39:06 +00:00
committed by john-griffith
parent 8aae8bae07
commit 667031428b
16 changed files with 1584 additions and 16 deletions

View File

@@ -325,6 +325,22 @@ class Snapshot(BASE, CinderBase):
'Snapshot.deleted == False)')
class SnapshotMetadata(BASE, CinderBase):
"""Represents a metadata key/value pair for a snapshot."""
__tablename__ = 'snapshot_metadata'
id = Column(Integer, primary_key=True)
key = Column(String(255))
value = Column(String(255))
snapshot_id = Column(String(36),
ForeignKey('snapshots.id'),
nullable=False)
snapshot = relationship(Snapshot, backref="snapshot_metadata",
foreign_keys=snapshot_id,
primaryjoin='and_('
'SnapshotMetadata.snapshot_id == Snapshot.id,'
'SnapshotMetadata.deleted == False)')
class IscsiTarget(BASE, CinderBase):
"""Represents an iscsi target for a given host."""
__tablename__ = 'iscsi_targets'
@@ -427,6 +443,7 @@ def register_models():
SMVolume,
Volume,
VolumeMetadata,
SnapshotMetadata,
VolumeTypeExtraSpecs,
VolumeTypes,
VolumeGlanceMetadata,