)]}'
{"manila/share/drivers/hitachi/hnas/ssh.py":[{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"9ec1030701d2a49f3529d5e7e29cdc9bee001ec6","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        command \u003d [\u0027df\u0027, \u0027-a\u0027, \u0027-f\u0027, self.fs_name]"},{"line_number":344,"context_line":"        output, err \u003d self._execute(command)"},{"line_number":345,"context_line":"        if \"not found\" in output:"},{"line_number":346,"context_line":"            msg \u003d (_(\"Filesystem %s does not exist or it is not available \""},{"line_number":347,"context_line":"                     \"in the current EVS context.\") % self.fs_name)"},{"line_number":348,"context_line":"            raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":349,"context_line":"        else:"},{"line_number":350,"context_line":"            line \u003d output.split(\u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_0c4af727","line":347,"range":{"start_line":346,"start_character":12,"end_line":347,"end_character":67},"updated":"2017-02-01 12:52:29.000000000","message":"Should use a LOG.error here?","commit_id":"04d762bb1e70d3d7bf22f69581cfbec6fadc3afc"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"eec6ce0053a58c7df62f3d9c8b9f666a3b3f354a","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        command \u003d [\u0027df\u0027, \u0027-a\u0027, \u0027-f\u0027, self.fs_name]"},{"line_number":344,"context_line":"        output, err \u003d self._execute(command)"},{"line_number":345,"context_line":"        if \"not found\" in output:"},{"line_number":346,"context_line":"            msg \u003d (_(\"Filesystem %s does not exist or it is not available \""},{"line_number":347,"context_line":"                     \"in the current EVS context.\") % self.fs_name)"},{"line_number":348,"context_line":"            raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":349,"context_line":"        else:"},{"line_number":350,"context_line":"            line \u003d output.split(\u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_a902aa70","line":347,"range":{"start_line":346,"start_character":12,"end_line":347,"end_character":67},"in_reply_to":"3a461143_0c4af727","updated":"2017-02-02 11:57:42.000000000","message":"Done","commit_id":"04d762bb1e70d3d7bf22f69581cfbec6fadc3afc"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"9ec1030701d2a49f3529d5e7e29cdc9bee001ec6","unresolved":false,"context_lines":[{"line_number":420,"context_line":"        try:"},{"line_number":421,"context_line":"            self._execute(command)"},{"line_number":422,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":423,"context_line":"            msg \u003d (_(\"Virtual volume %s does not exist.\") % vvol_name)"},{"line_number":424,"context_line":"            LOG.exception(msg)"},{"line_number":425,"context_line":"            raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":426,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_d6979b37","line":423,"range":{"start_line":423,"start_character":18,"end_line":423,"end_character":70},"updated":"2017-02-01 12:52:29.000000000","message":"all msg before this one doesnt have this redundant parenthesis, remove this one and others below","commit_id":"04d762bb1e70d3d7bf22f69581cfbec6fadc3afc"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"eec6ce0053a58c7df62f3d9c8b9f666a3b3f354a","unresolved":false,"context_lines":[{"line_number":420,"context_line":"        try:"},{"line_number":421,"context_line":"            self._execute(command)"},{"line_number":422,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":423,"context_line":"            msg \u003d (_(\"Virtual volume %s does not exist.\") % vvol_name)"},{"line_number":424,"context_line":"            LOG.exception(msg)"},{"line_number":425,"context_line":"            raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":426,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_f3249f61","line":423,"range":{"start_line":423,"start_character":18,"end_line":423,"end_character":70},"in_reply_to":"3a461143_d6979b37","updated":"2017-02-02 11:57:42.000000000","message":"Done","commit_id":"04d762bb1e70d3d7bf22f69581cfbec6fadc3afc"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"9ec1030701d2a49f3529d5e7e29cdc9bee001ec6","unresolved":false,"context_lines":[{"line_number":525,"context_line":"            output, err \u003d self._execute(command)"},{"line_number":526,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":527,"context_line":"            if \u0027does not exist\u0027 in e.stderr:"},{"line_number":528,"context_line":"                msg \u003d _(\"Export %(share)s was not found in EVS \""},{"line_number":529,"context_line":"                        \"%(evs_id)s.\") % {\u0027share\u0027: name,"},{"line_number":530,"context_line":"                                          \u0027evs_id\u0027: self.evs_id}"},{"line_number":531,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":532,"context_line":"            else:"},{"line_number":533,"context_line":"                msg \u003d (_(\"Could not list NFS exports by name \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_ec85ab07","line":530,"range":{"start_line":528,"start_character":16,"end_line":530,"end_character":64},"updated":"2017-02-01 12:52:29.000000000","message":"missing LOG.exception","commit_id":"04d762bb1e70d3d7bf22f69581cfbec6fadc3afc"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"eec6ce0053a58c7df62f3d9c8b9f666a3b3f354a","unresolved":false,"context_lines":[{"line_number":525,"context_line":"            output, err \u003d self._execute(command)"},{"line_number":526,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":527,"context_line":"            if \u0027does not exist\u0027 in e.stderr:"},{"line_number":528,"context_line":"                msg \u003d _(\"Export %(share)s was not found in EVS \""},{"line_number":529,"context_line":"                        \"%(evs_id)s.\") % {\u0027share\u0027: name,"},{"line_number":530,"context_line":"                                          \u0027evs_id\u0027: self.evs_id}"},{"line_number":531,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":532,"context_line":"            else:"},{"line_number":533,"context_line":"                msg \u003d (_(\"Could not list NFS exports by name \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_f3dbbf4d","line":530,"range":{"start_line":528,"start_character":16,"end_line":530,"end_character":64},"in_reply_to":"3a461143_ec85ab07","updated":"2017-02-02 11:57:42.000000000","message":"Actually, this was on purpose, since we are identifying that the item is not found, there is no need to LOG.exception as this was not an unknown error. I am adding LOG.error here.","commit_id":"04d762bb1e70d3d7bf22f69581cfbec6fadc3afc"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"1c52bc79349310667119358ad977bb31ce90c6da","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                LOG.debug(\u0027User %(user)s already allowed to access \u0027"},{"line_number":184,"context_line":"                          \u0027%(entity_type)s %(share)s.\u0027,"},{"line_number":185,"context_line":"                          {\u0027entity_type\u0027: entity_type, \u0027user\u0027: user,"},{"line_number":186,"context_line":"                           \u0027share\u0027: name})"},{"line_number":187,"context_line":"            else:"},{"line_number":188,"context_line":"                msg \u003d _(\"Could not add access of user %(user)s to share \""},{"line_number":189,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_de2b1893","line":186,"range":{"start_line":186,"start_character":28,"end_line":186,"end_character":33},"updated":"2017-02-02 01:04:55.000000000","message":"call it name or entity?","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                LOG.debug(\u0027User %(user)s already allowed to access \u0027"},{"line_number":184,"context_line":"                          \u0027%(entity_type)s %(share)s.\u0027,"},{"line_number":185,"context_line":"                          {\u0027entity_type\u0027: entity_type, \u0027user\u0027: user,"},{"line_number":186,"context_line":"                           \u0027share\u0027: name})"},{"line_number":187,"context_line":"            else:"},{"line_number":188,"context_line":"                msg \u003d _(\"Could not add access of user %(user)s to share \""},{"line_number":189,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_7aeb02b1","line":186,"range":{"start_line":186,"start_character":28,"end_line":186,"end_character":33},"in_reply_to":"3a461143_17dc9717","updated":"2017-02-02 11:57:05.000000000","message":"Done","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"d7e90f675d1e9a116208f82ed1ee20c7eda942c8","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                LOG.debug(\u0027User %(user)s already allowed to access \u0027"},{"line_number":184,"context_line":"                          \u0027%(entity_type)s %(share)s.\u0027,"},{"line_number":185,"context_line":"                          {\u0027entity_type\u0027: entity_type, \u0027user\u0027: user,"},{"line_number":186,"context_line":"                           \u0027share\u0027: name})"},{"line_number":187,"context_line":"            else:"},{"line_number":188,"context_line":"                msg \u003d _(\"Could not add access of user %(user)s to share \""},{"line_number":189,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_17dc9717","line":186,"range":{"start_line":186,"start_character":28,"end_line":186,"end_character":33},"in_reply_to":"3a461143_de2b1893","updated":"2017-02-02 10:55:32.000000000","message":"+1","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"1c52bc79349310667119358ad977bb31ce90c6da","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                          {\u0027entity_type\u0027: entity_type, \u0027user\u0027: user,"},{"line_number":186,"context_line":"                           \u0027share\u0027: name})"},{"line_number":187,"context_line":"            else:"},{"line_number":188,"context_line":"                msg \u003d _(\"Could not add access of user %(user)s to share \""},{"line_number":189,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"},{"line_number":190,"context_line":"                LOG.exception(msg)"},{"line_number":191,"context_line":"                raise exception.HNASBackendException(msg\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_1e35a0f6","line":188,"range":{"start_line":188,"start_character":66,"end_line":188,"end_character":71},"updated":"2017-02-02 01:04:55.000000000","message":"should use entity_type","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                          {\u0027entity_type\u0027: entity_type, \u0027user\u0027: user,"},{"line_number":186,"context_line":"                           \u0027share\u0027: name})"},{"line_number":187,"context_line":"            else:"},{"line_number":188,"context_line":"                msg \u003d _(\"Could not add access of user %(user)s to share \""},{"line_number":189,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"},{"line_number":190,"context_line":"                LOG.exception(msg)"},{"line_number":191,"context_line":"                raise exception.HNASBackendException(msg\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_9af7ce8b","line":188,"range":{"start_line":188,"start_character":66,"end_line":188,"end_character":71},"in_reply_to":"3a461143_1e35a0f6","updated":"2017-02-02 11:57:05.000000000","message":"Done","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"1c52bc79349310667119358ad977bb31ce90c6da","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                           \u0027share\u0027: name})"},{"line_number":187,"context_line":"            else:"},{"line_number":188,"context_line":"                msg \u003d _(\"Could not add access of user %(user)s to share \""},{"line_number":189,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"},{"line_number":190,"context_line":"                LOG.exception(msg)"},{"line_number":191,"context_line":"                raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_9e2190b7","line":189,"range":{"start_line":189,"start_character":27,"end_line":189,"end_character":32},"updated":"2017-02-02 01:04:55.000000000","message":"call it name?","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                           \u0027share\u0027: name})"},{"line_number":187,"context_line":"            else:"},{"line_number":188,"context_line":"                msg \u003d _(\"Could not add access of user %(user)s to share \""},{"line_number":189,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"},{"line_number":190,"context_line":"                LOG.exception(msg)"},{"line_number":191,"context_line":"                raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_faee12b3","line":189,"range":{"start_line":189,"start_character":27,"end_line":189,"end_character":32},"in_reply_to":"3a461143_9e2190b7","updated":"2017-02-02 11:57:05.000000000","message":"Done","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"1c52bc79349310667119358ad977bb31ce90c6da","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                            {\u0027entity_type\u0027: entity_type, \u0027user\u0027: user,"},{"line_number":209,"context_line":"                             \u0027share\u0027: name})"},{"line_number":210,"context_line":"            else:"},{"line_number":211,"context_line":"                msg \u003d _(\"Could not delete access of user %(user)s to share \""},{"line_number":212,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"},{"line_number":213,"context_line":"                LOG.exception(msg)"},{"line_number":214,"context_line":"                raise exception.HNASBackendException(msg\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_fe161457","line":211,"range":{"start_line":211,"start_character":69,"end_line":211,"end_character":74},"updated":"2017-02-02 01:04:55.000000000","message":"same","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                            {\u0027entity_type\u0027: entity_type, \u0027user\u0027: user,"},{"line_number":209,"context_line":"                             \u0027share\u0027: name})"},{"line_number":210,"context_line":"            else:"},{"line_number":211,"context_line":"                msg \u003d _(\"Could not delete access of user %(user)s to share \""},{"line_number":212,"context_line":"                        \"%(share)s.\") % {\u0027user\u0027: user, \u0027share\u0027: name}"},{"line_number":213,"context_line":"                LOG.exception(msg)"},{"line_number":214,"context_line":"                raise exception.HNASBackendException(msg\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_da76b605","line":211,"range":{"start_line":211,"start_character":69,"end_line":211,"end_character":74},"in_reply_to":"3a461143_fe161457","updated":"2017-02-02 11:57:05.000000000","message":"Done","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"1c52bc79349310667119358ad977bb31ce90c6da","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            if (\u0027Cannot find any clonable files in the source directory\u0027 in"},{"line_number":242,"context_line":"                    e.stderr):"},{"line_number":243,"context_line":"                msg \u003d _(\"Source path %s is empty.\") % src_path"},{"line_number":244,"context_line":"                LOG.debug(msg)"},{"line_number":245,"context_line":"                raise exception.HNASNothingToCloneException(msg\u003dmsg)"},{"line_number":246,"context_line":"            else:"},{"line_number":247,"context_line":"                msg \u003d _(\"Could not submit tree clone job to clone from %(src)s\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_5e164856","line":244,"range":{"start_line":244,"start_character":20,"end_line":244,"end_character":25},"updated":"2017-02-02 01:04:55.000000000","message":"this is intentional debug, right?","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            if (\u0027Cannot find any clonable files in the source directory\u0027 in"},{"line_number":242,"context_line":"                    e.stderr):"},{"line_number":243,"context_line":"                msg \u003d _(\"Source path %s is empty.\") % src_path"},{"line_number":244,"context_line":"                LOG.debug(msg)"},{"line_number":245,"context_line":"                raise exception.HNASNothingToCloneException(msg\u003dmsg)"},{"line_number":246,"context_line":"            else:"},{"line_number":247,"context_line":"                msg \u003d _(\"Could not submit tree clone job to clone from %(src)s\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_3acb3a20","line":244,"range":{"start_line":244,"start_character":20,"end_line":244,"end_character":25},"in_reply_to":"3a461143_5e164856","updated":"2017-02-02 11:57:05.000000000","message":"yes","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"d7e90f675d1e9a116208f82ed1ee20c7eda942c8","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                LOG.error(msg)"},{"line_number":437,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":438,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":439,"context_line":"            msg \u003d (_(\"Could not check quota of vvol %s.\") % vvol_name)"},{"line_number":440,"context_line":"            LOG.exception(msg)"},{"line_number":441,"context_line":"            raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":442,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_b7502360","line":439,"range":{"start_line":439,"start_character":18,"end_line":439,"end_character":70},"updated":"2017-02-02 10:55:32.000000000","message":"parenthesis","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                LOG.error(msg)"},{"line_number":437,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":438,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":439,"context_line":"            msg \u003d (_(\"Could not check quota of vvol %s.\") % vvol_name)"},{"line_number":440,"context_line":"            LOG.exception(msg)"},{"line_number":441,"context_line":"            raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":442,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_dafb1646","line":439,"range":{"start_line":439,"start_character":18,"end_line":439,"end_character":70},"in_reply_to":"3a461143_b7502360","updated":"2017-02-02 11:57:05.000000000","message":"Done","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"d7e90f675d1e9a116208f82ed1ee20c7eda942c8","unresolved":false,"context_lines":[{"line_number":503,"context_line":"        elif quota.limit_unit \u003d\u003d \u0027GB\u0027:"},{"line_number":504,"context_line":"            return quota.limit"},{"line_number":505,"context_line":"        else:"},{"line_number":506,"context_line":"            msg \u003d (_(\"Share %s does not support quota values \""},{"line_number":507,"context_line":"                     \"below 1G.\") % share_id)"},{"line_number":508,"context_line":"            raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    def get_share_usage(self, share_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_5759bf8d","line":507,"range":{"start_line":506,"start_character":18,"end_line":507,"end_character":45},"updated":"2017-02-02 10:55:32.000000000","message":"parenthesis, also, can be added a LOG.error","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":503,"context_line":"        elif quota.limit_unit \u003d\u003d \u0027GB\u0027:"},{"line_number":504,"context_line":"            return quota.limit"},{"line_number":505,"context_line":"        else:"},{"line_number":506,"context_line":"            msg \u003d (_(\"Share %s does not support quota values \""},{"line_number":507,"context_line":"                     \"below 1G.\") % share_id)"},{"line_number":508,"context_line":"            raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    def get_share_usage(self, share_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_3a997a20","line":507,"range":{"start_line":506,"start_character":18,"end_line":507,"end_character":45},"in_reply_to":"3a461143_5759bf8d","updated":"2017-02-02 11:57:05.000000000","message":"Done","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"d7e90f675d1e9a116208f82ed1ee20c7eda942c8","unresolved":false,"context_lines":[{"line_number":579,"context_line":"                return out, err"},{"line_number":580,"context_line":"            except processutils.ProcessExecutionError as e:"},{"line_number":581,"context_line":"                if \u0027Failed to establish SSC connection\u0027 in e.stderr:"},{"line_number":582,"context_line":"                    LOG.debug(\"SSC connection error!\")"},{"line_number":583,"context_line":"                    msg \u003d _(\"Failed to establish SSC connection.\")"},{"line_number":584,"context_line":"                    raise exception.HNASConnException(msg\u003dmsg)"},{"line_number":585,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_172ad7e7","line":582,"range":{"start_line":582,"start_character":20,"end_line":582,"end_character":29},"updated":"2017-02-02 10:55:32.000000000","message":"It can be logged as LOG.error","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":579,"context_line":"                return out, err"},{"line_number":580,"context_line":"            except processutils.ProcessExecutionError as e:"},{"line_number":581,"context_line":"                if \u0027Failed to establish SSC connection\u0027 in e.stderr:"},{"line_number":582,"context_line":"                    LOG.debug(\"SSC connection error!\")"},{"line_number":583,"context_line":"                    msg \u003d _(\"Failed to establish SSC connection.\")"},{"line_number":584,"context_line":"                    raise exception.HNASConnException(msg\u003dmsg)"},{"line_number":585,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_1a491e8f","line":582,"range":{"start_line":582,"start_character":20,"end_line":582,"end_character":29},"in_reply_to":"3a461143_172ad7e7","updated":"2017-02-02 11:57:05.000000000","message":"we have retry for this, it will spam the log and it will not mean anything in 99.999999999% of cases, it would draw the operator\u0027s attention to this unecessarily","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"d7e90f675d1e9a116208f82ed1ee20c7eda942c8","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                    msg \u003d _(\"Failed to establish SSC connection.\")"},{"line_number":584,"context_line":"                    raise exception.HNASConnException(msg\u003dmsg)"},{"line_number":585,"context_line":"                else:"},{"line_number":586,"context_line":"                    LOG.debug(\"Command %(cmd)s result: out \u003d %(out)s - err \u003d \""},{"line_number":587,"context_line":"                              \"%(err)s - exit \u003d %(exit)s.\", {\u0027cmd\u0027: e.cmd,"},{"line_number":588,"context_line":"                                                             \u0027out\u0027: e.stdout,"},{"line_number":589,"context_line":"                                                             \u0027err\u0027: e.stderr,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_f71c6bc3","line":586,"range":{"start_line":586,"start_character":20,"end_line":586,"end_character":29},"updated":"2017-02-02 10:55:32.000000000","message":"maaaybe this one too, but it is up to you","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                    msg \u003d _(\"Failed to establish SSC connection.\")"},{"line_number":584,"context_line":"                    raise exception.HNASConnException(msg\u003dmsg)"},{"line_number":585,"context_line":"                else:"},{"line_number":586,"context_line":"                    LOG.debug(\"Command %(cmd)s result: out \u003d %(out)s - err \u003d \""},{"line_number":587,"context_line":"                              \"%(err)s - exit \u003d %(exit)s.\", {\u0027cmd\u0027: e.cmd,"},{"line_number":588,"context_line":"                                                             \u0027out\u0027: e.stdout,"},{"line_number":589,"context_line":"                                                             \u0027err\u0027: e.stderr,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_0d364ab4","line":586,"range":{"start_line":586,"start_character":20,"end_line":586,"end_character":29},"in_reply_to":"3a461143_f71c6bc3","updated":"2017-02-02 11:57:05.000000000","message":"we have one below. I will merge them.","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"4c4dd8983d756019d67b874e13aee43ad58c056f","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        try:"},{"line_number":471,"context_line":"            output, err \u003d self._execute(command)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"            if \u0027No quotas matching specified filter criteria\u0027 in output:"},{"line_number":474,"context_line":"                msg \u003d _(\"Virtual volume %s does not have any\""},{"line_number":475,"context_line":"                        \" quota.\") % vvol_name"},{"line_number":476,"context_line":"                LOG.error(msg)"},{"line_number":477,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":478,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":479,"context_line":"            msg \u003d _(\"Could not check quota of vvol %s.\") % vvol_name"},{"line_number":480,"context_line":"            LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_d825cc0a","line":477,"range":{"start_line":473,"start_character":12,"end_line":477,"end_character":66},"updated":"2017-02-02 18:26:59.000000000","message":"It should not really be in try-block.","commit_id":"c76017a4a635ed09674e47935c28b47fcd085763"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"48d3ab372e749df3054ba0d5441f377ef41dc9c7","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        try:"},{"line_number":471,"context_line":"            output, err \u003d self._execute(command)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"            if \u0027No quotas matching specified filter criteria\u0027 in output:"},{"line_number":474,"context_line":"                msg \u003d _(\"Virtual volume %s does not have any\""},{"line_number":475,"context_line":"                        \" quota.\") % vvol_name"},{"line_number":476,"context_line":"                LOG.error(msg)"},{"line_number":477,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":478,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":479,"context_line":"            msg \u003d _(\"Could not check quota of vvol %s.\") % vvol_name"},{"line_number":480,"context_line":"            LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_f88528ad","line":477,"range":{"start_line":473,"start_character":12,"end_line":477,"end_character":66},"in_reply_to":"3a461143_d825cc0a","updated":"2017-02-02 18:48:14.000000000","message":"good call","commit_id":"c76017a4a635ed09674e47935c28b47fcd085763"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"dbf42ce879c1e2fefc25be6203e1ec709bfb28b7","unresolved":false,"context_lines":[{"line_number":519,"context_line":"                msg \u003d _(\"CIFS share %(share)s was not found in EVS \""},{"line_number":520,"context_line":"                        \"%(evs_id)s\") % {\u0027share\u0027: vvol_name,"},{"line_number":521,"context_line":"                                         \u0027evs_id\u0027: self.evs_id}"},{"line_number":522,"context_line":"                LOG.error(msg)"},{"line_number":523,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":524,"context_line":"            else:"},{"line_number":525,"context_line":"                msg \u003d _(\"Could not list CIFS shares by vvol name \""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_98598491","line":522,"range":{"start_line":522,"start_character":20,"end_line":522,"end_character":25},"updated":"2017-02-02 18:29:02.000000000","message":"why not \"exception\" type of logging?","commit_id":"c76017a4a635ed09674e47935c28b47fcd085763"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"63476ae1718e5de063cb23979a7191e1cc292325","unresolved":false,"context_lines":[{"line_number":519,"context_line":"                msg \u003d _(\"CIFS share %(share)s was not found in EVS \""},{"line_number":520,"context_line":"                        \"%(evs_id)s\") % {\u0027share\u0027: vvol_name,"},{"line_number":521,"context_line":"                                         \u0027evs_id\u0027: self.evs_id}"},{"line_number":522,"context_line":"                LOG.error(msg)"},{"line_number":523,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":524,"context_line":"            else:"},{"line_number":525,"context_line":"                msg \u003d _(\"Could not list CIFS shares by vvol name \""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_b3b4a1d1","line":522,"range":{"start_line":522,"start_character":20,"end_line":522,"end_character":25},"in_reply_to":"3a461143_98598491","updated":"2017-02-02 18:50:41.000000000","message":"The exception here identified what the problem is, it is not an unknown error like in other cases.","commit_id":"c76017a4a635ed09674e47935c28b47fcd085763"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"dbf42ce879c1e2fefc25be6203e1ec709bfb28b7","unresolved":false,"context_lines":[{"line_number":575,"context_line":"                msg \u003d _(\"Export %(share)s was not found in EVS \""},{"line_number":576,"context_line":"                        \"%(evs_id)s.\") % {\u0027share\u0027: name,"},{"line_number":577,"context_line":"                                          \u0027evs_id\u0027: self.evs_id}"},{"line_number":578,"context_line":"                LOG.error(msg)"},{"line_number":579,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":580,"context_line":"            else:"},{"line_number":581,"context_line":"                msg \u003d _(\"Could not list NFS exports by name %s.\") % name"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_78cbf81e","line":578,"range":{"start_line":578,"start_character":20,"end_line":578,"end_character":25},"updated":"2017-02-02 18:29:02.000000000","message":"same here, why not \"exception\" type of logging?","commit_id":"c76017a4a635ed09674e47935c28b47fcd085763"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"63476ae1718e5de063cb23979a7191e1cc292325","unresolved":false,"context_lines":[{"line_number":575,"context_line":"                msg \u003d _(\"Export %(share)s was not found in EVS \""},{"line_number":576,"context_line":"                        \"%(evs_id)s.\") % {\u0027share\u0027: name,"},{"line_number":577,"context_line":"                                          \u0027evs_id\u0027: self.evs_id}"},{"line_number":578,"context_line":"                LOG.error(msg)"},{"line_number":579,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":580,"context_line":"            else:"},{"line_number":581,"context_line":"                msg \u003d _(\"Could not list NFS exports by name %s.\") % name"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_73087992","line":578,"range":{"start_line":578,"start_character":20,"end_line":578,"end_character":25},"in_reply_to":"3a461143_78cbf81e","updated":"2017-02-02 18:50:41.000000000","message":"same as above","commit_id":"c76017a4a635ed09674e47935c28b47fcd085763"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"228050cbfdec53cf6de19b32e45fb79ec30167a7","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                msg \u003d _(\"CIFS share %(share)s was not found in EVS \""},{"line_number":521,"context_line":"                        \"%(evs_id)s\") % {\u0027share\u0027: vvol_name,"},{"line_number":522,"context_line":"                                         \u0027evs_id\u0027: self.evs_id}"},{"line_number":523,"context_line":"                LOG.error(msg)"},{"line_number":524,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":525,"context_line":"            else:"},{"line_number":526,"context_line":"                msg \u003d _(\"Could not list CIFS shares by vvol name \""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_13ad7588","line":523,"range":{"start_line":523,"start_character":14,"end_line":523,"end_character":30},"updated":"2017-02-02 18:48:43.000000000","message":"see VP comment on previous patch -- why not LOG.exception?","commit_id":"b83b61fdb3a0c2cccf2aedc01e3d362e44ffc986"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"228050cbfdec53cf6de19b32e45fb79ec30167a7","unresolved":false,"context_lines":[{"line_number":576,"context_line":"                msg \u003d _(\"Export %(share)s was not found in EVS \""},{"line_number":577,"context_line":"                        \"%(evs_id)s.\") % {\u0027share\u0027: name,"},{"line_number":578,"context_line":"                                          \u0027evs_id\u0027: self.evs_id}"},{"line_number":579,"context_line":"                LOG.error(msg)"},{"line_number":580,"context_line":"                raise exception.HNASItemNotFoundException(msg\u003dmsg)"},{"line_number":581,"context_line":"            else:"},{"line_number":582,"context_line":"                msg \u003d _(\"Could not list NFS exports by name %s.\") % name"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_33aa7171","line":579,"range":{"start_line":579,"start_character":16,"end_line":579,"end_character":30},"updated":"2017-02-02 18:48:43.000000000","message":"see VP comment on previous patch -- why not LOG.exception?","commit_id":"b83b61fdb3a0c2cccf2aedc01e3d362e44ffc986"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"7665d9efcafa6b9d3d6fc85c1eeeb3f4b8936c11","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            line \u003d output.split(\u0027\\n\u0027)"},{"line_number":62,"context_line":"            fs \u003d Filesystem(line[3])"},{"line_number":63,"context_line":"            available_space \u003d fs.size - fs.used"},{"line_number":64,"context_line":"            return fs.size, available_space, fs.dedupe"},{"line_number":65,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":66,"context_line":"            msg \u003d _(\"Could not get HNAS backend stats.\")"},{"line_number":67,"context_line":"            LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a461143_8706801e","line":64,"updated":"2017-02-02 19:59:02.000000000","message":"most of this could be outside of the try block","commit_id":"55ef9b7d00811b0a4695b21f56c57694d0aa6182"}],"manila/tests/share/drivers/hitachi/hnas/test_ssh.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"1c52bc79349310667119358ad977bb31ce90c6da","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"        self.assertTrue(self.mock_log.exception.called)"},{"line_number":1408,"context_line":""},{"line_number":1409,"context_line":"    def test__locked_selectfs_delete_not_found(self):"},{"line_number":1410,"context_line":"        msg \u003d \u0027rmdir: NotFound \\\u0027/path\\\u0027\u0027"},{"line_number":1411,"context_line":""},{"line_number":1412,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \u0027_execute\u0027, mock.Mock("},{"line_number":1413,"context_line":"            side_effect\u003d[putils.ProcessExecutionError(stderr\u003dmsg)]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_391fd65c","line":1410,"range":{"start_line":1410,"start_character":14,"end_line":1410,"end_character":15},"updated":"2017-02-02 01:04:55.000000000","message":"can\"t you make this nicer by using doublequotes outside and single inside w/o the escape \\\u0027s?","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"fb0a43b969f1189680c157e1b7baff628401f287","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"        self.assertTrue(self.mock_log.exception.called)"},{"line_number":1408,"context_line":""},{"line_number":1409,"context_line":"    def test__locked_selectfs_delete_not_found(self):"},{"line_number":1410,"context_line":"        msg \u003d \u0027rmdir: NotFound \\\u0027/path\\\u0027\u0027"},{"line_number":1411,"context_line":""},{"line_number":1412,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \u0027_execute\u0027, mock.Mock("},{"line_number":1413,"context_line":"            side_effect\u003d[putils.ProcessExecutionError(stderr\u003dmsg)]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_ba9f2a4f","line":1410,"range":{"start_line":1410,"start_character":14,"end_line":1410,"end_character":15},"in_reply_to":"3a461143_391fd65c","updated":"2017-02-02 11:57:05.000000000","message":"Done","commit_id":"a37937b5f20f3ce95b2711830ea46b9fc13dd3c5"}]}
