)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cb4b86795aba6bcdf83427067bad03971550b8f0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"EMC VMAX - getting iscsi ip from port in existing masking view"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes bug in getting the iscsi ip address from"},{"line_number":10,"context_line":"an existing masking view.  in this scenario we must query"},{"line_number":11,"context_line":"the port(s) in the portgroup belonging to the masking view"},{"line_number":12,"context_line":"and not the random port group from the xml file."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_40e5d3d9","line":10,"updated":"2015-11-18 13:42:11.000000000","message":"s/in/In","commit_id":"5a864e6efeee89aad3dc4b04652d085b6969140f"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"8d61594489a4a5559157ecc59de5393fc4e85da6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"EMC VMAX - getting iscsi ip from port in existing masking view"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes bug in getting the iscsi ip address from"},{"line_number":10,"context_line":"an existing masking view.  in this scenario we must query"},{"line_number":11,"context_line":"the port(s) in the portgroup belonging to the masking view"},{"line_number":12,"context_line":"and not the random port group from the xml file."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_3b5ec044","line":10,"in_reply_to":"ba8a016a_40e5d3d9","updated":"2015-11-18 14:40:43.000000000","message":"ok.  Thanks","commit_id":"5a864e6efeee89aad3dc4b04652d085b6969140f"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"6a0522fff00c9f54c8e9f379479f74b220dfa1bc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Helen Walsh \u003chelen.walsh@emc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-01-18 20:15:41 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"EMC VMAX - getting iscsi ip from port in existing masking view"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes bug in getting the iscsi ip address from"},{"line_number":10,"context_line":"an existing masking view.  In this scenario we must query"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba63e191_fa5bc72c","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":62},"updated":"2016-01-18 22:28:15.000000000","message":"First line should be limited to 50 characters.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"fb0fbf1a10b356bfe014a4bc8c9ecf507c321865"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"43e08057fadb1a0781cd0f472b971071aa1f9e17","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Helen Walsh \u003chelen.walsh@emc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-01-18 20:15:41 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"EMC VMAX - getting iscsi ip from port in existing masking view"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes bug in getting the iscsi ip address from"},{"line_number":10,"context_line":"an existing masking view.  In this scenario we must query"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba63e191_2bb57ecc","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":62},"in_reply_to":"ba63e191_fa5bc72c","updated":"2016-01-19 09:57:34.000000000","message":"I will change this.  Thanks","commit_id":"fb0fbf1a10b356bfe014a4bc8c9ecf507c321865"}],"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cb4b86795aba6bcdf83427067bad03971550b8f0","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                             \"The device number is  %(deviceNumber)s.\"),"},{"line_number":392,"context_line":"                         {\u0027volume\u0027: volumeName,"},{"line_number":393,"context_line":"                          \u0027deviceNumber\u0027: deviceNumber})"},{"line_number":394,"context_line":"                # Special case, we still need to get the iscsi ip address"},{"line_number":395,"context_line":"                portGroupName \u003d ("},{"line_number":396,"context_line":"                    self._get_correct_port_group("},{"line_number":397,"context_line":"                        deviceInfoDict, maskingViewDict[\u0027storageSystemName\u0027]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_80141ba0","line":394,"updated":"2015-11-18 13:42:11.000000000","message":"Better to add a \".\" at the EOL.","commit_id":"5a864e6efeee89aad3dc4b04652d085b6969140f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cb4b86795aba6bcdf83427067bad03971550b8f0","unresolved":false,"context_lines":[{"line_number":477,"context_line":"        return False"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    def _get_correct_port_group(self, deviceInfoDict, storageSystemName):"},{"line_number":480,"context_line":"        \"\"\"Get the portgroup name from the existing masking view"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        :params deviceInfoDict: the device info dictionary"},{"line_number":483,"context_line":"        :params storageSystemName: storage system name"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_4058738a","line":480,"updated":"2015-11-18 13:42:11.000000000","message":"Better to add a \".\" at the EOL.","commit_id":"5a864e6efeee89aad3dc4b04652d085b6969140f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cb4b86795aba6bcdf83427067bad03971550b8f0","unresolved":false,"context_lines":[{"line_number":491,"context_line":"                    self.conn.GetInstance(maskingViewInstanceName))"},{"line_number":492,"context_line":"            except Exception:"},{"line_number":493,"context_line":"                exception_message \u003d (\"Unable to get the name of \""},{"line_number":494,"context_line":"                                     \"the masking view\")"},{"line_number":495,"context_line":"                raise exception.VolumeBackendAPIException("},{"line_number":496,"context_line":"                    data\u003dexception_message)"},{"line_number":497,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_c04c63ca","line":494,"updated":"2015-11-18 13:42:11.000000000","message":"Better to add a \".\" at the EOL.","commit_id":"5a864e6efeee89aad3dc4b04652d085b6969140f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cb4b86795aba6bcdf83427067bad03971550b8f0","unresolved":false,"context_lines":[{"line_number":508,"context_line":"                    portGroupInstance[\u0027ElementName\u0027])"},{"line_number":509,"context_line":"            except Exception:"},{"line_number":510,"context_line":"                exception_message \u003d (\"Unable to get the name of \""},{"line_number":511,"context_line":"                                     \"the portgroup\")"},{"line_number":512,"context_line":"                raise exception.VolumeBackendAPIException("},{"line_number":513,"context_line":"                    data\u003dexception_message)"},{"line_number":514,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_80c97b28","line":511,"updated":"2015-11-18 13:42:11.000000000","message":"Better to add a \".\" at the EOL.","commit_id":"5a864e6efeee89aad3dc4b04652d085b6969140f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cb4b86795aba6bcdf83427067bad03971550b8f0","unresolved":false,"context_lines":[{"line_number":513,"context_line":"                    data\u003dexception_message)"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            exception_message \u003d (\"Cannot get the portgroup from \""},{"line_number":516,"context_line":"                                 \"the masking view\")"},{"line_number":517,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":518,"context_line":"                data\u003dexception_message)"},{"line_number":519,"context_line":"        return portGroupName"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_60d497bc","line":516,"updated":"2015-11-18 13:42:11.000000000","message":"Better to add a \".\" at the EOL.","commit_id":"5a864e6efeee89aad3dc4b04652d085b6969140f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cb4b86795aba6bcdf83427067bad03971550b8f0","unresolved":false,"context_lines":[{"line_number":4376,"context_line":"        :returns: foundIpAddresses"},{"line_number":4377,"context_line":"        \"\"\""},{"line_number":4378,"context_line":"        LOG.debug(\"The portgroup name for iscsiadm is %(pg)s\""},{"line_number":4379,"context_line":"                  % {\u0027pg\u0027: portgroupname})"},{"line_number":4380,"context_line":"        foundipaddresses \u003d []"},{"line_number":4381,"context_line":"        configservice \u003d ("},{"line_number":4382,"context_line":"            self.utils.find_controller_configuration_service("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_c091c3f2","line":4379,"updated":"2015-11-18 13:42:11.000000000","message":"Please change % to comma.","commit_id":"5a864e6efeee89aad3dc4b04652d085b6969140f"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"644e13c6eb7f76df52ca61b1a27a8d6a2bdaed8a","unresolved":false,"context_lines":[{"line_number":505,"context_line":"                portGroupInstance \u003d ("},{"line_number":506,"context_line":"                    self.conn.GetInstance(portGroupInstanceName))"},{"line_number":507,"context_line":"                portGroupName \u003d ("},{"line_number":508,"context_line":"                    portGroupInstance[\u0027ElementName\u0027])"},{"line_number":509,"context_line":"            except Exception:"},{"line_number":510,"context_line":"                exception_message \u003d (\"Unable to get the name of \""},{"line_number":511,"context_line":"                                     \"the portgroup.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_3ce7b3e5","line":508,"updated":"2015-11-23 23:14:55.000000000","message":"won\u0027t this fit inside 80 chars?","commit_id":"c3f9e1f135c36a8d16f6c364e6412d5f6554407c"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"5d419219b73c3b5f2abb465bd78639df100741bd","unresolved":false,"context_lines":[{"line_number":491,"context_line":"                maskingViewInstance \u003d ("},{"line_number":492,"context_line":"                    self.conn.GetInstance(maskingViewInstanceName))"},{"line_number":493,"context_line":"            except Exception:"},{"line_number":494,"context_line":"                exception_message \u003d (\"Unable to get the name of \""},{"line_number":495,"context_line":"                                     \"the masking view.\")"},{"line_number":496,"context_line":"                raise exception.VolumeBackendAPIException("},{"line_number":497,"context_line":"                    data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba63e191_d97c9f74","line":494,"updated":"2016-01-19 16:54:30.000000000","message":"All of these exception_message strings need the _() translation marker.","commit_id":"95f8549995e54b6620edd5e04e92e90aa9a7e502"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"9df458fd3ad5e72ad2c27bdf4d1304d40db459c5","unresolved":false,"context_lines":[{"line_number":491,"context_line":"                maskingViewInstance \u003d ("},{"line_number":492,"context_line":"                    self.conn.GetInstance(maskingViewInstanceName))"},{"line_number":493,"context_line":"            except Exception:"},{"line_number":494,"context_line":"                exception_message \u003d (\"Unable to get the name of \""},{"line_number":495,"context_line":"                                     \"the masking view.\")"},{"line_number":496,"context_line":"                raise exception.VolumeBackendAPIException("},{"line_number":497,"context_line":"                    data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba63e191_42864fba","line":494,"in_reply_to":"ba63e191_d97c9f74","updated":"2016-01-20 10:12:18.000000000","message":"Sure, I will change them","commit_id":"95f8549995e54b6620edd5e04e92e90aa9a7e502"}],"cinder/volume/drivers/emc/emc_vmax_fc.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"5e1530cec70986c362ddd43831ab810263ad049f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":44,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":45,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":46,"context_line":"        2.3   - Bug - Getting iscsi ip from port in existing masking view"},{"line_number":47,"context_line":"    \"\"\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_75eedab5","line":46,"updated":"2015-12-04 17:22:49.000000000","message":"2 2.3\u0027s ?","commit_id":"0de2642d4392f33ffe4ee0104ac78fcad17ab25f"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"a5311f6a831c1948e52ea4391563a0086dee7a13","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":44,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":45,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":46,"context_line":"        2.3   - Bug - Getting iscsi ip from port in existing masking view"},{"line_number":47,"context_line":"    \"\"\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_701b451c","line":46,"in_reply_to":"7a740942_75eedab5","updated":"2015-12-04 17:41:13.000000000","message":"We are going to have the same version for all.  I will change to the following based on other comments given today. \n2.3   - Name change for MV and SG for FAS ....\n      - Getting iscsi ip from port in existing masking ..","commit_id":"0de2642d4392f33ffe4ee0104ac78fcad17ab25f"}],"cinder/volume/drivers/emc/emc_vmax_iscsi.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"5e1530cec70986c362ddd43831ab810263ad049f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":52,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":53,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":54,"context_line":"        2.3   - Bug - Getting iscsi ip from port in existing masking view"},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_f5388a3f","line":54,"updated":"2015-12-04 17:22:49.000000000","message":"2.3.1?  2.4 ?","commit_id":"0de2642d4392f33ffe4ee0104ac78fcad17ab25f"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"a5311f6a831c1948e52ea4391563a0086dee7a13","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        2.2.3 - Pool aware scheduler(multi-pool) support"},{"line_number":52,"context_line":"        2.2.4 - Create CG from CG snapshot"},{"line_number":53,"context_line":"        2.3   - Name change for MV and SG for FAST (bug #1515181)"},{"line_number":54,"context_line":"        2.3   - Bug - Getting iscsi ip from port in existing masking view"},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    VERSION \u003d \"2.3\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_d091d953","line":54,"in_reply_to":"7a740942_f5388a3f","updated":"2015-12-04 17:41:13.000000000","message":"See _fc.py","commit_id":"0de2642d4392f33ffe4ee0104ac78fcad17ab25f"}],"cinder/volume/drivers/emc/emc_vmax_masking.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"644e13c6eb7f76df52ca61b1a27a8d6a2bdaed8a","unresolved":false,"context_lines":[{"line_number":2372,"context_line":"                portGroupInstance \u003d ("},{"line_number":2373,"context_line":"                    conn.GetInstance(portGroupInstanceName))"},{"line_number":2374,"context_line":"                portGroupName \u003d ("},{"line_number":2375,"context_line":"                    portGroupInstance[\u0027ElementName\u0027])"},{"line_number":2376,"context_line":"            except Exception:"},{"line_number":2377,"context_line":"                errorMessage \u003d (_("},{"line_number":2378,"context_line":"                    \"Cannot get port group name.\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_5cb397e9","line":2375,"updated":"2015-11-23 23:14:55.000000000","message":"won\u0027t this fit inside 80 chars?","commit_id":"c3f9e1f135c36a8d16f6c364e6412d5f6554407c"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"644e13c6eb7f76df52ca61b1a27a8d6a2bdaed8a","unresolved":false,"context_lines":[{"line_number":2375,"context_line":"                    portGroupInstance[\u0027ElementName\u0027])"},{"line_number":2376,"context_line":"            except Exception:"},{"line_number":2377,"context_line":"                errorMessage \u003d (_("},{"line_number":2378,"context_line":"                    \"Cannot get port group name.\"))"},{"line_number":2379,"context_line":"                LOG.error(errorMessage)"},{"line_number":2380,"context_line":"        return portGroupName, errorMessage"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_7cb69bdd","line":2378,"updated":"2015-11-23 23:14:55.000000000","message":"won\u0027t this fit inside 80 chars?","commit_id":"c3f9e1f135c36a8d16f6c364e6412d5f6554407c"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"10e4b707333609128708ec90dc76bfb4b39faada","unresolved":false,"context_lines":[{"line_number":2365,"context_line":"            errorMessage \u003d (_("},{"line_number":2366,"context_line":"                \"Cannot get port group from masking view: \""},{"line_number":2367,"context_line":"                \"%(maskingViewName)s. \")"},{"line_number":2368,"context_line":"                % {\u0027maskingViewName\u0027: maskingViewName})"},{"line_number":2369,"context_line":"            LOG.error(errorMessage)"},{"line_number":2370,"context_line":"        else:"},{"line_number":2371,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_85c27f83","line":2368,"updated":"2015-12-09 09:19:30.000000000","message":"Should use _LE here.","commit_id":"982b6d4b3455f1abe818c00017e556329697f010"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"08d64df29bf0fa9d38fff16c3fd4823d7f9314f0","unresolved":false,"context_lines":[{"line_number":2365,"context_line":"            errorMessage \u003d (_("},{"line_number":2366,"context_line":"                \"Cannot get port group from masking view: \""},{"line_number":2367,"context_line":"                \"%(maskingViewName)s. \")"},{"line_number":2368,"context_line":"                % {\u0027maskingViewName\u0027: maskingViewName})"},{"line_number":2369,"context_line":"            LOG.error(errorMessage)"},{"line_number":2370,"context_line":"        else:"},{"line_number":2371,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_79705e72","line":2368,"in_reply_to":"7a740942_85c27f83","updated":"2015-12-09 10:32:31.000000000","message":"Sure, we will change it.","commit_id":"982b6d4b3455f1abe818c00017e556329697f010"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"10e4b707333609128708ec90dc76bfb4b39faada","unresolved":false,"context_lines":[{"line_number":2374,"context_line":"                portGroupName \u003d ("},{"line_number":2375,"context_line":"                    portGroupInstance[\u0027ElementName\u0027])"},{"line_number":2376,"context_line":"            except Exception:"},{"line_number":2377,"context_line":"                errorMessage \u003d (_("},{"line_number":2378,"context_line":"                    \"Cannot get port group name.\"))"},{"line_number":2379,"context_line":"                LOG.error(errorMessage)"},{"line_number":2380,"context_line":"        return portGroupName, errorMessage"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_45b81711","line":2377,"updated":"2015-12-09 09:19:30.000000000","message":"here too.","commit_id":"982b6d4b3455f1abe818c00017e556329697f010"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"08d64df29bf0fa9d38fff16c3fd4823d7f9314f0","unresolved":false,"context_lines":[{"line_number":2374,"context_line":"                portGroupName \u003d ("},{"line_number":2375,"context_line":"                    portGroupInstance[\u0027ElementName\u0027])"},{"line_number":2376,"context_line":"            except Exception:"},{"line_number":2377,"context_line":"                errorMessage \u003d (_("},{"line_number":2378,"context_line":"                    \"Cannot get port group name.\"))"},{"line_number":2379,"context_line":"                LOG.error(errorMessage)"},{"line_number":2380,"context_line":"        return portGroupName, errorMessage"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_d90712c8","line":2377,"in_reply_to":"7a740942_45b81711","updated":"2015-12-09 10:32:31.000000000","message":"Ok","commit_id":"982b6d4b3455f1abe818c00017e556329697f010"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"47557f4ed4f550f00fa27b6b7b99ecbea39cd229","unresolved":false,"context_lines":[{"line_number":2381,"context_line":"        if portGroupInstanceName is None:"},{"line_number":2382,"context_line":"            LOG.error(_LE("},{"line_number":2383,"context_line":"                \"Cannot get port group from masking view: \""},{"line_number":2384,"context_line":"                \"%(maskingViewName)s. \"),"},{"line_number":2385,"context_line":"                {\u0027maskingViewName\u0027: maskingViewName})"},{"line_number":2386,"context_line":"        else:"},{"line_number":2387,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a5de9d1_f731510c","line":2384,"range":{"start_line":2384,"start_character":37,"end_line":2384,"end_character":38},"updated":"2016-01-28 18:50:53.000000000","message":"Extra space at the end.","commit_id":"d19171f331e80025747038c8bfdf8a6b19730cb0"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"35dd6de4d172b946f157bc71db09ce1c7b7f2034","unresolved":false,"context_lines":[{"line_number":2381,"context_line":"        if portGroupInstanceName is None:"},{"line_number":2382,"context_line":"            LOG.error(_LE("},{"line_number":2383,"context_line":"                \"Cannot get port group from masking view: \""},{"line_number":2384,"context_line":"                \"%(maskingViewName)s. \"),"},{"line_number":2385,"context_line":"                {\u0027maskingViewName\u0027: maskingViewName})"},{"line_number":2386,"context_line":"        else:"},{"line_number":2387,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a5de9d1_d67e7418","line":2384,"range":{"start_line":2384,"start_character":37,"end_line":2384,"end_character":38},"in_reply_to":"7a5de9d1_f731510c","updated":"2016-01-29 10:53:54.000000000","message":"I will remove it.  Thanks","commit_id":"d19171f331e80025747038c8bfdf8a6b19730cb0"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"79e581dce985dd786d1750c564ff96a33cab2a07","unresolved":false,"context_lines":[{"line_number":2643,"context_line":"        if portGroupInstanceName is None:"},{"line_number":2644,"context_line":"            LOG.error(_LE("},{"line_number":2645,"context_line":"                \"Cannot get port group from masking view: \""},{"line_number":2646,"context_line":"                \"%(maskingViewName)s. \"),"},{"line_number":2647,"context_line":"                {\u0027maskingViewName\u0027: maskingViewName})"},{"line_number":2648,"context_line":"        else:"},{"line_number":2649,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9aed3d3a_f06689eb","line":2646,"updated":"2016-03-01 04:07:56.000000000","message":"Remove extra space at the end if you do another update.","commit_id":"a7e3d429eade62a416dc4daf4a1266976467b268"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"8311224631d3493ffdd2b6064cf17e4baae64428","unresolved":false,"context_lines":[{"line_number":2643,"context_line":"        if portGroupInstanceName is None:"},{"line_number":2644,"context_line":"            LOG.error(_LE("},{"line_number":2645,"context_line":"                \"Cannot get port group from masking view: \""},{"line_number":2646,"context_line":"                \"%(maskingViewName)s. \"),"},{"line_number":2647,"context_line":"                {\u0027maskingViewName\u0027: maskingViewName})"},{"line_number":2648,"context_line":"        else:"},{"line_number":2649,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"7af24918_7eaa111b","line":2646,"in_reply_to":"9aed3d3a_f06689eb","updated":"2016-03-01 10:48:45.000000000","message":"Sure, we will do that.","commit_id":"a7e3d429eade62a416dc4daf4a1266976467b268"}]}
