)]}'
{"placement/utils.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d76da8fde551966ceb4b4f0a375141492ecaa3e5","unresolved":false,"context_lines":[{"line_number":57,"context_line":"import nova.network"},{"line_number":58,"context_line":"from placement import safe_utils"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"profiler \u003d importutils.try_import(\u0027osprofiler.profiler\u0027)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"CONF \u003d nova.conf.CONF"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_20b81c0f","side":"PARENT","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":56},"updated":"2018-09-05 19:01:47.000000000","message":"Did placement ever support osprofiler? I don\u0027t think so.","commit_id":"02e40a16337e50119ae87f345ef6507c65a1a9f7"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f65dd0f04fc99c8dd1d20028172ae632ca65f153","unresolved":false,"context_lines":[{"line_number":57,"context_line":"import nova.network"},{"line_number":58,"context_line":"from placement import safe_utils"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"profiler \u003d importutils.try_import(\u0027osprofiler.profiler\u0027)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"CONF \u003d nova.conf.CONF"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_c0b7e8d7","side":"PARENT","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":56},"in_reply_to":"3f79a3b5_20b81c0f","updated":"2018-09-05 19:06:24.000000000","message":"Not in any reay way. The wsgi application has this same call and sets things up when establishing config but I\u0027ve never heard of anyone actually _doing_ anything with.","commit_id":"02e40a16337e50119ae87f345ef6507c65a1a9f7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d76da8fde551966ceb4b4f0a375141492ecaa3e5","unresolved":false,"context_lines":[{"line_number":627,"context_line":"            LOG.error(_LE(\u0027Could not remove tmpdir: %s\u0027), e)"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"class UndoManager(object):"},{"line_number":631,"context_line":"    \"\"\"Provides a mechanism to facilitate rolling back a series of actions"},{"line_number":632,"context_line":"    when an exception is raised."},{"line_number":633,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_80233058","side":"PARENT","line":630,"range":{"start_line":630,"start_character":6,"end_line":630,"end_character":17},"updated":"2018-09-05 19:01:47.000000000","message":"Huh first time I\u0027ve noticed this.","commit_id":"02e40a16337e50119ae87f345ef6507c65a1a9f7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d76da8fde551966ceb4b4f0a375141492ecaa3e5","unresolved":false,"context_lines":[{"line_number":1300,"context_line":"    return \"\""},{"line_number":1301,"context_line":""},{"line_number":1302,"context_line":""},{"line_number":1303,"context_line":"def monkey_patch():"},{"line_number":1304,"context_line":"    if debugger.enabled():"},{"line_number":1305,"context_line":"        # turn off thread patching to enable the remote debugger"},{"line_number":1306,"context_line":"        eventlet.monkey_patch(os\u003dFalse, thread\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_80a6d0bf","side":"PARENT","line":1303,"range":{"start_line":1303,"start_character":4,"end_line":1303,"end_character":16},"updated":"2018-09-05 19:01:47.000000000","message":"Hmm, so I guess placement isn\u0027t monkey patching things used internally, like oslo.db. Thinking about Ie7bf5d012e2ccbcd63c262ddaf739782afcdaf56 but maybe it\u0027s just not something we\u0027ve needed in placement yet since it\u0027s not using eventlet for anything.","commit_id":"02e40a16337e50119ae87f345ef6507c65a1a9f7"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f65dd0f04fc99c8dd1d20028172ae632ca65f153","unresolved":false,"context_lines":[{"line_number":1300,"context_line":"    return \"\""},{"line_number":1301,"context_line":""},{"line_number":1302,"context_line":""},{"line_number":1303,"context_line":"def monkey_patch():"},{"line_number":1304,"context_line":"    if debugger.enabled():"},{"line_number":1305,"context_line":"        # turn off thread patching to enable the remote debugger"},{"line_number":1306,"context_line":"        eventlet.monkey_patch(os\u003dFalse, thread\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e00a2488","side":"PARENT","line":1303,"range":{"start_line":1303,"start_character":4,"end_line":1303,"end_character":16},"in_reply_to":"3f79a3b5_80a6d0bf","updated":"2018-09-05 19:06:24.000000000","message":"Right, placement has assiduously avoided eventlet. In the pure wsgi context and if we aren\u0027t doing special spawns to gather cell info, it\u0027s just not needed.\n\nIf we\u0027re lucky we\u0027ll never reach a point where we need to multi-thread, either real or green.","commit_id":"02e40a16337e50119ae87f345ef6507c65a1a9f7"}]}
