)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f393dd28eadab35d8a32975c6b2061205508520e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMAX driver - QoS, replacing SMI-S with REST"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In VMAX driver version 3.0, SMI-S will be replaced with unisphere"},{"line_number":10,"context_line":"REST. This is porting QoS from SMIS to REST."},{"line_number":11,"context_line":"See original https://review.openstack.org/#/c/307502/ for more"},{"line_number":12,"context_line":"details"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"5f201791_0377ec3c","line":9,"range":{"start_line":9,"start_character":34,"end_line":9,"end_character":55},"updated":"2017-06-20 22:06:56.000000000","message":"has been replaced with","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"2ab0d90b62391477797510de9a009689b53960ab","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMAX driver - QoS, replacing SMI-S with REST"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In VMAX driver version 3.0, SMI-S will be replaced with unisphere"},{"line_number":10,"context_line":"REST. This is porting QoS from SMIS to REST."},{"line_number":11,"context_line":"See original https://review.openstack.org/#/c/307502/ for more"},{"line_number":12,"context_line":"details"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"5f201791_fbe8fe16","line":9,"range":{"start_line":9,"start_character":34,"end_line":9,"end_character":55},"in_reply_to":"5f201791_0377ec3c","updated":"2017-06-21 15:37:36.000000000","message":"Will change.  Thanks","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"}],"cinder/tests/unit/volume/drivers/dell_emc/vmax/test_vmax.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f393dd28eadab35d8a32975c6b2061205508520e","unresolved":false,"context_lines":[{"line_number":1938,"context_line":"            \u0027maxIOPS\u0027: \u00274000\u0027, \u0027DistributionType\u0027: \u0027Always\u0027}"},{"line_number":1939,"context_line":"        return_value \u003d self.rest.update_storagegroup_qos("},{"line_number":1940,"context_line":"            array, \"OS-QOS-SG\", extra_specs)"},{"line_number":1941,"context_line":"        self.assertEqual(False, return_value)"},{"line_number":1942,"context_line":"        extra_specs[\u0027qos\u0027] \u003d {"},{"line_number":1943,"context_line":"            \u0027DistributionType\u0027: \u0027onFailure\u0027, \u0027maxMBPS\u0027: \u00274000\u0027}"},{"line_number":1944,"context_line":"        return_value \u003d self.rest.update_storagegroup_qos("}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_a393984f","line":1941,"range":{"start_line":1941,"start_character":8,"end_line":1941,"end_character":45},"updated":"2017-06-20 22:06:56.000000000","message":"Use assertFalse.","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"2ab0d90b62391477797510de9a009689b53960ab","unresolved":false,"context_lines":[{"line_number":1938,"context_line":"            \u0027maxIOPS\u0027: \u00274000\u0027, \u0027DistributionType\u0027: \u0027Always\u0027}"},{"line_number":1939,"context_line":"        return_value \u003d self.rest.update_storagegroup_qos("},{"line_number":1940,"context_line":"            array, \"OS-QOS-SG\", extra_specs)"},{"line_number":1941,"context_line":"        self.assertEqual(False, return_value)"},{"line_number":1942,"context_line":"        extra_specs[\u0027qos\u0027] \u003d {"},{"line_number":1943,"context_line":"            \u0027DistributionType\u0027: \u0027onFailure\u0027, \u0027maxMBPS\u0027: \u00274000\u0027}"},{"line_number":1944,"context_line":"        return_value \u003d self.rest.update_storagegroup_qos("}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_bbf28605","line":1941,"range":{"start_line":1941,"start_character":8,"end_line":1941,"end_character":45},"in_reply_to":"5f201791_a393984f","updated":"2017-06-21 15:37:36.000000000","message":"Sure","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f393dd28eadab35d8a32975c6b2061205508520e","unresolved":false,"context_lines":[{"line_number":1959,"context_line":"            extra_specs[\u0027qos\u0027][\u0027DistributionType\u0027] \u003d \u0027Always\u0027"},{"line_number":1960,"context_line":"            return_value \u003d self.rest.update_storagegroup_qos("},{"line_number":1961,"context_line":"                array, \"OS-QOS-SG\", extra_specs)"},{"line_number":1962,"context_line":"            self.assertEqual(False, return_value)"},{"line_number":1963,"context_line":""},{"line_number":1964,"context_line":""},{"line_number":1965,"context_line":"class VMAXProvisionTest(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_c3b7b4d8","line":1962,"updated":"2017-06-20 22:06:56.000000000","message":"assertFalse","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"2ab0d90b62391477797510de9a009689b53960ab","unresolved":false,"context_lines":[{"line_number":1959,"context_line":"            extra_specs[\u0027qos\u0027][\u0027DistributionType\u0027] \u003d \u0027Always\u0027"},{"line_number":1960,"context_line":"            return_value \u003d self.rest.update_storagegroup_qos("},{"line_number":1961,"context_line":"                array, \"OS-QOS-SG\", extra_specs)"},{"line_number":1962,"context_line":"            self.assertEqual(False, return_value)"},{"line_number":1963,"context_line":""},{"line_number":1964,"context_line":""},{"line_number":1965,"context_line":"class VMAXProvisionTest(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_9bf7caf6","line":1962,"in_reply_to":"5f201791_c3b7b4d8","updated":"2017-06-21 15:37:36.000000000","message":"Sure","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bbc72a87b932a89032503c234c2c7fccbbacdacc","unresolved":false,"context_lines":[{"line_number":1959,"context_line":"            extra_specs[\u0027qos\u0027][\u0027DistributionType\u0027] \u003d \u0027Always\u0027"},{"line_number":1960,"context_line":"            return_value \u003d self.rest.update_storagegroup_qos("},{"line_number":1961,"context_line":"                array, \"OS-QOS-SG\", extra_specs)"},{"line_number":1962,"context_line":"            self.assertEqual(False, return_value)"},{"line_number":1963,"context_line":""},{"line_number":1964,"context_line":""},{"line_number":1965,"context_line":"class VMAXProvisionTest(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_f40676ce","line":1962,"range":{"start_line":1962,"start_character":12,"end_line":1962,"end_character":49},"updated":"2017-06-24 19:15:03.000000000","message":"Use assertFalse","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"89f1629abed39ce5a5c17b4c0eb192af375944bc","unresolved":false,"context_lines":[{"line_number":1959,"context_line":"            extra_specs[\u0027qos\u0027][\u0027DistributionType\u0027] \u003d \u0027Always\u0027"},{"line_number":1960,"context_line":"            return_value \u003d self.rest.update_storagegroup_qos("},{"line_number":1961,"context_line":"                array, \"OS-QOS-SG\", extra_specs)"},{"line_number":1962,"context_line":"            self.assertEqual(False, return_value)"},{"line_number":1963,"context_line":""},{"line_number":1964,"context_line":""},{"line_number":1965,"context_line":"class VMAXProvisionTest(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_54a17345","line":1962,"range":{"start_line":1962,"start_character":12,"end_line":1962,"end_character":49},"in_reply_to":"5f201791_f40676ce","updated":"2017-06-27 10:06:00.000000000","message":"Sure","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"977816a65d0fb35bb34e10e92d04f6c92a5bd7dd","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from cinder.volume.drivers.dell_emc.vmax import provision"},{"line_number":36,"context_line":"from cinder.volume.drivers.dell_emc.vmax import rest"},{"line_number":37,"context_line":"from cinder.volume.drivers.dell_emc.vmax import utils"},{"line_number":38,"context_line":"from cinder.volume import volume_types"},{"line_number":39,"context_line":"from cinder.zonemanager import utils as fczm_utils"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"CINDER_EMC_CONFIG_DIR \u003d \u0027/etc/cinder/\u0027"}],"source_content_type":"text/x-python","patch_set":31,"id":"3f1d235d_0e3fd525","side":"PARENT","line":39,"range":{"start_line":38,"start_character":0,"end_line":39,"end_character":50},"updated":"2017-07-02 13:42:12.000000000","message":"Why do you move these two up?","commit_id":"7617a60cc9ba15a6dbd18345b557447a2e9a9627"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"1a41f96f8efce54fafbdcf92e7c378235a3e8c37","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from cinder.volume.drivers.dell_emc.vmax import provision"},{"line_number":36,"context_line":"from cinder.volume.drivers.dell_emc.vmax import rest"},{"line_number":37,"context_line":"from cinder.volume.drivers.dell_emc.vmax import utils"},{"line_number":38,"context_line":"from cinder.volume import volume_types"},{"line_number":39,"context_line":"from cinder.zonemanager import utils as fczm_utils"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"CINDER_EMC_CONFIG_DIR \u003d \u0027/etc/cinder/\u0027"}],"source_content_type":"text/x-python","patch_set":31,"id":"3f1d235d_a98fb021","side":"PARENT","line":39,"range":{"start_line":38,"start_character":0,"end_line":39,"end_character":50},"in_reply_to":"3f1d235d_0e3fd525","updated":"2017-07-03 08:42:20.000000000","message":"No sure, it could be a consequence of a rebase.  I will move them back","commit_id":"7617a60cc9ba15a6dbd18345b557447a2e9a9627"}],"cinder/volume/drivers/dell_emc/vmax/common.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f393dd28eadab35d8a32975c6b2061205508520e","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"                            \u0027srpName\u0027: pool_record[\u0027srpName\u0027],"},{"line_number":1172,"context_line":"                            \u0027array\u0027: pool_record[\u0027SerialNumber\u0027]})"},{"line_number":1173,"context_line":"            LOG.warning(\"Pool_name is not present in the extra_specs \""},{"line_number":1174,"context_line":"                        \"- using default pool %(pool_name)s\","},{"line_number":1175,"context_line":"                        {\u0027pool_name\u0027: pool_name})"},{"line_number":1176,"context_line":"        pool_details \u003d pool_name.split(\u0027+\u0027)"},{"line_number":1177,"context_line":"        slo_from_extra_spec \u003d pool_details[0]"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_63eb40b0","line":1174,"updated":"2017-06-20 22:06:56.000000000","message":"period","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"2ab0d90b62391477797510de9a009689b53960ab","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"                            \u0027srpName\u0027: pool_record[\u0027srpName\u0027],"},{"line_number":1172,"context_line":"                            \u0027array\u0027: pool_record[\u0027SerialNumber\u0027]})"},{"line_number":1173,"context_line":"            LOG.warning(\"Pool_name is not present in the extra_specs \""},{"line_number":1174,"context_line":"                        \"- using default pool %(pool_name)s\","},{"line_number":1175,"context_line":"                        {\u0027pool_name\u0027: pool_name})"},{"line_number":1176,"context_line":"        pool_details \u003d pool_name.split(\u0027+\u0027)"},{"line_number":1177,"context_line":"        slo_from_extra_spec \u003d pool_details[0]"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_3be67646","line":1174,"in_reply_to":"5f201791_63eb40b0","updated":"2017-06-21 15:37:36.000000000","message":"ok","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f393dd28eadab35d8a32975c6b2061205508520e","unresolved":false,"context_lines":[{"line_number":1488,"context_line":"            array, device_id)"},{"line_number":1489,"context_line":"        if snapvx_tgt or snapvx_src or rdf:"},{"line_number":1490,"context_line":"            msg \u003d (_(\"Unable to import volume %(device_id)s to cinder. \""},{"line_number":1491,"context_line":"                     \"It is part of a replication session\")"},{"line_number":1492,"context_line":"                   % {\u0027device_id\u0027: device_id})"},{"line_number":1493,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1494,"context_line":"                existing_ref\u003dexternal_ref, reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_23cd485d","line":1491,"updated":"2017-06-20 22:06:56.000000000","message":"period","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"2ab0d90b62391477797510de9a009689b53960ab","unresolved":false,"context_lines":[{"line_number":1488,"context_line":"            array, device_id)"},{"line_number":1489,"context_line":"        if snapvx_tgt or snapvx_src or rdf:"},{"line_number":1490,"context_line":"            msg \u003d (_(\"Unable to import volume %(device_id)s to cinder. \""},{"line_number":1491,"context_line":"                     \"It is part of a replication session\")"},{"line_number":1492,"context_line":"                   % {\u0027device_id\u0027: device_id})"},{"line_number":1493,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1494,"context_line":"                existing_ref\u003dexternal_ref, reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_9bd0ea52","line":1491,"in_reply_to":"5f201791_23cd485d","updated":"2017-06-21 15:37:36.000000000","message":"ok","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"c9372f468b515f50095a624a97306a5b00239a9b","unresolved":false,"context_lines":[{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"            if num_vol_in_sg \u003d\u003d 0:"},{"line_number":1103,"context_line":"                LOG.debug(\"There are no volumes in the storage group \""},{"line_number":1104,"context_line":"                          \"%(sg_id)s. Deleting storage group.\","},{"line_number":1105,"context_line":"                          {\u0027sg_id\u0027: storagegroup_name})"},{"line_number":1106,"context_line":"                self.rest.delete_storage_group("},{"line_number":1107,"context_line":"                    array, storagegroup_name)"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f201791_8da9c77c","side":"PARENT","line":1104,"range":{"start_line":1104,"start_character":59,"end_line":1104,"end_character":63},"updated":"2017-06-21 19:58:17.000000000","message":"Why did you remove this period?","commit_id":"2f08c8dea3c4506ce186ac6ab58148f734cfacca"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"305cd3808b7802d063fd991f643915b52d8f2322","unresolved":false,"context_lines":[{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"            if num_vol_in_sg \u003d\u003d 0:"},{"line_number":1103,"context_line":"                LOG.debug(\"There are no volumes in the storage group \""},{"line_number":1104,"context_line":"                          \"%(sg_id)s. Deleting storage group.\","},{"line_number":1105,"context_line":"                          {\u0027sg_id\u0027: storagegroup_name})"},{"line_number":1106,"context_line":"                self.rest.delete_storage_group("},{"line_number":1107,"context_line":"                    array, storagegroup_name)"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f201791_402808e1","side":"PARENT","line":1104,"range":{"start_line":1104,"start_character":59,"end_line":1104,"end_character":63},"in_reply_to":"5f201791_8da9c77c","updated":"2017-06-22 08:35:47.000000000","message":"Not sure. I will add it back","commit_id":"2f08c8dea3c4506ce186ac6ab58148f734cfacca"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bbc72a87b932a89032503c234c2c7fccbbacdacc","unresolved":false,"context_lines":[{"line_number":1019,"context_line":"                                                snap_name, extra_specs)"},{"line_number":1020,"context_line":"        except Exception as e:"},{"line_number":1021,"context_line":"            exception_message \u003d (_(\"Error creating snap Vx of %(vol)s. \""},{"line_number":1022,"context_line":"                                   \"Exception received: %(e)s.\")"},{"line_number":1023,"context_line":"                                 % {\u0027vol\u0027: source_device_id,"},{"line_number":1024,"context_line":"                                    \u0027e\u0027: six.text_type(e)})"},{"line_number":1025,"context_line":"            LOG.error(exception_message)"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_346bce85","side":"PARENT","line":1022,"range":{"start_line":1022,"start_character":61,"end_line":1022,"end_character":62},"updated":"2017-06-24 19:15:03.000000000","message":"There\u0027s no need to remove this \".\"","commit_id":"2f08c8dea3c4506ce186ac6ab58148f734cfacca"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"89f1629abed39ce5a5c17b4c0eb192af375944bc","unresolved":false,"context_lines":[{"line_number":1019,"context_line":"                                                snap_name, extra_specs)"},{"line_number":1020,"context_line":"        except Exception as e:"},{"line_number":1021,"context_line":"            exception_message \u003d (_(\"Error creating snap Vx of %(vol)s. \""},{"line_number":1022,"context_line":"                                   \"Exception received: %(e)s.\")"},{"line_number":1023,"context_line":"                                 % {\u0027vol\u0027: source_device_id,"},{"line_number":1024,"context_line":"                                    \u0027e\u0027: six.text_type(e)})"},{"line_number":1025,"context_line":"            LOG.error(exception_message)"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_74b58f7d","side":"PARENT","line":1022,"range":{"start_line":1022,"start_character":61,"end_line":1022,"end_character":62},"in_reply_to":"5f201791_346bce85","updated":"2017-06-27 10:06:00.000000000","message":"ok","commit_id":"2f08c8dea3c4506ce186ac6ab58148f734cfacca"}],"cinder/volume/drivers/dell_emc/vmax/rest.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f393dd28eadab35d8a32975c6b2061205508520e","unresolved":false,"context_lines":[{"line_number":779,"context_line":"                return_value \u003d True"},{"line_number":780,"context_line":"            except Exception as e:"},{"line_number":781,"context_line":"                LOG.error(\"Error setting qos. Exception received was \""},{"line_number":782,"context_line":"                          \"%(e)s\", {\u0027e\u0027: six.text_type(e)})"},{"line_number":783,"context_line":"                return_value \u003d False"},{"line_number":784,"context_line":"        return return_value"},{"line_number":785,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_83341c4c","line":782,"range":{"start_line":782,"start_character":41,"end_line":782,"end_character":54},"updated":"2017-06-20 22:06:56.000000000","message":"six.text_type is not needed here as the logger will handle it if needed.","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"2ab0d90b62391477797510de9a009689b53960ab","unresolved":false,"context_lines":[{"line_number":779,"context_line":"                return_value \u003d True"},{"line_number":780,"context_line":"            except Exception as e:"},{"line_number":781,"context_line":"                LOG.error(\"Error setting qos. Exception received was \""},{"line_number":782,"context_line":"                          \"%(e)s\", {\u0027e\u0027: six.text_type(e)})"},{"line_number":783,"context_line":"                return_value \u003d False"},{"line_number":784,"context_line":"        return return_value"},{"line_number":785,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_1bbcda03","line":782,"range":{"start_line":782,"start_character":41,"end_line":782,"end_character":54},"in_reply_to":"5f201791_83341c4c","updated":"2017-06-21 15:37:36.000000000","message":"ok.","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"c9372f468b515f50095a624a97306a5b00239a9b","unresolved":false,"context_lines":[{"line_number":738,"context_line":"            sg_maxmbps \u003d sg_qos_details[\u0027host_io_limit_mb_sec\u0027]"},{"line_number":739,"context_line":"            sg_distribution_type \u003d sg_qos_details[\u0027dynamicDistribution\u0027]"},{"line_number":740,"context_line":"        except KeyError:"},{"line_number":741,"context_line":"            pass"},{"line_number":742,"context_line":"        if \u0027maxIOPS\u0027 in extra_specs.get(\u0027qos\u0027):"},{"line_number":743,"context_line":"            maxiops \u003d extra_specs[\u0027qos\u0027][\u0027maxIOPS\u0027]"},{"line_number":744,"context_line":"            if maxiops !\u003d sg_maxiops:"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f201791_6d066b89","line":741,"range":{"start_line":741,"start_character":12,"end_line":741,"end_character":16},"updated":"2017-06-21 19:58:17.000000000","message":"Seems like it would be useful to print have at least a debug message her in the case that this case is hit and debug is required.","commit_id":"f8b48c0d83db1eba211870f74e0561e82ab37ec6"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"305cd3808b7802d063fd991f643915b52d8f2322","unresolved":false,"context_lines":[{"line_number":738,"context_line":"            sg_maxmbps \u003d sg_qos_details[\u0027host_io_limit_mb_sec\u0027]"},{"line_number":739,"context_line":"            sg_distribution_type \u003d sg_qos_details[\u0027dynamicDistribution\u0027]"},{"line_number":740,"context_line":"        except KeyError:"},{"line_number":741,"context_line":"            pass"},{"line_number":742,"context_line":"        if \u0027maxIOPS\u0027 in extra_specs.get(\u0027qos\u0027):"},{"line_number":743,"context_line":"            maxiops \u003d extra_specs[\u0027qos\u0027][\u0027maxIOPS\u0027]"},{"line_number":744,"context_line":"            if maxiops !\u003d sg_maxiops:"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f201791_805ce07e","line":741,"range":{"start_line":741,"start_character":12,"end_line":741,"end_character":16},"in_reply_to":"5f201791_6d066b89","updated":"2017-06-22 08:35:47.000000000","message":"Sure, we can add one","commit_id":"f8b48c0d83db1eba211870f74e0561e82ab37ec6"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"c9372f468b515f50095a624a97306a5b00239a9b","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                    in dynamic_list):"},{"line_number":755,"context_line":"                exception_message \u003d (_("},{"line_number":756,"context_line":"                    \"Wrong Distribution type value %(dt)s entered. \""},{"line_number":757,"context_line":"                    \"Please enter one of %(dl)s\") %"},{"line_number":758,"context_line":"                    {\u0027dt\u0027: extra_specs.get(\u0027qos\u0027).get(\u0027DistributionType\u0027),"},{"line_number":759,"context_line":"                     \u0027dl\u0027: dynamic_list"},{"line_number":760,"context_line":"                     })"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f201791_0dec97c5","line":757,"range":{"start_line":757,"start_character":38,"end_line":757,"end_character":40},"updated":"2017-06-21 19:58:17.000000000","message":"of:","commit_id":"f8b48c0d83db1eba211870f74e0561e82ab37ec6"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"305cd3808b7802d063fd991f643915b52d8f2322","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                    in dynamic_list):"},{"line_number":755,"context_line":"                exception_message \u003d (_("},{"line_number":756,"context_line":"                    \"Wrong Distribution type value %(dt)s entered. \""},{"line_number":757,"context_line":"                    \"Please enter one of %(dl)s\") %"},{"line_number":758,"context_line":"                    {\u0027dt\u0027: extra_specs.get(\u0027qos\u0027).get(\u0027DistributionType\u0027),"},{"line_number":759,"context_line":"                     \u0027dl\u0027: dynamic_list"},{"line_number":760,"context_line":"                     })"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f201791_20d62cc5","line":757,"range":{"start_line":757,"start_character":38,"end_line":757,"end_character":40},"in_reply_to":"5f201791_0dec97c5","updated":"2017-06-22 08:35:47.000000000","message":"Sure","commit_id":"f8b48c0d83db1eba211870f74e0561e82ab37ec6"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"c9372f468b515f50095a624a97306a5b00239a9b","unresolved":false,"context_lines":[{"line_number":778,"context_line":"                                               message)"},{"line_number":779,"context_line":"                return_value \u003d True"},{"line_number":780,"context_line":"            except Exception as e:"},{"line_number":781,"context_line":"                LOG.error(\"Error setting qos. Exception received was \""},{"line_number":782,"context_line":"                          \"%(e)s\", {\u0027e\u0027: e})"},{"line_number":783,"context_line":"                return_value \u003d False"},{"line_number":784,"context_line":"        return return_value"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f201791_6d2b0beb","line":781,"range":{"start_line":781,"start_character":64,"end_line":781,"end_character":68},"updated":"2017-06-21 19:58:17.000000000","message":"was:","commit_id":"f8b48c0d83db1eba211870f74e0561e82ab37ec6"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"305cd3808b7802d063fd991f643915b52d8f2322","unresolved":false,"context_lines":[{"line_number":778,"context_line":"                                               message)"},{"line_number":779,"context_line":"                return_value \u003d True"},{"line_number":780,"context_line":"            except Exception as e:"},{"line_number":781,"context_line":"                LOG.error(\"Error setting qos. Exception received was \""},{"line_number":782,"context_line":"                          \"%(e)s\", {\u0027e\u0027: e})"},{"line_number":783,"context_line":"                return_value \u003d False"},{"line_number":784,"context_line":"        return return_value"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f201791_a0f35c73","line":781,"range":{"start_line":781,"start_character":64,"end_line":781,"end_character":68},"in_reply_to":"5f201791_6d2b0beb","updated":"2017-06-22 08:35:47.000000000","message":"Sure","commit_id":"f8b48c0d83db1eba211870f74e0561e82ab37ec6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bbc72a87b932a89032503c234c2c7fccbbacdacc","unresolved":false,"context_lines":[{"line_number":712,"context_line":"    def update_storagegroup_qos(self, array, storage_group_name, extra_specs):"},{"line_number":713,"context_line":"        \"\"\"Update the storagegroupinstance with qos details."},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        If MaxIOPS or maxMBPS is in extra_specs, then DistributionType can be"},{"line_number":716,"context_line":"        modified in addition to MaxIOPS or/and maxMBPS"},{"line_number":717,"context_line":"        If MaxIOPS or maxMBPS is NOT in extra_specs, we check to see if"},{"line_number":718,"context_line":"        either is set in StorageGroup. If so, then DistributionType can be"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_144fb234","line":715,"range":{"start_line":715,"start_character":11,"end_line":715,"end_character":30},"updated":"2017-06-24 19:15:03.000000000","message":"To be consistent, please make both first letter lower case.","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"89f1629abed39ce5a5c17b4c0eb192af375944bc","unresolved":false,"context_lines":[{"line_number":712,"context_line":"    def update_storagegroup_qos(self, array, storage_group_name, extra_specs):"},{"line_number":713,"context_line":"        \"\"\"Update the storagegroupinstance with qos details."},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        If MaxIOPS or maxMBPS is in extra_specs, then DistributionType can be"},{"line_number":716,"context_line":"        modified in addition to MaxIOPS or/and maxMBPS"},{"line_number":717,"context_line":"        If MaxIOPS or maxMBPS is NOT in extra_specs, we check to see if"},{"line_number":718,"context_line":"        either is set in StorageGroup. If so, then DistributionType can be"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_14b09b89","line":715,"range":{"start_line":715,"start_character":11,"end_line":715,"end_character":30},"in_reply_to":"5f201791_144fb234","updated":"2017-06-27 10:06:00.000000000","message":"ok","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bbc72a87b932a89032503c234c2c7fccbbacdacc","unresolved":false,"context_lines":[{"line_number":713,"context_line":"        \"\"\"Update the storagegroupinstance with qos details."},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        If MaxIOPS or maxMBPS is in extra_specs, then DistributionType can be"},{"line_number":716,"context_line":"        modified in addition to MaxIOPS or/and maxMBPS"},{"line_number":717,"context_line":"        If MaxIOPS or maxMBPS is NOT in extra_specs, we check to see if"},{"line_number":718,"context_line":"        either is set in StorageGroup. If so, then DistributionType can be"},{"line_number":719,"context_line":"        modified"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_7475c663","line":716,"range":{"start_line":716,"start_character":32,"end_line":716,"end_character":54},"updated":"2017-06-24 19:15:03.000000000","message":"Same","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"89f1629abed39ce5a5c17b4c0eb192af375944bc","unresolved":false,"context_lines":[{"line_number":713,"context_line":"        \"\"\"Update the storagegroupinstance with qos details."},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        If MaxIOPS or maxMBPS is in extra_specs, then DistributionType can be"},{"line_number":716,"context_line":"        modified in addition to MaxIOPS or/and maxMBPS"},{"line_number":717,"context_line":"        If MaxIOPS or maxMBPS is NOT in extra_specs, we check to see if"},{"line_number":718,"context_line":"        either is set in StorageGroup. If so, then DistributionType can be"},{"line_number":719,"context_line":"        modified"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_f4a87f20","line":716,"range":{"start_line":716,"start_character":32,"end_line":716,"end_character":54},"in_reply_to":"5f201791_7475c663","updated":"2017-06-27 10:06:00.000000000","message":"ok","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bbc72a87b932a89032503c234c2c7fccbbacdacc","unresolved":false,"context_lines":[{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        If MaxIOPS or maxMBPS is in extra_specs, then DistributionType can be"},{"line_number":716,"context_line":"        modified in addition to MaxIOPS or/and maxMBPS"},{"line_number":717,"context_line":"        If MaxIOPS or maxMBPS is NOT in extra_specs, we check to see if"},{"line_number":718,"context_line":"        either is set in StorageGroup. If so, then DistributionType can be"},{"line_number":719,"context_line":"        modified"},{"line_number":720,"context_line":"        :param array: the array serial number"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_b457deca","line":717,"range":{"start_line":717,"start_character":11,"end_line":717,"end_character":29},"updated":"2017-06-24 19:15:03.000000000","message":"Same.","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"89f1629abed39ce5a5c17b4c0eb192af375944bc","unresolved":false,"context_lines":[{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        If MaxIOPS or maxMBPS is in extra_specs, then DistributionType can be"},{"line_number":716,"context_line":"        modified in addition to MaxIOPS or/and maxMBPS"},{"line_number":717,"context_line":"        If MaxIOPS or maxMBPS is NOT in extra_specs, we check to see if"},{"line_number":718,"context_line":"        either is set in StorageGroup. If so, then DistributionType can be"},{"line_number":719,"context_line":"        modified"},{"line_number":720,"context_line":"        :param array: the array serial number"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_d4a58348","line":717,"range":{"start_line":717,"start_character":11,"end_line":717,"end_character":29},"in_reply_to":"5f201791_b457deca","updated":"2017-06-27 10:06:00.000000000","message":"ok","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"7ebffd20c3aac26b7bf38d2272bf03c0c17f4380","unresolved":false,"context_lines":[{"line_number":720,"context_line":"        :param array: the array serial number"},{"line_number":721,"context_line":"        :param storage_group_name: the storagegroup instance name"},{"line_number":722,"context_line":"        :param extra_specs: extra specifications"},{"line_number":723,"context_line":"        :return bool, True if updated, else False"},{"line_number":724,"context_line":"        \"\"\""},{"line_number":725,"context_line":"        return_value \u003d False"},{"line_number":726,"context_line":"        sg_details \u003d self.get_storage_group(array, storage_group_name)"}],"source_content_type":"text/x-python","patch_set":33,"id":"3f1d235d_0fece427","line":723,"range":{"start_line":723,"start_character":8,"end_line":723,"end_character":15},"updated":"2017-07-06 15:49:37.000000000","message":":returns:","commit_id":"7f3a7a1af76890beff5a9c7a1ae3b63e5f7f2ec4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"81d196dd1e401a5d7c6dbd9b0001f307da27faa6","unresolved":false,"context_lines":[{"line_number":720,"context_line":"        :param array: the array serial number"},{"line_number":721,"context_line":"        :param storage_group_name: the storagegroup instance name"},{"line_number":722,"context_line":"        :param extra_specs: extra specifications"},{"line_number":723,"context_line":"        :return bool, True if updated, else False"},{"line_number":724,"context_line":"        \"\"\""},{"line_number":725,"context_line":"        return_value \u003d False"},{"line_number":726,"context_line":"        sg_details \u003d self.get_storage_group(array, storage_group_name)"}],"source_content_type":"text/x-python","patch_set":33,"id":"3f1d235d_5324c25d","line":723,"range":{"start_line":723,"start_character":8,"end_line":723,"end_character":15},"in_reply_to":"3f1d235d_0fece427","updated":"2017-07-06 17:16:38.000000000","message":"I didn\u0027t know this would fail the doc build.  Thanks for pointing it out!","commit_id":"7f3a7a1af76890beff5a9c7a1ae3b63e5f7f2ec4"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"737aca5cb3f6cb96d00e246ef46a616dccd50972","unresolved":false,"context_lines":[{"line_number":720,"context_line":"        :param array: the array serial number"},{"line_number":721,"context_line":"        :param storage_group_name: the storagegroup instance name"},{"line_number":722,"context_line":"        :param extra_specs: extra specifications"},{"line_number":723,"context_line":"        :return bool, True if updated, else False"},{"line_number":724,"context_line":"        \"\"\""},{"line_number":725,"context_line":"        return_value \u003d False"},{"line_number":726,"context_line":"        sg_details \u003d self.get_storage_group(array, storage_group_name)"}],"source_content_type":"text/x-python","patch_set":33,"id":"3f1d235d_453994d4","line":723,"range":{"start_line":723,"start_character":8,"end_line":723,"end_character":15},"in_reply_to":"3f1d235d_5324c25d","updated":"2017-07-06 20:23:43.000000000","message":"Sure.  I will fix it.  Thank you","commit_id":"7f3a7a1af76890beff5a9c7a1ae3b63e5f7f2ec4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3533025a3a88d6c29ad92a431c6a41af7d7bb663","unresolved":false,"context_lines":[{"line_number":720,"context_line":"        :param array: the array serial number"},{"line_number":721,"context_line":"        :param storage_group_name: the storagegroup instance name"},{"line_number":722,"context_line":"        :param extra_specs: extra specifications"},{"line_number":723,"context_line":"        :returns bool, True if updated, else False"},{"line_number":724,"context_line":"        \"\"\""},{"line_number":725,"context_line":"        return_value \u003d False"},{"line_number":726,"context_line":"        sg_details \u003d self.get_storage_group(array, storage_group_name)"}],"source_content_type":"text/x-python","patch_set":34,"id":"3f1d235d_e8785b2c","line":723,"range":{"start_line":723,"start_character":8,"end_line":723,"end_character":16},"updated":"2017-07-07 14:11:44.000000000","message":"Missing \":\" at the end.  Should be:\n\n:returns:","commit_id":"faea6ef14cc34d1ee539a7d2a576397f517b5cb0"}],"cinder/volume/drivers/dell_emc/vmax/rest/fc.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"51d94d832577334c305133e73409a8d2bd338a19","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        1.0.0 - Initial driver"},{"line_number":37,"context_line":"        2.0.0 - Add driver requirement functions"},{"line_number":38,"context_line":"        3.0.0 - Rest based driver"},{"line_number":39,"context_line":"        3.0.1 - Manage existing/ unmanage"},{"line_number":40,"context_line":"        3.0.2 - Retype (storage-assisted migration)"},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    VERSION \u003d \"3.0.2\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    # ThirdPartySystems wiki"},{"line_number":46,"context_line":"    CI_WIKI_NAME \u003d \"EMC_VMAX_CI\""}],"source_content_type":"text/x-python","patch_set":10,"id":"1f013ff3_2b9cb75b","side":"PARENT","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":21},"updated":"2017-05-16 23:08:07.000000000","message":"I wondered on the other patch about not having versions for the other changes.  Why are you removing them here?  Seems kind-of bad to have had them and then remove them.","commit_id":"e470bea66f7c91bdeac95890f40182d13d91b1e3"}],"cinder/volume/drivers/dell_emc/vmax/rest/utils.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"51d94d832577334c305133e73409a8d2bd338a19","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume_types.get_volume_type_qos_specs(type_id)"},{"line_number":420,"context_line":"        except Exception as e:"},{"line_number":421,"context_line":"            LOG.debug(\"Unable to get QoS specifications. Exception: %(e)s\""},{"line_number":422,"context_line":"                      % {\u0027e\u0027: e})"},{"line_number":423,"context_line":"        return qos_specs"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f013ff3_cbc5533e","line":422,"range":{"start_line":421,"start_character":0,"end_line":422,"end_character":33},"updated":"2017-05-16 23:08:07.000000000","message":"LOG.debug isn\u0027t appropriate here.  Should be LOG.error or LOG.warning.","commit_id":"11cd5f50997399b30b12730d3cc31bae04fdc647"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"103984a9c5cb4451b39aaf231ce8faaf8aa7d1e4","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume_types.get_volume_type_qos_specs(type_id)"},{"line_number":420,"context_line":"        except Exception as e:"},{"line_number":421,"context_line":"            LOG.debug(\"Unable to get QoS specifications. Exception: %(e)s\""},{"line_number":422,"context_line":"                      % {\u0027e\u0027: e})"},{"line_number":423,"context_line":"        return qos_specs"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff0f0b1f_44ba8fde","line":422,"range":{"start_line":421,"start_character":0,"end_line":422,"end_character":33},"in_reply_to":"1f013ff3_cbc5533e","updated":"2017-05-17 14:56:42.000000000","message":"We will change it to LOG.warning.  Thank you","commit_id":"11cd5f50997399b30b12730d3cc31bae04fdc647"}],"cinder/volume/drivers/dell_emc/vmax/utils.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f393dd28eadab35d8a32975c6b2061205508520e","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            if volume_type_id:"},{"line_number":415,"context_line":"                type_id \u003d volume_type_id"},{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                type_id \u003d volume[\u0027volume_type_id\u0027]"},{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume_types.get_volume_type_qos_specs(type_id)"},{"line_number":420,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_830d3c92","line":417,"range":{"start_line":417,"start_character":26,"end_line":417,"end_character":50},"updated":"2017-06-20 22:06:56.000000000","message":"volume is an object here.  Use volume.volume_type_id","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"2ab0d90b62391477797510de9a009689b53960ab","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            if volume_type_id:"},{"line_number":415,"context_line":"                type_id \u003d volume_type_id"},{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                type_id \u003d volume[\u0027volume_type_id\u0027]"},{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume_types.get_volume_type_qos_specs(type_id)"},{"line_number":420,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_3b5436ca","line":417,"range":{"start_line":417,"start_character":26,"end_line":417,"end_character":50},"in_reply_to":"5f201791_830d3c92","updated":"2017-06-21 15:37:36.000000000","message":"ok. Thanks","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"f393dd28eadab35d8a32975c6b2061205508520e","unresolved":false,"context_lines":[{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                type_id \u003d volume[\u0027volume_type_id\u0027]"},{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume_types.get_volume_type_qos_specs(type_id)"},{"line_number":420,"context_line":"        except Exception as e:"},{"line_number":421,"context_line":"            LOG.debug(\"Unable to get QoS specifications. Exception: %(e)s\""},{"line_number":422,"context_line":"                      % {\u0027e\u0027: e})"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_2352e868","line":419,"range":{"start_line":419,"start_character":28,"end_line":419,"end_character":75},"updated":"2017-06-20 22:06:56.000000000","message":"This is not necessary if you use volume.  volume.volume_type.qos_specs should get this for you.","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"2ab0d90b62391477797510de9a009689b53960ab","unresolved":false,"context_lines":[{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                type_id \u003d volume[\u0027volume_type_id\u0027]"},{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume_types.get_volume_type_qos_specs(type_id)"},{"line_number":420,"context_line":"        except Exception as e:"},{"line_number":421,"context_line":"            LOG.debug(\"Unable to get QoS specifications. Exception: %(e)s\""},{"line_number":422,"context_line":"                      % {\u0027e\u0027: e})"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f201791_fb5fdee2","line":419,"range":{"start_line":419,"start_character":28,"end_line":419,"end_character":75},"in_reply_to":"5f201791_2352e868","updated":"2017-06-21 15:37:36.000000000","message":"ok.  Thanks","commit_id":"0c7db00491d57f5f1101a3fcc04e75b4529b000c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bbc72a87b932a89032503c234c2c7fccbbacdacc","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        \"\"\"Get the qos specs."},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"        :param volume: the volume dictionary"},{"line_number":408,"context_line":"        :param volume_type_id: Optional override for volume[\u0027volume_type_id\u0027]"},{"line_number":409,"context_line":"        :returns: dict -- qos_specs - the qos specs"},{"line_number":410,"context_line":"        \"\"\""},{"line_number":411,"context_line":"        qos_specs \u003d {}"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_14ba1209","line":408,"range":{"start_line":408,"start_character":53,"end_line":408,"end_character":77},"updated":"2017-06-24 19:15:03.000000000","message":"volume.volume_type_id","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"89f1629abed39ce5a5c17b4c0eb192af375944bc","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        \"\"\"Get the qos specs."},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"        :param volume: the volume dictionary"},{"line_number":408,"context_line":"        :param volume_type_id: Optional override for volume[\u0027volume_type_id\u0027]"},{"line_number":409,"context_line":"        :returns: dict -- qos_specs - the qos specs"},{"line_number":410,"context_line":"        \"\"\""},{"line_number":411,"context_line":"        qos_specs \u003d {}"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f201791_746a2fed","line":408,"range":{"start_line":408,"start_character":53,"end_line":408,"end_character":77},"in_reply_to":"5f201791_14ba1209","updated":"2017-06-27 10:06:00.000000000","message":"Sure","commit_id":"35b06362ec30cedb6c3d30cfd624bb3aeeecff29"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"977816a65d0fb35bb34e10e92d04f6c92a5bd7dd","unresolved":false,"context_lines":[{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                type_id \u003d volume.volume_type_id"},{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume.volume_type.qos_specs"},{"line_number":420,"context_line":"        except Exception as e:"},{"line_number":421,"context_line":"            LOG.debug(\"Unable to get QoS specifications. Exception: %(e)s\""},{"line_number":422,"context_line":"                      % {\u0027e\u0027: e})"}],"source_content_type":"text/x-python","patch_set":31,"id":"3f1d235d_8e064586","line":419,"range":{"start_line":419,"start_character":47,"end_line":419,"end_character":56},"updated":"2017-07-02 13:42:12.000000000","message":"This will only give you the qos_specs associated with volume.volume_type_id.  Why do you need to pass in volume_type_id to override volume.volume_type_id?  Please add a comment to explain the reason.","commit_id":"cd2539a059583f698a070259292710a24e4fdcd7"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f698ce6c4ea2466f727edca8943787a3456af67c","unresolved":false,"context_lines":[{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                type_id \u003d volume.volume_type_id"},{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume.volume_type.qos_specs"},{"line_number":420,"context_line":"        except Exception as e:"},{"line_number":421,"context_line":"            LOG.debug(\"Unable to get QoS specifications. Exception: %(e)s\""},{"line_number":422,"context_line":"                      % {\u0027e\u0027: e})"}],"source_content_type":"text/x-python","patch_set":31,"id":"3f1d235d_cfd8a580","line":419,"range":{"start_line":419,"start_character":47,"end_line":419,"end_character":56},"in_reply_to":"3f1d235d_74072484","updated":"2017-07-03 13:08:24.000000000","message":"Unana, Xing has already recommended we change it to volume.volume_type.qos.  Does this not work?","commit_id":"cd2539a059583f698a070259292710a24e4fdcd7"},{"author":{"_account_id":22021,"name":"Unana Okpoyo","email":"tomitu@yahoo.com","username":"UnanaOkpoyo"},"change_message_id":"545d2126f81c4cfbd3684f2d9a365d79306d45b4","unresolved":false,"context_lines":[{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                type_id \u003d volume.volume_type_id"},{"line_number":418,"context_line":"            if type_id is not None:"},{"line_number":419,"context_line":"                qos_specs \u003d volume.volume_type.qos_specs"},{"line_number":420,"context_line":"        except Exception as e:"},{"line_number":421,"context_line":"            LOG.debug(\"Unable to get QoS specifications. Exception: %(e)s\""},{"line_number":422,"context_line":"                      % {\u0027e\u0027: e})"}],"source_content_type":"text/x-python","patch_set":31,"id":"3f1d235d_74072484","line":419,"range":{"start_line":419,"start_character":47,"end_line":419,"end_character":56},"in_reply_to":"3f1d235d_8e064586","updated":"2017-07-03 12:51:18.000000000","message":"The type id should be used in retrieving the associated qos_specs. This will be changed to reflect so","commit_id":"cd2539a059583f698a070259292710a24e4fdcd7"}]}
