ironic/releasenotes/notes/novncproxy-cf70aae44e8a6bd9.yaml
Steve Baker beaaf405d3 Add ironic-novncproxy service
This is a forklift of the nova novncproxy service to act as the noVNC
front-end to graphical consoles.

The service does the following:
- serves noVNC web assets for the browser based VNC client
- creates a websocket to proxy VNC traffic to an actual VNC server
- decouples authentication traffic so that the source server can have
  a different authentication method than the browser client

The forklifted code has been adapted to Ironic conventions, including:
- [vnc] config options following Ironic conventions and using existing
  config options where appropriate
- Removing the unnecessary authentication method VeNCrypt, leaving only
  the None auth method.
- Adapting the ironic-novncproxy command to use Ironic's service launch
  approach, allowing it to be started as part of the all-in-one ironic
- Replace Nova's approach of looking up the instance via the token.
  Instead the node UUID is included in the websocket querystring
  alongside the token
- Removing cookie fallback when token is missing from querystring
- Removing expected protocol validation in the websocket handshake
- Removing internal access path support
- Removing enforce_session_timeout as this will be done at the
  container level

Related-Bug: 2086715
Change-Id: I575a8671e2262408ba1d690cfceabe992c2d4fef
2025-02-19 20:17:57 +00:00

12 lines
491 B
YAML

---
features:
- |
A new service ``ironic-novncproxy`` has been added which allows the
graphical console of a host to be presented in a NoVNC web browser
interface. Hosts required a supported ``console`` driver to access its
graphical console.
upgrade:
- |
If graphical console support is required, the ``ironic-novncproxy`` service
needs to be started and managed. Graphical console specific options need
to be set in the ``[vnc]`` section of ``ironic.conf``.