diff -r f239c8c5bb94 -r cf0f23803a53 dev/provisioning/modules/elasticsearch/manifests/config.pp --- 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' ) {