Files
ironic/doc/source/install/include/configure-ironic-novncproxy.inc
Steve Baker 48557942ac Add systemd provider for console containers
A new entry point ``ironic.console.container`` is added to determine how
console containers are orchestrated when ``ironic.conf``
``[vnc]enabled=True``. By default the ``fake`` provider is specified by
``[vnc]container_provider`` which performs no orchestration. The only
functional implementation included is ``systemd`` which manages
containers as Systemd Quadlet containers. These containers run as user
services and rootless podman containers. Having ``podman`` installed is
also a dependency for this provider. See ``ironic.conf`` ``[vnc]``
options to see how this provider can be configured.

The ``systemd`` provider is opinionated and will not be appropriate for
some Ironic deployment methods, especially those which run Ironic inside
containers. External implementations of ``ironic.console.container`` are
encouraged to integrate with other deployment / management methods.

Related-Bug: 2086715
Change-Id: Ib890c3c7be91ddd78a43b9c5261dd1d8c1054c04
2025-03-02 22:27:33 +00:00

57 lines
1.9 KiB
PHP

Configuring ironic-novncproxy service
-------------------------------------
#. The NoVNC proxy service needs to look up nodes in the database, so
``ironic-novncproxy`` requires the same database configuration as
``ironic-api`` and ``ironic-conductor``.
Configure the location of the database via the ``connection`` option. In the
following, replace ``IRONIC_DBPASSWORD`` with the password of your
``ironic`` user, and replace ``DB_IP`` with the IP address where the DB
server is located:
.. code-block:: ini
[database]
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection=mysql+pymysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8
#. Configure NoVNC and host graphical console options. Replace ``PUBLIC_IP`` and
``PUBLIC_URL`` with appropriate values:
.. code-block:: ini
[vnc]
# Enable VNC related features, required to allow the ironic-novncproxy service to start
enabled=True
# Port to bind to for serving NoVNC web assets and websockets
port=6090
# IP address to bind to for serving NoVNC web assets and websockets
host_ip=PUBLIC_IP
# Base url used to build browser links to graphical consoles. If a load balancer or reverse
# proxy is used the protocol, IP, and port needs to match how users will access the service
public_url=http://PUBLIC_IP:6090/vnc_auto.html
# The only functional container provider included is the systemd provider which manages
# containers as Systemd Quadlet containers. This provider is appropriate to use when the
# Ironic services themselves are not containerised, otherwise a custom external provider
# may be required
container_provider=systemd
#. Restart the ironic-novncproxy service:
RHEL/CentOS/SUSE::
sudo systemctl restart openstack-ironic-novncproxy
Ubuntu/Debian::
sudo service ironic-novncproxy restart