From 6e14a376e360c0e6109835e4d389b88495c34901 Mon Sep 17 00:00:00 2001 From: Gardouille Date: Fri, 20 Feb 2015 13:53:36 +0100 Subject: [PATCH] Add a new subclass (xymon::server::service) to manage the xymon server's service. --- manifests/params.pp | 4 ++++ manifests/server.pp | 9 ++++++--- manifests/server/service.pp | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 manifests/server/service.pp diff --git a/manifests/params.pp b/manifests/params.pp index ba8dfef..95bcd3c 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -46,6 +46,10 @@ class xymon::params { $srv_package_name = undef $srv_pkg_ensure = 'present' $srv_pkg_provider = 'dpkg' + # Service + $srv_service_enabled = true + $srv_service_managed = true + $srv_service_name = 'xymon' # If the server subclass should manage the client one $manage_client = true diff --git a/manifests/server.pp b/manifests/server.pp index 2f6e0c5..356b556 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -30,16 +30,19 @@ class xymon::server ( $pkg_ensure = $xymon::params::srv_pkg_ensure, $pkg_provider = $xymon::params::srv_pkg_provider, $manage_client = $xymon::params::manage_client, + $service_enabled = $xymon::params::srv_service_enabled, + $service_managed = $xymon::params::srv_service_managed, + $service_name = $xymon::params::srv_service_name, ) inherits xymon::params { include '::xymon::server::preconfig' include '::xymon::server::install' #include '::xymon::server::config' - #include '::xymon::server::service' + include '::xymon::server::service' Class['::xymon::server::preconfig'] -> - Class['::xymon::server::install'] + Class['::xymon::server::install'] -> #Class['::xymon::server::config'] -> - #Class['::xymon::server::service'] + Class['::xymon::server::service'] } # Public class: xymon::server diff --git a/manifests/server/service.pp b/manifests/server/service.pp new file mode 100644 index 0000000..f580295 --- /dev/null +++ b/manifests/server/service.pp @@ -0,0 +1,19 @@ +# Private class: xymon::server::service +class xymon::server::service { + + if $xymon::server::service_enabled == true { + $service_ensure = running + } else { + $service_ensure = stopped + } + + if $xymon::server::service_managed == true { + service { $xymon::server::service_name: + ensure => $service_ensure, + enable => $xymon::server::service_enabled, + hasstatus => true, + hasrestart => true, + } + } + +} # Private class: xymon::server::service