From 83c19702c23c575e4b4238af7e756df3d3c3c76f Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Mon, 17 Jul 2023 17:20:28 +0900 Subject: [PATCH] Validate ensure parameter using the typed parameters ... instead of validating the value as part of manifest logics. Change-Id: Id46cf10ca4321d2f757e5a1171c1e2900ccbc2e2 --- manifests/mon.pp | 6 ++---- manifests/osd.pp | 6 ++---- manifests/pool.pp | 8 ++------ spec/defines/ceph_mon_spec.rb | 2 +- spec/defines/ceph_osd_spec.rb | 2 +- 5 files changed, 8 insertions(+), 16 deletions(-) diff --git a/manifests/mon.pp b/manifests/mon.pp index d8f1fcfe..79956730 100644 --- a/manifests/mon.pp +++ b/manifests/mon.pp @@ -58,7 +58,7 @@ # Optional. Defaults to $ceph::params::exec_timeout # define ceph::mon ( - $ensure = present, + Enum['present', 'absent'] $ensure = present, $mon_enable = true, $public_addr = undef, $cluster = undef, @@ -204,7 +204,7 @@ test ! -e ${keyring_path} } } - } elsif $ensure == absent { + } else { service { $mon_service: ensure => stopped, enable => $mon_enable, @@ -228,7 +228,5 @@ test ! -d \$mon_data -> ceph_config { "mon.${id}/public_addr": ensure => absent; } -> Package<| tag == 'ceph' |> - } else { - fail('Ensure on MON must be either present or absent') } } diff --git a/manifests/osd.pp b/manifests/osd.pp index b5ab063b..f21609b6 100644 --- a/manifests/osd.pp +++ b/manifests/osd.pp @@ -67,7 +67,7 @@ # Optional. Defaults to '/etc/ceph/dmcrypt-keys'. # define ceph::osd ( - $ensure = present, + Enum['present', 'absent'] $ensure = present, $journal = undef, $cluster = undef, $bluestore_wal = undef, @@ -235,7 +235,7 @@ ps -fCceph-osd|grep \"\\--id \$id \" tag => 'activate', } - } elsif $ensure == absent { + } else { # ceph-disk: support osd removal http://tracker.ceph.com/issues/7454 exec { "remove-osd-${name}": @@ -268,7 +268,5 @@ fi logoutput => true, timeout => $exec_timeout, } -> Ceph::Mon<| ensure == absent |> - } else { - fail('Ensure on OSD must be either present or absent') } } diff --git a/manifests/pool.pp b/manifests/pool.pp index 7da8c936..c498f0c1 100644 --- a/manifests/pool.pp +++ b/manifests/pool.pp @@ -51,7 +51,7 @@ # Optional. Defaults to $ceph::params::exec_timeout # define ceph::pool ( - $ensure = present, + Enum['present', 'absent'] $ensure = present, $pg_num = 64, $pgp_num = undef, $size = undef, @@ -125,7 +125,7 @@ ceph osd pool application get ${name} ${tag}", } } - } elsif $ensure == absent { + } else { exec { "delete-${name}": command => "/bin/true # comment to satisfy puppet syntax requirements @@ -137,10 +137,6 @@ ceph osd pool ls | grep -w '${name}'", timeout => $exec_timeout, } -> Ceph::Mon<| ensure == absent |> - } else { - - fail("*ensure* must be either present or absent - was '${ensure}'") - } } diff --git a/spec/defines/ceph_mon_spec.rb b/spec/defines/ceph_mon_spec.rb index f316ceb0..50c2cb0a 100644 --- a/spec/defines/ceph_mon_spec.rb +++ b/spec/defines/ceph_mon_spec.rb @@ -259,7 +259,7 @@ test ! -d \$mon_data } end - it { should raise_error(Puppet::Error, /Ensure on MON must be either present or absent/) } + it { should raise_error(Puppet::PreformattedError) } end end diff --git a/spec/defines/ceph_osd_spec.rb b/spec/defines/ceph_osd_spec.rb index 8d02df7d..2fa8dd8b 100644 --- a/spec/defines/ceph_osd_spec.rb +++ b/spec/defines/ceph_osd_spec.rb @@ -511,7 +511,7 @@ fi } end - it { should raise_error(Puppet::Error, /Ensure on OSD must be either present or absent/) } + it { should raise_error(Puppet::PreformattedError) } end end