From cf3c3f6dbef23801810262027ad2c32342138173 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Wed, 21 Jun 2023 10:22:31 +0900 Subject: [PATCH] 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 --- manifests/config.pp | 7 ++----- manifests/db/mysql.pp | 4 +--- manifests/init.pp | 20 +++++++++++++------- manifests/policy.pp | 4 +--- manifests/service/api.pp | 10 +++++----- manifests/service/engine.pp | 4 ++-- spec/classes/sahara_init_spec.rb | 6 +++--- 7 files changed, 27 insertions(+), 28 deletions(-) diff --git a/manifests/config.pp b/manifests/config.pp index f3acaae3..ca9a40fe 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -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) } diff --git a/manifests/db/mysql.pp b/manifests/db/mysql.pp index b99a417d..44ae7cfe 100644 --- a/manifests/db/mysql.pp +++ b/manifests/db/mysql.pp @@ -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, diff --git a/manifests/init.pp b/manifests/init.pp index 8f624024..59b4a936 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -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; } } diff --git a/manifests/policy.pp b/manifests/policy.pp index 78752940..5e224ac8 100644 --- a/manifests/policy.pp +++ b/manifests/policy.pp @@ -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, diff --git a/manifests/service/api.pp b/manifests/service/api.pp index 197573a4..bcfdebf7 100644 --- a/manifests/service/api.pp +++ b/manifests/service/api.pp @@ -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 diff --git a/manifests/service/engine.pp b/manifests/service/engine.pp index 51fab567..db9054f4 100644 --- a/manifests/service/engine.pp +++ b/manifests/service/engine.pp @@ -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'], diff --git a/spec/classes/sahara_init_spec.rb b/spec/classes/sahara_init_spec.rb index a88b8b46..c3ab31a4 100644 --- a/spec/classes/sahara_init_spec.rb +++ b/spec/classes/sahara_init_spec.rb @@ -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