replace validate_legacy with proper data types

the validate_legacy function is marked for deprecation in
v9.0.0 from puppetlabs-stdlib.

This also adds validations about some boolean parameters.

Change-Id: Icc48a21778809dd84447b9b797503143d5ca88bf
This commit is contained in:
Takashi Kajinami 2023-06-21 10:22:31 +09:00
parent 9aff8372ae
commit cf3c3f6dbe
7 changed files with 27 additions and 28 deletions

View File

@ -24,15 +24,12 @@
# or Puppet catalog compilation will fail with duplicate resources.
#
class sahara::config (
$sahara_config = {},
$sahara_api_paste_ini = {},
Hash $sahara_config = {},
Hash $sahara_api_paste_ini = {},
) {
include sahara::deps
validate_legacy(Hash, 'validate_hash', $sahara_config)
validate_legacy(Hash, 'validate_hash', $sahara_api_paste_ini)
create_resources('sahara_config', $sahara_config)
create_resources('sahara_api_paste_ini', $sahara_api_paste_ini)
}

View File

@ -33,7 +33,7 @@
# Defaults to 'utf8_general_ci'.
#
class sahara::db::mysql(
$password,
String[1] $password,
$dbname = 'sahara',
$user = 'sahara',
$host = '127.0.0.1',
@ -44,8 +44,6 @@ class sahara::db::mysql(
include sahara::deps
validate_legacy(String, 'validate_string', $password)
::openstacklib::db::mysql{ 'sahara':
user => $user,
password => $password,

View File

@ -39,7 +39,7 @@
#
# [*use_ssl*]
# (optional) Enable SSL on the API server
# Defaults to $facts['os_service_default'], not set.
# Defaults to false
#
# [*cert_file*]
# (optinal) Certificate file to use when starting API server securely
@ -222,11 +222,11 @@ class sahara(
$node_domain = $facts['os_service_default'],
$use_designate = $facts['os_service_default'],
$nameservers = $facts['os_service_default'],
$use_ssl = $facts['os_service_default'],
Boolean $use_ssl = false,
$ca_file = $facts['os_service_default'],
$cert_file = $facts['os_service_default'],
$key_file = $facts['os_service_default'],
$sync_db = true,
Boolean $sync_db = true,
$default_transport_url = $facts['os_service_default'],
$rpc_response_timeout = $facts['os_service_default'],
$control_exchange = $facts['os_service_default'],
@ -329,7 +329,7 @@ class sahara(
password => $amqp_password,
}
if ! is_service_default($use_ssl) and $use_ssl {
if $use_ssl {
if is_service_default($cert_file) {
fail('The cert_file parameter is required when use_ssl is set to true')
}
@ -337,9 +337,15 @@ class sahara(
fail('The key_file parameter is required when use_ssl is set to true')
}
sahara_config {
'ssl/cert_file' : value => $cert_file;
'ssl/key_file' : value => $key_file;
'ssl/ca_file' : value => $ca_file;
'ssl/cert_file': value => $cert_file;
'ssl/key_file': value => $key_file;
'ssl/ca_file': value => $ca_file;
}
} else {
sahara_config {
'ssl/cert_file': ensure => absent;
'ssl/key_file': ensure => absent;
'ssl/ca_file': ensure => absent;
}
}

View File

@ -48,7 +48,7 @@
class sahara::policy (
$enforce_scope = $facts['os_service_default'],
$enforce_new_defaults = $facts['os_service_default'],
$policies = {},
Hash $policies = {},
$policy_path = '/etc/sahara/policy.yaml',
$policy_default_rule = $facts['os_service_default'],
$policy_dirs = $facts['os_service_default'],
@ -58,8 +58,6 @@ class sahara::policy (
include sahara::deps
include sahara::params
validate_legacy(Hash, 'validate_hash', $policies)
$policy_parameters = {
policies => $policies,
policy_path => $policy_path,

View File

@ -31,11 +31,11 @@
# Defaults to '$::sahara::params::api_service_name'
#
class sahara::service::api (
$api_workers = $facts['os_workers'],
$enabled = true,
$manage_service = true,
$package_ensure = 'present',
$service_name = $::sahara::params::api_service_name,
$api_workers = $facts['os_workers'],
Boolean $enabled = true,
Boolean $manage_service = true,
$package_ensure = 'present',
$service_name = $::sahara::params::api_service_name,
) inherits sahara::params {
include sahara::deps

View File

@ -56,8 +56,8 @@
# Defaults to $facts['os_service_default']
#
class sahara::service::engine (
$enabled = true,
$manage_service = true,
Boolean $enabled = true,
Boolean $manage_service = true,
$package_ensure = 'present',
$periodic_enable = $facts['os_service_default'],
$periodic_fuzzy_delay = $facts['os_service_default'],

View File

@ -180,9 +180,9 @@ describe 'sahara' do
shared_examples 'sahara ssl' do
context 'without ssl' do
it { is_expected.to_not contain_sahara_config('ssl/ca_file') }
it { is_expected.to_not contain_sahara_config('ssl/cert_file') }
it { is_expected.to_not contain_sahara_config('ssl/key_file') }
it { is_expected.to contain_sahara_config('ssl/ca_file').with_ensure('absent') }
it { is_expected.to contain_sahara_config('ssl/cert_file').with_ensure('absent') }
it { is_expected.to contain_sahara_config('ssl/key_file').with_ensure('absent') }
end
context 'with ssl' do