Validate some parameter types

This introduces type validations to the parameter which accepts only
specific type/format, like;
 - boolean
 - a string used for resource name
 - absolute path used to create a file/directory

Change-Id: I977f9679879d1ae8b52214cd3a143f0ca523c547
This commit is contained in:
Takashi Kajinami 2023-07-05 12:04:47 +09:00
parent 0700e5af17
commit ee78e9d6e7
3 changed files with 155 additions and 155 deletions

View File

@ -294,30 +294,30 @@
#
class tempest(
$package_ensure = 'present',
$tempest_workspace = '/var/lib/tempest',
$install_from_source = true,
$git_clone = true,
$tempest_config_file = '/var/lib/tempest/etc/tempest.conf',
Stdlib::Absolutepath $tempest_workspace = '/var/lib/tempest',
Boolean $install_from_source = true,
Boolean $git_clone = true,
Stdlib::Absolutepath $tempest_config_file = '/var/lib/tempest/etc/tempest.conf',
# Clone config
#
$tempest_repo_uri = 'https://opendev.org/openstack/tempest',
$tempest_repo_revision = undef,
$tempest_clone_path = '/var/lib/tempest',
Stdlib::Absolutepath $tempest_clone_path = '/var/lib/tempest',
$tempest_clone_owner = 'root',
$setup_venv = false,
Boolean $setup_venv = false,
# Glance image config
#
$configure_images = true,
$image_name = undef,
$image_name_alt = undef,
Boolean $configure_images = true,
Optional[String[1]] $image_name = undef,
Optional[String[1]] $image_name_alt = undef,
# Neutron network config
#
$configure_networks = true,
$public_network_name = undef,
Boolean $configure_networks = true,
Optional[String[1]] $public_network_name = undef,
$neutron_api_extensions = $facts['os_service_default'],
# Horizon dashboard config
@ -369,8 +369,8 @@ class tempest(
$image_alt_ssh_user = undef,
$flavor_ref = undef,
$flavor_ref_alt = undef,
$flavor_name = undef,
$flavor_name_alt = undef,
Optional[String[1]] $flavor_name = undef,
Optional[String[1]] $flavor_name_alt = undef,
$compute_build_interval = undef,
$run_ssh = false,
$ssh_key_type = $facts['os_service_default'],
@ -385,37 +385,37 @@ class tempest(
$sahara_plugins = undef,
# Trove config
$db_flavor_ref = undef,
$db_flavor_name = undef,
Optional[String[1]] $db_flavor_name = undef,
# Service configuration
$cinder_available = true,
$cinder_backup_available = false,
$glance_available = true,
$heat_available = false,
$ceilometer_available = false,
$aodh_available = false,
$gnocchi_available = false,
$designate_available = false,
$horizon_available = true,
$neutron_available = false,
$neutron_bgpvpn_available = false,
$neutron_l2gw_available = false,
$neutron_vpnaas_available = false,
$neutron_dr_available = false,
$nova_available = true,
$murano_available = false,
$sahara_available = false,
$swift_available = false,
$trove_available = false,
$ironic_available = false,
$ironic_inspector_available = false,
$watcher_available = false,
$zaqar_available = false,
$ec2api_available = false,
$mistral_available = false,
$vitrage_available = false,
$octavia_available = false,
$barbican_available = false,
$manila_available = false,
Boolean $cinder_available = true,
Boolean $cinder_backup_available = false,
Boolean $glance_available = true,
Boolean $heat_available = false,
Boolean $ceilometer_available = false,
Boolean $aodh_available = false,
Boolean $gnocchi_available = false,
Boolean $designate_available = false,
Boolean $horizon_available = true,
Boolean $neutron_available = false,
Boolean $neutron_bgpvpn_available = false,
Boolean $neutron_l2gw_available = false,
Boolean $neutron_vpnaas_available = false,
Boolean $neutron_dr_available = false,
Boolean $nova_available = true,
Boolean $murano_available = false,
Boolean $sahara_available = false,
Boolean $swift_available = false,
Boolean $trove_available = false,
Boolean $ironic_available = false,
Boolean $ironic_inspector_available = false,
Boolean $watcher_available = false,
Boolean $zaqar_available = false,
Boolean $ec2api_available = false,
Boolean $mistral_available = false,
Boolean $vitrage_available = false,
Boolean $octavia_available = false,
Boolean $barbican_available = false,
Boolean $manila_available = false,
$cinder_enforce_scope = $facts['os_service_default'],
$glance_enforce_scope = $facts['os_service_default'],
$keystone_enforce_scope = $facts['os_service_default'],
@ -432,23 +432,23 @@ class tempest(
$run_service_broker_tests = false,
$ca_certificates_file = undef,
$disable_ssl_validation = undef,
$manage_tests_packages = false,
Boolean $manage_tests_packages = false,
# scenario options
$img_file = '/var/lib/tempest/cirros-0.4.0-x86_64-disk.img',
$img_disk_format = $facts['os_service_default'],
# designate options
$designate_nameservers = $facts['os_service_default'],
# ec2api options
$ec2api_tester_roles = ['Member'],
Array[String[1]] $ec2api_tester_roles = ['Member'],
$aws_ec2_url = $facts['os_service_default'],
$aws_region = $facts['os_service_default'],
$aws_image_id = undef,
$aws_ebs_image_id = undef,
# heat options
$heat_image_ref = undef,
$heat_image_name = undef,
Optional[String[1]] $heat_image_name = undef,
$heat_flavor_ref = undef,
$heat_flavor_name = undef,
Optional[String[1]] $heat_flavor_name = undef,
# ironic options
$baremetal_driver = 'fake',
$baremetal_enabled_hardware_types = 'ipmi',

View File

@ -62,15 +62,15 @@
# Defaults to '8.8.8.8'
#
class tempest::magnum (
$tempest_config_file = '/var/lib/tempest/etc/tempest.conf',
$provision_image = true,
$image_source = 'https://fedorapeople.org/groups/magnum/fedora-atomic-latest.qcow2',
$image_name = 'fedora-atomic-latest',
$image_os_distro = 'fedora-atomic',
$provision_flavors = true,
$flavor_id = 's1.magnum',
$master_flavor_id = 'm1.magnum',
$provision_keypair = false,
Stdlib::Absolutepath $tempest_config_file = '/var/lib/tempest/etc/tempest.conf',
Boolean $provision_image = true,
String[1] $image_source = 'https://fedorapeople.org/groups/magnum/fedora-atomic-latest.qcow2',
String[1] $image_name = 'fedora-atomic-latest',
String[1] $image_os_distro = 'fedora-atomic',
Boolean $provision_flavors = true,
String[1] $flavor_id = 's1.magnum',
String[1] $master_flavor_id = 'm1.magnum',
Boolean $provision_keypair = false,
$keypair_id = 'default',
$nic_id = 'public',
$magnum_url = undef,

View File

@ -31,7 +31,7 @@ describe 'tempest::magnum' do
params.merge!({
:provision_image => false,
:image_name => 'coreos',
:provision_flavors => 'false',
:provision_flavors => false,
:flavor_id => 's1.tempest',
:master_flavor_id => 'm1.tempest',
:keypair_id => 'magnum',