neutron-tempest-plugin/neutron_tempest_plugin/config.py
Yariv Rachmani fed6f86894 Allow to configure max vlans for trunk port tests
In NFV baremetal deployments, the number of vlans available for trunk
ports may be constrained. This patch allows to configure
max_networks_per_project to accommodate for those environments.

Change-Id: Ie0f04649313aed41498cf60f7de0eb44cee17b1c
2018-01-04 09:46:37 +00:00

69 lines
2.7 KiB
Python

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_config import cfg
from tempest import config
CONF = config.CONF
NeutronPluginOptions = [
cfg.ListOpt('provider_vlans',
default=[],
help='List of provider networks available in the deployment.'),
cfg.BoolOpt('specify_floating_ip_address_available',
default=True,
help='Allow passing an IP Address of the floating ip when '
'creating the floating ip'),
cfg.ListOpt('available_type_drivers',
default=[],
help='List of network types available to neutron, '
'e.g. vxlan,vlan,gre.'),
cfg.BoolOpt('image_is_advanced',
default=False,
help='Image that supports features that cirros does not, like'
' Ubuntu or CentOS supporting advanced features'),
cfg.StrOpt('agent_availability_zone',
help='The availability zone for all agents in the deployment. '
'Configure this only when the single value is used by '
'all agents in the deployment.'),
cfg.IntOpt('max_networks_per_project',
default=4,
help='Max number of networks per project. '
'Configure this only when project is limited with real '
'vlans in deployment.'),
]
# TODO(amuller): Redo configuration options registration as part of the planned
# transition to the Tempest plugin architecture
for opt in NeutronPluginOptions:
CONF.register_opt(opt, 'neutron_plugin_options')
config_opts_translator = {
'project_network_cidr': 'tenant_network_cidr',
'project_network_v6_cidr': 'tenant_network_v6_cidr',
'project_network_mask_bits': 'tenant_network_mask_bits',
'project_network_v6_mask_bits': 'tenant_network_v6_mask_bits'}
def safe_get_config_value(group, name):
"""Safely get Oslo config opts from Tempest, using old and new names."""
conf_group = getattr(CONF, group)
try:
return getattr(conf_group, name)
except cfg.NoSuchOptError:
return getattr(conf_group, config_opts_translator[name])