Browse Source

Add class to manage slapd service

DarkMorford 6 năm trước cách đây
mục cha
commit
a5d67d0dad
3 tập tin đã thay đổi với 40 bổ sung0 xóa
  1. 5 0
      manifests/server.pp
  2. 18 0
      manifests/server/service.pp
  3. 17 0
      spec/classes/server/service_spec.rb

+ 5 - 0
manifests/server.pp

@@ -8,6 +8,7 @@ class openldap::server (
   String                $owner,
   String                $group,
   String                $server_package,
+  String                $server_service,
   Enum['olc', 'augeas'] $provider,
   Array[String]         $ldap_ifs,
   Array[String]         $ldaps_ifs,
@@ -16,13 +17,17 @@ class openldap::server (
 {
   class { 'openldap::server::install': }
   -> class { 'openldap::server::config': }
+  ~> class { 'openldap::server::service': }
 
   case $provider {
     'augeas': {
       Class['openldap::server::install']
+      ~> Class['openldap::server::service']
       -> Class['openldap::server']
     }
     'olc': {
+      Class['openldap::server::service']
+      -> Class['openldap::server']
     }
     default: {
       fail "Invalid config provider ${provider}"

+ 18 - 0
manifests/server/service.pp

@@ -0,0 +1,18 @@
+# A description of what this class does
+#
+# @summary A short summary of the purpose of this class
+#
+# @example
+#   include openldap::server::service
+class openldap::server::service {
+  # Ensure the main server class has been defined
+  if !defined(Class['openldap::server']) {
+    fail 'Class openldap::server not defined'
+  }
+
+  service { $openldap::server::server_service:
+    ensure    => running,
+    enable    => true,
+    hasstatus => true,
+  }
+}

+ 17 - 0
spec/classes/server/service_spec.rb

@@ -0,0 +1,17 @@
+require 'spec_helper'
+
+describe 'openldap::server::service' do
+  on_supported_os.each do |os, os_facts|
+    context "on #{os}" do
+      let(:facts) { os_facts }
+      let(:pre_condition) { "class {'openldap::server':}" }
+
+      it { is_expected.to compile.with_all_deps }
+
+      case os_facts[:osfamily]
+      when 'Debian'
+        it { is_expected.to contain_service('slapd') }
+      end
+    end
+  end
+end