)]}'
{"nova/console/websocketproxy.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a6de46059ff17befbbe58bdd0d7d0aed736f78b3","unresolved":false,"context_lines":[{"line_number":291,"context_line":"        if websocketserver is not None:"},{"line_number":292,"context_line":"            # In websockify v0.9.0, the WebSocketServer class moved to the"},{"line_number":293,"context_line":"            # websockify.websocketserver module."},{"line_number":294,"context_line":"            return websocketserver.WebSocketServer.socket(*args, **kwargs)"},{"line_number":295,"context_line":"        else:"},{"line_number":296,"context_line":"            # Fall back to the websockify \u003c\u003d v0.8.0 module."},{"line_number":297,"context_line":"            return websockify.WebSocketServer.socket(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_dad1c0f9","line":294,"updated":"2019-08-22 01:38:43.000000000","message":"Dangit, this fails too:\n\n AttributeError: class WebSocketServer has no attribute \u0027socket\u0027\n\nhttps://storage.gra1.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/logs_98/677798/2/check/tempest-full/623eaa6/controller/logs/screen-n-novnc-cell1.txt.gz","commit_id":"a7bedadc716520e6bb6b71d72b23f5a2aa6b8431"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c19aa2e4f83b674d9d0c7fd08aefba50917bd888","unresolved":false,"context_lines":[{"line_number":288,"context_line":"        return self._compute_rpcapi"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def socket(self, *args, **kwargs):"},{"line_number":291,"context_line":"        if websockifyserver is not None:"},{"line_number":292,"context_line":"            # In websockify v0.9.0, the \u0027socket\u0027 method moved to the"},{"line_number":293,"context_line":"            # websockify.websockifyserver.WebSockifyServer class."},{"line_number":294,"context_line":"            return websockifyserver.WebSockifyServer.socket(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_dc7698d8","line":291,"updated":"2019-08-22 09:10:11.000000000","message":"Can we add a TODO to drop this when we bump out minimum websockify version?","commit_id":"84213d2eace5fe48300e27b709666dfc1f3c08da"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"8524dd206ccf50d87ade1ef08025e1573e53f488","unresolved":false,"context_lines":[{"line_number":288,"context_line":"        return self._compute_rpcapi"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def socket(self, *args, **kwargs):"},{"line_number":291,"context_line":"        if websockifyserver is not None:"},{"line_number":292,"context_line":"            # In websockify v0.9.0, the \u0027socket\u0027 method moved to the"},{"line_number":293,"context_line":"            # websockify.websockifyserver.WebSockifyServer class."},{"line_number":294,"context_line":"            return websockifyserver.WebSockifyServer.socket(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_307a6577","line":291,"in_reply_to":"7faddb67_dc7698d8","updated":"2019-08-22 15:49:54.000000000","message":"Yep, good idea. Will add.","commit_id":"84213d2eace5fe48300e27b709666dfc1f3c08da"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7ed898092ef59ee16bd26df0e18e0ceb7095bf3b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"import six"},{"line_number":28,"context_line":"from six.moves import http_cookies as Cookie"},{"line_number":29,"context_line":"import six.moves.urllib.parse as urlparse"},{"line_number":30,"context_line":"import websockify"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from nova.compute import rpcapi as compute_rpcapi"},{"line_number":33,"context_line":"import nova.conf"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_0344c118","line":30,"updated":"2019-08-22 16:28:31.000000000","message":"Gah, I guess we could have done it like this:\n\n try:\n     import websockify.websockifyserver as websockify\n except ImportError:\n     import websockify\n\n...and then not had to change socket() at all...\n\n...except for the fact that we\u0027re still using *other* symbols from the base websockify module that *haven\u0027t* moved.","commit_id":"791fa595e6f1eb2447a4bebf4ecb390c85de0b44"}]}
