| # 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.'), |
| ] |
| |
| # 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]) |