Defined Type: tomcat::libstarball
- Defined in:
- manifests/libstarball.pp
Overview
puppet2sitepp @tomcatlibstarballs
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'manifests/libstarball.pp', line 2
define tomcat::libstarball(
$source,
$catalina_base = "/opt/${name}",
$servicename = $name,
$libstarballname = $name,
$purge_old = false,
) {
if ! defined(Class['tomcat'])
{
fail('You must include the tomcat base class before using any tomcat defined resources')
}
Exec {
path => '/usr/sbin:/usr/bin:/sbin:/bin',
}
if($servicename!=undef)
{
$serviceinstance=Tomcat::Instance::Service[$servicename]
}
else
{
$serviceinstance=undef
}
if($purge_old)
{
$notify_updated_tarball=Exec[ [ "cleanup ${libstarballname} ${catalina_base}",
"tar xzf ${libstarballname} ${catalina_base}" ] ]
exec { "cleanup ${libstarballname} ${catalina_base}":
command => "rm -fr ${catalina_base}/lib/* ${catalina_base}/lib/.*",
refreshonly => true,
notify => Exec["tar xzf ${libstarballname} ${catalina_base}"],
require => File["${catalina_base}/.libs.${libstarballname}.tgz"],
before => Exec["tar xzf ${libstarballname} ${catalina_base}"],
}
}
else
{
$notify_updated_tarball=Exec["tar xzf ${libstarballname} ${catalina_base}"]
}
file { "${catalina_base}/.libs.${libstarballname}.tgz":
ensure => 'present',
owner => 'root',
group => 'root',
mode => '0400',
require => [File[$catalina_base], File["${catalina_base}/lib"]],
notify => $notify_updated_tarball,
source => $source,
}
exec { "tar xzf ${libstarballname} ${catalina_base}":
command => "tar --no-same-owner --strip 1 -xzf ${catalina_base}/.libs.${libstarballname}.tgz -C ${catalina_base}/lib",
refreshonly => true,
notify => $serviceinstance,
require => File["${catalina_base}/.libs.${libstarballname}.tgz"],
}
}
|