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)
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
@ -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()
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user