Skip to content

Commit

Permalink
Adding 2 new features
Browse files Browse the repository at this point in the history
- Supply an external package ( rpm/deb )
- Install java if its not managed externally
  • Loading branch information
electrical committed Feb 13, 2013
1 parent 1f84aee commit 7ad74a3
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 4 deletions.
13 changes: 10 additions & 3 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,12 @@
#
class elasticsearch(
$config,
$ensure = $elasticsearch::params::ensure,
$autoupgrade = $elasticsearch::params::autoupgrade,
$status = $elasticsearch::params::status,
$ensure = $elasticsearch::params::ensure,
$autoupgrade = $elasticsearch::params::autoupgrade,
$status = $elasticsearch::params::status,
$pkg_source = undef,
$java_install = true,
$java_package = undef
) inherits elasticsearch::params {

#### Validate parameters
Expand Down Expand Up @@ -125,6 +128,10 @@
# service(s)
class { 'elasticsearch::service': }

if $java_install == true {
# Install java
class { 'elasticsearch::java': }
}

#### Manage relationships

Expand Down
47 changes: 47 additions & 0 deletions manifests/java.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# == Class: elasticsearch::java
#
# This class exists to install java if its not managed from an other module
#
#
# === Parameters
#
# This class does not provide any parameters.
#
#
# === Examples
#
# This class may be imported by other classes to use its functionality:
# class { 'elasticsearch::java': }
#
# It is not intended to be used directly by external resources like node
# definitions or other modules.
#
#
# === Authors
#
# * Richard Pijnenburg <mailto:richard@ispavailability.com>
#
class elasticsearch::java {

if $elasticsearch::java_package == undef {
# Default Java package
case $::operatingsystem {
'CentOS', 'Fedora', 'Scientific': {
$package = 'java-1.6.0-openjdk'
}
'Debian', 'Ubuntu': {
$package = 'openjdk-6-jre-headless'
}
default: {
fail("\"${module_name}\" provides no java package
for \"${::operatingsystem}\"")
}
}
} else {
$package = $elasticsearch::java_package
}

package { $package:
ensure => present
}
}
30 changes: 29 additions & 1 deletion manifests/package.pp
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,37 @@
$package_ensure = 'purged'
}

if $elasticsearch::package {

$filenameArray = split($elasticsearch::package, '/')
$basefilename = $filenameArray[-1]

$extArray = split($basefilename, '.')
$ext = $extArray[-1]

$tmpSource = "/tmp/${basefilename}"

file { $tmpSource:
source => $elasticsearch::package,
owner => 'root',
group => 'root'
}

case $ext {
'deb': { $pkg_provider = 'dpkg' }
'rpm': { $pkg_provider = 'rpm' }
default: { $pkg_provider = undef }
}
} else {
$tmpSource = undef
$pkg_provider = undef
}

# action
package { $elasticsearch::params::package:
ensure => $package_ensure,
ensure => $package_ensure,
source => $tmpSource,
provider => $pkg_provider
}

}

0 comments on commit 7ad74a3

Please sign in to comment.