)]}'
{"cinder/volume/drivers/dothill/dothill_client.py":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"267e1610be5cb694f5bd860411b280595605f7c3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            tree \u003d etree.XML(xml)"},{"line_number":56,"context_line":"            if (tree.findtext(\".//PROPERTY[@name\u003d\u0027response-type\u0027]\") \u003d\u003d"},{"line_number":57,"context_line":"                    \"success\"):"},{"line_number":58,"context_line":"                self._session_key \u003d \\"},{"line_number":59,"context_line":"                    tree.findtext(\".//PROPERTY[@name\u003d\u0027response\u0027]\")"},{"line_number":60,"context_line":"        except Exception as e:"},{"line_number":61,"context_line":"            msg \u003d _LE(\"Cannot parse session key: %s\") % e.msg"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_fe243fc7","line":58,"range":{"start_line":58,"start_character":35,"end_line":58,"end_character":37},"updated":"2016-12-19 19:31:53.000000000","message":"please, use () to wrap long lines instead of \\","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            tree \u003d etree.XML(xml)"},{"line_number":56,"context_line":"            if (tree.findtext(\".//PROPERTY[@name\u003d\u0027response-type\u0027]\") \u003d\u003d"},{"line_number":57,"context_line":"                    \"success\"):"},{"line_number":58,"context_line":"                self._session_key \u003d \\"},{"line_number":59,"context_line":"                    tree.findtext(\".//PROPERTY[@name\u003d\u0027response\u0027]\")"},{"line_number":60,"context_line":"        except Exception as e:"},{"line_number":61,"context_line":"            msg \u003d _LE(\"Cannot parse session key: %s\") % e.msg"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_b470f0dd","line":58,"range":{"start_line":58,"start_character":35,"end_line":58,"end_character":37},"in_reply_to":"1a6eadb0_fe243fc7","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                self._session_key \u003d \\"},{"line_number":59,"context_line":"                    tree.findtext(\".//PROPERTY[@name\u003d\u0027response\u0027]\")"},{"line_number":60,"context_line":"        except Exception as e:"},{"line_number":61,"context_line":"            msg \u003d _LE(\"Cannot parse session key: %s\") % e.msg"},{"line_number":62,"context_line":"            raise exception.DotHillConnectionError(message\u003dmsg)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def login(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_ab6ed8c6","line":61,"range":{"start_line":61,"start_character":18,"end_line":61,"end_character":21},"updated":"2016-12-20 16:06:29.000000000","message":"Exception strings should use _()","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                self._session_key \u003d \\"},{"line_number":59,"context_line":"                    tree.findtext(\".//PROPERTY[@name\u003d\u0027response\u0027]\")"},{"line_number":60,"context_line":"        except Exception as e:"},{"line_number":61,"context_line":"            msg \u003d _LE(\"Cannot parse session key: %s\") % e.msg"},{"line_number":62,"context_line":"            raise exception.DotHillConnectionError(message\u003dmsg)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def login(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_97577601","line":61,"range":{"start_line":61,"start_character":18,"end_line":61,"end_character":21},"in_reply_to":"1a6eadb0_ab6ed8c6","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            return"},{"line_number":81,"context_line":"        except exception.DotHillConnectionError:"},{"line_number":82,"context_line":"            not_responding \u003d self._curr_ip_addr"},{"line_number":83,"context_line":"            LOG.exception(_LE(\u0027session_login failed to connect to %s\u0027) %"},{"line_number":84,"context_line":"                          self._curr_ip_addr)"},{"line_number":85,"context_line":"            # Loop through the remaining management addresses"},{"line_number":86,"context_line":"            # to find one that\u0027s up."}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_2b63a8dd","line":83,"range":{"start_line":83,"start_character":70,"end_line":83,"end_character":72},"updated":"2016-12-20 16:06:29.000000000","message":"Change % to ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            return"},{"line_number":81,"context_line":"        except exception.DotHillConnectionError:"},{"line_number":82,"context_line":"            not_responding \u003d self._curr_ip_addr"},{"line_number":83,"context_line":"            LOG.exception(_LE(\u0027session_login failed to connect to %s\u0027) %"},{"line_number":84,"context_line":"                          self._curr_ip_addr)"},{"line_number":85,"context_line":"            # Loop through the remaining management addresses"},{"line_number":86,"context_line":"            # to find one that\u0027s up."}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_3747824c","line":83,"range":{"start_line":83,"start_character":70,"end_line":83,"end_character":72},"in_reply_to":"1a6eadb0_2b63a8dd","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                              self._curr_ip_addr)"},{"line_number":97,"context_line":"                    continue"},{"line_number":98,"context_line":"        raise exception.DotHillConnectionError("},{"line_number":99,"context_line":"            message\u003d_LE(\"Failed to log in to management controller\"))"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @utils.synchronized(__name__, external \u003d True)"},{"line_number":102,"context_line":"    def _get_session_key(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_aba5f804","line":99,"range":{"start_line":99,"start_character":20,"end_line":99,"end_character":23},"updated":"2016-12-20 16:06:29.000000000","message":"_()","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                              self._curr_ip_addr)"},{"line_number":97,"context_line":"                    continue"},{"line_number":98,"context_line":"        raise exception.DotHillConnectionError("},{"line_number":99,"context_line":"            message\u003d_LE(\"Failed to log in to management controller\"))"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @utils.synchronized(__name__, external \u003d True)"},{"line_number":102,"context_line":"    def _get_session_key(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_5774fe9a","line":99,"range":{"start_line":99,"start_character":20,"end_line":99,"end_character":23},"in_reply_to":"1a6eadb0_aba5f804","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        try:"},{"line_number":114,"context_line":"            xml \u003d requests.get(url, verify\u003dself.ssl_verify, timeout\u003d30)"},{"line_number":115,"context_line":"        except requests.exceptions.RequestException:"},{"line_number":116,"context_line":"            msg \u003d _LE(\"Failed to obtain MC session key\")"},{"line_number":117,"context_line":"            LOG.exception(msg)"},{"line_number":118,"context_line":"            raise exception.DotHillConnectionError(message\u003dmsg)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_ab7c1873","line":116,"range":{"start_line":116,"start_character":18,"end_line":116,"end_character":21},"updated":"2016-12-20 16:06:29.000000000","message":"_() since it is being used for both the logging and the exception message.","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        try:"},{"line_number":114,"context_line":"            xml \u003d requests.get(url, verify\u003dself.ssl_verify, timeout\u003d30)"},{"line_number":115,"context_line":"        except requests.exceptions.RequestException:"},{"line_number":116,"context_line":"            msg \u003d _LE(\"Failed to obtain MC session key\")"},{"line_number":117,"context_line":"            LOG.exception(msg)"},{"line_number":118,"context_line":"            raise exception.DotHillConnectionError(message\u003dmsg)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_fa632fdb","line":116,"range":{"start_line":116,"start_character":18,"end_line":116,"end_character":21},"in_reply_to":"1a6eadb0_ab7c1873","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            raise exception.DotHillConnectionError(message\u003dmsg)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        self._get_auth_token(xml.text.encode(\u0027utf8\u0027))"},{"line_number":121,"context_line":"        LOG.debug(\"session key \u003d %s\" % self._session_key)"},{"line_number":122,"context_line":"        if self._session_key is None:"},{"line_number":123,"context_line":"            raise exception.DotHillAuthenticationError"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_0b926c9f","line":121,"range":{"start_line":121,"start_character":36,"end_line":121,"end_character":38},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            raise exception.DotHillConnectionError(message\u003dmsg)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        self._get_auth_token(xml.text.encode(\u0027utf8\u0027))"},{"line_number":121,"context_line":"        LOG.debug(\"session key \u003d %s\" % self._session_key)"},{"line_number":122,"context_line":"        if self._session_key is None:"},{"line_number":123,"context_line":"            raise exception.DotHillAuthenticationError"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_dd63c8db","line":121,"range":{"start_line":121,"start_character":36,"end_line":121,"end_character":38},"in_reply_to":"1a6eadb0_0b926c9f","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            except exception.DotHillConnectionError as e:"},{"line_number":174,"context_line":"                if tries_left \u003c 1:"},{"line_number":175,"context_line":"                    LOG.error(_LE(\"Array Connection error: \""},{"line_number":176,"context_line":"                                  \"%s (no more retries)\") % e.msg)"},{"line_number":177,"context_line":"                    raise"},{"line_number":178,"context_line":"                # Retry on any network connection errors, SSL errors, etc"},{"line_number":179,"context_line":"                LOG.error(_LE(\"Array Connection error: %s (retrying)\") % e.msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_0bd98c83","line":176,"range":{"start_line":176,"start_character":57,"end_line":176,"end_character":59},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,\n\nOr change to LOG.exception and get rid of the exception object.","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            except exception.DotHillConnectionError as e:"},{"line_number":174,"context_line":"                if tries_left \u003c 1:"},{"line_number":175,"context_line":"                    LOG.error(_LE(\"Array Connection error: \""},{"line_number":176,"context_line":"                                  \"%s (no more retries)\") % e.msg)"},{"line_number":177,"context_line":"                    raise"},{"line_number":178,"context_line":"                # Retry on any network connection errors, SSL errors, etc"},{"line_number":179,"context_line":"                LOG.error(_LE(\"Array Connection error: %s (retrying)\") % e.msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_bdafece1","line":176,"range":{"start_line":176,"start_character":57,"end_line":176,"end_character":59},"in_reply_to":"1a6eadb0_0bd98c83","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                                  \"%s (no more retries)\") % e.msg)"},{"line_number":177,"context_line":"                    raise"},{"line_number":178,"context_line":"                # Retry on any network connection errors, SSL errors, etc"},{"line_number":179,"context_line":"                LOG.error(_LE(\"Array Connection error: %s (retrying)\") % e.msg)"},{"line_number":180,"context_line":"            except exception.DotHillRequestError as e:"},{"line_number":181,"context_line":"                if tries_left \u003c 1:"},{"line_number":182,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (no more retries)\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_6bd04054","line":179,"range":{"start_line":179,"start_character":70,"end_line":179,"end_character":72},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                                  \"%s (no more retries)\") % e.msg)"},{"line_number":177,"context_line":"                    raise"},{"line_number":178,"context_line":"                # Retry on any network connection errors, SSL errors, etc"},{"line_number":179,"context_line":"                LOG.error(_LE(\"Array Connection error: %s (retrying)\") % e.msg)"},{"line_number":180,"context_line":"            except exception.DotHillRequestError as e:"},{"line_number":181,"context_line":"                if tries_left \u003c 1:"},{"line_number":182,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (no more retries)\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_5d85f856","line":179,"range":{"start_line":179,"start_character":70,"end_line":179,"end_character":72},"in_reply_to":"1a6eadb0_6bd04054","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            except exception.DotHillRequestError as e:"},{"line_number":181,"context_line":"                if tries_left \u003c 1:"},{"line_number":182,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (no more retries)\""},{"line_number":183,"context_line":"                                  ) % e.msg)"},{"line_number":184,"context_line":"                    raise"},{"line_number":185,"context_line":"                # Retry specific errors which may succeed if we log in again"},{"line_number":186,"context_line":"                # -10027 \u003d\u003e The user is not recognized on this system."}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_ebc45093","line":183,"range":{"start_line":183,"start_character":35,"end_line":183,"end_character":37},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            except exception.DotHillRequestError as e:"},{"line_number":181,"context_line":"                if tries_left \u003c 1:"},{"line_number":182,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (no more retries)\""},{"line_number":183,"context_line":"                                  ) % e.msg)"},{"line_number":184,"context_line":"                    raise"},{"line_number":185,"context_line":"                # Retry specific errors which may succeed if we log in again"},{"line_number":186,"context_line":"                # -10027 \u003d\u003e The user is not recognized on this system."}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_7d7c7472","line":183,"range":{"start_line":183,"start_character":35,"end_line":183,"end_character":37},"in_reply_to":"1a6eadb0_ebc45093","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"267e1610be5cb694f5bd860411b280595605f7c3","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        while tries_left \u003e 0:"},{"line_number":171,"context_line":"            try:"},{"line_number":172,"context_line":"                return self._api_request(path, *args, **kargs)"},{"line_number":173,"context_line":"            except exception.DotHillConnectionError as e:"},{"line_number":174,"context_line":"                if tries_left \u003c 1:"},{"line_number":175,"context_line":"                    LOG.error(_LE(\"Array Connection error: \""},{"line_number":176,"context_line":"                                  \"%s (no more retries)\") % e.msg)"},{"line_number":177,"context_line":"                    raise"},{"line_number":178,"context_line":"                # Retry on any network connection errors, SSL errors, etc"},{"line_number":179,"context_line":"                LOG.error(_LE(\"Array Connection error: %s (retrying)\") % e.msg)"},{"line_number":180,"context_line":"            except exception.DotHillRequestError as e:"},{"line_number":181,"context_line":"                if tries_left \u003c 1:"},{"line_number":182,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (no more retries)\""},{"line_number":183,"context_line":"                                  ) % e.msg)"},{"line_number":184,"context_line":"                    raise"},{"line_number":185,"context_line":"                # Retry specific errors which may succeed if we log in again"},{"line_number":186,"context_line":"                # -10027 \u003d\u003e The user is not recognized on this system."},{"line_number":187,"context_line":"                if \u0027(-10027)\u0027 in e.msg:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_f2947345","line":184,"range":{"start_line":173,"start_character":12,"end_line":184,"end_character":25},"updated":"2016-12-19 19:31:53.000000000","message":"why do you have this same code twice?","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"2ead5bf88fb1d95f114e1a8283ff95a1b1a2cc55","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        while tries_left \u003e 0:"},{"line_number":171,"context_line":"            try:"},{"line_number":172,"context_line":"                return self._api_request(path, *args, **kargs)"},{"line_number":173,"context_line":"            except exception.DotHillConnectionError as e:"},{"line_number":174,"context_line":"                if tries_left \u003c 1:"},{"line_number":175,"context_line":"                    LOG.error(_LE(\"Array Connection error: \""},{"line_number":176,"context_line":"                                  \"%s (no more retries)\") % e.msg)"},{"line_number":177,"context_line":"                    raise"},{"line_number":178,"context_line":"                # Retry on any network connection errors, SSL errors, etc"},{"line_number":179,"context_line":"                LOG.error(_LE(\"Array Connection error: %s (retrying)\") % e.msg)"},{"line_number":180,"context_line":"            except exception.DotHillRequestError as e:"},{"line_number":181,"context_line":"                if tries_left \u003c 1:"},{"line_number":182,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (no more retries)\""},{"line_number":183,"context_line":"                                  ) % e.msg)"},{"line_number":184,"context_line":"                    raise"},{"line_number":185,"context_line":"                # Retry specific errors which may succeed if we log in again"},{"line_number":186,"context_line":"                # -10027 \u003d\u003e The user is not recognized on this system."},{"line_number":187,"context_line":"                if \u0027(-10027)\u0027 in e.msg:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_dba1fe95","line":184,"range":{"start_line":173,"start_character":12,"end_line":184,"end_character":25},"in_reply_to":"1a6eadb0_e0770239","updated":"2016-12-21 09:59:10.000000000","message":"Opss.. Sorry about that\nI don\u0027t know why I thought it was handling the same exception twice","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        while tries_left \u003e 0:"},{"line_number":171,"context_line":"            try:"},{"line_number":172,"context_line":"                return self._api_request(path, *args, **kargs)"},{"line_number":173,"context_line":"            except exception.DotHillConnectionError as e:"},{"line_number":174,"context_line":"                if tries_left \u003c 1:"},{"line_number":175,"context_line":"                    LOG.error(_LE(\"Array Connection error: \""},{"line_number":176,"context_line":"                                  \"%s (no more retries)\") % e.msg)"},{"line_number":177,"context_line":"                    raise"},{"line_number":178,"context_line":"                # Retry on any network connection errors, SSL errors, etc"},{"line_number":179,"context_line":"                LOG.error(_LE(\"Array Connection error: %s (retrying)\") % e.msg)"},{"line_number":180,"context_line":"            except exception.DotHillRequestError as e:"},{"line_number":181,"context_line":"                if tries_left \u003c 1:"},{"line_number":182,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (no more retries)\""},{"line_number":183,"context_line":"                                  ) % e.msg)"},{"line_number":184,"context_line":"                    raise"},{"line_number":185,"context_line":"                # Retry specific errors which may succeed if we log in again"},{"line_number":186,"context_line":"                # -10027 \u003d\u003e The user is not recognized on this system."},{"line_number":187,"context_line":"                if \u0027(-10027)\u0027 in e.msg:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_e0770239","line":184,"range":{"start_line":173,"start_character":12,"end_line":184,"end_character":25},"in_reply_to":"1a6eadb0_f2947345","updated":"2016-12-21 00:43:30.000000000","message":"They are slightly different--one is for network problems which are retried by default, the other is for array errors which are not retried except for specific errors.","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                # -10027 \u003d\u003e The user is not recognized on this system."},{"line_number":187,"context_line":"                if \u0027(-10027)\u0027 in e.msg:"},{"line_number":188,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (retrying)\""},{"line_number":189,"context_line":"                                  ) % e.msg)"},{"line_number":190,"context_line":"                else:"},{"line_number":191,"context_line":"                    raise"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_ab5898fb","line":189,"range":{"start_line":189,"start_character":36,"end_line":189,"end_character":37},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                # -10027 \u003d\u003e The user is not recognized on this system."},{"line_number":187,"context_line":"                if \u0027(-10027)\u0027 in e.msg:"},{"line_number":188,"context_line":"                    LOG.error(_LE(\"Array Request error: %s (retrying)\""},{"line_number":189,"context_line":"                                  ) % e.msg)"},{"line_number":190,"context_line":"                else:"},{"line_number":191,"context_line":"                    raise"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_00779e3a","line":189,"range":{"start_line":189,"start_character":36,"end_line":189,"end_character":37},"in_reply_to":"1a6eadb0_ab5898fb","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                               verify\u003dself.ssl_verify, timeout\u003d60)"},{"line_number":212,"context_line":"            tree \u003d etree.XML(xml.text.encode(\u0027utf8\u0027))"},{"line_number":213,"context_line":"        except Exception as e:"},{"line_number":214,"context_line":"            message \u003d _LE(\"Exception handling URL %(url)s: %(msg)s\") % {"},{"line_number":215,"context_line":"                \u0027url\u0027: url, \u0027msg\u0027: e}"},{"line_number":216,"context_line":"            raise exception.DotHillConnectionError(message\u003dmessage)"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_8b083cdb","line":214,"range":{"start_line":214,"start_character":22,"end_line":214,"end_character":25},"updated":"2016-12-20 16:06:29.000000000","message":"_()","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                               verify\u003dself.ssl_verify, timeout\u003d60)"},{"line_number":212,"context_line":"            tree \u003d etree.XML(xml.text.encode(\u0027utf8\u0027))"},{"line_number":213,"context_line":"        except Exception as e:"},{"line_number":214,"context_line":"            message \u003d _LE(\"Exception handling URL %(url)s: %(msg)s\") % {"},{"line_number":215,"context_line":"                \u0027url\u0027: url, \u0027msg\u0027: e}"},{"line_number":216,"context_line":"            raise exception.DotHillConnectionError(message\u003dmessage)"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_fd6c049e","line":214,"range":{"start_line":214,"start_character":22,"end_line":214,"end_character":25},"in_reply_to":"1a6eadb0_8b083cdb","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":249,"context_line":"            # -10186 \u003d\u003e The specified name is already in use."},{"line_number":250,"context_line":"            # This can occur during controller failover."},{"line_number":251,"context_line":"            if \u0027(-10186)\u0027 in e.msg:"},{"line_number":252,"context_line":"                LOG.warning(_LW(\"Ignoring error in create volume: %s\") % e.msg)"},{"line_number":253,"context_line":"                return None"},{"line_number":254,"context_line":"            raise"},{"line_number":255,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_2b1ba81c","line":252,"range":{"start_line":252,"start_character":70,"end_line":252,"end_character":72},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":249,"context_line":"            # -10186 \u003d\u003e The specified name is already in use."},{"line_number":250,"context_line":"            # This can occur during controller failover."},{"line_number":251,"context_line":"            if \u0027(-10186)\u0027 in e.msg:"},{"line_number":252,"context_line":"                LOG.warning(_LW(\"Ignoring error in create volume: %s\") % e.msg)"},{"line_number":253,"context_line":"                return None"},{"line_number":254,"context_line":"            raise"},{"line_number":255,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_00c5de3a","line":252,"range":{"start_line":252,"start_character":70,"end_line":252,"end_character":72},"in_reply_to":"1a6eadb0_2b1ba81c","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":263,"context_line":"            # This can occur during controller failover."},{"line_number":264,"context_line":"            if \u0027(-10075)\u0027 in e.msg:"},{"line_number":265,"context_line":"                LOG.warning(_LW(\"Ignorning error while deleting %(volume)s:\""},{"line_number":266,"context_line":"                                \" %(reason)s\") %"},{"line_number":267,"context_line":"                            {\u0027volume\u0027: name, \u0027reason\u0027: e.msg})"},{"line_number":268,"context_line":"                return"},{"line_number":269,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_cbb794f3","line":266,"range":{"start_line":266,"start_character":46,"end_line":266,"end_character":48},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":263,"context_line":"            # This can occur during controller failover."},{"line_number":264,"context_line":"            if \u0027(-10075)\u0027 in e.msg:"},{"line_number":265,"context_line":"                LOG.warning(_LW(\"Ignorning error while deleting %(volume)s:\""},{"line_number":266,"context_line":"                                \" %(reason)s\") %"},{"line_number":267,"context_line":"                            {\u0027volume\u0027: name, \u0027reason\u0027: e.msg})"},{"line_number":268,"context_line":"                return"},{"line_number":269,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_20c01a2a","line":266,"range":{"start_line":266,"start_character":46,"end_line":266,"end_character":48},"in_reply_to":"1a6eadb0_cbb794f3","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":279,"context_line":"            # This can occur during controller failover."},{"line_number":280,"context_line":"            if \u0027(-10186)\u0027 in e.msg:"},{"line_number":281,"context_line":"                LOG.warning(_LW(\"Ignoring error attempting to create snapshot:\""},{"line_number":282,"context_line":"                                \" %s\") % e.msg)"},{"line_number":283,"context_line":"                return None"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def delete_snapshot(self, snap_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_abab3888","line":282,"range":{"start_line":282,"start_character":39,"end_line":282,"end_character":40},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":279,"context_line":"            # This can occur during controller failover."},{"line_number":280,"context_line":"            if \u0027(-10186)\u0027 in e.msg:"},{"line_number":281,"context_line":"                LOG.warning(_LW(\"Ignoring error attempting to create snapshot:\""},{"line_number":282,"context_line":"                                \" %s\") % e.msg)"},{"line_number":283,"context_line":"                return None"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def delete_snapshot(self, snap_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_40dd1613","line":282,"range":{"start_line":282,"start_character":39,"end_line":282,"end_character":40},"in_reply_to":"1a6eadb0_abab3888","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":289,"context_line":"            # -10050 \u003d\u003e The volume was not found on this system."},{"line_number":290,"context_line":"            # This can occur during controller failover."},{"line_number":291,"context_line":"            if \u0027(-10050)\u0027 in e.msg:"},{"line_number":292,"context_line":"                LOG.warning(_LW(\"Ignoring unmap error -10050: %s\") % e.msg)"},{"line_number":293,"context_line":"                return None"},{"line_number":294,"context_line":"            raise"},{"line_number":295,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_0b918c52","line":292,"range":{"start_line":292,"start_character":67,"end_line":292,"end_character":68},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":289,"context_line":"            # -10050 \u003d\u003e The volume was not found on this system."},{"line_number":290,"context_line":"            # This can occur during controller failover."},{"line_number":291,"context_line":"            if \u0027(-10050)\u0027 in e.msg:"},{"line_number":292,"context_line":"                LOG.warning(_LW(\"Ignoring unmap error -10050: %s\") % e.msg)"},{"line_number":293,"context_line":"                return None"},{"line_number":294,"context_line":"            raise"},{"line_number":295,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_c0d126fd","line":292,"range":{"start_line":292,"start_character":67,"end_line":292,"end_character":68},"in_reply_to":"1a6eadb0_0b918c52","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":365,"context_line":"                return lun"},{"line_number":366,"context_line":"            lun +\u003d 1"},{"line_number":367,"context_line":"        raise exception.DotHillRequestError("},{"line_number":368,"context_line":"            message\u003d\"No LUNs available for mapping to host %s.\" % host)"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    @utils.synchronized(__name__ + \u0027.map_volume\u0027, external\u003dTrue)"},{"line_number":371,"context_line":"    def map_volume(self, volume_name, connector, connector_element):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_4b72a44a","line":368,"updated":"2016-12-20 16:06:29.000000000","message":"Needs _()","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":365,"context_line":"                return lun"},{"line_number":366,"context_line":"            lun +\u003d 1"},{"line_number":367,"context_line":"        raise exception.DotHillRequestError("},{"line_number":368,"context_line":"            message\u003d\"No LUNs available for mapping to host %s.\" % host)"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    @utils.synchronized(__name__ + \u0027.map_volume\u0027, external\u003dTrue)"},{"line_number":371,"context_line":"    def map_volume(self, volume_name, connector, connector_element):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_cb13075b","line":368,"in_reply_to":"1a6eadb0_4b72a44a","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                    # -10058: The host identifier or nickname is already in use"},{"line_number":384,"context_line":"                    if \u0027(-10058)\u0027 in e.msg:"},{"line_number":385,"context_line":"                        LOG.error(_LE(\"While trying to create host nickname\""},{"line_number":386,"context_line":"                                      \" %(nickname)s: %(error_msg)s\") %"},{"line_number":387,"context_line":"                                  {\u0027nickname\u0027: hostname,"},{"line_number":388,"context_line":"                                   \u0027error_msg\u0027: e.msg})"},{"line_number":389,"context_line":"                    else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_8b92fc49","line":386,"range":{"start_line":386,"start_character":69,"end_line":386,"end_character":71},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                    # -10058: The host identifier or nickname is already in use"},{"line_number":384,"context_line":"                    if \u0027(-10058)\u0027 in e.msg:"},{"line_number":385,"context_line":"                        LOG.error(_LE(\"While trying to create host nickname\""},{"line_number":386,"context_line":"                                      \" %(nickname)s: %(error_msg)s\") %"},{"line_number":387,"context_line":"                                  {\u0027nickname\u0027: hostname,"},{"line_number":388,"context_line":"                                   \u0027error_msg\u0027: e.msg})"},{"line_number":389,"context_line":"                    else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_80fe4e69","line":386,"range":{"start_line":386,"start_character":69,"end_line":386,"end_character":71},"in_reply_to":"1a6eadb0_8b92fc49","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":403,"context_line":"                if \u0027(-3177)\u0027 in e.msg:"},{"line_number":404,"context_line":"                    LOG.info(_LI(\"Unable to map volume\""},{"line_number":405,"context_line":"                                 \" %(volume_name)s to lun %(lun)d:\""},{"line_number":406,"context_line":"                                 \" %(reason)s\") %"},{"line_number":407,"context_line":"                             {\u0027volume_name\u0027: volume_name,"},{"line_number":408,"context_line":"                              \u0027lun\u0027: lun, \u0027reason\u0027: e.msg})"},{"line_number":409,"context_line":"                    lun \u003d self._get_next_available_lun_for_host(host,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_2bae4885","line":406,"range":{"start_line":406,"start_character":47,"end_line":406,"end_character":49},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":403,"context_line":"                if \u0027(-3177)\u0027 in e.msg:"},{"line_number":404,"context_line":"                    LOG.info(_LI(\"Unable to map volume\""},{"line_number":405,"context_line":"                                 \" %(volume_name)s to lun %(lun)d:\""},{"line_number":406,"context_line":"                                 \" %(reason)s\") %"},{"line_number":407,"context_line":"                             {\u0027volume_name\u0027: volume_name,"},{"line_number":408,"context_line":"                              \u0027lun\u0027: lun, \u0027reason\u0027: e.msg})"},{"line_number":409,"context_line":"                    lun \u003d self._get_next_available_lun_for_host(host,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_a0018a6c","line":406,"range":{"start_line":406,"start_character":47,"end_line":406,"end_character":49},"in_reply_to":"1a6eadb0_2bae4885","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                raise"},{"line_number":413,"context_line":"            except Exception as e:"},{"line_number":414,"context_line":"                LOG.error(_LE(\"Error while mapping volume\""},{"line_number":415,"context_line":"                              \" %(volume_name)s to lun %(lun)d:\") %"},{"line_number":416,"context_line":"                          {\u0027volume_name\u0027: volume_name, \u0027lun\u0027: lun},"},{"line_number":417,"context_line":"                          e)"},{"line_number":418,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_ebca904e","line":415,"range":{"start_line":415,"start_character":65,"end_line":415,"end_character":67},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                raise"},{"line_number":413,"context_line":"            except Exception as e:"},{"line_number":414,"context_line":"                LOG.error(_LE(\"Error while mapping volume\""},{"line_number":415,"context_line":"                              \" %(volume_name)s to lun %(lun)d:\") %"},{"line_number":416,"context_line":"                          {\u0027volume_name\u0027: volume_name, \u0027lun\u0027: lun},"},{"line_number":417,"context_line":"                          e)"},{"line_number":418,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_c0f8467f","line":415,"range":{"start_line":415,"start_character":65,"end_line":415,"end_character":67},"in_reply_to":"1a6eadb0_ebca904e","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":418,"context_line":"                raise"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        raise exception.DotHillRequestError("},{"line_number":421,"context_line":"            message\u003d\"Failed to find a free LUN for host %s\" % host)"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def unmap_volume(self, volume_name, connector, connector_element):"},{"line_number":424,"context_line":"        if connector_element \u003d\u003d \u0027wwpns\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_2bc5683b","line":421,"updated":"2016-12-20 16:06:29.000000000","message":"Needs _()","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":418,"context_line":"                raise"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        raise exception.DotHillRequestError("},{"line_number":421,"context_line":"            message\u003d\"Failed to find a free LUN for host %s\" % host)"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def unmap_volume(self, volume_name, connector, connector_element):"},{"line_number":424,"context_line":"        if connector_element \u003d\u003d \u0027wwpns\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_e0f3829d","line":421,"in_reply_to":"1a6eadb0_2bc5683b","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":431,"context_line":"            # -10050 \u003d\u003e The volume was not found on this system."},{"line_number":432,"context_line":"            # This can occur during controller failover."},{"line_number":433,"context_line":"            if \u0027(-10050)\u0027 in e.msg:"},{"line_number":434,"context_line":"                LOG.warning(_LW(\"Ignoring unmap error -10050: %s\") % e.msg)"},{"line_number":435,"context_line":"                return None"},{"line_number":436,"context_line":"            raise"},{"line_number":437,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_6bdda013","line":434,"range":{"start_line":434,"start_character":67,"end_line":434,"end_character":68},"updated":"2016-12-20 16:06:29.000000000","message":"% \u003e ,","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":431,"context_line":"            # -10050 \u003d\u003e The volume was not found on this system."},{"line_number":432,"context_line":"            # This can occur during controller failover."},{"line_number":433,"context_line":"            if \u0027(-10050)\u0027 in e.msg:"},{"line_number":434,"context_line":"                LOG.warning(_LW(\"Ignoring unmap error -10050: %s\") % e.msg)"},{"line_number":435,"context_line":"                return None"},{"line_number":436,"context_line":"            raise"},{"line_number":437,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_20ee5ab4","line":434,"range":{"start_line":434,"start_character":67,"end_line":434,"end_character":68},"in_reply_to":"1a6eadb0_6bdda013","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":499,"context_line":"        # Copy a virtual volume to another in the same pool."},{"line_number":500,"context_line":"        self._request(\"/copy/volume\", src_name, name\u003ddest_name)"},{"line_number":501,"context_line":"        LOG.debug(\"Volume copy of source_volume: %(src_name)s to \""},{"line_number":502,"context_line":"                  \"destination_volume: %(dest_name)s started.\" %"},{"line_number":503,"context_line":"                  {\u0027src_name\u0027: src_name, \u0027dest_name\u0027: dest_name, })"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"        # Loop until this volume copy is no longer in progress."}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_cbea34ac","line":502,"range":{"start_line":502,"start_character":63,"end_line":502,"end_character":64},"updated":"2016-12-20 16:06:29.000000000","message":"This was correct before, why is it changed?","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":499,"context_line":"        # Copy a virtual volume to another in the same pool."},{"line_number":500,"context_line":"        self._request(\"/copy/volume\", src_name, name\u003ddest_name)"},{"line_number":501,"context_line":"        LOG.debug(\"Volume copy of source_volume: %(src_name)s to \""},{"line_number":502,"context_line":"                  \"destination_volume: %(dest_name)s started.\" %"},{"line_number":503,"context_line":"                  {\u0027src_name\u0027: src_name, \u0027dest_name\u0027: dest_name, })"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"        # Loop until this volume copy is no longer in progress."}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_17fd263a","line":502,"range":{"start_line":502,"start_character":63,"end_line":502,"end_character":64},"in_reply_to":"1a6eadb0_cbea34ac","updated":"2016-12-21 00:43:30.000000000","message":"Just changed these for consistency after fixing some others that weren\u0027t done right.  I\u0027ll change it back.","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":511,"context_line":"        # exception will be raised if the named volume is not present."},{"line_number":512,"context_line":"        self._request(\"/show/volumes\", dest_name)"},{"line_number":513,"context_line":"        LOG.debug(\"Volume copy of source_volume: %(src_name)s to \""},{"line_number":514,"context_line":"                  \"destination_volume: %(dest_name)s completed.\" %"},{"line_number":515,"context_line":"                  {\u0027src_name\u0027: src_name, \u0027dest_name\u0027: dest_name, })"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def volume_copy_in_progress(self, src_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_2bdc8811","line":514,"range":{"start_line":514,"start_character":65,"end_line":514,"end_character":66},"updated":"2016-12-20 16:06:29.000000000","message":"Same.","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":511,"context_line":"        # exception will be raised if the named volume is not present."},{"line_number":512,"context_line":"        self._request(\"/show/volumes\", dest_name)"},{"line_number":513,"context_line":"        LOG.debug(\"Volume copy of source_volume: %(src_name)s to \""},{"line_number":514,"context_line":"                  \"destination_volume: %(dest_name)s completed.\" %"},{"line_number":515,"context_line":"                  {\u0027src_name\u0027: src_name, \u0027dest_name\u0027: dest_name, })"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def volume_copy_in_progress(self, src_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_7a50ff0a","line":514,"range":{"start_line":514,"start_character":65,"end_line":514,"end_character":66},"in_reply_to":"1a6eadb0_2bdc8811","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"db1d675407b5be55fccc350bd461eb459ef65d37","unresolved":false,"context_lines":[{"line_number":526,"context_line":"        if len(joblist) \u003d\u003d 0:"},{"line_number":527,"context_line":"            return False"},{"line_number":528,"context_line":"        LOG.debug(\"Volume copy of volume: %(src_name)s is \""},{"line_number":529,"context_line":"                  \"%(pc)s percent completed.\" %"},{"line_number":530,"context_line":"                  {\u0027src_name\u0027: src_name,"},{"line_number":531,"context_line":"                   \u0027pc\u0027: joblist[0].findtext(\"PROPERTY[@name\u003d\u0027progress\u0027]\"), })"},{"line_number":532,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_ebf8d07e","line":529,"range":{"start_line":529,"start_character":46,"end_line":529,"end_character":47},"updated":"2016-12-20 16:06:29.000000000","message":"Same.","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":526,"context_line":"        if len(joblist) \u003d\u003d 0:"},{"line_number":527,"context_line":"            return False"},{"line_number":528,"context_line":"        LOG.debug(\"Volume copy of volume: %(src_name)s is \""},{"line_number":529,"context_line":"                  \"%(pc)s percent completed.\" %"},{"line_number":530,"context_line":"                  {\u0027src_name\u0027: src_name,"},{"line_number":531,"context_line":"                   \u0027pc\u0027: joblist[0].findtext(\"PROPERTY[@name\u003d\u0027progress\u0027]\"), })"},{"line_number":532,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_e08462b2","line":529,"range":{"start_line":529,"start_character":46,"end_line":529,"end_character":47},"in_reply_to":"1a6eadb0_ebf8d07e","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"}],"cinder/volume/drivers/dothill/dothill_fc.py":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"267e1610be5cb694f5bd860411b280595605f7c3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                 on management controller."},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    VERSION \u003d \"1.0\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    # ThirdPartySystems CI wiki"},{"line_number":47,"context_line":"    CI_WIKI_NAME \u003d \"Vedams_DotHillDriver_CI\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_deaf8392","line":44,"range":{"start_line":44,"start_character":15,"end_line":44,"end_character":18},"updated":"2016-12-19 19:31:53.000000000","message":"need to change version here also","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                 on management controller."},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    VERSION \u003d \"1.0\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    # ThirdPartySystems CI wiki"},{"line_number":47,"context_line":"    CI_WIKI_NAME \u003d \"Vedams_DotHillDriver_CI\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_3dd3dc39","line":44,"range":{"start_line":44,"start_character":15,"end_line":44,"end_character":18},"in_reply_to":"1a6eadb0_deaf8392","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"}],"cinder/volume/drivers/dothill/dothill_iscsi.py":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"267e1610be5cb694f5bd860411b280595605f7c3","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                 on management controller."},{"line_number":51,"context_line":"    \"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    VERSION \u003d \"1.0\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    # ThirdPartySystems CI wiki"},{"line_number":56,"context_line":"    CI_WIKI_NAME \u003d \"Vedams_DotHillDriver_CI\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_5e9c5369","line":53,"range":{"start_line":53,"start_character":15,"end_line":53,"end_character":18},"updated":"2016-12-19 19:31:53.000000000","message":"1.6","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"8851e885642d55f71da35a225e5d5da60d344433","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                 on management controller."},{"line_number":51,"context_line":"    \"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    VERSION \u003d \"1.0\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    # ThirdPartySystems CI wiki"},{"line_number":56,"context_line":"    CI_WIKI_NAME \u003d \"Vedams_DotHillDriver_CI\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_dde2e800","line":53,"range":{"start_line":53,"start_character":15,"end_line":53,"end_character":18},"in_reply_to":"1a6eadb0_5e9c5369","updated":"2016-12-21 00:43:30.000000000","message":"Done","commit_id":"abc32a200ebba510b6ba3d8eb34094a1f966dc69"}]}
