)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f2802977a9434b015ed59ee18a949368ea2f9e8e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XtremIO Volume driver requests and multipath"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* replace urllib2 with requests, intriduce new driver parameter"},{"line_number":10,"context_line":"to configure ssl CA validation"},{"line_number":11,"context_line":"* changes to support iSCSI multipath"},{"line_number":12,"context_line":"* fix missing logging for get requets"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a016987_e8601d03","line":9,"updated":"2015-05-20 21:16:40.000000000","message":"/intriduce/introduce/","commit_id":"3bd69adfe0d2bbc109f9ba5084d80aed5e4ebffd"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"2b03c1009ab0dce2b0eb6dc939becc7c0de7b8fa","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XtremIO Volume driver requests and multipath"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* replace urllib2 with requests, intriduce new driver parameter"},{"line_number":10,"context_line":"to configure ssl CA validation"},{"line_number":11,"context_line":"* changes to support iSCSI multipath"},{"line_number":12,"context_line":"* fix missing logging for get requets"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a016987_b1b73039","line":9,"in_reply_to":"7a016987_e8601d03","updated":"2015-05-20 23:23:32.000000000","message":"Done","commit_id":"3bd69adfe0d2bbc109f9ba5084d80aed5e4ebffd"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"7fe93c25d17b3be512bdc18f7f670804c0b76cc9","unresolved":false,"context_lines":[{"line_number":11,"context_line":"* changes to support iSCSI multipath"},{"line_number":12,"context_line":"* fix missing logging for get requets"},{"line_number":13,"context_line":"* query cluster version without exception"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements: blueprint emc-xtremio-updates"},{"line_number":16,"context_line":"Change-Id: Ief32e2247a46046489792f03a5b235d1c9d16a4f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a016987_3f98741b","line":14,"updated":"2015-05-23 04:42:05.000000000","message":"Should include a DocImpact, since you have a new option.","commit_id":"2379c0df9742b61e3b963ece5af04de978b04d55"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"4887d42282f50638a4fad2ee356424fa7b99f6a3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"* changes to support iSCSI multipath"},{"line_number":12,"context_line":"* fix missing logging for get requets"},{"line_number":13,"context_line":"* query cluster version without exception"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements: blueprint emc-xtremio-updates"},{"line_number":16,"context_line":"Change-Id: Ief32e2247a46046489792f03a5b235d1c9d16a4f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3afb71cf_b303060d","line":14,"in_reply_to":"5afe65bd_a33388aa","updated":"2015-06-08 15:35:51.000000000","message":"Done","commit_id":"2379c0df9742b61e3b963ece5af04de978b04d55"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bf2003ba54af40db8c6ee49fa978a08b510944c6","unresolved":false,"context_lines":[{"line_number":11,"context_line":"* changes to support iSCSI multipath"},{"line_number":12,"context_line":"* fix missing logging for get requets"},{"line_number":13,"context_line":"* query cluster version without exception"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements: blueprint emc-xtremio-updates"},{"line_number":16,"context_line":"Change-Id: Ief32e2247a46046489792f03a5b235d1c9d16a4f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5afe65bd_a33388aa","line":14,"in_reply_to":"7a016987_3f98741b","updated":"2015-06-04 14:47:01.000000000","message":"+1\n\nCan you add \"DocImpact\" here?","commit_id":"2379c0df9742b61e3b963ece5af04de978b04d55"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"4887d42282f50638a4fad2ee356424fa7b99f6a3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"* changes to support iSCSI multipath"},{"line_number":12,"context_line":"* fix missing logging for get requets"},{"line_number":13,"context_line":"* query cluster version without exception"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements: blueprint emc-xtremio-updates"},{"line_number":16,"context_line":"Change-Id: Ief32e2247a46046489792f03a5b235d1c9d16a4f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3afb71cf_d300c203","line":14,"in_reply_to":"7a016987_3f98741b","updated":"2015-06-08 15:35:51.000000000","message":"Done","commit_id":"2379c0df9742b61e3b963ece5af04de978b04d55"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"c6e53e080d254d1e6cbbe80c46b46fec76ead8ba","unresolved":false,"context_lines":[{"line_number":9,"context_line":"* introduce new driver parameter to configure ssl CA validation"},{"line_number":10,"context_line":"* replace urllib2 with requests"},{"line_number":11,"context_line":"* changes to support iSCSI multipath"},{"line_number":12,"context_line":"* fix missing logging for get requets"},{"line_number":13,"context_line":"* query cluster version without exception"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"DocImpact: added the option driver_ssl_cert_verify to specify whether"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"fa32b979_cf8cfe81","line":12,"updated":"2015-06-20 19:27:02.000000000","message":"/requets/requests/","commit_id":"8eb05e45d879b072ea25ac645586c7e2f832f88c"}],"cinder/tests/unit/test_emc_xtremio.py":[{"author":{"_account_id":14428,"name":"Bharat Kumar Kobagana","email":"bharath.kobagana@gmail.com","username":"bharatkk"},"change_message_id":"422658f162d16b018551f24ac363a7d248162c8e","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                raise exception.NotFound()"},{"line_number":120,"context_line":"            return {\"content\": res[obj_key]}"},{"line_number":121,"context_line":"        else:"},{"line_number":122,"context_line":"            if data.get(\u0027full\u0027) \u003d\u003d 1:"},{"line_number":123,"context_line":"                return {object_type: res.values()}"},{"line_number":124,"context_line":"            else:"},{"line_number":125,"context_line":"                return {object_type: [{\"href\": \"/%s/%d\" % (object_type,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_4c560507","line":122,"updated":"2015-05-22 04:07:26.000000000","message":"Please check we are getting \u0027None\u0027 value to data. Because of that unit test cases are failing.","commit_id":"930758c1e225f68606267b8e26b6882962dc45c1"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"b3debe44b10551c99cdb8dec8b5bba3440b22070","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                raise exception.NotFound()"},{"line_number":120,"context_line":"            return {\"content\": res[obj_key]}"},{"line_number":121,"context_line":"        else:"},{"line_number":122,"context_line":"            if data.get(\u0027full\u0027) \u003d\u003d 1:"},{"line_number":123,"context_line":"                return {object_type: res.values()}"},{"line_number":124,"context_line":"            else:"},{"line_number":125,"context_line":"                return {object_type: [{\"href\": \"/%s/%d\" % (object_type,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_821a76c4","line":122,"in_reply_to":"7a016987_4c560507","updated":"2015-05-22 18:31:21.000000000","message":"Done","commit_id":"930758c1e225f68606267b8e26b6882962dc45c1"}],"cinder/volume/driver.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bf2003ba54af40db8c6ee49fa978a08b510944c6","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    cfg.BoolOpt(\u0027driver_ssl_cert_verify\u0027,"},{"line_number":215,"context_line":"                default\u003dFalse,"},{"line_number":216,"context_line":"                help\u003d\u0027If set to True the http client will validate the SSL \u0027"},{"line_number":217,"context_line":"                     \u0027certificate of the backend endpoint.\u0027),"},{"line_number":218,"context_line":"]"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"# for backward compatibility"}],"source_content_type":"text/x-python","patch_set":6,"id":"5afe65bd_86e65aae","line":217,"updated":"2015-06-04 14:47:01.000000000","message":"Do you have a unit test that covers this change?","commit_id":"2379c0df9742b61e3b963ece5af04de978b04d55"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"4887d42282f50638a4fad2ee356424fa7b99f6a3","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    cfg.BoolOpt(\u0027driver_ssl_cert_verify\u0027,"},{"line_number":215,"context_line":"                default\u003dFalse,"},{"line_number":216,"context_line":"                help\u003d\u0027If set to True the http client will validate the SSL \u0027"},{"line_number":217,"context_line":"                     \u0027certificate of the backend endpoint.\u0027),"},{"line_number":218,"context_line":"]"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"# for backward compatibility"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afb71cf_30514c63","line":217,"in_reply_to":"5afe65bd_86e65aae","updated":"2015-06-08 15:35:51.000000000","message":"not sure what can be tested here, both configuration and rest client are mocked","commit_id":"2379c0df9742b61e3b963ece5af04de978b04d55"}],"cinder/volume/drivers/datera.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3a795352d2c93196ec35a86161dea7dcc2a24680","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        if result[\u0027status\u0027] \u003d\u003d \u0027available\u0027:"},{"line_number":130,"context_line":"            return"},{"line_number":131,"context_line":"        else:"},{"line_number":132,"context_line":"            raise exception.VolumeDriverException(message\u003d\u0027Resource not ready.\u0027)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def _create_resource(self, resource, resource_type, body):"},{"line_number":135,"context_line":"        result \u003d self._issue_api_request(resource_type, \u0027post\u0027, body\u003dbody)"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_61e2b7d7","line":132,"updated":"2015-06-15 03:50:45.000000000","message":"The original message on the left is correct. _ is needed because exception message needs to be translated.","commit_id":"064142bb48aedfc65f5f86ae9a416456ac14f12e"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3a795352d2c93196ec35a86161dea7dcc2a24680","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        client_cert \u003d self.configuration.driver_client_cert"},{"line_number":342,"context_line":"        client_cert_key \u003d self.configuration.driver_client_cert_key"},{"line_number":343,"context_line":"        client_verify \u003d (self.configuration.safe_get(\u0027driver_ssl_cert_verify\u0027)"},{"line_number":344,"context_line":"                         or False)"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        cert_data \u003d None"},{"line_number":347,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_21034f75","line":344,"updated":"2015-06-15 03:50:45.000000000","message":"Please leave this kind of change to driver maintainers as you can\u0027t test this change.","commit_id":"064142bb48aedfc65f5f86ae9a416456ac14f12e"}],"cinder/volume/drivers/emc/xtremio.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f2802977a9434b015ed59ee18a949368ea2f9e8e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            elif err_msg \u003d\u003d VOL_NOT_UNIQUE_ERR:"},{"line_number":125,"context_line":"                LOG.error(_LE(\"can\u0027t create 2 volumes with the same name\"))"},{"line_number":126,"context_line":"                msg \u003d (_(\u0027Volume by this name already exists\u0027))"},{"line_number":127,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":128,"context_line":"            elif err_msg \u003d\u003d VOL_OBJ_NOT_FOUND_ERR:"},{"line_number":129,"context_line":"                LOG.error(_LE(\"Can\u0027t find volume to map %s\"), key)"},{"line_number":130,"context_line":"                raise exception.VolumeNotFound(volume_id\u003dkey)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_2842b568","line":127,"updated":"2015-05-20 21:16:40.000000000","message":"Since this is only used here, can we get rid of msg and just put the string right in the exception constructor.","commit_id":"3bd69adfe0d2bbc109f9ba5084d80aed5e4ebffd"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"df57d9e278fd3fac3fbb2d666cc18a23a1b4d60f","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            elif err_msg \u003d\u003d VOL_NOT_UNIQUE_ERR:"},{"line_number":125,"context_line":"                LOG.error(_LE(\"can\u0027t create 2 volumes with the same name\"))"},{"line_number":126,"context_line":"                msg \u003d (_(\u0027Volume by this name already exists\u0027))"},{"line_number":127,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":128,"context_line":"            elif err_msg \u003d\u003d VOL_OBJ_NOT_FOUND_ERR:"},{"line_number":129,"context_line":"                LOG.error(_LE(\"Can\u0027t find volume to map %s\"), key)"},{"line_number":130,"context_line":"                raise exception.VolumeNotFound(volume_id\u003dkey)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_6e60b5a5","line":127,"in_reply_to":"7a016987_2842b568","updated":"2015-05-20 23:21:35.000000000","message":"sadly, that was the only sane way to satisfy pep8","commit_id":"3bd69adfe0d2bbc109f9ba5084d80aed5e4ebffd"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f2802977a9434b015ed59ee18a949368ea2f9e8e","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        iscsi_portals \u003d [t[\u0027name\u0027] for t in self.req(\u0027iscsi-portals\u0027)"},{"line_number":174,"context_line":"                         [\u0027iscsi-portals\u0027]]"},{"line_number":175,"context_line":"        self._portals \u003d []"},{"line_number":176,"context_line":"        for portal_name in iscsi_portals:"},{"line_number":177,"context_line":"            try:"},{"line_number":178,"context_line":"                self._portals.append(self.req(\u0027iscsi-portals\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_88f76958","line":175,"updated":"2015-05-20 21:16:40.000000000","message":"Move this line up to first line of method to get rid of pylint error?","commit_id":"3bd69adfe0d2bbc109f9ba5084d80aed5e4ebffd"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"df57d9e278fd3fac3fbb2d666cc18a23a1b4d60f","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        iscsi_portals \u003d [t[\u0027name\u0027] for t in self.req(\u0027iscsi-portals\u0027)"},{"line_number":174,"context_line":"                         [\u0027iscsi-portals\u0027]]"},{"line_number":175,"context_line":"        self._portals \u003d []"},{"line_number":176,"context_line":"        for portal_name in iscsi_portals:"},{"line_number":177,"context_line":"            try:"},{"line_number":178,"context_line":"                self._portals.append(self.req(\u0027iscsi-portals\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_ee9825c2","line":175,"in_reply_to":"7a016987_88f76958","updated":"2015-05-20 23:21:35.000000000","message":"Done","commit_id":"3bd69adfe0d2bbc109f9ba5084d80aed5e4ebffd"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1f15f6f71c752d02eef22e1effced400192394c9","unresolved":false,"context_lines":[{"line_number":550,"context_line":"        :target_iqn, :target_portal, :target_lun for backward compatibility."},{"line_number":551,"context_line":"        \"\"\""},{"line_number":552,"context_line":"        portals \u003d self.client.get_iscsi_portals()"},{"line_number":553,"context_line":"        portal \u003d RANDOM.choice(portals)"},{"line_number":554,"context_line":"        portal_addr \u003d (\u0027%(ip)s:%(port)d\u0027 %"},{"line_number":555,"context_line":"                       {\u0027ip\u0027: portal[\u0027ip-addr\u0027].split(\u0027/\u0027)[0],"},{"line_number":556,"context_line":"                        \u0027port\u0027: portal[\u0027ip-port\u0027]})"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_58992d7b","line":553,"updated":"2015-05-21 19:11:07.000000000","message":"Add check to make sure portals actually contains something?","commit_id":"930758c1e225f68606267b8e26b6882962dc45c1"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"b3debe44b10551c99cdb8dec8b5bba3440b22070","unresolved":false,"context_lines":[{"line_number":550,"context_line":"        :target_iqn, :target_portal, :target_lun for backward compatibility."},{"line_number":551,"context_line":"        \"\"\""},{"line_number":552,"context_line":"        portals \u003d self.client.get_iscsi_portals()"},{"line_number":553,"context_line":"        portal \u003d RANDOM.choice(portals)"},{"line_number":554,"context_line":"        portal_addr \u003d (\u0027%(ip)s:%(port)d\u0027 %"},{"line_number":555,"context_line":"                       {\u0027ip\u0027: portal[\u0027ip-addr\u0027].split(\u0027/\u0027)[0],"},{"line_number":556,"context_line":"                        \u0027port\u0027: portal[\u0027ip-port\u0027]})"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_18439cb3","line":553,"in_reply_to":"7a016987_58992d7b","updated":"2015-05-22 18:31:21.000000000","message":"Done","commit_id":"930758c1e225f68606267b8e26b6882962dc45c1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"176129e273bb2572bfa9a4315d3f8e754430a363","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                raise exception.VolumeNotFound(volume_id\u003dkey)"},{"line_number":131,"context_line":"            elif ALREADY_MAPPED_ERR in err_msg:"},{"line_number":132,"context_line":"                raise exception.XtremIOAlreadyMappedError()"},{"line_number":133,"context_line":"        msg \u003d _LE(\u0027Bad response from XMS, %s\u0027) % response.text"},{"line_number":134,"context_line":"        LOG.error(msg)"},{"line_number":135,"context_line":"        raise exception.VolumeBackendAPIException(message\u003dmsg)"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_2bb39d0b","line":133,"updated":"2015-05-22 20:18:54.000000000","message":"Since msg is used for the logger and the exception this should be _() instead of _LE().","commit_id":"1bb912d88f629e9748a35dc5ed1bd10063640ce9"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"2ce78cfffd224980579719251610dac0e2c50d39","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                raise exception.VolumeNotFound(volume_id\u003dkey)"},{"line_number":131,"context_line":"            elif ALREADY_MAPPED_ERR in err_msg:"},{"line_number":132,"context_line":"                raise exception.XtremIOAlreadyMappedError()"},{"line_number":133,"context_line":"        msg \u003d _LE(\u0027Bad response from XMS, %s\u0027) % response.text"},{"line_number":134,"context_line":"        LOG.error(msg)"},{"line_number":135,"context_line":"        raise exception.VolumeBackendAPIException(message\u003dmsg)"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_4b501932","line":133,"in_reply_to":"7a016987_2bb39d0b","updated":"2015-05-22 20:40:33.000000000","message":"Done","commit_id":"1bb912d88f629e9748a35dc5ed1bd10063640ce9"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bf2003ba54af40db8c6ee49fa978a08b510944c6","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                raise exception.XtremIOAlreadyMappedError()"},{"line_number":133,"context_line":"        msg \u003d _(\u0027Bad response from XMS, %s\u0027) % response.text"},{"line_number":134,"context_line":"        LOG.error(msg)"},{"line_number":135,"context_line":"        raise exception.VolumeBackendAPIException(message\u003dmsg)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def update_url(self, data, cluster_id):"},{"line_number":138,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":6,"id":"5afe65bd_06570a27","line":135,"updated":"2015-06-04 14:47:01.000000000","message":"I don\u0027t see unit tests for these added exception handlings (i.e., using assertRaises)?  Let me know if I missed them.","commit_id":"2379c0df9742b61e3b963ece5af04de978b04d55"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"4887d42282f50638a4fad2ee356424fa7b99f6a3","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                raise exception.XtremIOAlreadyMappedError()"},{"line_number":133,"context_line":"        msg \u003d _(\u0027Bad response from XMS, %s\u0027) % response.text"},{"line_number":134,"context_line":"        LOG.error(msg)"},{"line_number":135,"context_line":"        raise exception.VolumeBackendAPIException(message\u003dmsg)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def update_url(self, data, cluster_id):"},{"line_number":138,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afb71cf_f3c4de5f","line":135,"in_reply_to":"5afe65bd_06570a27","updated":"2015-06-08 15:35:51.000000000","message":"the whole client is mocked, can\u0027t test this","commit_id":"2379c0df9742b61e3b963ece5af04de978b04d55"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"876a21e93c854cda860111996d5c0c949628ecc0","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def get_iscsi_portals(self):"},{"line_number":176,"context_line":"        self._portals \u003d []"},{"line_number":177,"context_line":"        if self._portals:"},{"line_number":178,"context_line":"            return self._portals"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        iscsi_portals \u003d [t[\u0027name\u0027] for t in self.req(\u0027iscsi-portals\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1af86dd1_4304477d","line":177,"updated":"2015-06-12 15:11:44.000000000","message":"How can this if statement be entered if L176 sets it to []?","commit_id":"64a605c189380bcc30d5f11111e30de734074ca6"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"a3f2009981b44ed125c04f731544a71179acdc7a","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def get_iscsi_portals(self):"},{"line_number":176,"context_line":"        self._portals \u003d []"},{"line_number":177,"context_line":"        if self._portals:"},{"line_number":178,"context_line":"            return self._portals"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        iscsi_portals \u003d [t[\u0027name\u0027] for t in self.req(\u0027iscsi-portals\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa32b979_193a5137","line":177,"in_reply_to":"1af86dd1_4304477d","updated":"2015-06-14 07:30:15.000000000","message":"Done","commit_id":"64a605c189380bcc30d5f11111e30de734074ca6"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"c6e53e080d254d1e6cbbe80c46b46fec76ead8ba","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                             \u0027err_msg\u0027: err_msg, })"},{"line_number":130,"context_line":"                raise exception.NotFound()"},{"line_number":131,"context_line":"            elif err_msg \u003d\u003d VOL_NOT_UNIQUE_ERR:"},{"line_number":132,"context_line":"                LOG.error(_LE(\"can\u0027t create 2 volumes with the same name, %s\"),"},{"line_number":133,"context_line":"                          err_msg)"},{"line_number":134,"context_line":"                msg \u003d (_(\u0027Volume by this name already exists\u0027))"},{"line_number":135,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa32b979_6fe85217","line":132,"updated":"2015-06-20 19:27:02.000000000","message":"Would prefer log messages start uppercase.","commit_id":"8eb05e45d879b072ea25ac645586c7e2f832f88c"}]}
