octavia-tempest-plugin/octavia_tempest_plugin/config.py

156 lines
7.1 KiB
Python

# Copyright 2016 Rackspace Inc.
#
# 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 octavia_tempest_plugin.common import constants as const
service_available_group = cfg.OptGroup(name='service_available',
title='Available OpenStack Services')
ServiceAvailableGroup = [
cfg.BoolOpt('load_balancer',
default=True,
help="Whether or not the load-balancer service is expected "
"to be available."),
]
octavia_group = cfg.OptGroup(name='load_balancer',
title='load-balancer service options')
OctaviaGroup = [
# Tempest plugin common options
cfg.StrOpt("region",
default="",
help="The region name to use. If empty, the value "
"of identity.region is used instead. If no such region "
"is found in the service catalog, the first found one is "
"used."),
cfg.StrOpt('catalog_type',
default='load-balancer',
help='Catalog type of the Octavia service.'),
cfg.StrOpt('endpoint_type',
default='publicURL',
choices=['public', 'admin', 'internal',
'publicURL', 'adminURL', 'internalURL'],
help="The endpoint type to use for the load-balancer service"),
cfg.IntOpt('build_interval',
default=5,
help='Time in seconds between build status checks for '
'non-load-balancer resources to build'),
cfg.IntOpt('build_timeout',
default=300,
help='Timeout in seconds to wait for non-load-balancer '
'resources to build'),
# load-balancer specific options
cfg.IntOpt('check_interval',
default=5,
help='Interval to check for status changes.'),
cfg.IntOpt('check_timeout',
default=60,
help='Timeout, in seconds, to wait for a status change.'),
cfg.BoolOpt('test_with_noop',
default=False,
help='Runs the tests assuming no-op drivers are being used. '
'Tests will assume no actual amphora are created.'),
cfg.IntOpt('lb_build_interval',
default=10,
help='Time in seconds between build status checks for a '
'load balancer.'),
cfg.IntOpt('lb_build_timeout',
default=900,
help='Timeout in seconds to wait for a '
'load balancer to build.'),
cfg.StrOpt('member_role',
default='load-balancer_member',
help='The load balancing member RBAC role.'),
cfg.StrOpt('admin_role',
default='load-balancer_admin',
help='The load balancing admin RBAC role.'),
cfg.IntOpt('scp_connection_timeout',
default=5,
help='Timeout in seconds to wait for a '
'scp connection to complete.'),
cfg.IntOpt('scp_connection_attempts',
default=20,
help='Retries for scp to attempt to connect.'),
cfg.StrOpt('provider',
default='octavia',
help='The provider driver to use for the tests.'),
cfg.StrOpt('RBAC_test_type', default=const.ADVANCED,
choices=[const.ADVANCED, const.OWNERADMIN, const.NONE],
help='Type of RBAC tests to run. "advanced" runs the octavia '
'default RBAC tests. "owner_or_admin" runs the legacy '
'owner or admin tests. "none" disables the RBAC tests.'),
# Networking
cfg.BoolOpt('test_with_ipv6',
default=True,
help='When true the IPv6 tests will be run.'),
cfg.BoolOpt('disable_boot_network', default=False,
help='True if your cloud does not allow creating networks or '
'specifying the boot network for instances.'),
cfg.BoolOpt('enable_security_groups', default=False,
help='When true, security groups will be created for the test '
'servers. When false, port security will be disabled on '
'the created networks.'),
cfg.StrOpt('test_network_override',
help='Overrides network creation and uses this network ID for '
'all tests (VIP, members, etc.). Required if '
'test_subnet_override is set.'),
cfg.StrOpt('test_subnet_override',
help='Overrides subnet creation and uses this subnet ID for '
'all IPv4 tests (VIP, members, etc.). Optional'),
cfg.StrOpt('test_ipv6_subnet_override',
help='Overrides subnet creation and uses this subnet ID for '
'all IPv6 tests (VIP, members, etc.). Optional and only '
'valid if test_network_override is set.'),
cfg.StrOpt('vip_subnet_cidr',
default='10.1.1.0/24',
help='CIDR format subnet to use for the vip subnet.'),
cfg.StrOpt('vip_ipv6_subnet_cidr',
default='fdde:1a92:7523:70a0::/64',
help='CIDR format subnet to use for the IPv6 vip subnet.'),
cfg.StrOpt('member_1_ipv4_subnet_cidr',
default='10.2.1.0/24',
help='CIDR format subnet to use for the member 1 subnet.'),
cfg.StrOpt('member_1_ipv6_subnet_cidr',
default='fd7b:f9f7:0fff:4eca::/64',
help='CIDR format subnet to use for the member 1 ipv6 subnet.'),
cfg.StrOpt('member_2_ipv4_subnet_cidr',
default='10.2.2.0/24',
help='CIDR format subnet to use for the member 2 subnet.'),
cfg.StrOpt('member_2_ipv6_subnet_cidr',
default='fd77:1457:4cf0:26a8::/64',
help='CIDR format subnet to use for the member 1 ipv6 subnet.'),
# Environment specific options
# These are used to accomidate clouds with specific limitations
cfg.IntOpt('random_server_name_length',
default=0,
help='If non-zero, generate a random name of the length '
'provided for each server, in the format "m[A-Z0-9]*". '),
cfg.StrOpt('availability_zone',
default=None,
help='Availability zone to use for creating servers.'),
]
lb_feature_enabled_group = cfg.OptGroup(name='loadbalancer-feature-enabled',
title='Enabled/Disabled LB features')
LBFeatureEnabledGroup = [
cfg.BoolOpt('health_monitor_enabled',
default=True,
help="Whether Health Monitor is available with provider"
" driver or not."),
]