blob: b3615d29cf2ba8411a0a6318fa858232a3a16e8e [file] [log] [blame]
Steve Baker450aa7f2014-08-25 10:37:27 +12001# Licensed under the Apache License, Version 2.0 (the "License"); you may
2# not use this file except in compliance with the License. You may obtain
3# a copy of the License at
4#
5# http://www.apache.org/licenses/LICENSE-2.0
6#
7# Unless required by applicable law or agreed to in writing, software
8# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10# License for the specific language governing permissions and limitations
11# under the License.
12
13import os
Steve Baker450aa7f2014-08-25 10:37:27 +120014
Jens Rosenboom4f069fb2015-02-18 14:19:07 +010015from oslo_config import cfg
Steve Baker450aa7f2014-08-25 10:37:27 +120016
17import heat_integrationtests
18
19
20IntegrationTestGroup = [
21
22 cfg.StrOpt('username',
23 default=os.environ.get('OS_USERNAME'),
Rakesh H Sa286a132016-02-18 18:54:00 +053024 help="Username to use for non admin API requests."),
Steve Baker450aa7f2014-08-25 10:37:27 +120025 cfg.StrOpt('password',
26 default=os.environ.get('OS_PASSWORD'),
Rakesh H Sa286a132016-02-18 18:54:00 +053027 help="Non admin API key to use when authenticating.",
28 secret=True),
29 cfg.StrOpt('admin_username',
30 help="Username to use for admin API requests."),
31 cfg.StrOpt('admin_password',
32 help="Admin API key to use when authentication.",
Steve Baker450aa7f2014-08-25 10:37:27 +120033 secret=True),
34 cfg.StrOpt('tenant_name',
Steve Baker7c9115d2015-08-03 11:12:46 +120035 default=(os.environ.get('OS_PROJECT_NAME') or
36 os.environ.get('OS_TENANT_NAME')),
Steve Baker450aa7f2014-08-25 10:37:27 +120037 help="Tenant name to use for API requests."),
rabifd98a472016-05-24 10:18:33 +053038 cfg.StrOpt('admin_tenant_name',
39 default='admin',
40 help="Admin tenant name to use for admin API requests."),
Steve Baker450aa7f2014-08-25 10:37:27 +120041 cfg.StrOpt('auth_url',
42 default=os.environ.get('OS_AUTH_URL'),
Rabi Mishra65493fb2016-01-29 22:23:21 +053043 help="Full URI of the OpenStack Identity API (Keystone)"),
Rabi Mishra1d538742016-03-21 21:09:20 +053044 cfg.StrOpt('user_domain_name',
45 default=os.environ.get('OS_USER_DOMAIN_NAME'),
46 help="User domain name, if keystone v3 auth_url"
47 "is used"),
48 cfg.StrOpt('project_domain_name',
49 default=os.environ.get('OS_PROJECT_DOMAIN_NAME'),
50 help="Project domain name, if keystone v3 auth_url"
Rabi Mishra65493fb2016-01-29 22:23:21 +053051 "is used"),
Steve Baker450aa7f2014-08-25 10:37:27 +120052 cfg.StrOpt('region',
53 default=os.environ.get('OS_REGION_NAME'),
Rabi Mishra65493fb2016-01-29 22:23:21 +053054 help="The region name to use"),
Steve Baker450aa7f2014-08-25 10:37:27 +120055 cfg.StrOpt('instance_type',
Steve Baker450aa7f2014-08-25 10:37:27 +120056 help="Instance type for tests. Needs to be big enough for a "
57 "full OS plus the test workload"),
Pavlo Shchelokovskyy46e5cb22015-03-23 12:01:25 +000058 cfg.StrOpt('minimal_instance_type',
59 help="Instance type enough for simplest cases."),
Steve Baker450aa7f2014-08-25 10:37:27 +120060 cfg.StrOpt('image_ref',
Steve Baker450aa7f2014-08-25 10:37:27 +120061 help="Name of image to use for tests which boot servers."),
62 cfg.StrOpt('keypair_name',
Steve Baker450aa7f2014-08-25 10:37:27 +120063 help="Name of existing keypair to launch servers with."),
64 cfg.StrOpt('minimal_image_ref',
Steve Baker450aa7f2014-08-25 10:37:27 +120065 help="Name of minimal (e.g cirros) image to use when "
66 "launching test instances."),
Steve Baker450aa7f2014-08-25 10:37:27 +120067 cfg.BoolOpt('disable_ssl_certificate_validation',
68 default=False,
69 help="Set to True if using self-signed SSL certificates."),
tyagi39aa11a2016-03-07 04:47:00 -080070 cfg.StrOpt('ca_file',
tyagi39aa11a2016-03-07 04:47:00 -080071 help="CA certificate to pass for servers that have "
72 "https endpoint."),
Steve Baker450aa7f2014-08-25 10:37:27 +120073 cfg.IntOpt('build_interval',
74 default=4,
75 help="Time in seconds between build status checks."),
76 cfg.IntOpt('build_timeout',
77 default=1200,
78 help="Timeout in seconds to wait for a stack to build."),
79 cfg.StrOpt('network_for_ssh',
Rabi Mishraec4b03b2015-05-23 02:20:47 +053080 default='heat-net',
Steve Baker450aa7f2014-08-25 10:37:27 +120081 help="Network used for SSH connections."),
82 cfg.StrOpt('fixed_network_name',
Rabi Mishraec4b03b2015-05-23 02:20:47 +053083 default='heat-net',
Steve Baker450aa7f2014-08-25 10:37:27 +120084 help="Visible fixed network name "),
Pavlo Shchelokovskyy6fa23802015-03-23 11:22:35 +000085 cfg.StrOpt('floating_network_name',
86 default='public',
87 help="Visible floating network name "),
Steve Baker0b679bb2015-03-11 13:46:42 +130088 cfg.StrOpt('boot_config_env',
Steve Baker803f1502015-03-11 13:47:08 +130089 default=('heat_integrationtests/scenario/templates'
90 '/boot_config_none_env.yaml'),
Steve Baker0b679bb2015-03-11 13:46:42 +130091 help="Path to environment file which defines the "
92 "resource type Heat::InstallConfigAgent. Needs to "
93 "be appropriate for the image_ref."),
kairat_kushaev0ab3d7c2015-01-27 21:48:46 +030094 cfg.StrOpt('fixed_subnet_name',
Rabi Mishraec4b03b2015-05-23 02:20:47 +053095 default='heat-subnet',
kairat_kushaev0ab3d7c2015-01-27 21:48:46 +030096 help="Visible fixed sub-network name "),
Steve Baker450aa7f2014-08-25 10:37:27 +120097 cfg.IntOpt('ssh_timeout',
98 default=300,
99 help="Timeout in seconds to wait for authentication to "
100 "succeed."),
101 cfg.IntOpt('ip_version_for_ssh',
102 default=4,
103 help="IP version used for SSH connections."),
104 cfg.IntOpt('ssh_channel_timeout',
105 default=60,
106 help="Timeout in seconds to wait for output from ssh "
107 "channel."),
108 cfg.IntOpt('tenant_network_mask_bits',
109 default=28,
110 help="The mask bits for tenant ipv4 subnets"),
Rabi Mishra477efc92015-07-31 13:01:45 +0530111 cfg.BoolOpt('skip_scenario_tests',
112 default=False,
113 help="Skip all scenario tests"),
114 cfg.BoolOpt('skip_functional_tests',
115 default=False,
116 help="Skip all functional tests"),
117 cfg.ListOpt('skip_functional_test_list',
Rabi Mishra94c43722015-08-12 18:39:38 +0530118 help="List of functional test class or class.method "
119 "names to skip ex. AutoscalingGroupTest,"
120 "InstanceGroupBasicTest.test_size_updates_work"),
Rabi Mishra477efc92015-07-31 13:01:45 +0530121 cfg.ListOpt('skip_scenario_test_list',
Rabi Mishra94c43722015-08-12 18:39:38 +0530122 help="List of scenario test class or class.method "
123 "names to skip ex. NeutronLoadBalancerTest, "
huangtianhua422c1ba2016-06-08 15:50:39 +0800124 "AodhAlarmTest.test_alarm"),
Rabi Mishra477efc92015-07-31 13:01:45 +0530125 cfg.ListOpt('skip_test_stack_action_list',
126 help="List of stack actions in tests to skip "
127 "ex. ABANDON, ADOPT, SUSPEND, RESUME"),
Steve Baker450aa7f2014-08-25 10:37:27 +1200128 cfg.IntOpt('volume_size',
129 default=1,
130 help='Default size in GB for volumes created by volumes tests'),
Anastasia Kuznetsova3e0ab4d2015-03-06 18:10:13 +0400131 cfg.IntOpt('connectivity_timeout',
132 default=120,
133 help="Timeout in seconds to wait for connectivity to "
134 "server."),
Oleksii Chuprykov4be023a2015-07-08 07:17:08 -0400135 cfg.IntOpt('sighup_timeout',
136 default=30,
137 help="Timeout in seconds to wait for adding or removing child"
Thomas Herve2ce4bda2016-01-22 17:55:55 +0100138 "process after receiving of sighup signal"),
Peter Razumovsky483e64b2016-03-04 17:04:28 +0300139 cfg.IntOpt('sighup_config_edit_retries',
140 default=10,
141 help='Count of retries to edit config file during sighup. If '
142 'another worker already edit config file, file can be '
143 'busy, so need to wait and try edit file again.'),
Thomas Herve2ce4bda2016-01-22 17:55:55 +0100144 cfg.StrOpt('heat-config-notify-script',
145 default=('heat-config-notify'),
146 help="Path to the script heat-config-notify"),
Rabi Mishra65493fb2016-01-29 22:23:21 +0530147
Steve Baker450aa7f2014-08-25 10:37:27 +1200148]
149
150
151def init_conf(read_conf=True):
152
153 default_config_files = None
154 if read_conf:
155 confpath = os.path.join(
156 os.path.dirname(os.path.realpath(heat_integrationtests.__file__)),
157 'heat_integrationtests.conf')
158 if os.path.isfile(confpath):
159 default_config_files = [confpath]
160
161 conf = cfg.ConfigOpts()
162 conf(args=[], project='heat_integrationtests',
163 default_config_files=default_config_files)
164
165 for opt in IntegrationTestGroup:
166 conf.register_opt(opt)
167 return conf
168
169
Thomas Hervecd3622e2014-12-17 10:36:51 +0100170def list_opts():
171 yield None, IntegrationTestGroup