dev/provisioning/modules/elasticsearch/manifests/package.pp
changeset 406 cf0f23803a53
parent 28 b0b56e0f8c7f
equal deleted inserted replaced
405:f239c8c5bb94 406:cf0f23803a53
    35 
    35 
    36 
    36 
    37   # set params: in operation
    37   # set params: in operation
    38   if $elasticsearch::ensure == 'present' {
    38   if $elasticsearch::ensure == 'present' {
    39 
    39 
       
    40     if $elasticsearch::restart_package_change {
       
    41       Package[$elasticsearch::package_name] ~> Elasticsearch::Service <| |>
       
    42     }
       
    43     Package[$elasticsearch::package_name] ~> Exec['remove_plugin_dir']
       
    44 
    40     # Create directory to place the package file
    45     # Create directory to place the package file
       
    46     $package_dir = $elasticsearch::package_dir
    41     exec { 'create_package_dir_elasticsearch':
    47     exec { 'create_package_dir_elasticsearch':
    42       cwd     => '/',
    48       cwd     => '/',
    43       path    => ['/usr/bin', '/bin'],
    49       path    => ['/usr/bin', '/bin'],
    44       command => "mkdir -p ${elasticsearch::package_dir}",
    50       command => "mkdir -p ${package_dir}",
    45       creates => $elasticsearch::package_dir,
    51       creates => $package_dir,
    46     }
    52     }
    47 
    53 
    48     file { $elasticsearch::package_dir:
    54     file { $package_dir:
    49       ensure  => 'directory',
    55       ensure  => 'directory',
    50       purge   => $elasticsearch::purge_package_dir,
    56       purge   => $elasticsearch::purge_package_dir,
    51       force   => $elasticsearch::purge_package_dir,
    57       force   => $elasticsearch::purge_package_dir,
    52       backup  => false,
    58       backup  => false,
    53       require => Exec['create_package_dir_elasticsearch'],
    59       require => Exec['create_package_dir_elasticsearch'],
    54     }
    60     }
    55 
       
    56 
    61 
    57     # Check if we want to install a specific version or not
    62     # Check if we want to install a specific version or not
    58     if $elasticsearch::version == false {
    63     if $elasticsearch::version == false {
    59 
    64 
    60       $package_ensure = $elasticsearch::autoupgrade ? {
    65       $package_ensure = $elasticsearch::autoupgrade ? {
    75       case $elasticsearch::package_provider {
    80       case $elasticsearch::package_provider {
    76         'package': { $before = Package[$elasticsearch::package_name]  }
    81         'package': { $before = Package[$elasticsearch::package_name]  }
    77         default:   { fail("software provider \"${elasticsearch::package_provider}\".") }
    82         default:   { fail("software provider \"${elasticsearch::package_provider}\".") }
    78       }
    83       }
    79 
    84 
    80       $package_dir = $elasticsearch::package_dir
       
    81 
    85 
    82       $filenameArray = split($elasticsearch::package_url, '/')
    86       $filenameArray = split($elasticsearch::package_url, '/')
    83       $basefilename = $filenameArray[-1]
    87       $basefilename = $filenameArray[-1]
    84 
    88 
    85       $sourceArray = split($elasticsearch::package_url, ':')
    89       $sourceArray = split($elasticsearch::package_url, ':')
   109             $exec_environment = [
   113             $exec_environment = [
   110               'use_proxy=yes',
   114               'use_proxy=yes',
   111               "http_proxy=${elasticsearch::proxy_url}",
   115               "http_proxy=${elasticsearch::proxy_url}",
   112               "https_proxy=${elasticsearch::proxy_url}",
   116               "https_proxy=${elasticsearch::proxy_url}",
   113             ]
   117             ]
       
   118           } else {
       
   119             $exec_environment = []
   114           }
   120           }
   115 
   121 
   116           exec { 'download_package_elasticsearch':
   122           exec { 'download_package_elasticsearch':
   117             command     => "${elasticsearch::params::download_tool} ${pkg_source} ${elasticsearch::package_url} 2> /dev/null",
   123             command     => "${elasticsearch::params::download_tool} ${pkg_source} ${elasticsearch::package_url} 2> /dev/null",
   118             creates     => $pkg_source,
   124             creates     => $pkg_source,
   153     }
   159     }
   154 
   160 
   155   # Package removal
   161   # Package removal
   156   } else {
   162   } else {
   157 
   163 
   158     if ($::operatingsystem == 'OpenSuSE') {
   164     if ($::osfamily == 'Suse') {
   159       Package {
   165       Package {
   160         provider  => 'rpm',
   166         provider  => 'rpm',
   161       }
   167       }
       
   168       $package_ensure = 'absent'
       
   169     } else {
       
   170       $package_ensure = 'purged'
   162     }
   171     }
   163     $package_ensure = 'purged'
       
   164 
   172 
   165   }
   173   }
   166 
   174 
   167   if ($elasticsearch::package_provider == 'package') {
   175   if ($elasticsearch::package_provider == 'package') {
   168 
   176 
   169     package { $elasticsearch::package_name:
   177     package { $elasticsearch::package_name:
   170       ensure   => $package_ensure,
   178       ensure => $package_ensure,
   171     }
   179     }
       
   180 
       
   181     exec { 'remove_plugin_dir':
       
   182       refreshonly => true,
       
   183       command     => "rm -rf ${elasticsearch::plugindir}",
       
   184     }
       
   185 
   172 
   186 
   173   } else {
   187   } else {
   174     fail("\"${elasticsearch::package_provider}\" is not supported")
   188     fail("\"${elasticsearch::package_provider}\" is not supported")
   175   }
   189   }
   176 
   190