From: Takashi Kajinami <tkajinam@redhat.com>
Date: Tue, 28 Feb 2023 02:03:08 +0000 (+0900)
Subject: Add strict validation about boolean parameters
X-Git-Tag: 22.0.0~1
X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=fc69abdfd29ad71530f5dc9a3635f3ab91e0e21f;p=puppet-modules%2Fpuppet-ceilometer.git

Add strict validation about boolean parameters

This ensures the parameters used by if-else logic accept only boolean
values because non-boolean can result in unexpected behavior.

Change-Id: Iaf3c11b61dc738d267282a6bc1d445a554695178
---

diff --git a/manifests/agent/notification.pp b/manifests/agent/notification.pp
index ad98e8a..7189062 100644
--- a/manifests/agent/notification.pp
+++ b/manifests/agent/notification.pp
@@ -114,6 +114,12 @@ class ceilometer::agent::notification (
   include ceilometer::deps
   include ceilometer::params
 
+  validate_legacy(Boolean, 'validate_bool', $manage_service)
+  validate_legacy(Boolean, 'validate_bool', $enabled)
+  validate_legacy(Boolean, 'validate_bool', $manage_event_pipeline)
+  validate_legacy(Boolean, 'validate_bool', $manage_pipeline)
+
+
   package { 'ceilometer-notification':
     ensure => $package_ensure,
     name   => $::ceilometer::params::agent_notification_package_name,
diff --git a/manifests/agent/polling.pp b/manifests/agent/polling.pp
index a89cbf2..e7b7010 100644
--- a/manifests/agent/polling.pp
+++ b/manifests/agent/polling.pp
@@ -104,6 +104,15 @@ class ceilometer::agent::polling (
   include ceilometer::deps
   include ceilometer::params
 
+  validate_legacy(Boolean, 'validate_bool', $manage_service)
+  validate_legacy(Boolean, 'validate_bool', $enabled)
+  validate_legacy(Boolean, 'validate_bool', $separate_services)
+  validate_legacy(Boolean, 'validate_bool', $manage_user)
+  validate_legacy(Boolean, 'validate_bool', $central_namespace)
+  validate_legacy(Boolean, 'validate_bool', $compute_namespace)
+  validate_legacy(Boolean, 'validate_bool', $ipmi_namespace)
+  validate_legacy(Boolean, 'validate_bool', $manage_polling)
+
   if $central_namespace {
     $central_namespace_name = 'central'
     ceilometer_config {