| # 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 |
| |
| import os |
| |
| default_template = os.path.join( |
| os.path.dirname(os.path.realpath(__file__)), |
| 'tests/scenario/templates/boot_config_none_env.yaml') |
| |
| service_available_group = cfg.OptGroup(name="service_available", |
| title="Available OpenStack Services") |
| |
| ServiceAvailableGroup = [ |
| cfg.BoolOpt("heat", |
| default=True, |
| help="Whether or not heat is expected to be available", |
| deprecated_opts=[cfg.DeprecatedOpt( |
| 'heat_plugin', |
| group='service_available')]), |
| ] |
| |
| heat_group = cfg.OptGroup(name="heat_plugin", |
| title="Heat Service Options") |
| |
| HeatGroup = [ |
| cfg.StrOpt("catalog_type", |
| default="orchestration", |
| help="Catalog type of the orchestration service."), |
| cfg.StrOpt('username', |
| help="Username to use for non admin API requests."), |
| cfg.StrOpt('password', |
| help="Non admin API key to use when authenticating.", |
| secret=True), |
| cfg.StrOpt('admin_username', |
| help="Username to use for admin API requests."), |
| cfg.StrOpt('admin_password', |
| help="Admin API key to use when authentication.", |
| secret=True), |
| cfg.StrOpt('project_name', |
| help="Project name to use for API requests.", |
| deprecated_opts=[cfg.DeprecatedOpt( |
| 'tenant_name', group='heat_plugin')]), |
| cfg.StrOpt('admin_project_name', |
| default='admin', |
| help="Admin project name to use for admin API requests.", |
| deprecated_opts=[cfg.DeprecatedOpt( |
| 'admin_tenant_name', group='heat_plugin')]), |
| cfg.StrOpt('auth_url', |
| help="Full URI of the OpenStack Identity API (Keystone)."), |
| cfg.StrOpt('auth_version', |
| help="OpenStack Identity API version."), |
| cfg.StrOpt('user_domain_name', |
| help="User domain name, if keystone v3 auth_url " |
| "is used"), |
| cfg.StrOpt('project_domain_name', |
| help="Project domain name, if keystone v3 auth_url " |
| "is used"), |
| cfg.StrOpt('user_domain_id', |
| help="User domain id, if keystone v3 auth_url " |
| "is used"), |
| cfg.StrOpt('project_domain_id', |
| help="Project domain id, if keystone v3 auth_url " |
| "is used"), |
| cfg.StrOpt('region', |
| help="The region name to use"), |
| cfg.StrOpt('endpoint_type', |
| default='public', |
| choices=['public', 'admin', 'internal'], |
| help="The endpoint type to use for the orchestration service."), |
| cfg.StrOpt('instance_type', |
| help="Instance type for tests. Needs to be big enough for a " |
| "full OS plus the test workload"), |
| cfg.StrOpt('minimal_instance_type', |
| help="Instance type enough for simplest cases."), |
| cfg.StrOpt('image_ref', |
| help="Name of image to use for tests which boot servers."), |
| cfg.StrOpt('keypair_name', |
| help="Name of existing keypair to launch servers with."), |
| cfg.StrOpt('minimal_image_ref', |
| help="Name of minimal (e.g cirros) image to use when " |
| "launching test instances."), |
| cfg.BoolOpt('disable_ssl_certificate_validation', |
| default=False, |
| help="Set to True if using self-signed SSL certificates."), |
| cfg.StrOpt('ca_file', |
| help="CA certificate to pass for servers that have " |
| "https endpoint."), |
| cfg.IntOpt('build_interval', |
| default=4, |
| help="Time in seconds between build status checks."), |
| cfg.IntOpt('build_timeout', |
| default=1200, |
| help="Timeout in seconds to wait for a stack to build."), |
| cfg.StrOpt('network_for_ssh', |
| default='heat-net', |
| help="Network used for SSH connections."), |
| cfg.StrOpt('fixed_network_name', |
| default='heat-net', |
| help="Visible fixed network name "), |
| cfg.StrOpt('floating_network_name', |
| default='public', |
| help="Visible floating network name "), |
| cfg.StrOpt('boot_config_env', |
| default=default_template, |
| help="Path to environment file which defines the " |
| "resource type Heat::InstallConfigAgent. Needs to " |
| "be appropriate for the image_ref."), |
| cfg.StrOpt('fixed_subnet_name', |
| default='heat-subnet', |
| help="Visible fixed sub-network name "), |
| cfg.IntOpt('ssh_timeout', |
| default=300, |
| help="Timeout in seconds to wait for authentication to " |
| "succeed."), |
| cfg.IntOpt('ip_version_for_ssh', |
| default=4, |
| help="IP version used for SSH connections."), |
| cfg.IntOpt('ssh_channel_timeout', |
| default=60, |
| help="Timeout in seconds to wait for output from ssh " |
| "channel."), |
| cfg.BoolOpt('skip_scenario_tests', |
| default=False, |
| help="Skip all scenario tests"), |
| cfg.BoolOpt('skip_functional_tests', |
| default=False, |
| help="Skip all functional tests"), |
| cfg.ListOpt('skip_functional_test_list', |
| help="List of functional test class or class.method " |
| "names to skip ex. AutoscalingGroupTest, " |
| "InstanceGroupBasicTest.test_size_updates_work"), |
| cfg.ListOpt('skip_scenario_test_list', |
| help="List of scenario test class or class.method " |
| "names to skip ex. NeutronLoadBalancerTest, " |
| "AodhAlarmTest.test_alarm"), |
| cfg.ListOpt('skip_test_stack_action_list', |
| help="List of stack actions in tests to skip " |
| "ex. ABANDON, ADOPT, SUSPEND, RESUME"), |
| cfg.BoolOpt('convergence_engine_enabled', |
| default=True, |
| help="Test features that are only present for stacks with " |
| "convergence enabled."), |
| cfg.IntOpt('volume_size', |
| default=1, |
| help='Default size in GB for volumes created by volumes tests'), |
| cfg.IntOpt('connectivity_timeout', |
| default=120, |
| help="Timeout in seconds to wait for connectivity to " |
| "server."), |
| cfg.StrOpt('heat_config_notify_script', |
| default=('heat-config-notify'), |
| help="Path to the script heat-config-notify"), |
| cfg.StrOpt('hidden_stack_tag', |
| default='data-processing-cluster', |
| help="Tag to be considered as hidden for stack tags tests"), |
| cfg.StrOpt('credential_secret_id', |
| help="Barbican secret id which storing cloud credential in " |
| "remote site."), |
| ] |
| |
| heat_features_group = cfg.OptGroup( |
| name='heat_features_enabled', |
| title="Enabled Orchestration Service Features") |
| |
| HeatFeaturesGroup = [ |
| cfg.BoolOpt('stack_cancel', |
| default=False, |
| help="If false, skip stack cancel tests"), |
| cfg.BoolOpt('multi_cloud', |
| default=False, |
| help="If false, skip multi-cloud tests for remote stack") |
| ] |
| |
| |
| def list_opts(): |
| yield heat_group.name, HeatGroup |
| yield heat_features_group.name, HeatFeaturesGroup |
| yield service_available_group.name, ServiceAvailableGroup |