dev/provisioning/modules/elasticsearch/manifests/package.pp
changeset 406 cf0f23803a53
parent 28 b0b56e0f8c7f
--- a/dev/provisioning/modules/elasticsearch/manifests/package.pp	Tue Nov 08 18:23:01 2016 +0100
+++ b/dev/provisioning/modules/elasticsearch/manifests/package.pp	Wed Nov 09 15:05:41 2016 +0100
@@ -37,15 +37,21 @@
   # set params: in operation
   if $elasticsearch::ensure == 'present' {
 
+    if $elasticsearch::restart_package_change {
+      Package[$elasticsearch::package_name] ~> Elasticsearch::Service <| |>
+    }
+    Package[$elasticsearch::package_name] ~> Exec['remove_plugin_dir']
+
     # Create directory to place the package file
+    $package_dir = $elasticsearch::package_dir
     exec { 'create_package_dir_elasticsearch':
       cwd     => '/',
       path    => ['/usr/bin', '/bin'],
-      command => "mkdir -p ${elasticsearch::package_dir}",
-      creates => $elasticsearch::package_dir,
+      command => "mkdir -p ${package_dir}",
+      creates => $package_dir,
     }
 
-    file { $elasticsearch::package_dir:
+    file { $package_dir:
       ensure  => 'directory',
       purge   => $elasticsearch::purge_package_dir,
       force   => $elasticsearch::purge_package_dir,
@@ -53,7 +59,6 @@
       require => Exec['create_package_dir_elasticsearch'],
     }
 
-
     # Check if we want to install a specific version or not
     if $elasticsearch::version == false {
 
@@ -77,7 +82,6 @@
         default:   { fail("software provider \"${elasticsearch::package_provider}\".") }
       }
 
-      $package_dir = $elasticsearch::package_dir
 
       $filenameArray = split($elasticsearch::package_url, '/')
       $basefilename = $filenameArray[-1]
@@ -111,6 +115,8 @@
               "http_proxy=${elasticsearch::proxy_url}",
               "https_proxy=${elasticsearch::proxy_url}",
             ]
+          } else {
+            $exec_environment = []
           }
 
           exec { 'download_package_elasticsearch':
@@ -155,21 +161,29 @@
   # Package removal
   } else {
 
-    if ($::operatingsystem == 'OpenSuSE') {
+    if ($::osfamily == 'Suse') {
       Package {
         provider  => 'rpm',
       }
+      $package_ensure = 'absent'
+    } else {
+      $package_ensure = 'purged'
     }
-    $package_ensure = 'purged'
 
   }
 
   if ($elasticsearch::package_provider == 'package') {
 
     package { $elasticsearch::package_name:
-      ensure   => $package_ensure,
+      ensure => $package_ensure,
     }
 
+    exec { 'remove_plugin_dir':
+      refreshonly => true,
+      command     => "rm -rf ${elasticsearch::plugindir}",
+    }
+
+
   } else {
     fail("\"${elasticsearch::package_provider}\" is not supported")
   }