Merge "VMAX driver - minor metadata additions"

This commit is contained in:
Zuul 2018-08-07 23:26:56 +00:00 committed by Gerrit Code Review
commit af90b4e070
3 changed files with 35 additions and 5 deletions

View File

@ -8213,6 +8213,13 @@ class VMAXVolumeMetadataDebugTest(test.TestCase):
"test_group_id", self.data.extra_specs, {}, 'create', None)
mock_uvim.assert_called_once()
@mock.patch.object(metadata.VMAXVolumeMetadata,
'update_volume_info_metadata',
return_value={})
def test_capture_delete_info(self, mock_uvim):
self.volume_metadata.capture_delete_info(self.data.test_volume)
mock_uvim.assert_called_once()
@mock.patch.object(metadata.VMAXVolumeMetadata,
'update_volume_info_metadata',
return_value={})
@ -8275,7 +8282,7 @@ class VMAXVolumeMetadataDebugTest(test.TestCase):
return_value={})
def test_capture_retype_info(self, mock_uvim):
self.volume_metadata.capture_retype_info(
self.data.test_volume.id, 20, self.data.device_id, self.data.array,
self.data.test_volume, self.data.device_id, self.data.array,
self.data.srp, self.data.slo, self.data.workload,
self.data.storagegroup_name_target, False, None,
False)

View File

@ -427,6 +427,7 @@ class VMAXCommon(object):
LOG.info("Deleting Volume: %(volume)s",
{'volume': volume.name})
volume_name = self._delete_volume(volume)
self.volume_metadata.capture_delete_info(volume)
LOG.info("Leaving delete_volume: %(volume_name)s.",
{'volume_name': volume_name})
@ -2605,7 +2606,7 @@ class VMAXCommon(object):
rep_mode, is_rep_enabled, target_extra_specs)
self.volume_metadata.capture_retype_info(
volume.id, volume.size, device_id, array, srp, target_slo,
volume, device_id, array, srp, target_slo,
target_workload, target_sg_name, is_rep_enabled, rep_mode,
is_compression_disabled)

View File

@ -331,6 +331,7 @@ class VMAXVolumeMetadata(object):
port_group=port_group,
host=host, is_multipath=is_multipath,
identifier_name=self.utils.get_volume_element_name(volume.id),
openstack_name=volume.display_name,
mv_list=mv_list, sg_list=sg_list)
volume_metadata = self.update_volume_info_metadata(
@ -357,6 +358,7 @@ class VMAXVolumeMetadata(object):
workload=extra_specs[utils.WORKLOAD], srp=extra_specs[utils.SRP],
default_sg_name=default_sg,
identifier_name=self.utils.get_volume_element_name(volume.id),
openstack_name=volume.display_name,
mv_list=mv_list, sg_list=sg_list
)
volume_metadata = self.update_volume_info_metadata(
@ -383,6 +385,7 @@ class VMAXVolumeMetadata(object):
workload=extra_specs[utils.WORKLOAD],
srp=extra_specs[utils.SRP],
identifier_name=self.utils.get_volume_element_name(volume.id),
openstack_name=volume.display_name,
is_compression_disabled=self.utils.is_compression_disabled(
extra_specs))
volume_metadata = self.update_volume_info_metadata(
@ -416,6 +419,7 @@ class VMAXVolumeMetadata(object):
srp=extra_specs[utils.SRP],
identifier_name=(
self.utils.get_volume_element_name(source.id)),
openstack_name=source.display_name,
snapshot_count=snapshot_count,
last_ss_name=last_ss_name)
volume_metadata = self.update_volume_info_metadata(
@ -494,6 +498,7 @@ class VMAXVolumeMetadata(object):
workload=extra_specs[utils.WORKLOAD],
srp=extra_specs[utils.SRP],
identifier_name=self.utils.get_volume_element_name(volume.id),
openstack_name=volume.display_name,
source_volid=volume.source_volid,
group_name=group_name, group_id=group_id,
rdf_group_no=rdf_group_no,
@ -558,6 +563,7 @@ class VMAXVolumeMetadata(object):
workload=extra_specs[utils.WORKLOAD],
srp=extra_specs[utils.SRP],
identifier_name=self.utils.get_volume_element_name(volume.id),
openstack_name=volume.display_name,
source_volid=volume.source_volid,
rdf_group_no=rdf_group, remote_array=array,
target_device_id=device_id, vol_grp_name=vol_grp_name,
@ -605,6 +611,7 @@ class VMAXVolumeMetadata(object):
workload=extra_specs[utils.WORKLOAD],
srp=extra_specs[utils.SRP],
identifier_name=self.utils.get_volume_element_name(volume.id),
openstack_name=volume.display_name,
source_volid=volume.source_volid,
rdf_group_no=rdf_group_no,
target_name=target_name, remote_array=remote_array,
@ -618,7 +625,7 @@ class VMAXVolumeMetadata(object):
@debug_required
def capture_retype_info(
self, volume_id, volume_size, device_id, array, srp, target_slo,
self, volume, device_id, array, srp, target_slo,
target_workload, target_sg_name, is_rep_enabled, rep_mode,
is_compression_disabled):
"""Captures manage existing info in volume metadata
@ -636,14 +643,15 @@ class VMAXVolumeMetadata(object):
"""
operation = "retype"
datadict = self.gather_volume_info(
volume_id, operation, False, volume_size=volume_size,
volume.id, operation, False, volume_size=volume.size,
device_id=device_id,
target_sg_name=target_sg_name,
serial_number=array,
target_service_level=target_slo,
target_workload=target_workload,
srp=srp,
identifier_name=self.utils.get_volume_element_name(volume_id),
identifier_name=self.utils.get_volume_element_name(volume.id),
openstack_name=volume.display_name,
is_rep_enabled=('yes' if is_rep_enabled else 'no'),
rep_mode=rep_mode, is_compression_disabled = (
'yes' if is_compression_disabled else 'no')
@ -651,3 +659,17 @@ class VMAXVolumeMetadata(object):
volume_metadata = self.update_volume_info_metadata(
datadict, self.version_dict)
self.print_pretty_table(volume_metadata)
@debug_required
def capture_delete_info(self, volume):
"""Captures delete info in volume metadata
:param volume: the volume object
"""
datadict = self.gather_volume_info(
volume.id, 'delete', False,
identifier_name=self.utils.get_volume_element_name(volume.id),
openstack_name=volume.display_name)
volume_metadata = self.update_volume_info_metadata(
datadict, self.version_dict)
self.print_pretty_table(volume_metadata)