puppet-openstack-integration/manifests/tempest.pp
Martin Kopec c3db20f7fd Deprecate scenario.img_dir option
The option is deprecated for more than 4 years already and it will
be removed soon, see the change in Tempest [1].

Starting Tempest 25.0.0 release, CONF.scenario.img_file need
a full path for the image. CONF.scenario.img_dir was deprecated
and will be removed in the next release. Till Tempest 25.0.0,
old behavior is maintained and keep working but starting
Tempest 26.0.0, you need to specify the full path in
CONF.scenario.img_file config option.

This patch does analogically the same change as was done in Tempest,
in order to give users of the plugin some time for removing img_dir.

[1] https://review.opendev.org/#/c/710996

Related-Bug: #1393881
Change-Id: I6f1377e5eb9e81c484795fc80341ca87d7b9ed04
2020-07-14 08:30:31 +00:00

283 lines
9.0 KiB
Puppet

# Configure the Tempest service
#
# [*aodh*]
# (optional) Define if Aodh needs to be tested.
# Default to false.
#
# [*bgpvpn*]
# (optional) Define if BGPVPN 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.
#
# [*l2gw*]
# (optional) Define if L2GW needs to be tested.
# Default to false.
#
# [*l2gw_switch*]
# (optional) Define a switch name for testing.
# Default to undef.
#
# [*dr*]
# (optional) Define if Neutron Dynamic routing needs to be tested.
# Default to false.
#
# [*magnum*]
# (optional) Define if Magmum 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,
$bgpvpn = false,
$ceilometer = false,
$cinder = false,
$cinder_backup = false,
$designate = false,
$ec2api = false,
$glance = true,
$gnocchi = false,
$panko = false,
$heat = false,
$horizon = false,
$ironic = false,
$l2gw = false,
$l2gw_switch = undef,
$dr = false,
$magnum = 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',
'dns-domain-ports',
'dns-integration',
'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',
'l2-gateway',
'l2-gateway-connection',
],
) {
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_bgpvpn_available => $bgpvpn,
neutron_l2gw_available => $l2gw,
neutron_dr_available => $dr,
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',
# 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_file => '/tmp/openstack/image/cirros-0.4.0-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,
l2gw_switch => $l2gw_switch,
disable_dashboard_ssl_validation => true,
baremetal_driver => 'fake-hardware',
baremetal_enabled_hardware_types => 'ipmi,fake-hardware',
ec2api_tester_roles => ['member'],
}
if $magnum {
class { 'tempest::magnum':
tempest_config_file => '/tmp/openstack/tempest/etc/tempest.conf',
}
}
}