VMAX driver - minor metadata additions
Adding metadata for delete operation and adding OpenStack display name to all operations. Change-Id: Ia21a2688fc4ec2d974d866703abef38ae25a0048
This commit is contained in:
parent
a244db46e7
commit
07c1b85419
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user