)]}'
{"cinder/tests/unit/volume/drivers/dell_emc/vmax/test_vmax.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d5f6b422a4dc7fc87c071a7ff6062d62f5ca054","unresolved":false,"context_lines":[{"line_number":3413,"context_line":"        self.assertEqual(\u0027test\u0027, self.rest.user)"},{"line_number":3414,"context_line":"        self.assertEqual(\u0027test\u0027, self.rest.passwd)"},{"line_number":3415,"context_line":"        self.assertEqual(\u0027/path/to/cert\u0027, self.rest.verify)"},{"line_number":3416,"context_line":"        # self.assertEqual(\u0027/path/to/cert\u0027, self.rest.cert)"},{"line_number":3417,"context_line":"        self.assertEqual(\u0027https://10.10.10.11:8443/univmax/restapi\u0027,"},{"line_number":3418,"context_line":"                         self.rest.base_uri)"},{"line_number":3419,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_cfcf1388","line":3416,"updated":"2018-12-20 15:33:40.000000000","message":"Please remove commented out code.","commit_id":"b34e004928555a7a980be1e3aebe0c284c9340e7"}],"cinder/volume/drivers/dell_emc/vmax/common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d5f6b422a4dc7fc87c071a7ff6062d62f5ca054","unresolved":false,"context_lines":[{"line_number":110,"context_line":"               default\u003d1,"},{"line_number":111,"context_line":"               help\u003d\u0027A backoff factor to apply between attempts after the \u0027"},{"line_number":112,"context_line":"                    \u0027second try (most errors are resolved immediately by a \u0027"},{"line_number":113,"context_line":"                    \u0027second try without a delay). urllib3 will sleep for: \u0027"},{"line_number":114,"context_line":"                    \u0027{backoff factor} * (2 ^ ({number of total retries} - 1)) \u0027"},{"line_number":115,"context_line":"                    \u0027seconds.\u0027),"},{"line_number":116,"context_line":"    cfg.BoolOpt(utils.U4P_FAILOVER_AUTOFAILBACK,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_6fa91f96","line":113,"range":{"start_line":113,"start_character":50,"end_line":113,"end_character":57},"updated":"2018-12-20 15:33:40.000000000","message":"This is an internal detail. Maybe better to say \"Retries will sleep...\"","commit_id":"b34e004928555a7a980be1e3aebe0c284c9340e7"}],"cinder/volume/drivers/dell_emc/vmax/rest.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"91175f0014ee03f0088d91dfd519957b9b4f8a88","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import requests.packages.urllib3.exceptions as urllib_exp"},{"line_number":25,"context_line":"from requests.packages.urllib3.util.retry import Retry"},{"line_number":26,"context_line":"import six"},{"line_number":27,"context_line":"import sys"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from cinder import coordination"},{"line_number":30,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_8520909c","line":27,"updated":"2018-10-08 18:46:14.000000000","message":"\"import sys\" belongs in the above block with the json import.","commit_id":"2464f36b06de014fa37bee94b646dfe87993975d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d5f6b422a4dc7fc87c071a7ff6062d62f5ca054","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import json"},{"line_number":17,"context_line":"import six"},{"line_number":18,"context_line":"import sys"},{"line_number":19,"context_line":"import time"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_2f8c8738","line":17,"updated":"2018-12-20 15:33:40.000000000","message":"Technically, six is a third party lib and should be in the next grouping.","commit_id":"b34e004928555a7a980be1e3aebe0c284c9340e7"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d5f6b422a4dc7fc87c071a7ff6062d62f5ca054","unresolved":false,"context_lines":[{"line_number":25,"context_line":"import requests.auth"},{"line_number":26,"context_line":"import requests.exceptions as r_exc"},{"line_number":27,"context_line":"import requests.packages.urllib3.exceptions as urllib_exp"},{"line_number":28,"context_line":"from requests.packages.urllib3.util.retry import Retry"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from cinder import coordination"},{"line_number":31,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_4f89c326","line":28,"range":{"start_line":28,"start_character":49,"end_line":28,"end_character":54},"updated":"2018-12-20 15:33:40.000000000","message":"Do not import classes, only modules.","commit_id":"b34e004928555a7a980be1e3aebe0c284c9340e7"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d5f6b422a4dc7fc87c071a7ff6062d62f5ca054","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        :returns: requests.session() -- session, the rest session"},{"line_number":125,"context_line":"        \"\"\""},{"line_number":126,"context_line":"        LOG.info(\"Establising REST session with {}\".format(self.base_uri))"},{"line_number":127,"context_line":"        if self.session:"},{"line_number":128,"context_line":"            self.session.close()"},{"line_number":129,"context_line":"        session \u003d requests.session()"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_cf8b9313","line":126,"range":{"start_line":126,"start_character":51,"end_line":126,"end_character":58},"updated":"2018-12-20 15:33:40.000000000","message":"Don\u0027t preformat the string. Use %s formatting and pass self.base_uri as an arg to the logger.","commit_id":"b34e004928555a7a980be1e3aebe0c284c9340e7"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d5f6b422a4dc7fc87c071a7ff6062d62f5ca054","unresolved":false,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        :raises: VolumeBackendAPIException"},{"line_number":161,"context_line":"        \"\"\""},{"line_number":162,"context_line":"        if len(self.u4p_failover_targets) \u003e 0:"},{"line_number":163,"context_line":"            LOG.error(\"Unisphere failure at %(prim)s, switching to next \""},{"line_number":164,"context_line":"                      \"backup instance of Unisphere at %(sec)s\", {"},{"line_number":165,"context_line":"                          \u0027prim\u0027: self.base_uri,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_ef9f6f4c","line":162,"range":{"start_line":162,"start_character":8,"end_line":162,"end_character":46},"updated":"2018-12-20 15:33:40.000000000","message":"Could just be:\n\nif self.u4p_failover_targets:","commit_id":"b34e004928555a7a980be1e3aebe0c284c9340e7"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d5f6b422a4dc7fc87c071a7ff6062d62f5ca054","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                                      \u0027exc_msg\u0027: e})"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        except Exception as e:"},{"line_number":284,"context_line":"            six.text_type(e)"},{"line_number":285,"context_line":"            msg \u003d _(\"The %(method)s request to URL %(url)s failed with \""},{"line_number":286,"context_line":"                    \"exception %(e)s\")"},{"line_number":287,"context_line":"            LOG.exception(msg, {\u0027method\u0027: method, \u0027url\u0027: url,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_0fcbcb47","line":284,"updated":"2018-12-20 15:33:40.000000000","message":"Looks like this line should be removed.","commit_id":"b34e004928555a7a980be1e3aebe0c284c9340e7"}]}
