Takashi Kajinami fe029254fd Ubuntu: Switch to Focal and Victoria
We already have OpenStack Victoria releae available in cloud archive
so let's switch our master tests to that latest version.
Since Victoria release is only available in Focal this change also
switch base Ubuntu version from Bionic to Focal.

Change-Id: Ie78b6ef1c3f09fbbc3bc584ac99d2a0acfc5d9d9
2021-03-22 14:10:16 +09: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 { ['python3-ddt', 'python3-oslotest', 'python3-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.5.1-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',
}
}
}