)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70b2950464a8c0a3262f6f062f1d04d196b9a820","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add white list support for target ports in VNX driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, VNX cinder driver registers host initiator to all"},{"line_number":10,"context_line":"configured iSCSI/FC ports on array and choose ports from"},{"line_number":11,"context_line":"all available ports to return in initialize_connection."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"By introducing a new driver option io_port_list:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_c733b712","line":10,"updated":"2015-07-03 15:55:29.000000000","message":"/choose/chooses/","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"41025d638a806544e951615deea7b6439912dc53","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add white list support for target ports in VNX driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, VNX cinder driver registers host initiator to all"},{"line_number":10,"context_line":"configured iSCSI/FC ports on array and choose ports from"},{"line_number":11,"context_line":"all available ports to return in initialize_connection."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"By introducing a new driver option io_port_list:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_2cba78c1","line":10,"in_reply_to":"ba3cc151_c733b712","updated":"2015-07-05 08:15:25.000000000","message":"Done","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70b2950464a8c0a3262f6f062f1d04d196b9a820","unresolved":false,"context_lines":[{"line_number":11,"context_line":"all available ports to return in initialize_connection."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"By introducing a new driver option io_port_list:"},{"line_number":14,"context_line":"1. driver will only register initiator to ports in io_port_list ."},{"line_number":15,"context_line":"2. driver will only return ports in io_port_list when initialize_connection"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ie64eceb73bc0d70076033a29295c3efc57f34db4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_4728079a","line":14,"updated":"2015-07-03 15:55:29.000000000","message":"Remove \" .\" from the end.","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"41025d638a806544e951615deea7b6439912dc53","unresolved":false,"context_lines":[{"line_number":11,"context_line":"all available ports to return in initialize_connection."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"By introducing a new driver option io_port_list:"},{"line_number":14,"context_line":"1. driver will only register initiator to ports in io_port_list ."},{"line_number":15,"context_line":"2. driver will only return ports in io_port_list when initialize_connection"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ie64eceb73bc0d70076033a29295c3efc57f34db4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_ccae6c81","line":14,"in_reply_to":"ba3cc151_4728079a","updated":"2015-07-05 08:15:25.000000000","message":"Done","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70b2950464a8c0a3262f6f062f1d04d196b9a820","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"By introducing a new driver option io_port_list:"},{"line_number":14,"context_line":"1. driver will only register initiator to ports in io_port_list ."},{"line_number":15,"context_line":"2. driver will only return ports in io_port_list when initialize_connection"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ie64eceb73bc0d70076033a29295c3efc57f34db4"},{"line_number":18,"context_line":"Closes-Bug:1470003"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_6723cbbd","line":15,"updated":"2015-07-03 15:55:29.000000000","message":"/when/from/","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"41025d638a806544e951615deea7b6439912dc53","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"By introducing a new driver option io_port_list:"},{"line_number":14,"context_line":"1. driver will only register initiator to ports in io_port_list ."},{"line_number":15,"context_line":"2. driver will only return ports in io_port_list when initialize_connection"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ie64eceb73bc0d70076033a29295c3efc57f34db4"},{"line_number":18,"context_line":"Closes-Bug:1470003"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba3cc151_ecb330e8","line":15,"in_reply_to":"ba3cc151_6723cbbd","updated":"2015-07-05 08:15:25.000000000","message":"Done","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"}],"cinder/tests/unit/test_emc_vnxdirect.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"da4347af2afebcc9226b3c44f541316e2e138823","unresolved":false,"context_lines":[{"line_number":2113,"context_line":"                         (0, \u0027iqn.1992-04.com.emc:cx.fnmxxx.a0\u0027))"},{"line_number":2114,"context_line":"        self.assertEqual((io_ports[\u0027B\u0027][0][\u0027Port ID\u0027],"},{"line_number":2115,"context_line":"                          io_ports[\u0027B\u0027][0][\u0027Port WWN\u0027]),"},{"line_number":2116,"context_line":"                         (2, \u0027iqn.1992-04.com.emc:cx.fnmxxx.b2\u0027))"},{"line_number":2117,"context_line":""},{"line_number":2118,"context_line":"    @mock.patch("},{"line_number":2119,"context_line":"        \"oslo_concurrency.processutils.execute\","}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_aff2976d","line":2116,"updated":"2015-07-01 05:50:25.000000000","message":"Put (2, \u0027iqn.1992-04.com.emc:cx.fnmxxx.b2\u0027) as the first param.","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"efee86d429cb7987b58808746e59a0e37392c03e","unresolved":false,"context_lines":[{"line_number":2113,"context_line":"                         (0, \u0027iqn.1992-04.com.emc:cx.fnmxxx.a0\u0027))"},{"line_number":2114,"context_line":"        self.assertEqual((io_ports[\u0027B\u0027][0][\u0027Port ID\u0027],"},{"line_number":2115,"context_line":"                          io_ports[\u0027B\u0027][0][\u0027Port WWN\u0027]),"},{"line_number":2116,"context_line":"                         (2, \u0027iqn.1992-04.com.emc:cx.fnmxxx.b2\u0027))"},{"line_number":2117,"context_line":""},{"line_number":2118,"context_line":"    @mock.patch("},{"line_number":2119,"context_line":"        \"oslo_concurrency.processutils.execute\","}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_60801c47","line":2116,"in_reply_to":"ba3cc151_aff2976d","updated":"2015-07-01 08:09:09.000000000","message":"Done","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"da4347af2afebcc9226b3c44f541316e2e138823","unresolved":false,"context_lines":[{"line_number":4309,"context_line":"                    mock.call(\u0027port\u0027, \u0027-list\u0027, \u0027-gname\u0027, \u0027fakehost\u0027)]"},{"line_number":4310,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":4311,"context_line":"        self.assertEqual(data[\u0027data\u0027][\u0027target_wwn\u0027],"},{"line_number":4312,"context_line":"                         [\u00275006016A0860080F\u0027, \u00275006016008600195\u0027])"},{"line_number":4313,"context_line":""},{"line_number":4314,"context_line":"    @mock.patch(\u0027random.randint\u0027,"},{"line_number":4315,"context_line":"                mock.Mock(return_value\u003d0))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_6fec8f8f","line":4312,"updated":"2015-07-01 05:50:25.000000000","message":"Put [\u00275006016A0860080F\u0027, \u00275006016008600195\u0027] as the first param.","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"efee86d429cb7987b58808746e59a0e37392c03e","unresolved":false,"context_lines":[{"line_number":4309,"context_line":"                    mock.call(\u0027port\u0027, \u0027-list\u0027, \u0027-gname\u0027, \u0027fakehost\u0027)]"},{"line_number":4310,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":4311,"context_line":"        self.assertEqual(data[\u0027data\u0027][\u0027target_wwn\u0027],"},{"line_number":4312,"context_line":"                         [\u00275006016A0860080F\u0027, \u00275006016008600195\u0027])"},{"line_number":4313,"context_line":""},{"line_number":4314,"context_line":"    @mock.patch(\u0027random.randint\u0027,"},{"line_number":4315,"context_line":"                mock.Mock(return_value\u003d0))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_80ea000e","line":4312,"in_reply_to":"ba3cc151_6fec8f8f","updated":"2015-07-01 08:09:09.000000000","message":"Done","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"da4347af2afebcc9226b3c44f541316e2e138823","unresolved":false,"context_lines":[{"line_number":4352,"context_line":"                    mock.call(\u0027port\u0027, \u0027-list\u0027, \u0027-gname\u0027, \u0027fakehost\u0027)]"},{"line_number":4353,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":4354,"context_line":"        self.assertEqual(data[\u0027data\u0027][\u0027target_wwn\u0027],"},{"line_number":4355,"context_line":"                         [\u00275006016A0860080F\u0027, \u00275006016008600195\u0027])"},{"line_number":4356,"context_line":""},{"line_number":4357,"context_line":"    @mock.patch("},{"line_number":4358,"context_line":"        \"cinder.zonemanager.fc_san_lookup_service.FCSanLookupService.\" +"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_2fff6735","line":4355,"updated":"2015-07-01 05:50:25.000000000","message":"expected, actual","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"efee86d429cb7987b58808746e59a0e37392c03e","unresolved":false,"context_lines":[{"line_number":4352,"context_line":"                    mock.call(\u0027port\u0027, \u0027-list\u0027, \u0027-gname\u0027, \u0027fakehost\u0027)]"},{"line_number":4353,"context_line":"        fake_cli.assert_has_calls(expected)"},{"line_number":4354,"context_line":"        self.assertEqual(data[\u0027data\u0027][\u0027target_wwn\u0027],"},{"line_number":4355,"context_line":"                         [\u00275006016A0860080F\u0027, \u00275006016008600195\u0027])"},{"line_number":4356,"context_line":""},{"line_number":4357,"context_line":"    @mock.patch("},{"line_number":4358,"context_line":"        \"cinder.zonemanager.fc_san_lookup_service.FCSanLookupService.\" +"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_ad4a9cc3","line":4355,"in_reply_to":"ba3cc151_2fff6735","updated":"2015-07-01 08:09:09.000000000","message":"Done","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70b2950464a8c0a3262f6f062f1d04d196b9a820","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        \u0027display_description\u0027: \u0027test volume\u0027,"},{"line_number":107,"context_line":"        \u0027volume_type_id\u0027: None,"},{"line_number":108,"context_line":"        \u0027consistencygroup_id\u0027: None,"},{"line_number":109,"context_line":"        \u0027provider_location\u0027: \u0027system^FNM11111|type^lun|id^1|version^05.03.00\u0027"},{"line_number":110,"context_line":"    }"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    test_volume2 \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_27006301","line":109,"updated":"2015-07-03 15:55:29.000000000","message":"Trailing comma should not have been removed. According to guidelines, dict definitions over 80 characters should have items on separate lines and should end with a comma.","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"41025d638a806544e951615deea7b6439912dc53","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        \u0027display_description\u0027: \u0027test volume\u0027,"},{"line_number":107,"context_line":"        \u0027volume_type_id\u0027: None,"},{"line_number":108,"context_line":"        \u0027consistencygroup_id\u0027: None,"},{"line_number":109,"context_line":"        \u0027provider_location\u0027: \u0027system^FNM11111|type^lun|id^1|version^05.03.00\u0027"},{"line_number":110,"context_line":"    }"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    test_volume2 \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_0cb9b4ec","line":109,"in_reply_to":"ba3cc151_27006301","updated":"2015-07-05 08:15:25.000000000","message":"Done","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"da4347af2afebcc9226b3c44f541316e2e138823","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    cfg.StrOpt(\u0027io_port_list\u0027,"},{"line_number":103,"context_line":"               default\u003d\u0027*\u0027,"},{"line_number":104,"context_line":"               help\u003d\u0027Comma separated iSCSI or FC ports \u0027"},{"line_number":105,"context_line":"               \u0027to be used in Nova or Cinder\u0027),"},{"line_number":106,"context_line":"    cfg.BoolOpt(\u0027initiator_auto_registration\u0027,"},{"line_number":107,"context_line":"                default\u003dFalse,"},{"line_number":108,"context_line":"                help\u003d\u0027Automatically register initiators. \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_ef45ffb2","line":105,"updated":"2015-07-01 05:50:25.000000000","message":"Put the stop \".\" in the end. And what does \"*\" mean?","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"efee86d429cb7987b58808746e59a0e37392c03e","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    cfg.StrOpt(\u0027io_port_list\u0027,"},{"line_number":103,"context_line":"               default\u003d\u0027*\u0027,"},{"line_number":104,"context_line":"               help\u003d\u0027Comma separated iSCSI or FC ports \u0027"},{"line_number":105,"context_line":"               \u0027to be used in Nova or Cinder\u0027),"},{"line_number":106,"context_line":"    cfg.BoolOpt(\u0027initiator_auto_registration\u0027,"},{"line_number":107,"context_line":"                default\u003dFalse,"},{"line_number":108,"context_line":"                help\u003d\u0027Automatically register initiators. \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_b5ae6483","line":105,"in_reply_to":"ba3cc151_ef45ffb2","updated":"2015-07-01 08:09:09.000000000","message":"* means any available target ports would be used.\n\nDone","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"da4347af2afebcc9226b3c44f541316e2e138823","unresolved":false,"context_lines":[{"line_number":1862,"context_line":"                port_tuple \u003d port.split(\u0027-\u0027)"},{"line_number":1863,"context_line":"                if re.match(\u0027[abAB]-\\d+-\\d+$\u0027, port) and \\"},{"line_number":1864,"context_line":"                        self._validate_iscsi_port("},{"line_number":1865,"context_line":"                            port_tuple[0], port_tuple[1], port_tuple[2], out):"},{"line_number":1866,"context_line":"                    valid_ports.append("},{"line_number":1867,"context_line":"                        (port_tuple[0].upper(), int(port_tuple[1]),"},{"line_number":1868,"context_line":"                         int(port_tuple[2])))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_ef4adfab","line":1865,"updated":"2015-07-01 05:50:25.000000000","message":"You can put () around the whole if condition to avoid \\.","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"efee86d429cb7987b58808746e59a0e37392c03e","unresolved":false,"context_lines":[{"line_number":1862,"context_line":"                port_tuple \u003d port.split(\u0027-\u0027)"},{"line_number":1863,"context_line":"                if re.match(\u0027[abAB]-\\d+-\\d+$\u0027, port) and \\"},{"line_number":1864,"context_line":"                        self._validate_iscsi_port("},{"line_number":1865,"context_line":"                            port_tuple[0], port_tuple[1], port_tuple[2], out):"},{"line_number":1866,"context_line":"                    valid_ports.append("},{"line_number":1867,"context_line":"                        (port_tuple[0].upper(), int(port_tuple[1]),"},{"line_number":1868,"context_line":"                         int(port_tuple[2])))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_55b4b8cf","line":1865,"in_reply_to":"ba3cc151_ef4adfab","updated":"2015-07-01 08:09:09.000000000","message":"Done","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"da4347af2afebcc9226b3c44f541316e2e138823","unresolved":false,"context_lines":[{"line_number":2808,"context_line":"                                (not re.search(wwn + \u0027\\s+SP\\s+\u0027 +"},{"line_number":2809,"context_line":"                                               port[0] + \u0027\\s+\u0027 + str(port[1]),"},{"line_number":2810,"context_line":"                                               sgdata[\u0027raw_output\u0027],"},{"line_number":2811,"context_line":"                                               re.IGNORECASE)):"},{"line_number":2812,"context_line":"                            # Record ports to be added"},{"line_number":2813,"context_line":"                            ports_list.append(port)"},{"line_number":2814,"context_line":"                            new_white[port[0]].append({"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_4f5bcb87","line":2811,"updated":"2015-07-01 05:50:25.000000000","message":"You can put () around the whole if condition to avoid \\.","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"efee86d429cb7987b58808746e59a0e37392c03e","unresolved":false,"context_lines":[{"line_number":2808,"context_line":"                                (not re.search(wwn + \u0027\\s+SP\\s+\u0027 +"},{"line_number":2809,"context_line":"                                               port[0] + \u0027\\s+\u0027 + str(port[1]),"},{"line_number":2810,"context_line":"                                               sgdata[\u0027raw_output\u0027],"},{"line_number":2811,"context_line":"                                               re.IGNORECASE)):"},{"line_number":2812,"context_line":"                            # Record ports to be added"},{"line_number":2813,"context_line":"                            ports_list.append(port)"},{"line_number":2814,"context_line":"                            new_white[port[0]].append({"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_75ef7c87","line":2811,"in_reply_to":"ba3cc151_4f5bcb87","updated":"2015-07-01 08:09:09.000000000","message":"Done","commit_id":"b83ba4cfaefdbb99e1dc8176164753a0a78ed57a"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70b2950464a8c0a3262f6f062f1d04d196b9a820","unresolved":false,"context_lines":[{"line_number":1439,"context_line":"        return wwns"},{"line_number":1440,"context_line":""},{"line_number":1441,"context_line":"    def get_port_wwn(self, sp, port_id, allports\u003dNone):"},{"line_number":1442,"context_line":"        \"\"\"Returns wwn via sp and port_id"},{"line_number":1443,"context_line":"        :param sp: should be in this format \u0027SP A\u0027"},{"line_number":1444,"context_line":"        :param port_id: \u00270\u0027 or 0"},{"line_number":1445,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_22993179","line":1442,"updated":"2015-07-03 15:55:29.000000000","message":"Thanks for adding docstrings, but please follow guideline format of summary line, a blank line, then the rest.\n\nhttp://docs.openstack.org/developer/hacking/#docstrings","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"41025d638a806544e951615deea7b6439912dc53","unresolved":false,"context_lines":[{"line_number":1439,"context_line":"        return wwns"},{"line_number":1440,"context_line":""},{"line_number":1441,"context_line":"    def get_port_wwn(self, sp, port_id, allports\u003dNone):"},{"line_number":1442,"context_line":"        \"\"\"Returns wwn via sp and port_id"},{"line_number":1443,"context_line":"        :param sp: should be in this format \u0027SP A\u0027"},{"line_number":1444,"context_line":"        :param port_id: \u00270\u0027 or 0"},{"line_number":1445,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_ace3e804","line":1442,"in_reply_to":"ba3cc151_22993179","updated":"2015-07-05 08:15:25.000000000","message":"Done","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70b2950464a8c0a3262f6f062f1d04d196b9a820","unresolved":false,"context_lines":[{"line_number":1879,"context_line":"                else:"},{"line_number":1880,"context_line":"                    invalid_ports.append(port)"},{"line_number":1881,"context_line":"        if len(invalid_ports) \u003e 0:"},{"line_number":1882,"context_line":"            msg \u003d _LE(\u0027Invalid %(protocol)s ports %(port)s specified \u0027"},{"line_number":1883,"context_line":"                      \u0027for io_port_list.\u0027) % {\u0027protocol\u0027: self.protocol,"},{"line_number":1884,"context_line":"                                              \u0027port\u0027: \u0027,\u0027.join(invalid_ports)}"},{"line_number":1885,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_62f65990","line":1882,"updated":"2015-07-03 15:55:29.000000000","message":"Since msg is used in an exception it should use _() instead of _LE().","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"41025d638a806544e951615deea7b6439912dc53","unresolved":false,"context_lines":[{"line_number":1879,"context_line":"                else:"},{"line_number":1880,"context_line":"                    invalid_ports.append(port)"},{"line_number":1881,"context_line":"        if len(invalid_ports) \u003e 0:"},{"line_number":1882,"context_line":"            msg \u003d _LE(\u0027Invalid %(protocol)s ports %(port)s specified \u0027"},{"line_number":1883,"context_line":"                      \u0027for io_port_list.\u0027) % {\u0027protocol\u0027: self.protocol,"},{"line_number":1884,"context_line":"                                              \u0027port\u0027: \u0027,\u0027.join(invalid_ports)}"},{"line_number":1885,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_4cf01cca","line":1882,"in_reply_to":"ba3cc151_62f65990","updated":"2015-07-05 08:15:25.000000000","message":"Done","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"70b2950464a8c0a3262f6f062f1d04d196b9a820","unresolved":false,"context_lines":[{"line_number":2954,"context_line":""},{"line_number":2955,"context_line":"    def auto_register_initiator(self, connector, sgdata, io_ports_filter\u003dNone):"},{"line_number":2956,"context_line":"        \"\"\"Automatically register available initiators."},{"line_number":2957,"context_line":"        Return True if has registerred initiator otherwise return False"},{"line_number":2958,"context_line":"        \"\"\""},{"line_number":2959,"context_line":"        if io_ports_filter:"},{"line_number":2960,"context_line":"            return self.auto_register_with_io_port_filter(connector, sgdata,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_02766d05","line":2957,"updated":"2015-07-03 15:55:29.000000000","message":"\"\"\"Automatically...\n\n:returns: True if...\n\"\"\"","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"41025d638a806544e951615deea7b6439912dc53","unresolved":false,"context_lines":[{"line_number":2954,"context_line":""},{"line_number":2955,"context_line":"    def auto_register_initiator(self, connector, sgdata, io_ports_filter\u003dNone):"},{"line_number":2956,"context_line":"        \"\"\"Automatically register available initiators."},{"line_number":2957,"context_line":"        Return True if has registerred initiator otherwise return False"},{"line_number":2958,"context_line":"        \"\"\""},{"line_number":2959,"context_line":"        if io_ports_filter:"},{"line_number":2960,"context_line":"            return self.auto_register_with_io_port_filter(connector, sgdata,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_6cede0ee","line":2957,"in_reply_to":"ba3cc151_02766d05","updated":"2015-07-05 08:15:25.000000000","message":"Done","commit_id":"13baf17daeba3ff32809a9c4f38fdd964aab191b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"670e8bba0dc4c3b64231872be880ea105a3c4217","unresolved":false,"context_lines":[{"line_number":2956,"context_line":"    def auto_register_initiator(self, connector, sgdata, io_ports_filter\u003dNone):"},{"line_number":2957,"context_line":"        \"\"\"Automatically register available initiators."},{"line_number":2958,"context_line":""},{"line_number":2959,"context_line":"        :returns: True if has registerred initiator otherwise return False"},{"line_number":2960,"context_line":"        \"\"\""},{"line_number":2961,"context_line":"        if io_ports_filter:"},{"line_number":2962,"context_line":"            return self.auto_register_with_io_port_filter(connector, sgdata,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_b2881ec8","line":2959,"updated":"2015-07-05 13:15:28.000000000","message":"/registerred/registered/","commit_id":"c9105ab53871f0177a72793a2b945e37f50d87ac"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"e22bcac198ed55a1c8b2d10fd7cc663b389ed130","unresolved":false,"context_lines":[{"line_number":2956,"context_line":"    def auto_register_initiator(self, connector, sgdata, io_ports_filter\u003dNone):"},{"line_number":2957,"context_line":"        \"\"\"Automatically register available initiators."},{"line_number":2958,"context_line":""},{"line_number":2959,"context_line":"        :returns: True if has registerred initiator otherwise return False"},{"line_number":2960,"context_line":"        \"\"\""},{"line_number":2961,"context_line":"        if io_ports_filter:"},{"line_number":2962,"context_line":"            return self.auto_register_with_io_port_filter(connector, sgdata,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_cc6425e7","line":2959,"in_reply_to":"ba3cc151_b2881ec8","updated":"2015-07-06 01:53:36.000000000","message":"Done","commit_id":"c9105ab53871f0177a72793a2b945e37f50d87ac"}]}
