diff options
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 | |||
