Configure Remote Console Access: Nova 18.3.1.dev35
Configure Remote Console Access: Nova 18.3.1.dev35
html
x
This is in extended maintenance and not the current release. The current supported release is Ussuri. (/ussuri/)
Back to Top
About nova-consoleauth¶
configuration
VNC configuration options
Typical deployment The client proxies leverage a shared service to manage token authentication
nova-novncproxy (noVNC) called nova-consoleauth. This service must be running for either proxy to
Frequently asked questions
work. Many proxies of either type can be run against a single nova-
about VNC access to virtual
consoleauth service in a cluster configuration.
machines
Serial Console Do not confuse the nova-consoleauth shared service with nova-console,
References which is a XenAPI-specific service that most recent VNC proxy architectures
do not use.
SPICE console¶
OpenStack Compute supports VNC consoles to guests. The VNC protocol is
fairly limited, lacking support for multiple monitors, bi-directional audio,
reliable cut-and-paste, video streaming and more. SPICE is a new protocol
that aims to address the limitations in VNC and provide good remote
desktop support.
VNC must be explicitly disabled to get access to the SPICE console. Set the
vnc_enabled option to False in the [DEFAULT] section to disable the VNC
console.
Use the following options to configure SPICE as the console for OpenStack
Compute:
[spice]
agent_enabled = False
enabled = True
html5proxy_base_url = http://IP_ADDRESS:6082/spice_auto.html
html5proxy_host = 0.0.0.0
html5proxy_port = 6082
keymap = en-us
server_listen = 127.0.0.1
server_proxyclient_address = 127.0.0.1
Note
The web proxy console URLs do not support the websocket protocol
scheme (ws://) on python versions less than 2.7.4.
The compute host specifies the address that the proxy should use to
connect through the nova.conf file option,
1 of 7 6/19/2020, 10:55 PM
OpenStack Docs: Configure remote console access https://docs.openstack.org/nova/rocky/admin/remote-console-access.html
Back to
5. The proxy initiates the connection to VNC server and continues to Top
proxy until the session ends.
The proxy also tunnels the VNC protocol over WebSockets so that the
noVNC client can talk to VNC servers. In general, the VNC proxy:
Bridges between the public network where the clients live and the
private network where VNC servers live.
Mediates token authentication.
Transparently deals with hypervisor-specific connection details to
provide a uniform client experience.
(../_images/SCH_5009_V00_NUAC-VNC_OpenStack.png)
/etc/pki/libvirt-vnc/server-cert.pem
/etc/pki/libvirt-vnc/server-key.pem
/etc/pki/libvirt-vnc/ca-cert.pem
The certificates must have v3 basic constraints [3] present to indicate the
permitted key use and purpose data.
For further details on certificate creation, consult the QEMU manual page
documentation on VNC server certificate setup [2].
Configure libvirt to enable the VeNCrypt authentication scheme for the VNC
server. In /etc/libvirt/qemu.conf, uncomment the following settings:
vnc_tls=1
vnc_tls_x509_verify=1
This instructs QEMU to require that all VNC clients present a valid
x509 certificate. Assuming a dedicated certificate authority is used for
the VNC service, this ensures that only approved VNC proxy servers
can connect to the Compute nodes.
Changes will not apply to any existing running guests on the Compute
node, so this configuration should be done before launching any instances.
[vnc]
auth_schemes=vencrypt,none
At that point, the noVNC proxy will refuse to connect to any Compute node
2 of 7 6/19/2020, 10:55 PM
OpenStack Docs: Configure remote console access https://docs.openstack.org/nova/rocky/admin/remote-console-access.html
/etc/pki/nova-novncproxy/client-cert.pem
/etc/pki/nova-novncproxy/client-key.pem
/etc/pki/nova-novncproxy/ca-cert.pem
The certificates must have v3 basic constraints [3] present to indicate the
permitted key use and purpose data.
Once the certificates have been created, the noVNC console proxy service
must be told where to find them. This requires editing nova.conf to set.
[vnc]
vencrypt_client_key=/etc/pki/nova-novncproxy/client-key.pem
vencrypt_client_cert=/etc/pki/nova-novncproxy/client-cert.pem
vencrypt_ca_certs=/etc/pki/nova-novncproxy/ca-cert.pem
Note
Note
3 of 7 6/19/2020, 10:55 PM
OpenStack Docs: Configure remote console access https://docs.openstack.org/nova/rocky/admin/remote-console-access.html
Back to Top
Typical deployment¶
A typical deployment has the following components:
nova-novncproxy (noVNC)¶
You must install the noVNC package, which contains the nova-novncproxy
service. As root, run the following command:
Note
If using non-US key mappings, then you need at least noVNC 1.0.0 for
a fix (https://github.com/novnc/noVNC/commit
/99feba6ba8fee5b3a2b2dc99dc25e9179c560d31).
server_listen=0.0.0.0
Specifies the address on which the VNC service should bind. Make
sure it is assigned one of the compute node interfaces. This address
is the one used by your domain file.
Note
server_proxyclient_address=127.0.0.1
4 of 7 6/19/2020, 10:55 PM
OpenStack Docs: Configure remote console access https://docs.openstack.org/nova/rocky/admin/remote-console-access.html
x
This is in extended maintenance and not the current[vnc]
release. The current supported release is Ussuri. (/ussuri/)
# These flags help construct a connection data structure
server_proxyclient_address=192.168.1.2 Back to Top
novncproxy_base_url=http://172.24.1.1:6080/vnc_auto.html
xvpvncproxy_base_url=http://172.24.1.1:6081/console
# This is the address where the underlying vncserver (not the proxy
# will listen for connections.
server_listen=192.168.1.2
Note
A: Make sure the base_url match your TLS setting. If you are using
https console connections, make sure that the value of
novncproxy_base_url is set explicitly where the nova-novncproxy
service is running.
Serial Console¶
The serial console feature [1] in nova is an alternative for graphical consoles
like VNC, SPICE, RDP. The example below uses these nodes:
(../_images/serial-console-flow.svg)
1. The user requests a serial console connection string for an instance
from the REST API.
2. The nova-api service asks the nova-compute service, which manages
that instance, to fulfill that request.
3. That connection string gets used by the user to connect to the nova-
serialproxy service.
4. The nova-serialproxy service then proxies the console interaction to
the port of the compute node where the instance is running. That
port gets forwarded by the hypervisor into the KVM guest.
The config options for those nodes, which are in the section
[serial_console] of your nova.conf, are not intuitive at first. Keep these
things in mind:
References¶
5 of 7 6/19/2020, 10:55 PM
OpenStack Docs: Configure remote console access https://docs.openstack.org/nova/rocky/admin/remote-console-access.html
[1] https://specs.openstack.org/openstack/nova-specs/specs
x
This is in extended maintenance and not the current release. The current supported release is Ussuri. (/ussuri/)
/juno/implemented/serial-ports.html (https://specs.openstack.org
/openstack/nova-specs/specs/juno/implemented/serial-ports.html)
Back to Top
[2] https://qemu.weilnetz.de/doc/qemu-
doc.html#vnc_005fsec_005fcertificate_005fverify
(https://qemu.weilnetz.de/doc/qemu-
doc.html#vnc_005fsec_005fcertificate_005fverify)
(quotas.html) (root-wrap-reference.html)
(https://bugs.launchpad.net
/nova/+filebug?field.title=Configure%20remote%20console%20access%20in%20nova&
field.tags=doc&field.comment=%0A%0A%0AThis bug tracker is for errors
with the documentation, use the following as a template and remove or add
fields as you see fit. Convert [ ] into [x] to check boxes:%0A%0A- [ ] This doc
is inaccurate in this way: ______%0A- [ ] This is a doc addition request.%0A- [
] I have a fix to the document that I can paste below including example:
input and output. %0A%0AIf you have a troubleshooting or support issue,
use the following resources:%0A%0A - Ask OpenStack:
http://ask.openstack.org%0A - The mailing list:
http://lists.openstack.org%0A - IRC: 'openstack' channel on Freenode
%0A%0A-----------------------------------%0ARelease:%2018.3.1.dev35%20on%202020-05-28%2014:48%0ASHA:%20005c3b702e7cfd17036c616ef33ff64f98eed2
/cgit/openstack/nova/tree/doc/source/admin/remote-console-
access.rst%0AURL: https://docs.openstack.org/nova/rocky/admin/remote-
console-access.html)
(https://creativecommons.org
/licenses/by/3.0/) FOUND AN ERROR?
REPORT A BUG
Except where otherwise noted, this
(HTTPS://BUGS.LAUNCHPAD.NET
document is licensed under Creative
/NOVA/+FILEBUG?FIELD.TITLE=CONFIGURE%20REMOTE%20CONSOLE%20ACCESS%20IN%20NOVA&
Commons Attribution 3.0 License
FIELD.TAGS=DOC&
(https://creativecommons.org/licenses/by/3.0/). See all FIELD.COMMENT=%0A%0A
OpenStack Legal Documents (http://www.openstack.org %0ATHIS BUG TRACKER IS
/legal). FOR ERRORS WITH THE
DOCUMENTATION, USE
THE FOLLOWING AS A
TEMPLATE AND REMOVE
OR ADD FIELDS AS YOU SEE
FIT. CONVERT [ ] INTO [X]
TO CHECK BOXES:%0A%0A-
[ ] THIS DOC IS
INACCURATE IN THIS WAY:
______%0A- [ ] THIS IS A
DOC ADDITION
REQUEST.%0A- [ ] I HAVE A
FIX TO THE DOCUMENT
THAT I CAN PASTE BELOW
INCLUDING EXAMPLE:
INPUT AND OUTPUT.
%0A%0AIF YOU HAVE A
TROUBLESHOOTING OR
SUPPORT ISSUE, USE THE
FOLLOWING RESOURCES:
%0A%0A - ASK
OPENSTACK:
HTTP://ASK.OPENSTACK.ORG%0A
- THE MAILING LIST:
HTTP://LISTS.OPENSTACK.ORG%0A
- IRC: 'OPENSTACK'
CHANNEL ON FREENODE
%0A%0A-----------------------------------%0ARELEASE:%2018.3.1.DEV35%20ON%202020-05-28%2014:48%0ASHA:%20005C3B702E7C
/CGIT/OPENSTACK
/NOVA/TREE/DOC/SOURCE
/ADMIN/REMOTE-
CONSOLE-
ACCESS.RST%0AURL:
HTTPS://DOCS.OPENSTACK.ORG
/NOVA/ROCKY/ADMIN
/REMOTE-CONSOLE-
ACCESS.HTML)
QUESTIONS?
(HTTP://ASK.OPENSTACK.ORG)
6 of 7 6/19/2020, 10:55 PM
OpenStack Docs: Configure remote console access https://docs.openstack.org/nova/rocky/admin/remote-console-access.html
x
This is in extended maintenance and not the current release. The current supported release is Ussuri. (/ussuri/)
Back to Top
News /infra/manual
(http://openstack.org /developers.html)
/news/)
7 of 7 6/19/2020, 10:55 PM