Skip to content

Commit

Permalink
Remove 'nova-xvpvncproxy'
Browse files Browse the repository at this point in the history
This legacy service is no longer used and was deprecated during the
Stein cycle [1]. It's time to say adios and remove them in their
entirety. This is pretty straightforward, with the sole exception of
schema for the 'remote-consoles' API, which has to continue supporting
requests for type 'xvpvnc' even if we can't fulfil those requests now.

[1] https://review.opendev.org/#/c/610076/

Part of blueprint remove-xvpvncproxy

Depends-On: https://review.opendev.org/695853
Change-Id: I2f7f2379d0cd54e4d0a91008ddb44858cfc5a4cf
Signed-off-by: Stephen Finucane <[email protected]>
  • Loading branch information
stephenfin committed Dec 23, 2019
1 parent 4cb8136 commit 02eb9cf
Show file tree
Hide file tree
Showing 29 changed files with 33 additions and 830 deletions.
11 changes: 5 additions & 6 deletions api-guide/source/server_concepts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -783,12 +783,11 @@ Server Consoles
Server Consoles can also be supplied after server launched. There are several
server console services available. First, users can get the console output
from the specified server and can limit the lines of console text by setting
the length. Second, users can access multiple types of remote consoles. The
user can use novnc, xvpvnc, rdp-html5, spice-html5, serial, and webmks(start
from microversion 2.8) through either the OpenStack dashboard or the command
line. Refer to :nova-doc:`Configure remote console access
<admin/remote-console-access.html>`. Specifically for Xenserver, it provides
the ability to create, delete, detail, list specified server vnc consoles.
the length. Secondly, users can access multiple types of remote consoles. The
user can use ``novnc``, ``rdp-html5``, ``spice-html5``, ``serial``, and
``webmks`` (starting from microversion 2.8) through either the OpenStack
dashboard or the command line. Refer to :nova-doc:`Configure remote console
access <admin/remote-console-access.html>`.

Server networks
~~~~~~~~~~~~~~~
Expand Down
4 changes: 2 additions & 2 deletions api-ref/source/parameters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5284,7 +5284,7 @@ os-getVNCConsole:
type: object
os-getVNCConsole-type:
description: |
The type of VNC console. The valid values are ``novnc`` and ``xvpvnc``.
The type of VNC console. The only valid value is ``novnc``.
in: body
required: true
type: string
Expand Down Expand Up @@ -5833,7 +5833,7 @@ remote_console_protocol:
type: string
remote_console_type:
description: |
The type of remote console. The valid values are ``novnc``, ``xvpvnc``,
The type of remote console. The valid values are ``novnc``,
``rdp-html5``, ``spice-html5``, ``serial``, and ``webmks``. The type
``webmks`` is added since Microversion ``2.8``.
in: body
Expand Down
3 changes: 0 additions & 3 deletions api-ref/source/servers-action-remote-consoles.inc
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,6 @@ Gets a VNC console for a server.

Specify the ``os-getVNCConsole`` action in the request body.

The supported connection types are ``novnc``, ``xvpvnc``. Such as connect
with ``novnc``, set ``type`` parameter to ``novnc``.

Normal response codes: 200

Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404),
Expand Down
4 changes: 1 addition & 3 deletions api-ref/source/servers-remote-consoles.inc
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ The API provides a unified request for creating a remote console. The user can
get a URL to connect the console from this API. The URL includes the token
which is used to get permission to access the console. Servers may support
different console protocols. To return a remote console using a specific
protocol, such as RDP, set the ``protocol`` parameter to ``rdp``. For the same
protocol, there may be different connection types such as ``vnc protocol and
novnc type`` or ``vnc protocol and xvpvnc type``.
protocol, such as RDP, set the ``protocol`` parameter to ``rdp``.

Normal response codes: 200

Expand Down
1 change: 0 additions & 1 deletion doc/source/_extra/.htaccess
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ redirectmatch 301 ^/nova/([^/]+)/man/nova-scheduler.html$ /nova/$1/cli/nova-sche
redirectmatch 301 ^/nova/([^/]+)/man/nova-serialproxy.html$ /nova/$1/cli/nova-serialproxy.html
redirectmatch 301 ^/nova/([^/]+)/man/nova-spicehtml5proxy.html$ /nova/$1/cli/nova-spicehtml5proxy.html
redirectmatch 301 ^/nova/([^/]+)/man/nova-status.html$ /nova/$1/cli/nova-status.html
redirectmatch 301 ^/nova/([^/]+)/man/nova-xvpvncproxy.html$ /nova/$1/cli/nova-xvpvncproxy.html
redirectmatch 301 ^/nova/([^/]+)/notifications.html$ /nova/$1/reference/notifications.html
redirectmatch 301 ^/nova/([^/]+)/placement.html$ /nova/$1/user/placement.html
redirectmatch 301 ^/nova/([^/]+)/placement_dev.html$ /nova/$1/contributor/placement.html
Expand Down
80 changes: 5 additions & 75 deletions doc/source/admin/remote-console-access.rst
Original file line number Diff line number Diff line change
Expand Up @@ -526,68 +526,6 @@ For example, to configure this via a ``nova.conf`` file:
mksproxy_base_url = https://127.0.0.1:6090/
XVP-based VNC console
---------------------

VNC is a graphical console with wide support among many hypervisors and
clients. Xen VNC Proxy (XVP) provides VNC support via a simple Java client.

.. deprecated:: 19.0.0

:program:`nova-xvpvnxproxy` is deprecated since 19.0.0 (Stein) and will be
removed in an upcoming release.

Configuration
~~~~~~~~~~~~~

To enable the XVP VNC console service, you must configure both the
:program:`nova-xvpvncproxy` service and the :program:`nova-compute` service.
Most options are defined in the :oslo.config:group:`vnc` group.

The :program:`nova-xvpvncproxy` service accepts the following options.

- :oslo.config:option:`daemon`
- :oslo.config:option:`ssl_only`
- :oslo.config:option:`source_is_ipv6`
- :oslo.config:option:`cert`
- :oslo.config:option:`key`
- :oslo.config:option:`web`
- :oslo.config:option:`vnc.xvpvncproxy_host`
- :oslo.config:option:`vnc.xvpvncproxy_port`

For example, to configure this via a ``nova-xvpvncproxy.conf`` file:

.. code-block:: ini
[vnc]
xvpvncproxy_host = 0.0.0.0
xvpvncproxy_port = 6081
The :program:`nova-compute` service requires the following options to configure
XVP-based VNC support.

- :oslo.config:option:`vnc.enabled`
- :oslo.config:option:`vnc.xvpvncproxy_base_url`
- :oslo.config:option:`vnc.server_listen`
- :oslo.config:option:`vnc.server_proxyclient_address`
- :oslo.config:option:`vnc.keymap`

For example, to configure this via a ``nova.conf`` file:

.. code-block:: ini
[vnc]
enabled = True
xvpvncproxy_base_url = http://IP_ADDRESS:6081/console
server_listen = 127.0.0.1
server_proxyclient_address = 127.0.0.1
keymap = en-us
Replace ``IP_ADDRESS`` with the IP address from which the proxy is accessible
by the outside world. For example, this may be the management interface IP
address of the controller or the VIP.


.. _about-nova-consoleauth:

About ``nova-consoleauth``
Expand All @@ -602,13 +540,6 @@ outlined below could leverage. Token authentication was moved to the database in
Frequently Asked Questions
--------------------------

- **Q: What is the difference between ``nova-xvpvncproxy`` and
``nova-novncproxy``?**

A: ``nova-xvpvncproxy``, which ships with OpenStack Compute, is a proxy that
supports a simple Java client. ``nova-novncproxy`` uses noVNC to provide VNC
support through a web browser.

- **Q: I want VNC support in the OpenStack dashboard. What services do I
need?**

Expand All @@ -634,19 +565,18 @@ Frequently Asked Questions
# These flags help construct a connection data structure
server_proxyclient_address=192.168.1.2
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::

``novncproxy_base_url`` and ``xvpvncproxy_base_url`` use a public IP; this
is the URL that is ultimately returned to clients, which generally do not
have access to your private network. Your PROXYSERVER must be able to
reach ``server_proxyclient_address``, because that is the address over
which the VNC connection is proxied.
``novncproxy_base_url`` uses a public IP; this is the URL that is
ultimately returned to clients, which generally do not have access to your
private network. Your PROXYSERVER must be able to reach
``server_proxyclient_address``, because that is the address over which the
VNC connection is proxied.

- **Q: My noVNC does not work with recent versions of web browsers. Why?**

Expand Down
11 changes: 0 additions & 11 deletions doc/source/cli/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,3 @@ are documented for completeness and debugging if something goes wrong.
:maxdepth: 1

nova-rootwrap

Deprecated Services
-------------------

The following services are deprecated in nova. They should not be used in new
deployments, but are documented for existing ones.

.. toctree::
:maxdepth: 1

nova-xvpvncproxy
54 changes: 0 additions & 54 deletions doc/source/cli/nova-xvpvncproxy.rst

This file was deleted.

1 change: 0 additions & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@
('nova-serialproxy', u'Cloud controller fabric'),
('nova-spicehtml5proxy', u'Cloud controller fabric'),
('nova-status', u'Cloud controller fabric'),
('nova-xvpvncproxy', u'Cloud controller fabric'),
]

man_pages = [
Expand Down
9 changes: 0 additions & 9 deletions doc/source/install/get-started-compute.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,6 @@ OpenStack Compute consists of the following areas and their components:
Provides a proxy for accessing running instances through a SPICE connection.
Supports browser-based HTML5 client.

``nova-xvpvncproxy`` daemon
Provides a proxy for accessing running instances through a VNC connection.
Supports an OpenStack-specific Java client.

.. deprecated:: 19.0.0

:program:`nova-xvpvnxproxy` is deprecated since 19.0.0 (Stein) and will be
removed in an upcoming release.

The queue
A central hub for passing messages between daemons. Usually implemented with
`RabbitMQ <https://www.rabbitmq.com/>`__ but
Expand Down
1 change: 0 additions & 1 deletion doc/test/redirect-tests.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
/nova/latest/man/nova-serialproxy.html 301 /nova/latest/cli/nova-serialproxy.html
/nova/latest/man/nova-spicehtml5proxy.html 301 /nova/latest/cli/nova-spicehtml5proxy.html
/nova/latest/man/nova-status.html 301 /nova/latest/cli/nova-status.html
/nova/latest/man/nova-xvpvncproxy.html 301 /nova/latest/cli/nova-xvpvncproxy.html
/nova/latest/notifications.html 301 /nova/latest/reference/notifications.html
/nova/latest/placement.html 301 /nova/latest/user/placement.html
/nova/latest/placement_dev.html 301 /nova/latest/contributor/placement.html
Expand Down
42 changes: 0 additions & 42 deletions nova/cmd/xvpvncproxy.py

This file was deleted.

2 changes: 0 additions & 2 deletions nova/compute/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -6672,8 +6672,6 @@ def get_vnc_console(self, context, console_type, instance):
# For essex, novncproxy_base_url must include the full path
# including the html file (like http://myhost/vnc_auto.html)
access_url_base = CONF.vnc.novncproxy_base_url
elif console_type == 'xvpvnc':
access_url_base = CONF.vnc.xvpvncproxy_base_url
else:
raise exception.ConsoleTypeInvalid(console_type=console_type)

Expand Down
2 changes: 0 additions & 2 deletions nova/conf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
from nova.conf import workarounds
from nova.conf import wsgi
from nova.conf import xenserver
from nova.conf import xvp
from nova.conf import zvm

CONF = cfg.CONF
Expand Down Expand Up @@ -119,7 +118,6 @@
workarounds.register_opts(CONF)
wsgi.register_opts(CONF)
xenserver.register_opts(CONF)
xvp.register_opts(CONF)
zvm.register_opts(CONF)

remote_debug.register_cli_opts(CONF)
Loading

0 comments on commit 02eb9cf

Please sign in to comment.