Merge "Move _check_metadata_properties to cinder/utils"
This commit is contained in:
commit
ebee5c09fb
@ -160,6 +160,29 @@ def check_ssh_injection(cmd_list):
|
|||||||
raise exception.SSHInjectionThreat(command=cmd_list)
|
raise exception.SSHInjectionThreat(command=cmd_list)
|
||||||
|
|
||||||
|
|
||||||
|
def check_metadata_properties(metadata=None):
|
||||||
|
"""Checks that the volume metadata properties are valid."""
|
||||||
|
|
||||||
|
if not metadata:
|
||||||
|
metadata = {}
|
||||||
|
|
||||||
|
for k, v in metadata.items():
|
||||||
|
if len(k) == 0:
|
||||||
|
msg = _("Metadata property key blank.")
|
||||||
|
LOG.warning(msg)
|
||||||
|
raise exception.InvalidVolumeMetadata(reason=msg)
|
||||||
|
if len(k) > 255:
|
||||||
|
msg = _("Metadata property key %s greater than 255 "
|
||||||
|
"characters.") % k
|
||||||
|
LOG.warning(msg)
|
||||||
|
raise exception.InvalidVolumeMetadataSize(reason=msg)
|
||||||
|
if len(v) > 255:
|
||||||
|
msg = _("Metadata property key %s value greater than "
|
||||||
|
"255 characters.") % k
|
||||||
|
LOG.warning(msg)
|
||||||
|
raise exception.InvalidVolumeMetadataSize(reason=msg)
|
||||||
|
|
||||||
|
|
||||||
def last_completed_audit_period(unit=None):
|
def last_completed_audit_period(unit=None):
|
||||||
"""This method gives you the most recently *completed* audit period.
|
"""This method gives you the most recently *completed* audit period.
|
||||||
|
|
||||||
|
@ -754,7 +754,7 @@ class API(base.Base):
|
|||||||
context, e,
|
context, e,
|
||||||
resource='snapshots',
|
resource='snapshots',
|
||||||
size=volume.size)
|
size=volume.size)
|
||||||
self._check_metadata_properties(metadata)
|
utils.check_metadata_properties(metadata)
|
||||||
|
|
||||||
snapshot = None
|
snapshot = None
|
||||||
try:
|
try:
|
||||||
@ -960,24 +960,6 @@ class API(base.Base):
|
|||||||
LOG.info(_LI("Delete volume metadata completed successfully."),
|
LOG.info(_LI("Delete volume metadata completed successfully."),
|
||||||
resource=volume)
|
resource=volume)
|
||||||
|
|
||||||
def _check_metadata_properties(self, metadata=None):
|
|
||||||
if not metadata:
|
|
||||||
metadata = {}
|
|
||||||
|
|
||||||
for k, v in metadata.items():
|
|
||||||
if len(k) == 0:
|
|
||||||
msg = _("Metadata property key blank.")
|
|
||||||
LOG.warning(msg)
|
|
||||||
raise exception.InvalidVolumeMetadata(reason=msg)
|
|
||||||
if len(k) > 255:
|
|
||||||
msg = _("Metadata property key greater than 255 characters.")
|
|
||||||
LOG.warning(msg)
|
|
||||||
raise exception.InvalidVolumeMetadataSize(reason=msg)
|
|
||||||
if len(v) > 255:
|
|
||||||
msg = _("Metadata property value greater than 255 characters.")
|
|
||||||
LOG.warning(msg)
|
|
||||||
raise exception.InvalidVolumeMetadataSize(reason=msg)
|
|
||||||
|
|
||||||
@wrap_check_policy
|
@wrap_check_policy
|
||||||
def update_volume_metadata(self, context, volume,
|
def update_volume_metadata(self, context, volume,
|
||||||
metadata, delete=False,
|
metadata, delete=False,
|
||||||
@ -993,7 +975,7 @@ class API(base.Base):
|
|||||||
'%s status.') % volume['status']
|
'%s status.') % volume['status']
|
||||||
LOG.info(msg, resource=volume)
|
LOG.info(msg, resource=volume)
|
||||||
raise exception.InvalidVolume(reason=msg)
|
raise exception.InvalidVolume(reason=msg)
|
||||||
self._check_metadata_properties(metadata)
|
utils.check_metadata_properties(metadata)
|
||||||
db_meta = self.db.volume_metadata_update(context, volume['id'],
|
db_meta = self.db.volume_metadata_update(context, volume['id'],
|
||||||
metadata,
|
metadata,
|
||||||
delete,
|
delete,
|
||||||
@ -1022,7 +1004,7 @@ class API(base.Base):
|
|||||||
`metadata` argument will be deleted.
|
`metadata` argument will be deleted.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
self._check_metadata_properties(metadata)
|
utils.check_metadata_properties(metadata)
|
||||||
db_meta = self.db.volume_admin_metadata_update(context, volume['id'],
|
db_meta = self.db.volume_admin_metadata_update(context, volume['id'],
|
||||||
metadata, delete, add,
|
metadata, delete, add,
|
||||||
update)
|
update)
|
||||||
@ -1066,7 +1048,7 @@ class API(base.Base):
|
|||||||
_metadata = orig_meta.copy()
|
_metadata = orig_meta.copy()
|
||||||
_metadata.update(metadata)
|
_metadata.update(metadata)
|
||||||
|
|
||||||
self._check_metadata_properties(_metadata)
|
utils.check_metadata_properties(_metadata)
|
||||||
|
|
||||||
snapshot.metadata = _metadata
|
snapshot.metadata = _metadata
|
||||||
snapshot.save()
|
snapshot.save()
|
||||||
|
@ -268,29 +268,6 @@ class ExtractVolumeRequestTask(flow_utils.CinderTask):
|
|||||||
'volume_type': volume_type})
|
'volume_type': volume_type})
|
||||||
return volume_type
|
return volume_type
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def _check_metadata_properties(metadata=None):
|
|
||||||
"""Checks that the volume metadata properties are valid."""
|
|
||||||
|
|
||||||
if not metadata:
|
|
||||||
metadata = {}
|
|
||||||
|
|
||||||
for (k, v) in metadata.items():
|
|
||||||
if len(k) == 0:
|
|
||||||
msg = _("Metadata property key blank")
|
|
||||||
LOG.warning(msg)
|
|
||||||
raise exception.InvalidVolumeMetadata(reason=msg)
|
|
||||||
if len(k) > 255:
|
|
||||||
msg = _("Metadata property key %s greater than 255 "
|
|
||||||
"characters") % k
|
|
||||||
LOG.warning(msg)
|
|
||||||
raise exception.InvalidVolumeMetadataSize(reason=msg)
|
|
||||||
if len(v) > 255:
|
|
||||||
msg = _("Metadata property key %s value greater than"
|
|
||||||
" 255 characters") % k
|
|
||||||
LOG.warning(msg)
|
|
||||||
raise exception.InvalidVolumeMetadataSize(reason=msg)
|
|
||||||
|
|
||||||
def _extract_availability_zone(self, availability_zone, snapshot,
|
def _extract_availability_zone(self, availability_zone, snapshot,
|
||||||
source_volume):
|
source_volume):
|
||||||
"""Extracts and returns a validated availability zone.
|
"""Extracts and returns a validated availability zone.
|
||||||
@ -464,7 +441,7 @@ class ExtractVolumeRequestTask(flow_utils.CinderTask):
|
|||||||
# to make sure we don't pass empty dict
|
# to make sure we don't pass empty dict
|
||||||
specs = None
|
specs = None
|
||||||
|
|
||||||
self._check_metadata_properties(metadata)
|
utils.check_metadata_properties(metadata)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'size': size,
|
'size': size,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user