From 58d737ed52df10157f0014f28d568543262caa5a Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Wed, 25 Feb 2015 15:32:50 -0800 Subject: [PATCH] Use oslo_config choices support The oslo_config library added support for a choices keyword argument in version 1.2.0a3. This commit leverages the use of choices for StrOpts in Neutron's configuration. References: http://docs.openstack.org/developer/oslo.config/#a3 https://bugs.launchpad.net/oslo-incubator/+bug/1123043 Change-Id: I2f935731ed7e1dea6d297dd72960d01cb8859656 --- neutron/agent/l3/config.py | 7 ++++++- neutron/agent/l3/ha.py | 4 +++- neutron/plugins/mlnx/agent/config.py | 4 ++-- neutron/plugins/vmware/common/config.py | 4 ++-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/neutron/agent/l3/config.py b/neutron/agent/l3/config.py index db734168a21..49e5dd51614 100644 --- a/neutron/agent/l3/config.py +++ b/neutron/agent/l3/config.py @@ -16,9 +16,14 @@ from oslo_config import cfg +from neutron.common import constants + OPTS = [ - cfg.StrOpt('agent_mode', default='legacy', + cfg.StrOpt('agent_mode', default=constants.L3_AGENT_MODE_LEGACY, + choices=(constants.L3_AGENT_MODE_DVR, + constants.L3_AGENT_MODE_DVR_SNAT, + constants.L3_AGENT_MODE_LEGACY), help=_("The working mode for the agent. Allowed modes are: " "'legacy' - this preserves the existing behavior " "where the L3 agent is deployed on a centralized " diff --git a/neutron/agent/l3/ha.py b/neutron/agent/l3/ha.py index 4a7fe3e47cf..dc34b93d18e 100644 --- a/neutron/agent/l3/ha.py +++ b/neutron/agent/l3/ha.py @@ -17,6 +17,7 @@ import os from oslo_config import cfg +from neutron.agent.linux import keepalived from neutron.common import constants as l3_constants from neutron.i18n import _LE from neutron.openstack.common import log as logging @@ -33,7 +34,8 @@ OPTS = [ 'config files')), cfg.StrOpt('ha_vrrp_auth_type', default='PASS', - help=_('VRRP authentication type AH/PASS')), + choices=keepalived.VALID_AUTH_TYPES, + help=_('VRRP authentication type')), cfg.StrOpt('ha_vrrp_auth_password', help=_('VRRP authentication password'), secret=True), diff --git a/neutron/plugins/mlnx/agent/config.py b/neutron/plugins/mlnx/agent/config.py index 39c618ca639..341553834ec 100644 --- a/neutron/plugins/mlnx/agent/config.py +++ b/neutron/plugins/mlnx/agent/config.py @@ -26,8 +26,8 @@ eswitch_opts = [ help=_("List of :")), cfg.StrOpt('vnic_type', default=constants.VIF_TYPE_DIRECT, - help=_("Type of VM network interface: mlnx_direct or " - "hostdev")), + choices=(constants.VIF_TYPE_DIRECT, constants.VIF_TYPE_HOSTDEV), + help=_("Type of VM network interface")), cfg.StrOpt('daemon_endpoint', default='tcp://127.0.0.1:60001', help=_('eswitch daemon end point')), diff --git a/neutron/plugins/vmware/common/config.py b/neutron/plugins/vmware/common/config.py index 281bac55731..89b5eeb7181 100644 --- a/neutron/plugins/vmware/common/config.py +++ b/neutron/plugins/vmware/common/config.py @@ -61,9 +61,9 @@ base_opts = [ "does not support namespaces otherwise access_network " "should be used.")), cfg.StrOpt('default_transport_type', default='stt', + choices=('stt', 'gre', 'bridge', 'ipsec_gre', 'ipsec_stt'), deprecated_group='NVP', - help=_("The default network tranport type to use (stt, gre, " - "bridge, ipsec_gre, or ipsec_stt)")), + help=_("The default network transport type to use")), cfg.StrOpt('agent_mode', default=AgentModes.AGENT, deprecated_group='NVP', help=_("The mode used to implement DHCP/metadata services.")),