Improve help text for upgrade_levels options

This commit adds additional help text to upgrade_levels
options.

Also improved consistency for the options as per [0].

[0] https://wiki.openstack.org/wiki/ConfigOptionsConsistency

Blueprint centralize-config-options-ocata

Change-Id: Ic73c40359d22b8a0821b216939aac6cd81962a73
This commit is contained in:
Sujitha 2016-06-13 19:03:51 +00:00
parent 7a8f1369c5
commit 7ab306383f
1 changed files with 60 additions and 135 deletions

View File

@ -1,10 +1,3 @@
# needs:fix_opt_description
# needs:check_deprecation_status
# needs:check_opt_group_and_type
# needs:fix_opt_description_indentation
# needs:fix_opt_registration_consistency
# Copyright 2016 OpenStack Foundation # Copyright 2016 OpenStack Foundation
# All Rights Reserved. # All Rights Reserved.
# #
@ -20,146 +13,78 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from oslo_config import cfg from oslo_config import cfg
upgrade_group = cfg.OptGroup('upgrade_levels', upgrade_group = cfg.OptGroup('upgrade_levels',
title='Upgrade levels Options') title='Upgrade levels Options',
rpcapi_cap_cells_opt = cfg.StrOpt('cells',
help=""" help="""
Cells version upgrade_levels options are used to set version cap for RPC
messages sent between different nova services.
Cells client-side RPC API version. Use this option to set a version By default all services send messages using the latest version
cap for messages sent to local cells services. they know about.
The compute upgrade level is an important part of rolling upgrades
where old and new nova-compute services run side by side.
The other options can largely be ignored, and are only kept to
help with a possible future backport issue.
""")
# TODO(sneti): Add default=auto for compute
upgrade_levels_opts = [
cfg.StrOpt('compute',
help="""
Compute RPC API version cap.
By default, we always send messages using the most recent version
the client knows about.
Where you have old and new compute services running, you should set
this to the lowest deployed version. This is to guarantee that all
services never send messages that one of the compute nodes can't
understand. Note that we only support upgrading from release N to
release N+1.
Set this option to "auto" if you want to let the compute RPC module
automatically determine what version to use based on the service
versions in the deployment.
Possible values: Possible values:
* None: This is the default value. * By default send the latest version the client knows about
* grizzly: message version 1.6. * 'auto': Automatically determines what version to use based on
* havana: message version 1.24. the service versions in the deployment.
* icehouse: message version 1.27. * A string representing a version number in the format 'N.N';
* juno: message version 1.29. for example, possible values might be '1.12' or '2.0'.
* kilo: message version 1.34. * An OpenStack release name, in lower case, such as 'mitaka' or
* liberty: message version 1.37. 'liberty'.
"""),
Services which consume this: cfg.StrOpt('cells',
help='Cells RPC API version cap'),
* nova-cells cfg.StrOpt('intercell',
help='Intercell RPC API version cap'),
Related options: cfg.StrOpt("cert",
help='Cert RPC API version cap'),
* None cfg.StrOpt("scheduler",
""") help='Scheduler RPC API version cap'),
cfg.StrOpt('conductor',
rpcapi_cap_intercell_opt = cfg.StrOpt('intercell', help='Conductor RPC API version cap'),
help=""" cfg.StrOpt('console',
Intercell version help='Console RPC API version cap'),
cfg.StrOpt('consoleauth',
Intercell RPC API is the client side of the Cell<->Cell RPC API. help='Consoleauth RPC API version cap'),
Use this option to set a version cap for messages sent between cfg.StrOpt('network',
cells services. help='Network RPC API version cap'),
cfg.StrOpt('baseapi',
Possible values: help='Base API RPC API version cap')
]
* None: This is the default value.
* grizzly: message version 1.0.
Services which consume this:
* nova-cells
Related options:
* None
""")
rpcapi_cap_cert_opt = cfg.StrOpt("cert",
help="""
Specifies the maximum version for messages sent from cert services. This should
be the minimum value that is supported by all of the deployed cert services.
Possible values:
Any valid OpenStack release name, in lower case, such as 'mitaka' or 'liberty'.
Alternatively, it can be any string representing a version number in the format
'N.N'; for example, possible values might be '1.12' or '2.0'.
Services which consume this:
* nova-cert
Related options:
* None
""")
rpcapi_cap_compute_opt = cfg.StrOpt('compute',
help='Set a version cap for messages sent to compute services. '
'Set this option to "auto" if you want to let the compute RPC '
'module automatically determine what version to use based on '
'the service versions in the deployment. '
'Otherwise, you can set this to a specific version to pin this '
'service to messages at a particular level. '
'All services of a single type (i.e. compute) should be '
'configured to use the same version, and it should be set '
'to the minimum commonly-supported version of all those '
'services in the deployment.')
rpcapi_cap_scheduler_opt = cfg.StrOpt("scheduler",
help="""
Sets a version cap (limit) for messages sent to scheduler services. In the
situation where there were multiple scheduler services running, and they were
not being upgraded together, you would set this to the lowest deployed version
to guarantee that other services never send messages that any of your running
schedulers cannot understand.
This is rarely needed in practice as most deployments run a single scheduler.
It exists mainly for design compatibility with the other services, such as
compute, which are routinely upgraded in a rolling fashion.
Services that use this:
* nova-compute, nova-conductor
Related options:
* None
""")
rpcapi_cap_conductor_opt = cfg.StrOpt('conductor',
help='Set a version cap for messages sent to conductor services')
rpcapi_cap_console_opt = cfg.StrOpt('console',
help='Set a version cap for messages sent to console services')
rpcapi_cap_consoleauth_opt = cfg.StrOpt('consoleauth',
help='Set a version cap for messages sent to consoleauth services')
rpcapi_cap_network_opt = cfg.StrOpt('network',
help='Set a version cap for messages sent to network services')
rpcapi_cap_baseapi_opt = cfg.StrOpt('baseapi',
help='Set a version cap for messages sent to the base api in any '
'service')
ALL_OPTS = [rpcapi_cap_cells_opt,
rpcapi_cap_intercell_opt,
rpcapi_cap_cert_opt,
rpcapi_cap_compute_opt,
rpcapi_cap_scheduler_opt,
rpcapi_cap_conductor_opt,
rpcapi_cap_console_opt,
rpcapi_cap_consoleauth_opt,
rpcapi_cap_network_opt,
rpcapi_cap_baseapi_opt]
def register_opts(conf): def register_opts(conf):
conf.register_group(upgrade_group) conf.register_group(upgrade_group)
conf.register_opts(ALL_OPTS, group=upgrade_group) conf.register_opts(upgrade_levels_opts, group=upgrade_group)
def list_opts(): def list_opts():
return {upgrade_group: ALL_OPTS} return {upgrade_group: upgrade_levels_opts}