dev/provisioning/modules/elasticsearch/manifests/config.pp
changeset 406 cf0f23803a53
parent 28 b0b56e0f8c7f
--- a/dev/provisioning/modules/elasticsearch/manifests/config.pp	Tue Nov 08 18:23:01 2016 +0100
+++ b/dev/provisioning/modules/elasticsearch/manifests/config.pp	Wed Nov 09 15:05:41 2016 +0100
@@ -38,40 +38,42 @@
 
   if ( $elasticsearch::ensure == 'present' ) {
 
-    $notify_service = $elasticsearch::restart_on_change ? {
-      true  => Class['elasticsearch::service'],
-      false => undef,
-    }
-
-    file { $elasticsearch::configdir:
-      ensure => directory,
-      mode   => '0644',
-    }
-
-    file { $elasticsearch::params::logdir:
-      ensure  => 'directory',
-      group   => undef,
-      mode    => '0644',
-      recurse => true,
-    }
-
-    file { $elasticsearch::params::homedir:
-      ensure  => 'directory',
-    }
-
-    file { "${elasticsearch::params::homedir}/bin":
-      ensure  => 'directory',
-      recurse => true,
-      mode    => '0755',
-    }
-
-    file { $elasticsearch::datadir:
-      ensure  => 'directory',
-    }
-
-    file { "${elasticsearch::homedir}/lib":
-      ensure  => 'directory',
-      recurse => true,
+    file {
+      $elasticsearch::configdir:
+        ensure => 'directory',
+        mode   => '0644';
+      $elasticsearch::datadir:
+        ensure => 'directory';
+      $elasticsearch::logdir:
+        ensure  => 'directory',
+        group   => undef,
+        mode    => '0644',
+        recurse => true;
+      $elasticsearch::plugindir:
+        ensure => 'directory',
+        mode   => 'o+Xr';
+      "${elasticsearch::homedir}/lib":
+        ensure  => 'directory',
+        recurse => true;
+      $elasticsearch::params::homedir:
+        ensure => 'directory';
+      "${elasticsearch::params::homedir}/templates_import":
+        ensure => 'directory',
+        mode   => '0644';
+      "${elasticsearch::params::homedir}/scripts":
+        ensure => 'directory',
+        mode   => '0644';
+      "${elasticsearch::params::homedir}/shield":
+        ensure => 'directory',
+        mode   => '0644',
+        owner  => 'root',
+        group  => '0';
+      '/etc/elasticsearch/elasticsearch.yml':
+        ensure => 'absent';
+      '/etc/elasticsearch/logging.yml':
+        ensure => 'absent';
+      '/etc/init.d/elasticsearch':
+        ensure => 'absent';
     }
 
     if $elasticsearch::params::pid_dir {
@@ -90,42 +92,25 @@
           ensure  => 'file',
           content => template("${module_name}/usr/lib/tmpfiles.d/elasticsearch.conf.erb"),
           owner   => 'root',
-          group   => 'root',
+          group   => '0',
         }
       }
     }
 
-
-    file { "${elasticsearch::params::homedir}/templates_import":
-      ensure => 'directory',
-      mode   => '0644',
-    }
-
-    file { "${elasticsearch::params::homedir}/scripts":
-      ensure => 'directory',
-      mode   => '0644',
-    }
-
-    # Removal of files that are provided with the package which we don't use
-    file { '/etc/init.d/elasticsearch':
-      ensure => 'absent',
-    }
-    file { '/lib/systemd/system/elasticsearch.service':
-      ensure => 'absent',
+    if ($elasticsearch::service_providers == 'systemd') {
+      # Mask default unit (from package)
+      exec { 'systemctl mask elasticsearch.service':
+        unless => 'test `systemctl is-enabled elasticsearch.service` = masked',
+      }
     }
 
     $new_init_defaults = { 'CONF_DIR' => $elasticsearch::configdir }
-    augeas { "${elasticsearch::params::defaults_location}/elasticsearch":
-      incl    => "${elasticsearch::params::defaults_location}/elasticsearch",
-      lens    => 'Shellvars.lns',
-      changes => template("${module_name}/etc/sysconfig/defaults.erb"),
-    }
-
-    file { '/etc/elasticsearch/elasticsearch.yml':
-      ensure => 'absent',
-    }
-    file { '/etc/elasticsearch/logging.yml':
-      ensure => 'absent',
+    if $elasticsearch::params::defaults_location {
+      augeas { "${elasticsearch::params::defaults_location}/elasticsearch":
+        incl    => "${elasticsearch::params::defaults_location}/elasticsearch",
+        lens    => 'Shellvars.lns',
+        changes => template("${module_name}/etc/sysconfig/defaults.erb"),
+      }
     }
 
   } elsif ( $elasticsearch::ensure == 'absent' ) {