
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
57 lines
1.9 KiB
PHP
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
|