X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Felasticsearch%2Fmanifests%2Frepo.pp;fp=3rdparty%2Fmodules%2Felasticsearch%2Fmanifests%2Frepo.pp;h=5144d9b623ef4cb4950078e4597ebcb24bdac83c;hb=8efe10c37b152ebbf7fd051ea13ddd2b06d43e77;hp=ba6a01dba45bb0ccdcc232c486b614d04ab2a4ec;hpb=db99607dc790cf9ef180ca5ff1c4ee5f202bc8c6;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/elasticsearch/manifests/repo.pp b/3rdparty/modules/elasticsearch/manifests/repo.pp index ba6a01dba..5144d9b62 100644 --- a/3rdparty/modules/elasticsearch/manifests/repo.pp +++ b/3rdparty/modules/elasticsearch/manifests/repo.pp @@ -75,4 +75,32 @@ class elasticsearch::repo { fail("\"${module_name}\" provides no repository information for OSfamily \"${::osfamily}\"") } } + + # Package pinning + if ($elasticsearch::package_pin == true and $elasticsearch::version != false) { + case $::osfamily { + 'Debian': { + if !defined(Class['apt']) { + class { 'apt': } + } + + apt::pin { $elasticsearch::package_name: + ensure => 'present', + packages => $elasticsearch::package_name, + version => $elasticsearch::version, + priority => 1000, + } + } + 'RedHat', 'Linux': { + + yum::versionlock { "0:elasticsearch-${elasticsearch::version}.noarch": + ensure => 'present', + } + } + default: { + fail("Unable to pin package for OSfamily \"${::osfamily}\"") + } + } + } + }