Merge "Move _check_metadata_properties to cinder/utils"

This commit is contained in:
Jenkins 2016-06-24 22:46:05 +00:00 committed by Gerrit Code Review
commit ebee5c09fb
3 changed files with 28 additions and 46 deletions

View File

@ -160,6 +160,29 @@ def check_ssh_injection(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):
"""This method gives you the most recently *completed* audit period.

View File

@ -754,7 +754,7 @@ class API(base.Base):
context, e,
resource='snapshots',
size=volume.size)
self._check_metadata_properties(metadata)
utils.check_metadata_properties(metadata)
snapshot = None
try:
@ -960,24 +960,6 @@ class API(base.Base):
LOG.info(_LI("Delete volume metadata completed successfully."),
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
def update_volume_metadata(self, context, volume,
metadata, delete=False,
@ -993,7 +975,7 @@ class API(base.Base):
'%s status.') % volume['status']
LOG.info(msg, resource=volume)
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'],
metadata,
delete,
@ -1022,7 +1004,7 @@ class API(base.Base):
`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'],
metadata, delete, add,
update)
@ -1066,7 +1048,7 @@ class API(base.Base):
_metadata = orig_meta.copy()
_metadata.update(metadata)
self._check_metadata_properties(_metadata)
utils.check_metadata_properties(_metadata)
snapshot.metadata = _metadata
snapshot.save()

View File

@ -268,29 +268,6 @@ class ExtractVolumeRequestTask(flow_utils.CinderTask):
'volume_type': 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,
source_volume):
"""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
specs = None
self._check_metadata_properties(metadata)
utils.check_metadata_properties(metadata)
return {
'size': size,