)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b82dd1c473bc7779829658449a501077a4096806","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add tool to list moved globals"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This tool list the constants and exceptions that have moved"},{"line_number":10,"context_line":"to neutron-lib. Add it to pep8 to raise awareness of moved"},{"line_number":11,"context_line":"globals."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9ad45d7e_49e82117","line":9,"range":{"start_line":9,"start_character":10,"end_line":9,"end_character":14},"updated":"2016-08-12 17:37:24.000000000","message":"Nit lists","commit_id":"cfbe67f5dccb6fec3f40f07d95fcec29a588151f"}],"neutron/common/constants.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"def5fc871f06c0cff2503b0f52c8ae864bf85517","unresolved":false,"context_lines":[{"line_number":28,"context_line":"# for agents to indicate when they are wiring up the ports. The following is"},{"line_number":29,"context_line":"# to indicate when the server is busy building sub-components of a router"},{"line_number":30,"context_line":"ROUTER_STATUS_ALLOCATING \u003d \u0027ALLOCATING\u0027"},{"line_number":31,"context_line":"L3_AGENT_MODE_DVR \u003d \u0027dvr\u0027"},{"line_number":32,"context_line":"L3_AGENT_MODE_DVR_SNAT \u003d \u0027dvr_snat\u0027"},{"line_number":33,"context_line":"L3_AGENT_MODE_LEGACY \u003d \u0027legacy\u0027"},{"line_number":34,"context_line":"L3_AGENT_MODE \u003d \u0027agent_mode\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_8b6cee9d","side":"PARENT","line":31,"updated":"2016-08-14 11:35:47.000000000","message":"i think that the policy is that we need a cycle or more before deprecating this stuff.\ni think that this is fpr the benefit of decomposed plugins.\nas far as i am concerned we should blow these away sooner.","commit_id":"ca0d752d81e568337abb6fb0ecce40e51e67cb92"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"dd09fddae399b332e79478cc544949730ffc3faa","unresolved":false,"context_lines":[{"line_number":28,"context_line":"# for agents to indicate when they are wiring up the ports. The following is"},{"line_number":29,"context_line":"# to indicate when the server is busy building sub-components of a router"},{"line_number":30,"context_line":"ROUTER_STATUS_ALLOCATING \u003d \u0027ALLOCATING\u0027"},{"line_number":31,"context_line":"L3_AGENT_MODE_DVR \u003d \u0027dvr\u0027"},{"line_number":32,"context_line":"L3_AGENT_MODE_DVR_SNAT \u003d \u0027dvr_snat\u0027"},{"line_number":33,"context_line":"L3_AGENT_MODE_LEGACY \u003d \u0027legacy\u0027"},{"line_number":34,"context_line":"L3_AGENT_MODE \u003d \u0027agent_mode\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_81768d3c","side":"PARENT","line":31,"in_reply_to":"3ac371cc_8b6cee9d","updated":"2016-08-14 15:40:50.000000000","message":"Remember that the _DeprecateSubset shim at the end of this file causes deprecation warnings to be issues even after these constants are removed from this file. Projects will still function correctly without adopting the neutron-lib constants until the shim is removed.\n\nWe have not yet decided when we will remove the shim. It is not clear to me what level of awareness the consuming project maintainers have of the deprecations. I have submitted [1] in an effort to help them out.\n\n[1] https://review.openstack.org/#/q/topic:env-deprecation-warnings","commit_id":"ca0d752d81e568337abb6fb0ecce40e51e67cb92"}],"tools/list_moved_globals.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"dd2d1a6f6defaba32b36f09775fecf81a4fdf86d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from neutron_lib import exceptions as lexc"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def check_globals(things, nmod, lmod,):"},{"line_number":28,"context_line":"    neutron \u003d vars(nmod)[\u0027my_globals\u0027]"},{"line_number":29,"context_line":"    lib \u003d vars(lmod)"},{"line_number":30,"context_line":"    moved_things \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad45d7e_f74a8cab","line":27,"range":{"start_line":27,"start_character":36,"end_line":27,"end_character":37},"updated":"2016-08-12 18:26:40.000000000","message":"Henry! Learn how to write Python!","commit_id":"cfbe67f5dccb6fec3f40f07d95fcec29a588151f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"eb79208eda2d0926ac53b6c9e6f3d040f50eca8b","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from __future__ import print_function"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron.common import constants as nconst"},{"line_number":22,"context_line":"from neutron_lib import constants as lconst"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from neutron.common import exceptions as nexc"},{"line_number":25,"context_line":"from neutron_lib import exceptions as lexc"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def check_globals(things, nmod, lmod):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_50ce125b","line":25,"range":{"start_line":21,"start_character":0,"end_line":25,"end_character":42},"updated":"2016-08-15 10:41:29.000000000","message":"We would like to follow the import guideline: neutron_lib and neutron.","commit_id":"aed88c66202fcf34e8fc9ab0f74ba823d6af513a"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"a915afa05c2646e36b9a75158a8f1170c44fa107","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from __future__ import print_function"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron.common import constants as nconst"},{"line_number":22,"context_line":"from neutron_lib import constants as lconst"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from neutron.common import exceptions as nexc"},{"line_number":25,"context_line":"from neutron_lib import exceptions as lexc"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def check_globals(things, nmod, lmod):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_4874a39b","line":25,"range":{"start_line":21,"start_character":0,"end_line":25,"end_character":42},"in_reply_to":"3ac371cc_50ce125b","updated":"2016-08-15 12:11:22.000000000","message":"Done","commit_id":"aed88c66202fcf34e8fc9ab0f74ba823d6af513a"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"eb79208eda2d0926ac53b6c9e6f3d040f50eca8b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    lib \u003d vars(lmod)"},{"line_number":31,"context_line":"    moved_things \u003d []"},{"line_number":32,"context_line":"    for thing in neutron:"},{"line_number":33,"context_line":"        if thing.startswith(\u0027_\u0027):"},{"line_number":34,"context_line":"            continue"},{"line_number":35,"context_line":"        if thing in lib:"},{"line_number":36,"context_line":"            moved_things.append(thing)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_f193bd4d","line":33,"range":{"start_line":33,"start_character":11,"end_line":33,"end_character":33},"updated":"2016-08-15 10:41:29.000000000","message":"In neutron.common._deprecate, we check double underscore (__). I think the logic should match it.","commit_id":"aed88c66202fcf34e8fc9ab0f74ba823d6af513a"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"a915afa05c2646e36b9a75158a8f1170c44fa107","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    lib \u003d vars(lmod)"},{"line_number":31,"context_line":"    moved_things \u003d []"},{"line_number":32,"context_line":"    for thing in neutron:"},{"line_number":33,"context_line":"        if thing.startswith(\u0027_\u0027):"},{"line_number":34,"context_line":"            continue"},{"line_number":35,"context_line":"        if thing in lib:"},{"line_number":36,"context_line":"            moved_things.append(thing)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_e85f4f0c","line":33,"range":{"start_line":33,"start_character":11,"end_line":33,"end_character":33},"in_reply_to":"3ac371cc_f193bd4d","updated":"2016-08-15 12:11:22.000000000","message":"Done. I also need to check for \u0027_\u0027 exactly, because it is in both.","commit_id":"aed88c66202fcf34e8fc9ab0f74ba823d6af513a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"def5fc871f06c0cff2503b0f52c8ae864bf85517","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if moved_things:"},{"line_number":38,"context_line":"        print(\"\\nThese %s have moved to neutron-lib:\" % things)"},{"line_number":39,"context_line":"        for moved_thing in sorted(moved_things):"},{"line_number":40,"context_line":"            print(\"    %s\" % moved_thing)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_6b0092ab","line":40,"updated":"2016-08-14 11:35:47.000000000","message":"can we have tox check a value here and fail with pep8","commit_id":"aed88c66202fcf34e8fc9ab0f74ba823d6af513a"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"dd09fddae399b332e79478cc544949730ffc3faa","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if moved_things:"},{"line_number":38,"context_line":"        print(\"\\nThese %s have moved to neutron-lib:\" % things)"},{"line_number":39,"context_line":"        for moved_thing in sorted(moved_things):"},{"line_number":40,"context_line":"            print(\"    %s\" % moved_thing)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_a1baa9be","line":40,"in_reply_to":"3ac371cc_6b0092ab","updated":"2016-08-14 15:40:50.000000000","message":"It\u0027s not an error. It is just a reminder to clean up things that are now available in neutron-lib.","commit_id":"aed88c66202fcf34e8fc9ab0f74ba823d6af513a"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"2e5ad0c34eda7189b63f9d67f1417819389d9e6a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Check for globals that are now available in neutron-lib"},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from __future__ import print_function"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron_lib import constants as lconst"},{"line_number":22,"context_line":"from neutron_lib import exceptions as lexc"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_723d3ac3","line":19,"updated":"2016-08-18 13:49:03.000000000","message":"this is never used","commit_id":"ae6879fc640f82863377afcc4ec60d65e681289e"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"8f05750eb0ca98717e8fd400849976b5102ed513","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Check for globals that are now available in neutron-lib"},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from __future__ import print_function"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron_lib import constants as lconst"},{"line_number":22,"context_line":"from neutron_lib import exceptions as lexc"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_35fd6c6e","line":19,"in_reply_to":"3ac371cc_723d3ac3","updated":"2016-08-18 14:14:22.000000000","message":"I am going to leave it here to annoy you and because it is recommended when using print, to support both Python 2 and Python 3.","commit_id":"ae6879fc640f82863377afcc4ec60d65e681289e"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"2e5ad0c34eda7189b63f9d67f1417819389d9e6a","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def check_globals(things, nmod, lmod):"},{"line_number":29,"context_line":"    neutron \u003d vars(nmod)[\u0027my_globals\u0027]"},{"line_number":30,"context_line":"    lib \u003d vars(lmod)"},{"line_number":31,"context_line":"    moved_things \u003d []"},{"line_number":32,"context_line":"    for thing in neutron:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_cc2e18a4","line":29,"updated":"2016-08-18 13:49:03.000000000","message":"you are shadowing a module name here.","commit_id":"ae6879fc640f82863377afcc4ec60d65e681289e"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"8f05750eb0ca98717e8fd400849976b5102ed513","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def check_globals(things, nmod, lmod):"},{"line_number":29,"context_line":"    neutron \u003d vars(nmod)[\u0027my_globals\u0027]"},{"line_number":30,"context_line":"    lib \u003d vars(lmod)"},{"line_number":31,"context_line":"    moved_things \u003d []"},{"line_number":32,"context_line":"    for thing in neutron:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_15eaf073","line":29,"in_reply_to":"3ac371cc_cc2e18a4","updated":"2016-08-18 14:14:22.000000000","message":"Good catch.","commit_id":"ae6879fc640f82863377afcc4ec60d65e681289e"}]}
