)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"5c32d87f81664bae720a23d53d26ba0b8dde94f5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gerrit Code Review \u003creview@openstack.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-04-02 17:11:37 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"getLogger should be called after logging is configured"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"logging needs to be setup properly before we try to log"},{"line_number":10,"context_line":"something. Fix a test case that loads the code but does"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAOX%2F%2F%2BCg%3D","line":7,"updated":"2013-04-04 04:03:01.000000000","message":"Missing full stop here, and missing capital L on the next paragraph. Small stuff I know, but if you have other changes to make... also, as this the commit that fixes it, I would say\n\"Only call getLogger after configuring logging.\"\nwhich will describe your change more accurately.","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"2534736e42bb3ca04f9f0483c738e139f63489e5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gerrit Code Review \u003creview@openstack.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-04-02 17:11:37 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"getLogger should be called after logging is configured"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"logging needs to be setup properly before we try to log"},{"line_number":10,"context_line":"something. Fix a test case that loads the code but does"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAOX%2F%2F9j8%3D","line":7,"in_reply_to":"AAAAOX%2F%2F%2BCg%3D","updated":"2013-04-04 13:06:49.000000000","message":"Done","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"}],"bin/nova-all":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d44d966b6b6631d510698618c4f3a7585f2a154b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":60,"context_line":"    config.parse_args(sys.argv)"},{"line_number":61,"context_line":"    logging.setup(\"nova\")"},{"line_number":62,"context_line":"    global LOG"},{"line_number":63,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.all\u0027)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    utils.monkey_patch()"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAOH%2F%2Ftsc%3D","line":62,"updated":"2013-04-01 22:27:17.000000000","message":"You don\u0027t need this here.","commit_id":"f6c3dfbb4807d18f8c641320ca3e7c4e52cce2e4"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"281dd96281949ac539ac6d22759a8306cbed1da0","unresolved":false,"context_lines":[{"line_number":59,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":60,"context_line":"    config.parse_args(sys.argv)"},{"line_number":61,"context_line":"    logging.setup(\"nova\")"},{"line_number":62,"context_line":"    global LOG"},{"line_number":63,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.all\u0027)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    utils.monkey_patch()"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAOH%2F%2Ftl8%3D","line":62,"in_reply_to":"AAAAOH%2F%2Ftsc%3D","updated":"2013-04-01 23:17:18.000000000","message":"Done","commit_id":"f6c3dfbb4807d18f8c641320ca3e7c4e52cce2e4"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"5c32d87f81664bae720a23d53d26ba0b8dde94f5","unresolved":false,"context_lines":[{"line_number":59,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":60,"context_line":"    config.parse_args(sys.argv)"},{"line_number":61,"context_line":"    logging.setup(\"nova\")"},{"line_number":62,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.all\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    utils.monkey_patch()"},{"line_number":65,"context_line":"    launcher \u003d service.ProcessLauncher()"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOX%2F%2F%2BCM%3D","line":62,"updated":"2013-04-04 04:03:01.000000000","message":"And ditto :)","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"7d67cf1ea1f4be1c84a552a55d2c49b157bea5a8","unresolved":false,"context_lines":[{"line_number":59,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":60,"context_line":"    config.parse_args(sys.argv)"},{"line_number":61,"context_line":"    logging.setup(\"nova\")"},{"line_number":62,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.all\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    utils.monkey_patch()"},{"line_number":65,"context_line":"    launcher \u003d service.ProcessLauncher()"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOX%2F%2F9is%3D","line":62,"in_reply_to":"AAAAOX%2F%2F%2BCM%3D","updated":"2013-04-04 13:07:00.000000000","message":"Done","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"}],"bin/nova-baremetal-deploy-helper":[{"author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"change_message_id":"8ad689a44e1fe521e48193f20049c4dcedc88ab0","unresolved":false,"context_lines":[{"line_number":339,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":340,"context_line":"    config.parse_args(sys.argv)"},{"line_number":341,"context_line":"    logging.setup(\"nova\")"},{"line_number":342,"context_line":"    global LOG"},{"line_number":343,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.virt.baremetal.deploy_helper\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    app \u003d BareMetalDeploy()"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAOH%2F%2FtYQ%3D","line":342,"updated":"2013-04-02 02:16:53.000000000","message":"don\u0027t need this global. LOG is instantiated in the if block but still running at module scope","commit_id":"f3ecd7e6ad87ab34cd862d51d3f52961cbf3b4a8"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"8d24f136eac0c8f711473994fbdef3db85ab35ee","unresolved":false,"context_lines":[{"line_number":339,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":340,"context_line":"    config.parse_args(sys.argv)"},{"line_number":341,"context_line":"    logging.setup(\"nova\")"},{"line_number":342,"context_line":"    global LOG"},{"line_number":343,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.virt.baremetal.deploy_helper\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    app \u003d BareMetalDeploy()"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAOH%2F%2FsvI%3D","line":342,"in_reply_to":"AAAAOH%2F%2FtYQ%3D","updated":"2013-04-02 15:07:02.000000000","message":"Done","commit_id":"f3ecd7e6ad87ab34cd862d51d3f52961cbf3b4a8"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"5c32d87f81664bae720a23d53d26ba0b8dde94f5","unresolved":false,"context_lines":[{"line_number":339,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":340,"context_line":"    config.parse_args(sys.argv)"},{"line_number":341,"context_line":"    logging.setup(\"nova\")"},{"line_number":342,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.virt.baremetal.deploy_helper\u0027)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    app \u003d BareMetalDeploy()"},{"line_number":345,"context_line":"    srv \u003d simple_server.make_server(\u0027\u0027, 10000, app)"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOX%2F%2F%2BCQ%3D","line":342,"updated":"2013-04-04 04:03:01.000000000","message":"Ditto on the vertical whitespace here - seems unneeded.","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"2534736e42bb3ca04f9f0483c738e139f63489e5","unresolved":false,"context_lines":[{"line_number":339,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":340,"context_line":"    config.parse_args(sys.argv)"},{"line_number":341,"context_line":"    logging.setup(\"nova\")"},{"line_number":342,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.virt.baremetal.deploy_helper\u0027)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    app \u003d BareMetalDeploy()"},{"line_number":345,"context_line":"    srv \u003d simple_server.make_server(\u0027\u0027, 10000, app)"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOX%2F%2F9jE%3D","line":342,"in_reply_to":"AAAAOX%2F%2F%2BCQ%3D","updated":"2013-04-04 13:06:49.000000000","message":"Done","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"}],"bin/nova-compute":[{"author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"change_message_id":"8ad689a44e1fe521e48193f20049c4dcedc88ab0","unresolved":false,"context_lines":[{"line_number":74,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":75,"context_line":"    config.parse_args(sys.argv)"},{"line_number":76,"context_line":"    logging.setup(\u0027nova\u0027)"},{"line_number":77,"context_line":"    global LOG"},{"line_number":78,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.compute\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    utils.monkey_patch()"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAOH%2F%2FtYc%3D","line":77,"updated":"2013-04-02 02:16:53.000000000","message":"shouldn\u0027t need this global statement. LOG is instantiated inside an if block but it will still execute at the module scope.","commit_id":"f3ecd7e6ad87ab34cd862d51d3f52961cbf3b4a8"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"8d24f136eac0c8f711473994fbdef3db85ab35ee","unresolved":false,"context_lines":[{"line_number":74,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":75,"context_line":"    config.parse_args(sys.argv)"},{"line_number":76,"context_line":"    logging.setup(\u0027nova\u0027)"},{"line_number":77,"context_line":"    global LOG"},{"line_number":78,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.compute\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    utils.monkey_patch()"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAOH%2F%2Fsu8%3D","line":77,"in_reply_to":"AAAAOH%2F%2FtYc%3D","updated":"2013-04-02 15:07:02.000000000","message":"Done","commit_id":"f3ecd7e6ad87ab34cd862d51d3f52961cbf3b4a8"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"5c32d87f81664bae720a23d53d26ba0b8dde94f5","unresolved":false,"context_lines":[{"line_number":74,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":75,"context_line":"    config.parse_args(sys.argv)"},{"line_number":76,"context_line":"    logging.setup(\u0027nova\u0027)"},{"line_number":77,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.compute\u0027)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    utils.monkey_patch()"},{"line_number":80,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOX%2F%2F%2BCU%3D","line":77,"updated":"2013-04-04 04:03:01.000000000","message":"The blank line here looks spurious, LOG assignment and utils monkeypatching are all conceptual setup.","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"2534736e42bb3ca04f9f0483c738e139f63489e5","unresolved":false,"context_lines":[{"line_number":74,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":75,"context_line":"    config.parse_args(sys.argv)"},{"line_number":76,"context_line":"    logging.setup(\u0027nova\u0027)"},{"line_number":77,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.compute\u0027)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    utils.monkey_patch()"},{"line_number":80,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOX%2F%2F9jI%3D","line":77,"in_reply_to":"AAAAOX%2F%2F%2BCU%3D","updated":"2013-04-04 13:06:49.000000000","message":"Done","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"}],"bin/nova-dhcpbridge":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"e0ce904a421c99dcd316da16dfcdd0693b603650","unresolved":false,"context_lines":[{"line_number":75,"context_line":"def del_lease(mac, ip_address):"},{"line_number":76,"context_line":"    \"\"\"Called when a lease expires.\"\"\""},{"line_number":77,"context_line":"    if CONF.fake_rabbit:"},{"line_number":78,"context_line":"        LOG.debug(_(\"releasing ip\"))"},{"line_number":79,"context_line":"        network_manager \u003d importutils.import_object(CONF.network_manager)"},{"line_number":80,"context_line":"        network_manager.release_fixed_ip(context.get_admin_context(),"},{"line_number":81,"context_line":"                                         ip_address)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAOH%2F%2Ft%2Fg%3D","side":"PARENT","line":78,"updated":"2013-04-01 19:37:07.000000000","message":"this will fail with NameError because of LOG being in __main__, not at module level.","commit_id":"f281afd2ba30c6efa0fb64737a5cb93e1dd28b8c"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"570d02c6944f7744fc60a52b4032e0e383600c9c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"def del_lease(mac, ip_address):"},{"line_number":76,"context_line":"    \"\"\"Called when a lease expires.\"\"\""},{"line_number":77,"context_line":"    if CONF.fake_rabbit:"},{"line_number":78,"context_line":"        LOG.debug(_(\"releasing ip\"))"},{"line_number":79,"context_line":"        network_manager \u003d importutils.import_object(CONF.network_manager)"},{"line_number":80,"context_line":"        network_manager.release_fixed_ip(context.get_admin_context(),"},{"line_number":81,"context_line":"                                         ip_address)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAOH%2F%2FttQ%3D","side":"PARENT","line":78,"in_reply_to":"AAAAOH%2F%2Ft%2Fg%3D","updated":"2013-04-01 22:24:17.000000000","message":"k. got it now.","commit_id":"f281afd2ba30c6efa0fb64737a5cb93e1dd28b8c"},{"author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"change_message_id":"9be3ac5183f224e3820e25c8dac86279ed1fb6cb","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"},{"line_number":131,"context_line":"        from nova.tests import conf_fixture"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAOH%2F%2Fwx4%3D","line":128,"updated":"2013-03-28 15:43:43.000000000","message":"Since LOG is defined within the main(), the rest of the module will not have a LOG variable when they try to use it.\n\nThe other bin/* files define LOG at the module level still.","commit_id":"4c8892d60a3c2a3674c71d7dec0c1489468dd9fa"},{"author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"change_message_id":"3fa15fd7616dc55e90fa85121d7e47acedb81252","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"},{"line_number":131,"context_line":"        from nova.tests import conf_fixture"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAOH%2F%2Ft9w%3D","line":128,"in_reply_to":"AAAAOH%2F%2Ft%2Fk%3D","updated":"2013-04-01 19:55:17.000000000","message":"In this file only, LOG is assigned to only in the main() function defined at line 117, which gets called at line 153 in the \u0027if __main__\u0027 block (which runs at the module level).\n\nLOG doesn\u0027t appear to be set at the module level, since it is wrapped in the main() function scope. I\u0027m fairly certain the other functions will not be able to see LOG when it is assigned to inside main() rather than the scope of the \u0027if __main__\u0027 block like the other files.","commit_id":"4c8892d60a3c2a3674c71d7dec0c1489468dd9fa"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"570d02c6944f7744fc60a52b4032e0e383600c9c","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"},{"line_number":131,"context_line":"        from nova.tests import conf_fixture"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAOH%2F%2Fts0%3D","line":128,"in_reply_to":"AAAAOH%2F%2Ft9w%3D","updated":"2013-04-01 22:24:17.000000000","message":"throwing in a \"global LOG\" just before logging.getLogger() seems to do the trick. let me run that by you all","commit_id":"4c8892d60a3c2a3674c71d7dec0c1489468dd9fa"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"e0ce904a421c99dcd316da16dfcdd0693b603650","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"},{"line_number":131,"context_line":"        from nova.tests import conf_fixture"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAOH%2F%2Ft%2Fk%3D","line":128,"in_reply_to":"AAAAOH%2F%2FupY%3D","updated":"2013-04-01 19:37:07.000000000","message":"This doesn\u0027t seem to be true.  Check again.  I see LOG \u003d all at the module level in those files.","commit_id":"4c8892d60a3c2a3674c71d7dec0c1489468dd9fa"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"ac30e91d2ce4132195edcb539f2b0e95318b9c60","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"},{"line_number":131,"context_line":"        from nova.tests import conf_fixture"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAOH%2F%2FupY%3D","line":128,"in_reply_to":"AAAAOH%2F%2Fwx4%3D","updated":"2013-03-31 18:58:43.000000000","message":"Which files Mathew, can you please point me to them? nova-all, nova-baremetal-deployer-helper, nova-compute, nova-dhcpbridge all have it within __main__","commit_id":"4c8892d60a3c2a3674c71d7dec0c1489468dd9fa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d44d966b6b6631d510698618c4f3a7585f2a154b","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    global LOG"},{"line_number":129,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAOH%2F%2FtsU%3D","line":128,"updated":"2013-04-01 22:27:17.000000000","message":"But you do here. I don\u0027t know how other folks feel, but I think it\u0027s generally regarded as a try-to-avoid-this-always sort of thing.","commit_id":"f6c3dfbb4807d18f8c641320ca3e7c4e52cce2e4"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"281dd96281949ac539ac6d22759a8306cbed1da0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    global LOG"},{"line_number":129,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAOH%2F%2Ftl0%3D","line":128,"in_reply_to":"AAAAOH%2F%2FtsU%3D","updated":"2013-04-01 23:17:18.000000000","message":"No one seems to be saying how this should be fixed :)","commit_id":"f6c3dfbb4807d18f8c641320ca3e7c4e52cce2e4"},{"author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"change_message_id":"8ad689a44e1fe521e48193f20049c4dcedc88ab0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    global LOG"},{"line_number":129,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAOH%2F%2FtYM%3D","line":128,"updated":"2013-04-02 02:16:53.000000000","message":"This one is necessary, since this is executing inside of a function (main()) which would not be at module level, so the global statement makes it module level.\n\nIt does look ugly, but I think the only way to fix it otherwise would be to throw the def main() function out and move all the functionality here into an if __name__ \u003d\u003d \"__main__\": block like the others. Regardless, it should do what it needs to the way it is now.","commit_id":"f3ecd7e6ad87ab34cd862d51d3f52961cbf3b4a8"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"8d24f136eac0c8f711473994fbdef3db85ab35ee","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        default_config_files\u003djsonutils.loads(config_file))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    global LOG"},{"line_number":129,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAOH%2F%2Fsu4%3D","line":128,"in_reply_to":"AAAAOH%2F%2FtYM%3D","updated":"2013-04-02 15:07:02.000000000","message":"k leaving this alone","commit_id":"f3ecd7e6ad87ab34cd862d51d3f52961cbf3b4a8"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"5c32d87f81664bae720a23d53d26ba0b8dde94f5","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    global LOG"},{"line_number":129,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"},{"line_number":132,"context_line":"        from nova.tests import conf_fixture"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOX%2F%2F%2BCY%3D","line":129,"updated":"2013-04-04 04:03:01.000000000","message":"Reading this I wonder whether a lazy helper would be useful syntactic sugar here - at the top level (this is fiction today):\nLOG \u003d oslo.logging.lazy_logger(\u0027nova.dhcpbridge\u0027)","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"2534736e42bb3ca04f9f0483c738e139f63489e5","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    logging.setup(\"nova\")"},{"line_number":128,"context_line":"    global LOG"},{"line_number":129,"context_line":"    LOG \u003d logging.getLogger(\u0027nova.dhcpbridge\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    if int(os.environ.get(\u0027TESTING\u0027, \u00270\u0027)):"},{"line_number":132,"context_line":"        from nova.tests import conf_fixture"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOX%2F%2F9jQ%3D","line":129,"in_reply_to":"AAAAOX%2F%2F%2BCY%3D","updated":"2013-04-04 13:06:49.000000000","message":"yea, that would be handy","commit_id":"98a788f33f80617629c25eba41c34274cca8d242"}],"nova/cmd/compute.py":[{"author":{"_account_id":1711,"name":"Yun Mao","email":"yunmao@gmail.com","username":"yunmao"},"change_message_id":"4701b122b4291e3c45317351acabda6e55b6856c","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        def __call__(self, *args, **kwargs):"},{"line_number":45,"context_line":"            stacktrace \u003d \"\".join(traceback.format_stack())"},{"line_number":46,"context_line":"            LOG.error(\u0027No db access allowed in nova-compute: %s\u0027 % stacktrace)"},{"line_number":47,"context_line":"            raise exception.DBNotAllowed(\u0027nova-compute\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    nova.db.api.IMPL \u003d NoDB()"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAOX%2F%2F7tg%3D","line":46,"updated":"2013-04-05 12:53:30.000000000","message":"LOG is not defined here because you move it to main()","commit_id":"780b0eabe1c6e569a68dcc046df14349287e0e82"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"bd507403cd3c6359c3606f2d52cecf2436f60b2b","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        def __call__(self, *args, **kwargs):"},{"line_number":45,"context_line":"            stacktrace \u003d \"\".join(traceback.format_stack())"},{"line_number":46,"context_line":"            LOG.error(\u0027No db access allowed in nova-compute: %s\u0027 % stacktrace)"},{"line_number":47,"context_line":"            raise exception.DBNotAllowed(\u0027nova-compute\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    nova.db.api.IMPL \u003d NoDB()"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAOX%2F%2F7pQ%3D","line":46,"in_reply_to":"AAAAOX%2F%2F7tg%3D","updated":"2013-04-05 13:59:00.000000000","message":"Done","commit_id":"780b0eabe1c6e569a68dcc046df14349287e0e82"}],"nova/tests/baremetal/test_nova_baremetal_deploy_helper.py":[{"author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"change_message_id":"588c94469342022b5e91852803d71f45d8496806","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"sys.dont_write_bytecode \u003d True"},{"line_number":40,"context_line":"bmdh \u003d imp.load_source(\u0027bmdh\u0027, BMDH_PATH)"},{"line_number":41,"context_line":"bmdh.LOG \u003d logging.getLogger(\u0027nova.virt.baremetal.deploy_helper\u0027)"},{"line_number":42,"context_line":"sys.dont_write_bytecode \u003d False"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"_PXECONF_DEPLOY \u003d \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2Fwxg%3D","line":41,"updated":"2013-03-28 15:46:05.000000000","message":"Do we need to do this for all of the other test entry points for services where the LOG instantiation statement was moved as well? (nova-all, nova-compute, etc.)","commit_id":"4c8892d60a3c2a3674c71d7dec0c1489468dd9fa"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"ac30e91d2ce4132195edcb539f2b0e95318b9c60","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"sys.dont_write_bytecode \u003d True"},{"line_number":40,"context_line":"bmdh \u003d imp.load_source(\u0027bmdh\u0027, BMDH_PATH)"},{"line_number":41,"context_line":"bmdh.LOG \u003d logging.getLogger(\u0027nova.virt.baremetal.deploy_helper\u0027)"},{"line_number":42,"context_line":"sys.dont_write_bytecode \u003d False"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"_PXECONF_DEPLOY \u003d \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2FupU%3D","line":41,"in_reply_to":"AAAAOH%2F%2Fwxg%3D","updated":"2013-03-31 18:58:43.000000000","message":"i\u0027ve reviewed test_nova_manage.py and test_nova_baremetal_manage.py, they don\u0027t have this problem as the bin scripts they wrap work ok. are there others that break?","commit_id":"4c8892d60a3c2a3674c71d7dec0c1489468dd9fa"}]}
