Defined Type: tomcat::libstarball

Defined in:
manifests/libstarball.pp

Overview

puppet2sitepp @tomcatlibstarballs

Parameters:

  • source (Any)
  • catalina_base (Any) (defaults to: "/opt/${name}")
  • servicename (Any) (defaults to: $name)
  • libstarballname (Any) (defaults to: $name)
  • purge_old (Any) (defaults to: false)


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"],
  }

}