)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"b0ef3546866ed0c5bc03484ac1e572ecee345fca","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use string exception casting"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Instead of the deprecated \"message\" member access, casting to a string invokes the __str__ method of the exception that is wired to return the message"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ia79f526aa973ece1145615d65349f860aa3fd465"},{"line_number":12,"context_line":"Closes-Bug: 1466542"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_327af188","line":9,"updated":"2015-06-18 20:51:47.000000000","message":"Please wrap at 72 cols.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"45d390ca874ffab7d901b3ed209152d701371655"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"b0ef3546866ed0c5bc03484ac1e572ecee345fca","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Instead of the deprecated \"message\" member access, casting to a string invokes the __str__ method of the exception that is wired to return the message"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ia79f526aa973ece1145615d65349f860aa3fd465"},{"line_number":12,"context_line":"Closes-Bug: 1466542"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_3288b170","line":12,"updated":"2015-06-18 20:51:47.000000000","message":"Please prepend a # to the bug number so the tooling properly updates launchpad.","commit_id":"45d390ca874ffab7d901b3ed209152d701371655"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ad88817f678913b9923cfd704f285fb4acbff8c5","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Fixed several places found by Henry Gessau \u003cgessau@cisco.com\u003e"},{"line_number":14,"context_line":"https://bugs.launchpad.net/neutron/+bug/1466542/comments/2"},{"line_number":15,"context_line":"Some of which were already fixed"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Added a test of the failure cases of IpRouteCommand::delete_gateway"},{"line_number":18,"context_line":"because they were missing"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_a18c3f80","line":15,"updated":"2015-06-19 19:09:46.000000000","message":"Intermediate fixups from the review process should not be documented in the commit message. You can remove this paragraph (lines 13-15) from here. Review etiquette is to reply to reviewer\u0027s comments by adding a reply comment. If you do what the reviewer asked, the reply is \"Done\", and there is even a dedicated button for that.","commit_id":"0180f156550f7aa6fa11dd1b91818a16a0b428e8"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ad88817f678913b9923cfd704f285fb4acbff8c5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Added a test of the failure cases of IpRouteCommand::delete_gateway"},{"line_number":18,"context_line":"because they were missing"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Running the tests locally does not show this warning anymore"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ia79f526aa973ece1145615d65349f860aa3fd465"},{"line_number":23,"context_line":"Closes-Bug: 1466542"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_01408b06","line":20,"updated":"2015-06-19 19:09:46.000000000","message":"Nit: What warning? :) May I suggest rewording to: \"Running unit and functional tests locally no longer shows the warning reported in the bug.\"","commit_id":"0180f156550f7aa6fa11dd1b91818a16a0b428e8"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ad88817f678913b9923cfd704f285fb4acbff8c5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Running the tests locally does not show this warning anymore"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ia79f526aa973ece1145615d65349f860aa3fd465"},{"line_number":23,"context_line":"Closes-Bug: 1466542"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_415d33eb","line":23,"updated":"2015-06-19 19:09:46.000000000","message":"You forgot to prepend \u0027#\u0027 to the bug number here.","commit_id":"0180f156550f7aa6fa11dd1b91818a16a0b428e8"},{"author":{"_account_id":9423,"name":"Roey Chen","email":"roeyc@vmware.com","username":"roeyc"},"change_message_id":"7c859f0a4c56dc5e86e84cf5ffbb4676e87ce659","unresolved":false,"context_lines":[{"line_number":10,"context_line":"casting to a string invokes the __str__ method of the exception"},{"line_number":11,"context_line":"that is wired to return the message"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Added a test of the failure cases of IpRouteCommand::delete_gateway"},{"line_number":14,"context_line":"because they were missing"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Running unit and functional tests locally no longer shows the warning"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa32b979_9ab93a18","line":13,"updated":"2015-06-22 13:45:17.000000000","message":"This has not relevant to the current change,\nplease submit it in a different one.","commit_id":"fe6654b25044de7d7d15573c689a0f003c018e99"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"086c62e564b9d613b9ad736c5a30af58a30a9bae","unresolved":false,"context_lines":[{"line_number":10,"context_line":"casting to a string invokes the __str__ method of the exception"},{"line_number":11,"context_line":"that is wired to return the message"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Added a test of the failure cases of IpRouteCommand::delete_gateway"},{"line_number":14,"context_line":"because they were missing"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Running unit and functional tests locally no longer shows the warning"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa32b979_7550070b","line":13,"in_reply_to":"fa32b979_9ab93a18","updated":"2015-06-22 13:57:02.000000000","message":"I think it\u0027s fine to have them in this change because the trigger the warning message that is being addressed. Thus they would catch any regressions.","commit_id":"fe6654b25044de7d7d15573c689a0f003c018e99"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"96b548e6f1c55b0f33de5fb0bf419b7f21d6ccc6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"casting to a string invokes the __str__ method of the exception"},{"line_number":11,"context_line":"that is wired to return the message"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Added a test of the failure cases of IpRouteCommand::delete_gateway"},{"line_number":14,"context_line":"because they were missing"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Running unit and functional tests locally no longer shows the warning"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa32b979_3586ffdb","line":13,"in_reply_to":"fa32b979_9ab93a18","updated":"2015-06-22 15:11:28.000000000","message":"The tests were added because the code i was touching was not covered, i just TDD\u0027d it ;)","commit_id":"fe6654b25044de7d7d15573c689a0f003c018e99"}],"neutron/agent/linux/ip_lib.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"8e654b2be4a9d09b9e00d0d571071d49069d1ad7","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            self._as_root([ip_version], tuple(args))"},{"line_number":483,"context_line":"        except RuntimeError as rte:"},{"line_number":484,"context_line":"            with (excutils.save_and_reraise_exception()) as ctx:"},{"line_number":485,"context_line":"                if \"Cannot find device\" in str(rte):"},{"line_number":486,"context_line":"                    ctx.reraise \u003d False"},{"line_number":487,"context_line":"                    raise exceptions.DeviceNotFoundError("},{"line_number":488,"context_line":"                        device_name\u003dself.name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_ab9e2b05","line":485,"updated":"2015-06-22 15:27:59.000000000","message":"it should not work with unicode message","commit_id":"fe6654b25044de7d7d15573c689a0f003c018e99"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"4ba34cb24f0a025a867af057ee66e07241a761db","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            self._as_root([ip_version], tuple(args))"},{"line_number":483,"context_line":"        except RuntimeError as rte:"},{"line_number":484,"context_line":"            with (excutils.save_and_reraise_exception()) as ctx:"},{"line_number":485,"context_line":"                if \"Cannot find device\" in str(rte):"},{"line_number":486,"context_line":"                    ctx.reraise \u003d False"},{"line_number":487,"context_line":"                    raise exceptions.DeviceNotFoundError("},{"line_number":488,"context_line":"                        device_name\u003dself.name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_1d1d1966","line":485,"in_reply_to":"fa32b979_917278e2","updated":"2015-06-22 17:04:32.000000000","message":"from ipython\nIn [1]: str(\u0027é\u0027)\nOut[1]: \u0027\\xc3\\xa9\u0027\n\nIn [2]: unicode(\u0027é\u0027)\n---------------------------------------------------------------------------\nUnicodeDecodeError                        Traceback (most recent call last)\n\u003cipython-input-2-db9a92a17523\u003e in \u003cmodule\u003e()\n----\u003e 1 unicode(\u0027é\u0027)\n\nUnicodeDecodeError: \u0027ascii\u0027 codec can\u0027t decode byte 0xc3 in position 0: ordinal not in range(128)\n\n\nunicode() does break, but not str()","commit_id":"fe6654b25044de7d7d15573c689a0f003c018e99"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"b007f11d54f329f7fd481e59fa560f560125c66a","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            self._as_root([ip_version], tuple(args))"},{"line_number":483,"context_line":"        except RuntimeError as rte:"},{"line_number":484,"context_line":"            with (excutils.save_and_reraise_exception()) as ctx:"},{"line_number":485,"context_line":"                if \"Cannot find device\" in str(rte):"},{"line_number":486,"context_line":"                    ctx.reraise \u003d False"},{"line_number":487,"context_line":"                    raise exceptions.DeviceNotFoundError("},{"line_number":488,"context_line":"                        device_name\u003dself.name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_917278e2","line":485,"in_reply_to":"fa32b979_ab9e2b05","updated":"2015-06-22 15:58:47.000000000","message":"i don\u0027t remember if you get the trouble with str() or unicode()","commit_id":"fe6654b25044de7d7d15573c689a0f003c018e99"}],"neutron/agent/linux/utils.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ad88817f678913b9923cfd704f285fb4acbff8c5","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"def find_child_pids(pid):"},{"line_number":176,"context_line":"    \"\"\"Retrieve a list of the pids of child processes of the given pid.\"\"\""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    try:"},{"line_number":179,"context_line":"        raw_pids \u003d execute([\u0027ps\u0027, \u0027--ppid\u0027, pid, \u0027-o\u0027, \u0027pid\u003d\u0027],"},{"line_number":180,"context_line":"                           log_fail_as_error\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_816b3b85","side":"PARENT","line":177,"updated":"2015-06-19 19:09:46.000000000","message":"Nit: Unrelated white space change. Please revert.","commit_id":"f12a65ad07a87fe98a9d47b9ccb96e97798e6371"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"8e654b2be4a9d09b9e00d0d571071d49069d1ad7","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        # Unexpected errors are the responsibility of the caller"},{"line_number":183,"context_line":"        with excutils.save_and_reraise_exception() as ctxt:"},{"line_number":184,"context_line":"            # Exception has already been logged by execute"},{"line_number":185,"context_line":"            no_children_found \u003d \u0027Exit code: 1\u0027 in str(e)"},{"line_number":186,"context_line":"            if no_children_found:"},{"line_number":187,"context_line":"                ctxt.reraise \u003d False"},{"line_number":188,"context_line":"                return []"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_6b5ee346","line":185,"updated":"2015-06-22 15:27:59.000000000","message":"itto","commit_id":"fe6654b25044de7d7d15573c689a0f003c018e99"}],"neutron/api/v2/resource.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"e5e124e6cc60967dd14a7cc05adea3ded7f77224","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    elif isinstance(translatable, webob.exc.HTTPError):"},{"line_number":180,"context_line":"        translatable.detail \u003d localize(translatable.detail, locale)"},{"line_number":181,"context_line":"    elif isinstance(translatable, Exception):"},{"line_number":182,"context_line":"        translatable.message \u003d localize(str(translatable), locale)"},{"line_number":183,"context_line":"    else:"},{"line_number":184,"context_line":"        return localize(translatable, locale)"},{"line_number":185,"context_line":"    return translatable"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_09645bb6","line":182,"updated":"2015-06-19 00:23:49.000000000","message":"looks like we don\u0027t even need to call str on it. translate will convert using six.text_type for us\n\nhttps://github.com/openstack/oslo.i18n/blob/master/oslo_i18n/_translate.py#L44\n\ntranslatable.message \u003d localize(translatable, locale)","commit_id":"45d390ca874ffab7d901b3ed209152d701371655"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ad88817f678913b9923cfd704f285fb4acbff8c5","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    elif isinstance(translatable, webob.exc.HTTPError):"},{"line_number":180,"context_line":"        translatable.detail \u003d localize(translatable.detail, locale)"},{"line_number":181,"context_line":"    elif isinstance(translatable, Exception):"},{"line_number":182,"context_line":"        translatable.message \u003d localize(str(translatable), locale)"},{"line_number":183,"context_line":"    else:"},{"line_number":184,"context_line":"        return localize(translatable, locale)"},{"line_number":185,"context_line":"    return translatable"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_21134f0f","line":182,"updated":"2015-06-19 19:09:46.000000000","message":"Please see Kevin\u0027s comment on patch set 1 here.","commit_id":"0180f156550f7aa6fa11dd1b91818a16a0b428e8"}],"neutron/cmd/sanity/checks.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ad88817f678913b9923cfd704f285fb4acbff8c5","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    except ImportError as ex:"},{"line_number":175,"context_line":"        LOG.error(_LE(\"Failed to import required modules. Ensure that the \""},{"line_number":176,"context_line":"                      \"python-openvswitch package is installed. Error: %s\"),"},{"line_number":177,"context_line":"                  str(ex))"},{"line_number":178,"context_line":"    except Exception as ex:"},{"line_number":179,"context_line":"        LOG.exception(six.text_type(ex))"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_8119fb24","line":177,"updated":"2015-06-19 19:09:46.000000000","message":"Nit: str() not needed.","commit_id":"0180f156550f7aa6fa11dd1b91818a16a0b428e8"}],"neutron/tests/tempest/common/accounts.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ad88817f678913b9923cfd704f285fb4acbff8c5","unresolved":false,"context_lines":[{"line_number":271,"context_line":"                return getattr(user, cred_arg) !\u003d getattr(alt_user, cred_arg)"},{"line_number":272,"context_line":"            except exceptions.InvalidCredentials as ic:"},{"line_number":273,"context_line":"                msg \u003d \"At least one of the configured credentials is \" \\"},{"line_number":274,"context_line":"                      \"not valid: %s\" % str(ic)"},{"line_number":275,"context_line":"                raise exceptions.InvalidConfiguration(msg)"},{"line_number":276,"context_line":"        else:"},{"line_number":277,"context_line":"            # TODO(andreaf) Add a uniqueness check here"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_61d71724","line":274,"updated":"2015-06-19 19:09:46.000000000","message":"Nit: str() not needed.","commit_id":"0180f156550f7aa6fa11dd1b91818a16a0b428e8"}]}
