config options: enhance help text of section "serial_console"

The help text of the config options got enhanced to improve the quality
of their documentation. I used a syntax which is in the ReST format.

bp centralize-config-options

Change-Id: I01a2070691035126b8d92be6e810ac3339347b75
This commit is contained in:
Markus Zoeller 2015-11-17 16:58:44 +01:00 committed by John Garbutt
parent c55edcf0e1
commit 64107f3d58
1 changed files with 152 additions and 25 deletions

View File

@ -17,42 +17,165 @@ from oslo_config import cfg
DEFAULT_PORT_RANGE = '10000:20000'
serial_opt_group = cfg.OptGroup("serial_console",
title="The serial console feature",
help="""
The serial console feature allows you to connect to a guest in case a
graphical console like VNC, RDP or SPICE is not available. This is only
supported for the libvirt driver.""")
enabled_opt = cfg.BoolOpt('enabled',
default=False,
help='Enable serial console related features')
default=False,
help="""
Enable the serial console feature.
In order to use this feature, the service ``nova-serialproxy`` needs to run.
This service is typically executed on the controller node.
Possible values:
* True: Enables the feature
* False: Disables the feature
Services which consume this:
* ``nova-compute``
Interdependencies to other options:
* None
""")
port_range_opt = cfg.StrOpt('port_range',
default=DEFAULT_PORT_RANGE,
help='Range of TCP ports to use for serial ports '
'on compute hosts')
default=DEFAULT_PORT_RANGE,
# TODO(markus_z): regex="\d+:\d+", As soon as we have oslo.config 2.7
help="""
A range of TCP ports a guest can use for its backend.
Each instance which gets created will use one port out of this range. If the
range is not big enough to provide another port for an new instance, this
instance won't get launched.
Possible values:
Each string which passes the regex ``\d+:\d+`` For example ``10000:20000``.
Be sure that the first port number is lower than the second port number.
Services which consume this:
* ``nova-compute``
Interdependencies to other options:
* None
""")
base_url_opt = cfg.StrOpt('base_url',
default='ws://127.0.0.1:6083/',
help='Location of serial console proxy.')
default='ws://127.0.0.1:6083/',
help="""
The URL an end user would use to connect to the ``nova-serialproxy`` service.
The ``nova-serialproxy`` service is called with this token enriched URL
and establishes the connection to the proper instance.
Possible values:
* <scheme><IP-address><port-number>
Services which consume this:
* ``nova-compute``
Interdependencies to other options:
* The IP address must be identical to the address to which the
``nova-serialproxy`` service is listening (see option ``serialproxy_host``
in this section).
* The port must be the same as in the option ``serialproxy_port`` of this
section.
* If you choose to use a secured websocket connection, then start this option
with ``wss://`` instead of the unsecured ``ws://``. The options ``cert``
and ``key`` in the ``[DEFAULT]`` section have to be set for that.
""")
# This config option was never used
listen_opt = cfg.StrOpt('listen',
default='127.0.0.1',
deprecated_for_removal=True,
help='IP address on which instance serial console '
'should listen')
default='127.0.0.1',
deprecated_for_removal=True,
help="""
DEPRECATED: this option has no effect anymore. Please use
"proxyclient_address" instead. This option is deprecated and will be removed
in future releases.""")
proxyclient_address_opt = cfg.StrOpt('proxyclient_address',
default='127.0.0.1',
help='The address to which proxy clients '
'(like nova-serialproxy) should '
'connect')
default='127.0.0.1',
help="""
The IP address to which proxy clients (like ``nova-serialproxy``) should
connect to get the serial console of an instance.
This is typically the IP address of the host of a ``nova-compute`` service.
Possible values:
* An IP address
Services which consume this:
* ``nova-compute``
Interdependencies to other options:
* None
""")
serialproxy_host_opt = cfg.StrOpt('serialproxy_host',
default='0.0.0.0',
help='Host on which to listen for incoming '
'requests')
default='0.0.0.0',
help="""
The IP address which is used by the ``nova-serialproxy`` service to listen
for incoming requests.
The ``nova-serialproxy`` service listens on this IP address for incoming
connection requests to instances which expose serial console.
Possible values:
* An IP address
Services which consume this:
* ``nova-serialproxy``
Interdependencies to other options:
* Ensure that this is the same IP address which is defined in the option
``base_url`` of this section or use ``0.0.0.0`` to listen on all addresses.
""")
serialproxy_port_opt = cfg.IntOpt('serialproxy_port',
default=6083,
min=1,
max=65535,
help='Port on which to listen for incoming '
'requests')
default=6083,
min=1,
max=65535,
help="""
The port number which is used by the ``nova-serialproxy`` service to listen
for incoming requests.
The ``nova-serialproxy`` service listens on this port number for incoming
connection requests to instances which expose serial console.
Possible values:
* A port number
Services which consume this:
* ``nova-serialproxy``
Interdependencies to other options:
* Ensure that this is the same port number which is defined in the option
``base_url`` of this section.
""")
ALL_OPTS = [enabled_opt,
port_range_opt,
@ -64,7 +187,7 @@ ALL_OPTS = [enabled_opt,
def register_opts(conf):
conf.register_opts(ALL_OPTS, group="serial_console")
conf.register_opts(ALL_OPTS, group=serial_opt_group)
def register_cli_opts(conf):
@ -73,4 +196,8 @@ def register_cli_opts(conf):
def list_opts():
return ("serial_console", ALL_OPTS)
# Because of bug 1395819 in oslo.config we cannot pass in the OptGroup.
# As soon as this bug is fixed is oslo.config and Nova uses the
# version which contains this fix, we can pass in the OptGroup instead
# of its name. This allows the generation of the group help too.
return (serial_opt_group.name, ALL_OPTS)