diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-11-14 23:10:02 -0500 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-11-25 15:25:38 -0500 |
commit | 0f736029c73ae9b921ef67490d2086520e2e2c28 (patch) | |
tree | 7ba8d2815c2084bebc99f61d593600ccbd056d38 /meta-openstack/recipes-extended/tempest | |
parent | d36d9a4408b2432175ce824b39952f732ac156d1 (diff) | |
download | meta-cloud-services-0f736029c73ae9b921ef67490d2086520e2e2c28.tar.gz |
tempest: introduce the openstack unit test framework
Introduce the OpenStack test framework "tempest". This initial integration
makes the framework available, but does not enable it in any images by
default, nor does it stage the tests for execution.
Subsequent updates will modify this baseline for test execution and
reporting.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-extended/tempest')
3 files changed, 577 insertions, 0 deletions
diff --git a/meta-openstack/recipes-extended/tempest/tempest/logging.conf b/meta-openstack/recipes-extended/tempest/tempest/logging.conf new file mode 100644 index 0000000..3b468f1 --- /dev/null +++ b/meta-openstack/recipes-extended/tempest/tempest/logging.conf | |||
@@ -0,0 +1,46 @@ | |||
1 | [loggers] | ||
2 | keys=root,tempest,tempest_stress | ||
3 | |||
4 | [handlers] | ||
5 | keys=file,syslog,devel | ||
6 | |||
7 | [formatters] | ||
8 | keys=default,tests | ||
9 | |||
10 | [logger_root] | ||
11 | level=NOTSET | ||
12 | handlers=syslog | ||
13 | |||
14 | [logger_tempest] | ||
15 | level=DEBUG | ||
16 | handlers=file | ||
17 | qualname=tempest | ||
18 | |||
19 | [logger_tempest_stress] | ||
20 | level=INFO | ||
21 | handlers=file,devel | ||
22 | qualname=tempest.stress | ||
23 | |||
24 | [handler_file] | ||
25 | class=FileHandler | ||
26 | level=DEBUG | ||
27 | formatter=tests | ||
28 | args=('tempest.log', 'w') | ||
29 | |||
30 | [handler_syslog] | ||
31 | class=handlers.SysLogHandler | ||
32 | level=ERROR | ||
33 | formatter = default | ||
34 | args = ('/dev/log', handlers.SysLogHandler.LOG_USER) | ||
35 | |||
36 | [handler_devel] | ||
37 | class=StreamHandler | ||
38 | level=DEBUG | ||
39 | formatter=default | ||
40 | args=(sys.stdout,) | ||
41 | |||
42 | [formatter_default] | ||
43 | format=%(name)s: %(levelname)s: %(message)s | ||
44 | |||
45 | [formatter_tests] | ||
46 | class = tempest.common.log.TestsFormatter | ||
diff --git a/meta-openstack/recipes-extended/tempest/tempest/tempest.conf b/meta-openstack/recipes-extended/tempest/tempest/tempest.conf new file mode 100644 index 0000000..aebda69 --- /dev/null +++ b/meta-openstack/recipes-extended/tempest/tempest/tempest.conf | |||
@@ -0,0 +1,438 @@ | |||
1 | [DEFAULT] | ||
2 | log_config = /etc/tempest/logging.conf | ||
3 | |||
4 | # disable logging to the stderr | ||
5 | use_stderr = False | ||
6 | |||
7 | # log file | ||
8 | log_file = tempest.log | ||
9 | |||
10 | # lock/semaphore base directory | ||
11 | lock_path=/tmp | ||
12 | |||
13 | default_log_levels=tempest.stress=INFO,amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,keystone=INFO,eventlet.wsgi.server=WARN | ||
14 | |||
15 | [identity] | ||
16 | # This section contains configuration options that a variety of Tempest | ||
17 | # test clients use when authenticating with different user/tenant | ||
18 | # combinations | ||
19 | |||
20 | # The type of endpoint for a Identity service. Unless you have a | ||
21 | # custom Keystone service catalog implementation, you probably want to leave | ||
22 | # this value as "identity" | ||
23 | catalog_type = identity | ||
24 | # Ignore SSL certificate validation failures? Use when in testing | ||
25 | # environments that have self-signed SSL certs. | ||
26 | disable_ssl_certificate_validation = False | ||
27 | # URL for where to find the OpenStack Identity API endpoint (Keystone) | ||
28 | uri = http://127.0.0.1:5000/v2.0/ | ||
29 | # URL for where to find the OpenStack V3 Identity API endpoint (Keystone) | ||
30 | uri_v3 = http://127.0.0.1:5000/v3/ | ||
31 | # The identity region. Also used as the other services' region name unless | ||
32 | # they are set explicitly. | ||
33 | region = RegionOne | ||
34 | |||
35 | # This should be the username of a user WITHOUT administrative privileges | ||
36 | username = demo | ||
37 | # The above non-administrative user's password | ||
38 | password = secret | ||
39 | # The above non-administrative user's tenant name | ||
40 | tenant_name = demo | ||
41 | |||
42 | # This should be the username of an alternate user WITHOUT | ||
43 | # administrative privileges | ||
44 | alt_username = alt_demo | ||
45 | # The above non-administrative user's password | ||
46 | alt_password = secret | ||
47 | # The above non-administrative user's tenant name | ||
48 | alt_tenant_name = alt_demo | ||
49 | |||
50 | # This should be the username of a user WITH administrative privileges | ||
51 | admin_username = admin | ||
52 | # The above administrative user's password | ||
53 | admin_password = secret | ||
54 | # The above administrative user's tenant name | ||
55 | admin_tenant_name = admin | ||
56 | |||
57 | # The role that is required to administrate keystone. | ||
58 | admin_role = admin | ||
59 | |||
60 | [compute] | ||
61 | # This section contains configuration options used when executing tests | ||
62 | # against the OpenStack Compute API. | ||
63 | |||
64 | # Allows test cases to create/destroy tenants and users. This option | ||
65 | # enables isolated test cases and better parallel execution, | ||
66 | # but also requires that OpenStack Identity API admin credentials | ||
67 | # are known. | ||
68 | allow_tenant_isolation = true | ||
69 | |||
70 | # Allows test cases to create/destroy tenants and users. This option | ||
71 | # enables isolated test cases and better parallel execution, | ||
72 | # but also requires that OpenStack Identity API admin credentials | ||
73 | # are known. | ||
74 | allow_tenant_reuse = true | ||
75 | |||
76 | # Reference data for tests. The ref and ref_alt should be | ||
77 | # distinct images/flavors. | ||
78 | image_ref = {$IMAGE_ID} | ||
79 | image_ref_alt = {$IMAGE_ID_ALT} | ||
80 | flavor_ref = 1 | ||
81 | flavor_ref_alt = 2 | ||
82 | |||
83 | # User name used to authenticate to an instance | ||
84 | image_ssh_user = root | ||
85 | |||
86 | # Password used to authenticate to an instance | ||
87 | image_ssh_password = password | ||
88 | |||
89 | # User name used to authenticate to an instance using the alternate image | ||
90 | image_alt_ssh_user = root | ||
91 | |||
92 | # Password used to authenticate to an instance using the alternate image | ||
93 | image_alt_ssh_password = password | ||
94 | |||
95 | # Number of seconds to wait while looping to check the status of an | ||
96 | # instance that is building. | ||
97 | build_interval = 10 | ||
98 | |||
99 | # Number of seconds to time out on waiting for an instance | ||
100 | # to build or reach an expected status | ||
101 | build_timeout = 600 | ||
102 | |||
103 | # Run additional tests that use SSH for instance validation? | ||
104 | # This requires the instances be routable from the host | ||
105 | # executing the tests | ||
106 | run_ssh = false | ||
107 | |||
108 | # Name of a user used to authenticate to an instance. | ||
109 | ssh_user = cirros | ||
110 | |||
111 | # Visible fixed network name | ||
112 | fixed_network_name = private | ||
113 | |||
114 | # Network id used for SSH (public, private, etc) | ||
115 | network_for_ssh = public | ||
116 | |||
117 | # IP version of the address used for SSH | ||
118 | ip_version_for_ssh = 4 | ||
119 | |||
120 | # Number of seconds to wait to ping to an instance | ||
121 | ping_timeout = 60 | ||
122 | |||
123 | # Number of seconds to wait to authenticate to an instance | ||
124 | ssh_timeout = 300 | ||
125 | |||
126 | # Additinal wait time for clean state, when there is | ||
127 | # no OS-EXT-STS extension availiable | ||
128 | ready_wait = 0 | ||
129 | |||
130 | # Number of seconds to wait for output from ssh channel | ||
131 | ssh_channel_timeout = 60 | ||
132 | |||
133 | # Dose the SSH uses Floating IP? | ||
134 | use_floatingip_for_ssh = True | ||
135 | |||
136 | # The type of endpoint for a Compute API service. Unless you have a | ||
137 | # custom Keystone service catalog implementation, you probably want to leave | ||
138 | # this value as "compute" | ||
139 | catalog_type = compute | ||
140 | |||
141 | # The name of a region for compute. If empty or commented-out, the value of | ||
142 | # identity.region is used instead. If no such region is found in the service | ||
143 | # catalog, the first found one is used. | ||
144 | #region = RegionOne | ||
145 | |||
146 | # Does the Compute API support creation of images? | ||
147 | create_image_enabled = true | ||
148 | |||
149 | # For resize to work with libvirt/kvm, one of the following must be true: | ||
150 | # Single node: allow_resize_to_same_host=True must be set in nova.conf | ||
151 | # Cluster: the 'nova' user must have scp access between cluster nodes | ||
152 | resize_available = true | ||
153 | |||
154 | # Does the compute API support changing the admin password? | ||
155 | change_password_available=true | ||
156 | |||
157 | # Run live migration tests (requires 2 hosts) | ||
158 | live_migration_available = false | ||
159 | |||
160 | # Use block live migration (Otherwise, non-block migration will be | ||
161 | # performed, which requires XenServer pools in case of using XS) | ||
162 | use_block_migration_for_live_migration = false | ||
163 | |||
164 | # Supports iSCSI block migration - depends on a XAPI supporting | ||
165 | # relax-xsm-sr-check | ||
166 | block_migrate_supports_cinder_iscsi = false | ||
167 | |||
168 | # When set to false, disk config tests are forced to skip | ||
169 | disk_config_enabled = true | ||
170 | |||
171 | # When set to false, flavor extra data tests are forced to skip | ||
172 | flavor_extra_enabled = true | ||
173 | |||
174 | # Expected first device name when a volume is attached to an instance | ||
175 | volume_device_name = vdb | ||
176 | |||
177 | [compute-admin] | ||
178 | # This should be the username of a user WITH administrative privileges | ||
179 | # If not defined the admin user from the identity section will be used | ||
180 | username = | ||
181 | # The above administrative user's password | ||
182 | password = | ||
183 | # The above administrative user's tenant name | ||
184 | tenant_name = | ||
185 | |||
186 | [image] | ||
187 | # This section contains configuration options used when executing tests | ||
188 | # against the OpenStack Images API | ||
189 | |||
190 | # The type of endpoint for an Image API service. Unless you have a | ||
191 | # custom Keystone service catalog implementation, you probably want to leave | ||
192 | # this value as "image" | ||
193 | catalog_type = image | ||
194 | |||
195 | # The name of a region for image. If empty or commented-out, the value of | ||
196 | # identity.region is used instead. If no such region is found in the service | ||
197 | # catalog, the first found one is used. | ||
198 | #region = RegionOne | ||
199 | |||
200 | # The version of the OpenStack Images API to use | ||
201 | api_version = 1 | ||
202 | |||
203 | # HTTP image to use for glance http image testing | ||
204 | http_image = http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz | ||
205 | |||
206 | [network] | ||
207 | # This section contains configuration options used when executing tests | ||
208 | # against the OpenStack Network API. | ||
209 | |||
210 | # Version of the Neutron API | ||
211 | api_version = v1.1 | ||
212 | # Catalog type of the Neutron Service | ||
213 | catalog_type = network | ||
214 | |||
215 | # The name of a region for network. If empty or commented-out, the value of | ||
216 | # identity.region is used instead. If no such region is found in the service | ||
217 | # catalog, the first found one is used. | ||
218 | #region = RegionOne | ||
219 | |||
220 | # A large private cidr block from which to allocate smaller blocks for | ||
221 | # tenant networks. | ||
222 | tenant_network_cidr = 10.100.0.0/16 | ||
223 | |||
224 | # The mask bits used to partition the tenant block. | ||
225 | tenant_network_mask_bits = 24 | ||
226 | |||
227 | # If tenant networks are reachable, connectivity checks will be | ||
228 | # performed directly against addresses on those networks. | ||
229 | tenant_networks_reachable = false | ||
230 | |||
231 | # Id of the public network that provides external connectivity. | ||
232 | public_network_id = {$PUBLIC_NETWORK_ID} | ||
233 | |||
234 | # Id of a shared public router that provides external connectivity. | ||
235 | # A shared public router would commonly be used where IP namespaces | ||
236 | # were disabled. If namespaces are enabled, it would be preferable | ||
237 | # for each tenant to have their own router. | ||
238 | public_router_id = {$PUBLIC_ROUTER_ID} | ||
239 | |||
240 | |||
241 | [volume] | ||
242 | # This section contains the configuration options used when executing tests | ||
243 | # against the OpenStack Block Storage API service | ||
244 | |||
245 | # The type of endpoint for a Cinder or Block Storage API service. | ||
246 | # Unless you have a custom Keystone service catalog implementation, you | ||
247 | # probably want to leave this value as "volume" | ||
248 | catalog_type = volume | ||
249 | # The name of a region for volume. If empty or commented-out, the value of | ||
250 | # identity.region is used instead. If no such region is found in the service | ||
251 | # catalog, the first found one is used. | ||
252 | #region = RegionOne | ||
253 | # The disk format to use when copying a volume to image | ||
254 | disk_format = raw | ||
255 | # Number of seconds to wait while looping to check the status of a | ||
256 | # volume that is being made available | ||
257 | build_interval = 10 | ||
258 | # Number of seconds to time out on waiting for a volume | ||
259 | # to be available or reach an expected status | ||
260 | build_timeout = 300 | ||
261 | # Runs Cinder multi-backend tests (requires 2 backends declared in cinder.conf) | ||
262 | # They must have different volume_backend_name (backend1_name and backend2_name | ||
263 | # have to be different) | ||
264 | multi_backend_enabled = false | ||
265 | backend1_name = BACKEND_1 | ||
266 | backend2_name = BACKEND_2 | ||
267 | # Protocol and vendor of volume backend to target when testing volume-types. | ||
268 | # You should update to reflect those exported by configured backend driver. | ||
269 | storage_protocol = iSCSI | ||
270 | vendor_name = Open Source | ||
271 | |||
272 | [object-storage] | ||
273 | # This section contains configuration options used when executing tests | ||
274 | # against the OpenStack Object Storage API. | ||
275 | |||
276 | # You can configure the credentials in the compute section | ||
277 | |||
278 | # The type of endpoint for an Object Storage API service. Unless you have a | ||
279 | # custom Keystone service catalog implementation, you probably want to leave | ||
280 | # this value as "object-store" | ||
281 | catalog_type = object-store | ||
282 | |||
283 | # The name of a region for object storage. If empty or commented-out, the | ||
284 | # value of identity.region is used instead. If no such region is found in | ||
285 | # the service catalog, the first found one is used. | ||
286 | #region = RegionOne | ||
287 | |||
288 | # Number of seconds to time on waiting for a container to container | ||
289 | # synchronization complete | ||
290 | container_sync_timeout = 120 | ||
291 | # Number of seconds to wait while looping to check the status of a | ||
292 | # container to container synchronization | ||
293 | container_sync_interval = 5 | ||
294 | # Set to True if the Account Quota middleware is enabled | ||
295 | accounts_quotas_available = True | ||
296 | # Set to True if the Container Quota middleware is enabled | ||
297 | container_quotas_available = True | ||
298 | |||
299 | # Set operator role for tests that require creating a container | ||
300 | operator_role = Member | ||
301 | |||
302 | [boto] | ||
303 | # This section contains configuration options used when executing tests | ||
304 | # with boto. | ||
305 | |||
306 | # EC2 URL | ||
307 | ec2_url = http://localhost:8773/services/Cloud | ||
308 | # S3 URL | ||
309 | s3_url = http://localhost:3333 | ||
310 | |||
311 | # Use keystone ec2-* command to get those values for your test user and tenant | ||
312 | aws_access = | ||
313 | aws_secret = | ||
314 | |||
315 | # Image materials for S3 upload | ||
316 | # ALL content of the specified directory will be uploaded to S3 | ||
317 | s3_materials_path = /opt/stack/devstack/files/images/s3-materials/cirros-0.3.1 | ||
318 | |||
319 | # The manifest.xml files, must be in the s3_materials_path directory | ||
320 | # Subdirectories not allowed! | ||
321 | # The filenames will be used as a Keys in the S3 Buckets | ||
322 | |||
323 | # ARI Ramdisk manifest. Must be in the above s3_materials_path | ||
324 | ari_manifest = cirros-0.3.1-x86_64-initrd.manifest.xml | ||
325 | |||
326 | # AMI Machine Image manifest. Must be in the above s3_materials_path | ||
327 | ami_manifest = cirros-0.3.1-x86_64-blank.img.manifest.xml | ||
328 | |||
329 | # AKI Kernel Image manifest, Must be in the above s3_materials_path | ||
330 | aki_manifest = cirros-0.3.1-x86_64-vmlinuz.manifest.xml | ||
331 | |||
332 | # Instance type | ||
333 | instance_type = m1.tiny | ||
334 | |||
335 | # TCP/IP connection timeout | ||
336 | http_socket_timeout = 5 | ||
337 | |||
338 | # Number of retries actions on connection or 5xx error | ||
339 | num_retries = 1 | ||
340 | |||
341 | # Status change wait timout | ||
342 | build_timeout = 120 | ||
343 | |||
344 | # Status change wait interval | ||
345 | build_interval = 1 | ||
346 | |||
347 | [orchestration] | ||
348 | # The type of endpoint for an Orchestration API service. Unless you have a | ||
349 | # custom Keystone service catalog implementation, you probably want to leave | ||
350 | # this value as "orchestration" | ||
351 | catalog_type = orchestration | ||
352 | |||
353 | # The name of a region for orchestration. If empty or commented-out, the value | ||
354 | # of identity.region is used instead. If no such region is found in the service | ||
355 | # catalog, the first found one is used. | ||
356 | #region = RegionOne | ||
357 | |||
358 | # Status change wait interval | ||
359 | build_interval = 1 | ||
360 | |||
361 | # Status change wait timout. This may vary across environments as some some | ||
362 | # tests spawn full VMs, which could be slow if the test is already in a VM. | ||
363 | build_timeout = 300 | ||
364 | |||
365 | # Instance type for tests. Needs to be big enough for a | ||
366 | # full OS plus the test workload | ||
367 | instance_type = m1.micro | ||
368 | |||
369 | # Name of heat-cfntools enabled image to use when launching test instances | ||
370 | # If not specified, tests that spawn instances will not run | ||
371 | #image_ref = ubuntu-vm-heat-cfntools | ||
372 | |||
373 | # Name of existing keypair to launch servers with. The default is not to specify | ||
374 | # any key, which will generate a keypair for each test class | ||
375 | #keypair_name = heat_key | ||
376 | |||
377 | [dashboard] | ||
378 | # URL where to find the dashboard home page | ||
379 | dashboard_url = 'http://localhost/' | ||
380 | |||
381 | # URL where to submit the login form | ||
382 | login_url = 'http://localhost/auth/login/' | ||
383 | |||
384 | [scenario] | ||
385 | # Directory containing image files | ||
386 | img_dir = /opt/stack/new/devstack/files/images/cirros-0.3.1-x86_64-uec | ||
387 | |||
388 | # AMI image file name | ||
389 | ami_img_file = cirros-0.3.1-x86_64-blank.img | ||
390 | |||
391 | # ARI image file name | ||
392 | ari_img_file = cirros-0.3.1-x86_64-initrd | ||
393 | |||
394 | # AKI image file name | ||
395 | aki_img_file = cirros-0.3.1-x86_64-vmlinuz | ||
396 | |||
397 | # ssh username for the image file | ||
398 | ssh_user = cirros | ||
399 | |||
400 | # specifies how many resources to request at once. Used for large operations | ||
401 | # testing." | ||
402 | large_ops_number = 0 | ||
403 | |||
404 | [cli] | ||
405 | # Enable cli tests | ||
406 | enabled = True | ||
407 | # directory where python client binaries are located | ||
408 | cli_dir = /usr/local/bin | ||
409 | # Number of seconds to wait on a CLI timeout | ||
410 | timeout = 15 | ||
411 | |||
412 | [service_available] | ||
413 | # Whether or not cinder is expected to be available | ||
414 | cinder = True | ||
415 | # Whether or not neutron is expected to be available | ||
416 | neutron = false | ||
417 | # Whether or not glance is expected to be available | ||
418 | glance = True | ||
419 | # Whether or not swift is expected to be available | ||
420 | swift = True | ||
421 | # Whether or not nova is expected to be available | ||
422 | nova = True | ||
423 | # Whether or not Heat is expected to be available | ||
424 | heat = false | ||
425 | # Whether or not horizon is expected to be available | ||
426 | horizon = True | ||
427 | |||
428 | [stress] | ||
429 | # Maximum number of instances to create during test | ||
430 | max_instances = 32 | ||
431 | # Time (in seconds) between log file error checks | ||
432 | log_check_interval = 60 | ||
433 | # The default number of threads created while stress test | ||
434 | default_thread_number_per_action=4 | ||
435 | |||
436 | [debug] | ||
437 | # Enable diagnostic commands | ||
438 | enable = True | ||
diff --git a/meta-openstack/recipes-extended/tempest/tempest_git.bb b/meta-openstack/recipes-extended/tempest/tempest_git.bb new file mode 100644 index 0000000..250e541 --- /dev/null +++ b/meta-openstack/recipes-extended/tempest/tempest_git.bb | |||
@@ -0,0 +1,93 @@ | |||
1 | DESCRIPTION = "The OpenStack Integration Test Suite" | ||
2 | HOMEPAGE = "https://launchpad.net/tempest" | ||
3 | SECTION = "devel/python" | ||
4 | LICENSE = "Apache-2.0" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" | ||
6 | |||
7 | PR = "r0" | ||
8 | SRCNAME = "tempest" | ||
9 | |||
10 | SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/havana \ | ||
11 | file://tempest.conf \ | ||
12 | file://logging.conf \ | ||
13 | " | ||
14 | |||
15 | SRCREV="6273339e2da725b01560b6a2db11a3bf7a6659d7" | ||
16 | PV="2013.2+git${SRCPV}" | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | do_install_append() { | ||
20 | TEMPLATE_CONF_DIR=${S}${sysconfdir}/ | ||
21 | TEMPEST_CONF_DIR=${D}${sysconfdir}/${SRCNAME} | ||
22 | |||
23 | sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${WORKDIR}/tempest.conf | ||
24 | sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${WORKDIR}/tempest.conf | ||
25 | sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${WORKDIR}/tempest.conf | ||
26 | |||
27 | sed -e "s:%DB_USER%:${DB_USER}:g" -i ${WORKDIR}/tempest.conf | ||
28 | sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${WORKDIR}/tempest.conf | ||
29 | |||
30 | sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/tempest.conf | ||
31 | sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/tempest.conf | ||
32 | |||
33 | sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${WORKDIR}/tempest.conf | ||
34 | sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${WORKDIR}/tempest.conf | ||
35 | |||
36 | sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/tempest.conf | ||
37 | sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${WORKDIR}/tempest.conf | ||
38 | |||
39 | install -d ${TEMPEST_CONF_DIR} | ||
40 | install -m 600 ${WORKDIR}/tempest.conf ${TEMPEST_CONF_DIR} | ||
41 | install -m 600 ${WORKDIR}/logging.conf ${TEMPEST_CONF_DIR} | ||
42 | install -m 600 ${TEMPLATE_CONF_DIR}/*.yaml ${TEMPEST_CONF_DIR} | ||
43 | } | ||
44 | |||
45 | pkg_postinst_${SRCNAME}() { | ||
46 | if [ "x$D" != "x" ]; then | ||
47 | exit 1 | ||
48 | fi | ||
49 | |||
50 | # This is to make sure postgres is configured and running | ||
51 | if ! pidof postmaster > /dev/null; then | ||
52 | /etc/init.d/postgresql-init | ||
53 | /etc/init.d/postgresql start | ||
54 | sleep 5 | ||
55 | fi | ||
56 | } | ||
57 | |||
58 | inherit setuptools identity hosts | ||
59 | |||
60 | # PACKAGES += "${SRCNAME}-common ${SRCNAME}-api ${SRCNAME}-api-cfn ${SRCNAME}-engine" | ||
61 | |||
62 | FILES_${PN} = "${libdir}/* \ | ||
63 | ${sysconfdir}/* \ | ||
64 | " | ||
65 | |||
66 | RDEPENDS_${PN} += " \ | ||
67 | python-testrepository \ | ||
68 | python-fixtures \ | ||
69 | python-keyring \ | ||
70 | python-glanceclient \ | ||
71 | python-keystoneclient \ | ||
72 | python-swiftclient \ | ||
73 | python-novaclient \ | ||
74 | python-cinderclient \ | ||
75 | python-heatclient \ | ||
76 | python-pbr \ | ||
77 | python-anyjson \ | ||
78 | python-nose \ | ||
79 | python-httplib2 \ | ||
80 | python-jsonschema \ | ||
81 | python-testtools \ | ||
82 | python-lxml \ | ||
83 | python-boto \ | ||
84 | python-paramiko \ | ||
85 | python-netaddr \ | ||
86 | python-testresources \ | ||
87 | python-oslo.config \ | ||
88 | python-eventlet \ | ||
89 | python-six \ | ||
90 | python-iso8601 \ | ||
91 | python-mimeparse \ | ||
92 | " | ||
93 | |||