)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17444,"name":"Jay.Shen","email":"shenhong09@huawei.com","username":"Jay.Shen"},"change_message_id":"ff78d090aadabf896f8dd1593847cfac5ae436de","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add in support for alternative iSCSI portal information. We can also"},{"line_number":10,"context_line":"return our whole list of connected ports for multipathing. This allows"},{"line_number":11,"context_line":"us to not do any iscsi discovery in the driver code since all portals"},{"line_number":12,"context_line":"will be tried now in the connector code."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Iff18d1038aac3f9a234224c4dce5343dfae5e8c5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_d6403338","line":11,"updated":"2015-08-08 14:47:50.000000000","message":"S/iscsi/iSCSI","commit_id":"f80da547af9b273d213debc0245116acf0df1497"}],"cinder/tests/unit/test_pure.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"8dde5008e087942a03e92c5194f7123850b090b3","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from cinder import exception"},{"line_number":22,"context_line":"from cinder import test"},{"line_number":23,"context_line":"from copy import deepcopy"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def fake_retry(exceptions, interval\u003d1, retries\u003d3, backoff_rate\u003d2):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_e3e521a8","line":23,"updated":"2015-08-11 07:06:58.000000000","message":"I believe you should put it above \u0027import sys\u0027.","commit_id":"d41cd5b4b930999874d57eafb45c2cf1201391a3"},{"author":{"_account_id":13868,"name":"Danny Wilson","email":"daniel.wilson@purestorage.com","username":"dannywilson"},"change_message_id":"e424479de881ff6706d8c3d3a09f6757e27998c2","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from cinder import exception"},{"line_number":22,"context_line":"from cinder import test"},{"line_number":23,"context_line":"from copy import deepcopy"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def fake_retry(exceptions, interval\u003d1, retries\u003d3, backoff_rate\u003d2):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_90df8b39","line":23,"in_reply_to":"1a4dcd0f_6b955131","updated":"2015-08-11 23:53:21.000000000","message":"Done","commit_id":"d41cd5b4b930999874d57eafb45c2cf1201391a3"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"97960c0a9f900af969a6406691a2fb844b92b6af","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from cinder import exception"},{"line_number":22,"context_line":"from cinder import test"},{"line_number":23,"context_line":"from copy import deepcopy"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def fake_retry(exceptions, interval\u003d1, retries\u003d3, backoff_rate\u003d2):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_6b955131","line":23,"in_reply_to":"1a4dcd0f_e3e521a8","updated":"2015-08-11 13:47:41.000000000","message":"+1, please see http://docs.openstack.org/developer/hacking/#import-order-template","commit_id":"d41cd5b4b930999874d57eafb45c2cf1201391a3"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"ec41dba113501199fa24c23de2339b7e137b763b","unresolved":false,"context_lines":[{"line_number":1081,"context_line":"    def test_initialize_connection(self, mock_get_iscsi_ports,"},{"line_number":1082,"context_line":"                                   mock_connection):"},{"line_number":1083,"context_line":"        mock_get_iscsi_ports.return_value \u003d ISCSI_PORTS"},{"line_number":1084,"context_line":"        lun \u003d 1"},{"line_number":1085,"context_line":"        connection \u003d {"},{"line_number":1086,"context_line":"            \"vol\": VOLUME[\"name\"] + \"-cinder\","},{"line_number":1087,"context_line":"            \"lun\": lun,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_b9e5b409","line":1084,"updated":"2015-08-12 13:59:31.000000000","message":"Not sure why this is assigned a variable when it could just be put directly in the dict in L1087.","commit_id":"72273183871a244426f3237118a9002aa53063e7"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"ec41dba113501199fa24c23de2339b7e137b763b","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"                                             mock_get_iscsi_ports,"},{"line_number":1146,"context_line":"                                             mock_connection):"},{"line_number":1147,"context_line":"        mock_get_iscsi_ports.return_value \u003d ISCSI_PORTS"},{"line_number":1148,"context_line":"        lun \u003d 1"},{"line_number":1149,"context_line":"        connection \u003d {"},{"line_number":1150,"context_line":"            \"vol\": VOLUME[\"name\"] + \"-cinder\","},{"line_number":1151,"context_line":"            \"lun\": lun,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_b993745a","line":1148,"updated":"2015-08-12 13:59:31.000000000","message":"Ditto","commit_id":"72273183871a244426f3237118a9002aa53063e7"}],"cinder/volume/drivers/pure.py":[{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"2c67f96b077b22812c8b909fc8858467d8a619d5","unresolved":false,"context_lines":[{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        port_iter \u003d iter(target_ports)"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"        if multipath is False:"},{"line_number":675,"context_line":"            target_port \u003d port_iter.next()"},{"line_number":676,"context_line":"            props[\"data\"][\"target_lun\"] \u003d connection[\"lun\"]"},{"line_number":677,"context_line":"            props[\"data\"][\"target_iqn\"] \u003d target_port[\"iqn\"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_49fdbd6c","line":674,"range":{"start_line":674,"start_character":8,"end_line":674,"end_character":30},"updated":"2015-08-06 15:53:45.000000000","message":"Maybe we should make this just \u0027if not multipath:\u0027","commit_id":"2817eb9a5de89fb44a8f9cfdfcda46830d403346"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"2c67f96b077b22812c8b909fc8858467d8a619d5","unresolved":false,"context_lines":[{"line_number":687,"context_line":"            target_portals.append(port[\"portal\"])"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"        if target_luns and target_iqns and target_portals:"},{"line_number":690,"context_line":"            if multipath:"},{"line_number":691,"context_line":"                props[\"data\"][\"target_luns\"] \u003d target_luns"},{"line_number":692,"context_line":"                props[\"data\"][\"target_iqns\"] \u003d target_iqns"},{"line_number":693,"context_line":"                props[\"data\"][\"target_portals\"] \u003d target_portals"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"        return props"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    def _get_target_iscsi_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_ac2c8f99","line":694,"range":{"start_line":690,"start_character":12,"end_line":694,"end_character":0},"updated":"2015-08-06 15:53:45.000000000","message":"I think we want to have this in there for the alternative iscsi portals for cases where multipath is disabledl, right? \n\nMaybe I\u0027m not understanding what the code in brick currently does but I though it should be able to take a list and it would try and do single path on each one in the list until one worked even when multipath is disabled.","commit_id":"2817eb9a5de89fb44a8f9cfdfcda46830d403346"},{"author":{"_account_id":13868,"name":"Danny Wilson","email":"daniel.wilson@purestorage.com","username":"dannywilson"},"change_message_id":"f46e804985702fad9ecddbd815da929fe929344e","unresolved":false,"context_lines":[{"line_number":691,"context_line":"                props[\"data\"][\"target_luns\"] \u003d target_luns"},{"line_number":692,"context_line":"                props[\"data\"][\"target_iqns\"] \u003d target_iqns"},{"line_number":693,"context_line":"                props[\"data\"][\"target_portals\"] \u003d target_portals"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"        return props"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    def _get_target_iscsi_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_e2c7fb61","line":694,"in_reply_to":"1a4dcd0f_ac2c8f99","updated":"2015-08-06 18:07:57.000000000","message":"That makes sense.  In that case why should we report target_lun in line 676 if we will always have target_luns here and brick will just loop through them.  Seems we could remove the block at line 674 for our driver?","commit_id":"2817eb9a5de89fb44a8f9cfdfcda46830d403346"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"2d1924f92c13a4dd702977250e4b57137b505262","unresolved":false,"context_lines":[{"line_number":691,"context_line":"                props[\"data\"][\"target_luns\"] \u003d target_luns"},{"line_number":692,"context_line":"                props[\"data\"][\"target_iqns\"] \u003d target_iqns"},{"line_number":693,"context_line":"                props[\"data\"][\"target_portals\"] \u003d target_portals"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"        return props"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    def _get_target_iscsi_ports(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_bbd35a5f","line":694,"in_reply_to":"1a4dcd0f_e2c7fb61","updated":"2015-08-06 19:17:33.000000000","message":"Yea I think if we can verify that it isn\u0027t needed anymore we might as well take that block out.","commit_id":"2817eb9a5de89fb44a8f9cfdfcda46830d403346"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"453be0da5865ff5f385409703b39bbffa9bbab50","unresolved":false,"context_lines":[{"line_number":665,"context_line":"            \"data\": {"},{"line_number":666,"context_line":"                \"target_discovered\": False,"},{"line_number":667,"context_line":"                \"access_mode\": \"rw\","},{"line_number":668,"context_line":"                \"discard\": True,"},{"line_number":669,"context_line":"            },"},{"line_number":670,"context_line":"        }"},{"line_number":671,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_47bd0f01","line":668,"updated":"2015-08-16 06:51:27.000000000","message":"The commit message does not mention adding discard support. Please do this in the next reup.","commit_id":"72273183871a244426f3237118a9002aa53063e7"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"b80405003b85efe11a8966066a53970ce9970b1c","unresolved":false,"context_lines":[{"line_number":665,"context_line":"            \"data\": {"},{"line_number":666,"context_line":"                \"target_discovered\": False,"},{"line_number":667,"context_line":"                \"access_mode\": \"rw\","},{"line_number":668,"context_line":"                \"discard\": True,"},{"line_number":669,"context_line":"            },"},{"line_number":670,"context_line":"        }"},{"line_number":671,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_4072d07d","line":668,"in_reply_to":"1a4dcd0f_47bd0f01","updated":"2015-08-16 22:54:41.000000000","message":"That was added in a different patchset, I believe it is only being moved down here from what was line 655.","commit_id":"72273183871a244426f3237118a9002aa53063e7"}]}
