
If we don't, the default 'all' is used, which means tempest executes all tests irrespective of whether the setup supports all those extensions, or not. For example, trunk service plugin is not enabled by the repo; neither port_security ml2 extension driver is. If a test that requires any of those features land in tempest repo, the gate will immediately break. Actually, tempest already has some tests for port_security, but they are not executed at the moment by the virtue of a special port_security config option that is False by default. That may change in the future [1]. It's good practice to explicitly configure the list of extensions that are known to work for the setup in question. [1] I471575bdc106e1a6d1ecdb313dbe77b4102d8f15 Change-Id: I323ff03c5798a41de4870ed99e71ed5a9456a6af Depends-On: I31105600dfd5632ec4341b35ca3e8a13af3bb945
245 lines
7.4 KiB
Puppet
245 lines
7.4 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.
|
|
#
|
|
# [*cinder_backup*]
|
|
# (optional) Define if Cinder Backup needs to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*designate*]
|
|
# (optional) Define if Designate needs to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*ec2api*]
|
|
# (optional) Define if EC2-API needs to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*glance*]
|
|
# (optional) Define if Glance needs to be tested.
|
|
# Default to true.
|
|
#
|
|
# [*gnocchi*]
|
|
# (optional) Define if Gnocchi needs to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*panko*]
|
|
# (optional) Define if Panko needs to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*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.
|
|
#
|
|
# [*mistral*]
|
|
# (optional) Define if Mistral 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.
|
|
#
|
|
# [*murano*]
|
|
# (optional) Define if Murano 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.
|
|
#
|
|
# [*vitrage*]
|
|
# (optional) Define if Vitrage needs to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*watcher*]
|
|
# (optional) Define if Watcher needs to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*zaqar*]
|
|
# (optional) Define if Zaqar needs to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*attach_encrypted_volume*]
|
|
# (optional) Define if Encrypted Volumes need to be tested.
|
|
# Default to false.
|
|
#
|
|
# [*neutron_api_extensions*]
|
|
# (optional) Define list of neutron API extensions to test.
|
|
# The list is known to work with the repo; this reflects extensions enabled
|
|
# in neutron gate, for the most part (minus features not configured like
|
|
# trunk, dns-integration, qos, or port_security support)
|
|
class openstack_integration::tempest (
|
|
$aodh = false,
|
|
$ceilometer = false,
|
|
$cinder = false,
|
|
$cinder_backup = false,
|
|
$designate = false,
|
|
$ec2api = false,
|
|
$glance = true,
|
|
$gnocchi = false,
|
|
$panko = false,
|
|
$heat = false,
|
|
$horizon = false,
|
|
$ironic = false,
|
|
$mistral = false,
|
|
$murano = false,
|
|
$neutron = true,
|
|
$nova = true,
|
|
$sahara = false,
|
|
$swift = false,
|
|
$trove = false,
|
|
$watcher = false,
|
|
$vitrage = false,
|
|
$zaqar = false,
|
|
$attach_encrypted_volume = false,
|
|
$neutron_api_extensions = [
|
|
'address-scope',
|
|
'agent',
|
|
'allowed-address-pairs',
|
|
'auto-allocated-topology',
|
|
'availability_zone',
|
|
'binding',
|
|
'default-subnetpools',
|
|
'dhcp_agent_scheduler',
|
|
'dvr',
|
|
'ext-gw-mode,external-net',
|
|
'extra_dhcp_opt',
|
|
'extraroute',
|
|
'flavors',
|
|
'l3-flavors',
|
|
'l3-ha',
|
|
'l3_agent_scheduler',
|
|
'metering',
|
|
'multi-provider',
|
|
'net-mtu',
|
|
'network-ip-availability',
|
|
'network_availability_zone',
|
|
'pagination',
|
|
'project-id',
|
|
'provider',
|
|
'quotas',
|
|
'rbac-policies',
|
|
'router',
|
|
'router_availability_zone',
|
|
'security-group',
|
|
'service-type',
|
|
'sorting',
|
|
'standard-attr-description',
|
|
'standard-attr-revisions',
|
|
'standard-attr-timestamp',
|
|
'subnet_allocation',
|
|
'tag',
|
|
'tag-ext',
|
|
],
|
|
) {
|
|
|
|
include ::openstack_integration::config
|
|
include ::openstack_integration::params
|
|
|
|
# Install missed dependency for neutron tests
|
|
# https://github.com/openstack/neutron/blob/master/test-requirements.txt#L20
|
|
if ($::operatingsystem == 'Ubuntu') and (versioncmp($::operatingsystemmajrelease, '16') >= 0) {
|
|
package { ['python-ddt', 'python-oslotest', 'python-gabbi']:
|
|
ensure => present
|
|
}
|
|
}
|
|
|
|
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_v3 => "${::openstack_integration::config::keystone_auth_uri}/v3",
|
|
admin_username => 'admin',
|
|
admin_project_name => 'openstack',
|
|
admin_password => 'a_big_secret',
|
|
admin_domain_name => 'Default',
|
|
auth_version => 'v3',
|
|
tempest_roles => ['Member', 'creator'], # needed to use barbican.
|
|
image_name => 'cirros',
|
|
image_name_alt => 'cirros_alt',
|
|
cinder_available => $cinder,
|
|
cinder_backup_available => $cinder_backup,
|
|
designate_available => $designate,
|
|
glance_available => $glance,
|
|
glance_v1 => false,
|
|
glance_v2 => true,
|
|
keystone_v2 => false,
|
|
horizon_available => $horizon,
|
|
nova_available => $nova,
|
|
neutron_available => $neutron,
|
|
neutron_lbaas_available => true,
|
|
neutron_fwaas_available => true,
|
|
ceilometer_available => $ceilometer,
|
|
aodh_available => $aodh,
|
|
trove_available => $trove,
|
|
sahara_available => $sahara,
|
|
heat_available => $heat,
|
|
swift_available => $swift,
|
|
ironic_available => $ironic,
|
|
zaqar_available => $zaqar,
|
|
mistral_available => $mistral,
|
|
vitrage_available => $vitrage,
|
|
gnocchi_available => $gnocchi,
|
|
panko_available => $panko,
|
|
ec2api_available => $ec2api,
|
|
watcher_available => $watcher,
|
|
public_network_name => 'public',
|
|
neutron_api_extensions => join(any2array($neutron_api_extensions), ','),
|
|
dashboard_url => $::openstack_integration::config::base_url,
|
|
flavor_ref => '42',
|
|
flavor_ref_alt => '84',
|
|
db_flavor_ref => '42',
|
|
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,
|
|
attach_encrypted_volume => $attach_encrypted_volume,
|
|
murano_available => $murano,
|
|
tempest_workspace => '/tmp/openstack/tempest',
|
|
run_ssh => 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/image',
|
|
}
|
|
|
|
}
|