-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can I use novaconsole to interact with (send keystrokes to) an instance? #4
Comments
It should be! When written it was certainly possible to engage in two-way communication with the serial console.
Not to my knowledge. It looks like you already have serial console support enabled, which should be sufficient. It's been a while since I've had the opportunity to work with this code, but it's really just a simple websocket proxy with a thin wrapper to perform the keystone authentication. It should be trivial to implement in a browser (and these days there are a variety of terminal frameworks already available that might take care of terminal emulation for you). |
Thank you @larsks. It's good news that it was possible at some point. I'll use a debugger and see if I can figure out why it's crashing, and why it won't take keyboard input. Re terminal frameworks: I got https://gitlab.com/exosphere/exosphere/-/merge_requests/619#note_869029857 |
websockify dropped support for text frames awhile back [1][2], possibly as of version 0.9.0 [3]. Attempts to send text frames to a sufficiently new websockify server result in the following error returned: Unsupported: Text frames are not supported and then the server closes the connection. This changes the client to call Webocket.send_binary() [4] instead of Websocket.send() in order to send binary data rather than text. websockify has (always?) supported receiving binary data so this should be backward compatible with older versions. Closes larsks#4 [1] novnc/websockify#365 [2] novnc/websockify@8eb5cb0 [3] novnc/websockify@8a69762 [4] https://websocket-client.readthedocs.io/en/latest/core.html#websocket._core.WebSocket.send_binary
I'm looking for a way to interact with consoles of OpenStack instances which are inaccessible from the Internet (to help with debugging deployments for example). I've tested this and I can see the console output. When I type anything into the local terminal window running
novaconsole
it disconnects.On the instance:
On my laptop:
I typed a key on my laptop and then the
ERROR:...
line was printed.Is this something which is even possible using Nova serial consoles? Is it something that needs to be configured in Nova?
Background: If this is possible then I'd like to reverse engineer
novaconsole
to build an in-browser version usingxterm.js
. I don't want to use the SPICE HTML5 client or noVNC, because I want a proper copy & paste experience in the browser.Any advice appreciated!
The text was updated successfully, but these errors were encountered: