Emilien Macchi e911825444 scenario002: deploy & test Zaqar
puppet-zaqar is freshly new and we want to test it.

* configure mongodb replicaset (required for zaqar): 'openstack'.
* deploy zaqar on scenario002 with mongodb backend.
* configure tempest to test zaqar.
* run TestManageQueue tempest tests in tempest.

Note about TestManageQueue:
Zaqar does not maintain Tempest tests, and run their own functional
testing tools. api.messaging.test_queues tests are known to work, so
they will be the only tests run in our CI to validate Zaqar is working.

Note:
* SSL does not work out of the box, we need to add support for WSGI
  deployment with Apache, but Zaqa  does not provide WSGI app, it's in
  their roadmap.
* IPv6 binding on default wsgi does not work, so using IPv4 now.

Change-Id: I1aa563f37aa7a231b2218f79b72c73c668d968f3
2016-04-10 18:24:43 +00:00

124 lines
3.7 KiB
Puppet

# Configure the Tempest service
#
# [*aodh*]
# (optional) Define if Aodh needs to be tested.
# Default to false.
#
# [*ceilometer*]
# (optional) Define if Ceilometer needs to be tested.
# Default to false.
#
# [*cinder*]
# (optional) Define if Cinder needs to be tested.
# Default to false.
#
# [*glance*]
# (optional) Define if Glance needs to be tested.
# Default to true.
#
# [*heat*]
# (optional) Define if Heat needs to be tested.
# Default to false.
#
# [*horizon*]
# (optional) Define if Horizon needs to be tested.
# Default to false.
#
# [*ironic*]
# (optional) Define if Ironic needs to be tested.
# Default to false.
#
# [*neutron*]
# (optional) Define if Neutron needs to be tested.
# Default to true.
#
# [*nova*]
# (optional) Define if Nova needs to be tested.
# Default to true.
#
# [*sahara*]
# (optional) Define if Sahara needs to be tested.
# Default to false.
#
# [*swift*]
# (optional) Define if Swift needs to be tested.
# Default to false.
#
# [*trove*]
# (optional) Define if Trove needs to be tested.
# Default to false.
#
# [*zaqar*]
# (optional) Define if Zaqar needs to be tested.
# Default to false.
#
class openstack_integration::tempest (
$aodh = false,
$ceilometer = false,
$cinder = false,
$glance = true,
$heat = false,
$horizon = false,
$ironic = false,
$neutron = true,
$nova = true,
$sahara = false,
$swift = false,
$trove = false,
$zaqar = false,
) {
include ::openstack_integration::config
include ::openstack_integration::params
class { '::tempest':
debug => true,
use_stderr => false,
log_file => 'tempest.log',
tempest_clone_owner => $::id,
git_clone => false,
tempest_clone_path => '/tmp/openstack/tempest',
lock_path => '/tmp/openstack/tempest',
tempest_config_file => '/tmp/openstack/tempest/etc/tempest.conf',
configure_images => true,
configure_networks => true,
identity_uri => "${::openstack_integration::config::keystone_auth_uri}/v2.0",
identity_uri_v3 => "${::openstack_integration::config::keystone_auth_uri}/v3",
admin_username => 'admin',
admin_tenant_name => 'openstack',
admin_password => 'a_big_secret',
admin_domain_name => 'Default',
auth_version => 'v3',
image_name => 'cirros',
image_name_alt => 'cirros_alt',
cinder_available => $cinder,
glance_available => $glance,
horizon_available => $horizon,
nova_available => $nova,
neutron_available => $neutron,
ceilometer_available => $ceilometer,
aodh_available => $aodh,
trove_available => $trove,
sahara_available => $sahara,
heat_available => $heat,
swift_available => $swift,
ironic_available => $ironic,
zaqar_available => $zaqar,
public_network_name => 'public',
dashboard_url => $::openstack_integration::config::base_url,
flavor_ref => '42',
flavor_ref_alt => '84',
image_ssh_user => 'cirros',
image_alt_ssh_user => 'cirros',
img_file => 'cirros-0.3.4-x86_64-disk.img',
compute_build_interval => 10,
ca_certificates_file => $::openstack_integration::params::ca_bundle_cert_path,
manage_tests_packages => true,
# TODO(emilien) optimization by 1/ using Hiera to configure Glance image source
# and 2/ if running in the gate, use /home/jenkins/cache/files/ cirros image.
# img_dir => '/home/jenkins/cache/files',
img_dir => '/tmp/openstack/tempest',
}
}