Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
017a749d13 | ||
|
|
e37f6d5af6 | ||
|
|
c797e52851 | ||
|
|
4ab58a2f88 | ||
|
|
3afa0813ea | ||
|
|
4d7154516d | ||
|
|
d027d35e2d | ||
|
|
30b07259a2 | ||
|
|
6365fcd9f2 | ||
|
|
a671ad7cc4 | ||
|
|
0e4dc2dd81 | ||
|
|
4c1161891b | ||
|
|
98e1d30235 | ||
|
|
b5854b3ef3 | ||
|
|
e6be2ed785 | ||
|
|
b547e53a8b | ||
|
|
3b674ac225 | ||
|
|
8a7c2fce30 | ||
|
|
babdde5f02 | ||
|
|
0b541605e1 | ||
|
|
8aa2053c9d | ||
|
|
12544569fb | ||
|
|
e09792cea9 | ||
|
|
3b00510615 | ||
|
|
07ea32a90c | ||
|
|
c503afd73e | ||
|
|
cc1dd231e3 | ||
|
|
221a6d3dab | ||
|
|
7efde2db1e | ||
|
|
d93930d6e3 | ||
|
|
b3eb1642ae | ||
|
|
867f8c524a |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
pkg/
|
||||
.DS_Store
|
||||
metadata.json
|
||||
|
||||
15
CHANGELOG
15
CHANGELOG
@@ -1,3 +1,18 @@
|
||||
2012-11-15 Scott Schneider <sschneider@puppetlabs.com> - 0.2.0
|
||||
* Add Solaris support
|
||||
|
||||
2011-06-16 Jeff McCune <jeff@puppetlabs.com> - 0.1.5
|
||||
* Add Debian based distro (Lucid) support
|
||||
|
||||
2011-06-02 Jeff McCune <jeff@puppetlabs.com> - 0.1.4
|
||||
* Fix class composition ordering problems
|
||||
|
||||
2011-05-28 Jeff McCune <jeff@puppetlabs.com> - 0.1.3
|
||||
* Remove stages
|
||||
|
||||
2011-05-26 Jeff McCune <jeff@puppetlabs.com> - 0.1.2
|
||||
* Changes JRE/JDK selection class parameter to $distribution
|
||||
|
||||
2011-05-25 Jeff McCune <jeff@puppetlabs.com> - 0.1.1
|
||||
* Re-did versioning to follow semantic versioning
|
||||
|
||||
|
||||
17
LICENSE
Normal file
17
LICENSE
Normal file
@@ -0,0 +1,17 @@
|
||||
Puppet OpenNebula Module - Puppet module for managing OpenNebula
|
||||
|
||||
Copyright (C) 2011 Puppet Labs Inc
|
||||
|
||||
Puppet Labs can be contacted at: info@puppetlabs.com
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -1,5 +1,5 @@
|
||||
name 'puppetlabs-java'
|
||||
version '0.1.1'
|
||||
version '0.2.0'
|
||||
source 'git://github.com/puppetlabs/puppetlabs-java'
|
||||
author 'puppetlabs'
|
||||
license 'Apache'
|
||||
@@ -8,4 +8,4 @@ description 'Manage the official Java runtime'
|
||||
project_page 'https://github.com/puppetlabs/puppetlabs-java'
|
||||
|
||||
## Add dependencies, if any:
|
||||
dependency 'puppetlabs/stdlib', '>= 0.1.3'
|
||||
dependency 'puppetlabs/stdlib', '>= 0.1.6'
|
||||
|
||||
@@ -2,7 +2,14 @@
|
||||
|
||||
Manage the Java runtime for use with other application software.
|
||||
|
||||
Currently this simply deploys the package on Enterprise Linux based systems.
|
||||
Currently this simply deploys the package on Enterprise Linux based systems and Debian based systems.
|
||||
|
||||
Tested on:
|
||||
|
||||
* Centos 5.6
|
||||
* Ubuntu 10.04 Lucid
|
||||
|
||||
# RedHat Support #
|
||||
|
||||
The Java runtime this module is designed to configure are the RPM's provided by Oracle and obtained by extracting them from the "bin" installers.
|
||||
|
||||
@@ -14,3 +21,13 @@ Please download the installer from:
|
||||
|
||||
* [Java Downloads](http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html)
|
||||
|
||||
# Ubuntu Support #
|
||||
|
||||
## Lucid ##
|
||||
|
||||
You need to have the partner repository enabled in order to install the Sun JDK or JRE.
|
||||
|
||||
aptitude install python-software-properties
|
||||
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
|
||||
aptitude update
|
||||
|
||||
|
||||
@@ -12,34 +12,78 @@
|
||||
#
|
||||
# [Remember: No empty lines between comments and class definition]
|
||||
class java(
|
||||
$jre = false,
|
||||
$jdk = true,
|
||||
$version='1.6.0_25-fcs'
|
||||
$distribution = 'jdk',
|
||||
$version = 'present'
|
||||
) {
|
||||
|
||||
# Cannot pass anonymous arrays to functions in 2.6.8
|
||||
$v_true_false = [ '^true$', '^false$' ]
|
||||
# Must compare string values, not booleans.
|
||||
validate_re("$jre", $v_true_false)
|
||||
validate_re("$jdk", $v_true_false)
|
||||
validate_re($version, '^[._0-9a-zA-Z:-]+$')
|
||||
validate_re($distribution, '^jdk$|^jre$|^java.*$')
|
||||
validate_re($version, 'installed|^[._0-9a-zA-Z:-]+$')
|
||||
|
||||
$jre_real = $jre
|
||||
$jdk_real = $jdk
|
||||
$version_real = $version
|
||||
anchor { 'java::begin': }
|
||||
anchor { 'java::end': }
|
||||
|
||||
if $jre_real {
|
||||
class { 'java::jre_package':
|
||||
version => $version_real,
|
||||
stage => 'runtime',
|
||||
}
|
||||
}
|
||||
case $::osfamily {
|
||||
|
||||
'RedHat': {
|
||||
|
||||
class { 'java::package_redhat':
|
||||
version => $version,
|
||||
distribution => $distribution,
|
||||
require => Anchor['java::begin'],
|
||||
before => Anchor['java::end'],
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
'Debian': {
|
||||
|
||||
case $::lsbdistcodename {
|
||||
squeeze, lucid: {
|
||||
$distribution_debian = $distribution ? {
|
||||
jdk => 'openjdk-6-jdk',
|
||||
jre => 'openjdk-6-jre-headless',
|
||||
}
|
||||
}
|
||||
wheezy, precise: {
|
||||
$distribution_debian = $distribution ? {
|
||||
jdk => 'openjdk-7-jdk',
|
||||
jre => 'openjdk-7-jre-headless',
|
||||
}
|
||||
}
|
||||
default: {
|
||||
fail("operatingsystem distribution ${::lsbdistcodename} is not supported")
|
||||
}
|
||||
}
|
||||
|
||||
class { 'java::package_debian':
|
||||
version => $version,
|
||||
distribution => $distribution_debian,
|
||||
require => Anchor['java::begin'],
|
||||
before => Anchor['java::end'],
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
'Solaris': {
|
||||
|
||||
$distribution_solaris = $distribution ? {
|
||||
jdk => 'developer/java/jdk-7',
|
||||
jre => 'runtime/java/jre-7',
|
||||
}
|
||||
|
||||
class { 'java::package_solaris':
|
||||
version => $version,
|
||||
distribution => $distribution_solaris,
|
||||
require => Anchor['java::begin'],
|
||||
before => Anchor['java::end'],
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
default: {
|
||||
fail("osfamily ${::osfamily} is not supported")
|
||||
}
|
||||
|
||||
if $jdk_real {
|
||||
class { 'java::jdk_package':
|
||||
version => $version_real,
|
||||
stage => 'runtime',
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
# Class: java:jdk_package
|
||||
#
|
||||
# This class installs the Java JDK package
|
||||
# produced from ./jdk-6u25-linux-x64-rpm.bin -x
|
||||
#
|
||||
# This is the "Official" RPM distributed by Oracle
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# Actions:
|
||||
#
|
||||
# Requires:
|
||||
#
|
||||
# Sample Usage:
|
||||
#
|
||||
class java::jdk_package (
|
||||
$version
|
||||
) {
|
||||
|
||||
validate_re($version, '^[._0-9a-zA-Z:-]+$')
|
||||
|
||||
$version_real = $version
|
||||
|
||||
package { 'jdk':
|
||||
ensure => $version_real,
|
||||
alias => 'java',
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
# Class: java:jre_package
|
||||
#
|
||||
# class description goes here.
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# Actions:
|
||||
#
|
||||
# Requires:
|
||||
#
|
||||
# Sample Usage:
|
||||
#
|
||||
class java::jre_package (
|
||||
$version
|
||||
) {
|
||||
|
||||
validate_re($version, '^[._0-9a-zA-Z:-]+$')
|
||||
|
||||
$version_real = $version
|
||||
|
||||
package { 'jre':
|
||||
ensure => $version_real,
|
||||
alias => 'java',
|
||||
}
|
||||
|
||||
}
|
||||
27
manifests/package_debian.pp
Normal file
27
manifests/package_debian.pp
Normal file
@@ -0,0 +1,27 @@
|
||||
# Class: java::package_debian
|
||||
#
|
||||
# Implementation class of the Java package
|
||||
# for debian based systems.
|
||||
#
|
||||
# This class is not meant to be used by the end user
|
||||
# of the module. It is an implementation class
|
||||
# of the composite Class[java]
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# Actions:
|
||||
#
|
||||
# Requires:
|
||||
#
|
||||
# Sample Usage:
|
||||
#
|
||||
class java::package_debian(
|
||||
$version,
|
||||
$distribution
|
||||
) {
|
||||
|
||||
package { 'java':
|
||||
ensure => $version,
|
||||
name => $distribution,
|
||||
}
|
||||
}
|
||||
28
manifests/package_redhat.pp
Normal file
28
manifests/package_redhat.pp
Normal file
@@ -0,0 +1,28 @@
|
||||
# Class: java::package_redhat
|
||||
#
|
||||
# Implementation class of the Java package
|
||||
# for redhat based systems.
|
||||
#
|
||||
# This class is not meant to be used by the end user
|
||||
# of the module. It is an implementation class
|
||||
# of the composite Class[java]
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# Actions:
|
||||
#
|
||||
# Requires:
|
||||
#
|
||||
# Sample Usage:
|
||||
#
|
||||
class java::package_redhat(
|
||||
$version,
|
||||
$distribution
|
||||
) {
|
||||
|
||||
package { 'java':
|
||||
ensure => $version,
|
||||
name => $distribution,
|
||||
}
|
||||
|
||||
}
|
||||
27
manifests/package_solaris.pp
Normal file
27
manifests/package_solaris.pp
Normal file
@@ -0,0 +1,27 @@
|
||||
# Class: java::package_solaris
|
||||
#
|
||||
# Implementation class of the Java package
|
||||
# for Solaris based systems.
|
||||
#
|
||||
# This class is not meant to be used by the end user
|
||||
# of the module. It is an implementation class
|
||||
# of the composite Class[java]
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# Actions:
|
||||
#
|
||||
# Requires:
|
||||
#
|
||||
# Sample Usage:
|
||||
#
|
||||
class java::package_solaris(
|
||||
$version,
|
||||
$distribution
|
||||
) {
|
||||
|
||||
package { 'java':
|
||||
ensure => $version,
|
||||
name => $distribution,
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
/*
|
||||
+-----------------------------------------------------------------------+
|
||||
| |
|
||||
| ==> DO NOT EDIT THIS FILE! <== |
|
||||
| |
|
||||
| You should edit the `Modulefile` and run `puppet-module build` |
|
||||
| to generate the `metadata.json` file for your releases. |
|
||||
| |
|
||||
+-----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
{}
|
||||
3
templates/sun-java6.preseed
Normal file
3
templates/sun-java6.preseed
Normal file
@@ -0,0 +1,3 @@
|
||||
sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true
|
||||
sun-java6-jdk shared/accepted-sun-dlj-v1-1 boolean true
|
||||
sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true
|
||||
@@ -1 +1,10 @@
|
||||
include java
|
||||
node default {
|
||||
|
||||
notify { "alpha": } ->
|
||||
class { 'java':
|
||||
distribution => 'jdk',
|
||||
version => 'latest',
|
||||
} ->
|
||||
notify { "omega": }
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user