)]}'
{"nova/api/openstack/__init__.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"acaa275019cf21a05cbda37711c726090694d813","unresolved":false,"context_lines":[{"line_number":33,"context_line":"CONF \u003d nova.conf.CONF"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def walk_class_hierarchy(clazz, encountered\u003dNone):"},{"line_number":37,"context_line":"    \"\"\"Walk class hierarchy, yielding most derived classes first.\"\"\""},{"line_number":38,"context_line":"    if not encountered:"},{"line_number":39,"context_line":"        encountered \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff6b8bd7_f087e4d6","line":36,"range":{"start_line":36,"start_character":25,"end_line":36,"end_character":30},"updated":"2018-03-06 19:29:46.000000000","message":"clazzy indeed.","commit_id":"e9e8e34d8d86408c3784dc4716003b96b65cf858"}],"nova/service.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"acaa275019cf21a05cbda37711c726090694d813","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        self.manager.reset()"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"class WSGIService(service.Service):"},{"line_number":314,"context_line":"    \"\"\"Provides ability to launch API from a \u0027paste\u0027 configuration.\"\"\""},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def __init__(self, name, loader\u003dNone, use_ssl\u003dFalse, max_url_len\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff6b8bd7_90b1c892","line":313,"range":{"start_line":313,"start_character":0,"end_line":313,"end_character":35},"updated":"2018-03-06 19:29:46.000000000","message":"recommend moving this to the nova/api/wsgi.py file eventually...","commit_id":"e9e8e34d8d86408c3784dc4716003b96b65cf858"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"be1818d6249a0acbbcf33b5539ba6a5a3fb956c9","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        self.manager.reset()"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"class WSGIService(service.Service):"},{"line_number":314,"context_line":"    \"\"\"Provides ability to launch API from a \u0027paste\u0027 configuration.\"\"\""},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def __init__(self, name, loader\u003dNone, use_ssl\u003dFalse, max_url_len\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff6b8bd7_53733781","line":313,"range":{"start_line":313,"start_character":0,"end_line":313,"end_character":35},"in_reply_to":"ff6b8bd7_90b1c892","updated":"2018-03-06 22:05:05.000000000","message":"That could make sense, but I\u0027m not sure. This is a service that happens to contain a WSGI server, but isn\u0027t actually \"talking\" WSGI itself. With luck this service will expire out as we increasingly migrate to hosting all the wsgi apps in non-eventlet ways.","commit_id":"e9e8e34d8d86408c3784dc4716003b96b65cf858"}]}
