Blob Blame History Raw
From 26fd14602be2687db9b7cb236d1014bbfefe9d16 Mon Sep 17 00:00:00 2001
From: Martin Magr <mmagr@redhat.com>
Date: Wed, 20 Aug 2014 15:57:55 +0200
Subject: [PATCH] Add manage_service feature

puppet-ceilometer lacks of disabling service managing. This patch adds
$manage_service parameter to all relevant classes.

Closes-bug: #1359823
Change-Id: Iee545b46ef5d7cf92859356ae84b8103564bf047

Conflicts:
	manifests/collector.pp
---
 manifests/agent/central.pp      | 13 ++++++++-----
 manifests/agent/compute.pp      | 13 ++++++++-----
 manifests/agent/notification.pp | 11 +++++++----
 manifests/alarm/evaluator.pp    | 13 ++++++++-----
 manifests/alarm/notifier.pp     | 11 +++++++----
 manifests/api.pp                | 11 +++++++----
 manifests/collector.pp          | 13 ++++++++-----
 7 files changed, 53 insertions(+), 32 deletions(-)

diff --git a/manifests/agent/central.pp b/manifests/agent/central.pp
index 0a07856..4f7aee2 100644
--- a/manifests/agent/central.pp
+++ b/manifests/agent/central.pp
@@ -5,7 +5,8 @@
 #    Should the service be enabled. Optional. Defauls to true
 #
 class ceilometer::agent::central (
-  $enabled          = true,
+  $manage_service = true,
+  $enabled        = true,
 ) {
 
   include ceilometer::params
@@ -18,10 +19,12 @@ class ceilometer::agent::central (
     name   => $::ceilometer::params::agent_central_package_name,
   }
 
-  if $enabled {
-    $service_ensure = 'running'
-  } else {
-    $service_ensure = 'stopped'
+  if $manage_service {
+    if $enabled {
+      $service_ensure = 'running'
+    } else {
+      $service_ensure = 'stopped'
+    }
   }
 
   Package['ceilometer-common'] -> Service['ceilometer-agent-central']
diff --git a/manifests/agent/compute.pp b/manifests/agent/compute.pp
index fde3705..df9cc8d 100644
--- a/manifests/agent/compute.pp
+++ b/manifests/agent/compute.pp
@@ -7,7 +7,8 @@
 #    Optional. Defaults to true
 #
 class ceilometer::agent::compute (
-  $enabled          = true,
+  $manage_service = true,
+  $enabled        = true,
 ) inherits ceilometer {
 
   include ceilometer::params
@@ -30,10 +31,12 @@ class ceilometer::agent::compute (
     }
   }
 
-  if $enabled {
-    $service_ensure = 'running'
-  } else {
-    $service_ensure = 'stopped'
+  if $manage_service {
+    if $enabled {
+      $service_ensure = 'running'
+    } else {
+      $service_ensure = 'stopped'
+    }
   }
 
   Package['ceilometer-common'] -> Service['ceilometer-agent-compute']
diff --git a/manifests/agent/notification.pp b/manifests/agent/notification.pp
index 2999362..fe1765d 100644
--- a/manifests/agent/notification.pp
+++ b/manifests/agent/notification.pp
@@ -38,6 +38,7 @@
 #
 
 class ceilometer::agent::notification (
+  $manage_service     = true,
   $enabled            = true,
   $ack_on_event_error = true,
   $store_events       = false
@@ -50,10 +51,12 @@ class ceilometer::agent::notification (
   Package[$::ceilometer::params::agent_notification_package_name] -> Service['ceilometer-agent-notification']
   ensure_packages([$::ceilometer::params::agent_notification_package_name])
 
-  if $enabled {
-    $service_ensure = 'running'
-  } else {
-    $service_ensure = 'stopped'
+  if $manage_service {
+    if $enabled {
+      $service_ensure = 'running'
+    } else {
+      $service_ensure = 'stopped'
+    }
   }
 
   Package['ceilometer-common'] -> Service['ceilometer-agent-notification']
diff --git a/manifests/alarm/evaluator.pp b/manifests/alarm/evaluator.pp
index 2621534..7b2366e 100644
--- a/manifests/alarm/evaluator.pp
+++ b/manifests/alarm/evaluator.pp
@@ -13,7 +13,8 @@
 #    Record alarm change events
 #
 class ceilometer::alarm::evaluator (
-  $enabled = true,
+  $manage_service      = true,
+  $enabled             = true,
   $evaluation_interval = 60,
   $evaluation_service  = 'ceilometer.alarm.service.SingletonAlarmService',
   $partition_rpc_topic = 'alarm_partition_coordination',
@@ -30,10 +31,12 @@ class ceilometer::alarm::evaluator (
   Package[$::ceilometer::params::alarm_package_name] -> Package<| title == 'ceilometer-alarm' |>
   ensure_packages($::ceilometer::params::alarm_package_name)
 
-  if $enabled {
-    $service_ensure = 'running'
-  } else {
-    $service_ensure = 'stopped'
+  if $manage_service {
+    if $enabled {
+      $service_ensure = 'running'
+    } else {
+      $service_ensure = 'stopped'
+    }
   }
 
   Package['ceilometer-common'] -> Service['ceilometer-alarm-evaluator']
diff --git a/manifests/alarm/notifier.pp b/manifests/alarm/notifier.pp
index 1b09baa..29d9d2b 100644
--- a/manifests/alarm/notifier.pp
+++ b/manifests/alarm/notifier.pp
@@ -14,6 +14,7 @@
 #    should the ssl verify parameter be enabled
 #
 class ceilometer::alarm::notifier (
+  $manage_service                 = true,
   $enabled                        = true,
   $notifier_rpc_topic             = undef,
   $rest_notifier_certificate_key  = undef,
@@ -31,10 +32,12 @@ class ceilometer::alarm::notifier (
   Package[$::ceilometer::params::alarm_package_name] -> Package<| title == 'ceilometer-alarm' |>
   ensure_packages($::ceilometer::params::alarm_package_name)
 
-  if $enabled {
-    $service_ensure = 'running'
-  } else {
-    $service_ensure = 'stopped'
+  if $manage_service {
+    if $enabled {
+      $service_ensure = 'running'
+    } else {
+      $service_ensure = 'stopped'
+    }
   }
 
   Package['ceilometer-common'] -> Service['ceilometer-alarm-notifier']
diff --git a/manifests/api.pp b/manifests/api.pp
index 92406a8..9182ba2 100644
--- a/manifests/api.pp
+++ b/manifests/api.pp
@@ -37,6 +37,7 @@
 #
 
 class ceilometer::api (
+  $manage_service             = true,
   $enabled                    = true,
   $keystone_host              = '127.0.0.1',
   $keystone_port              = '35357',
@@ -63,10 +64,12 @@ class ceilometer::api (
     name   => $::ceilometer::params::api_package_name,
   }
 
-  if $enabled {
-    $service_ensure = 'running'
-  } else {
-    $service_ensure = 'stopped'
+  if $manage_service {
+    if $enabled {
+      $service_ensure = 'running'
+    } else {
+      $service_ensure = 'stopped'
+    }
   }
 
   Package['ceilometer-common'] -> Service['ceilometer-api']
diff --git a/manifests/collector.pp b/manifests/collector.pp
index cc0661f..a489143 100644
--- a/manifests/collector.pp
+++ b/manifests/collector.pp
@@ -5,7 +5,8 @@
 #    should the service be enabled
 #
 class ceilometer::collector (
-  $enabled = true,
+  $manage_service = true,
+  $enabled        = true,
 ) {
 
   include ceilometer::params
@@ -15,10 +16,12 @@ class ceilometer::collector (
   Package[$::ceilometer::params::collector_package_name] -> Service['ceilometer-collector']
   ensure_packages([$::ceilometer::params::collector_package_name])
 
-  if $enabled {
-    $service_ensure = 'running'
-  } else {
-    $service_ensure = 'stopped'
+  if $manage_service {
+    if $enabled {
+      $service_ensure = 'running'
+    } else {
+      $service_ensure = 'stopped'
+    }
   }
 
   Package['ceilometer-common'] -> Service['ceilometer-collector']
-- 
1.9.3