Compare commits

...

29 Commits
0.1.2 ... 0.2.0

Author SHA1 Message Date
Adrien Thebo
017a749d13 Merge pull request #18 from sschneid/master
Add Solaris support
2012-11-15 11:58:49 -08:00
Scott Schneider
e37f6d5af6 Bumping version to 0.2.0 2012-11-15 11:55:53 -08:00
Scott Schneider
c797e52851 Add Solaris support 2012-11-15 11:23:08 -08:00
Chris Price
4ab58a2f88 Merge pull request #14 from eshamow/use_osfamily_instead_of_operatingsystem
Use osfamily instead of operatingsystem to determine package
2012-10-18 19:10:37 -07:00
Eric Shamow
3afa0813ea Use osfamily instead of operatingsystem to determine package
osfamily is slightly more forgiving, especially for RHEL-based
distributions.
2012-07-10 15:50:27 -06:00
Ben Hughes
4d7154516d Merge pull request #13 from ody/move_to_openjdk
Moves debain packages to openjdk.
2012-05-30 16:18:06 -07:00
Cody Herriges
d027d35e2d Fixing a couple style discrepancies.
Update a couple minor style things that were noticed while making previous
  changes.
2012-05-09 15:47:48 -07:00
Cody Herriges
30b07259a2 Moves debain packages to openjdk.
Change sun-java6-* packages to their openjdk equivalents and add conditional
  based on lsb codename to determine which version to install.
2012-05-09 15:43:19 -07:00
Gary Larizza
6365fcd9f2 Merge pull request #11 from ccaum/master
Allow distributions starting with string `java`

Reviewed-by: Gary Larizza <gary@puppetlabs.com>
2011-09-13 19:28:29 -07:00
Carl Caum
a671ad7cc4 Allow distributions starting with java
Some java distributions can start with java, such as java-sun or java-1.6.0-openjdk.  We should allow these to be specified
2011-09-13 19:55:24 +00:00
Ken Barber
0e4dc2dd81 Merge pull request #10 from kbarber/issues/master/9_empty-metadata
9 - remove empty metadata.json from repo to avoid errors when using from
2011-06-25 11:25:33 -07:00
Ken Barber
4c1161891b 9 - remove empty metadata.json from repo to avoid errors when using from github. 2011-06-25 19:23:45 +01:00
Ken Barber
98e1d30235 Merge pull request #7 from kbarber/issue/master/5_preseed_for_license
5 - Provide a preseed file that preseeds license signing for java package
2011-06-25 11:17:26 -07:00
Ken Barber
b5854b3ef3 Merge pull request #8 from kbarber/issues/master/4_license-file
4 - Add license file.
2011-06-25 10:57:01 -07:00
Ken Barber
e6be2ed785 4 - Add license file. 2011-06-24 23:16:12 +02:00
Ken Barber
b547e53a8b 5 - Provide a preseed file that preseeds license signing for java packages. 2011-06-24 22:52:58 +02:00
Jeff McCune
3b674ac225 Whitespace only change to README 2011-06-16 19:02:34 -07:00
Jeff McCune
8a7c2fce30 Update CHANGELOG for version 0.1.5 2011-06-16 18:59:07 -07:00
Jeff McCune
babdde5f02 Merge branch 'ticket/master/X_debian_support'
* ticket/master/X_debian_support:
  Bump stdlib module dependency to 0.1.6
  Update README for apt and rpm based platforms.
  Update the module example test manifest
  Add Debian based distro support.
2011-06-16 18:57:57 -07:00
Jeff McCune
0b541605e1 Bump stdlib module dependency to 0.1.6
This change is required because the anchor resource type
is not available in versions of puppetlabs-stdlib < 0.1.6
2011-06-16 17:47:56 -07:00
Jeff McCune
8aa2053c9d Update README for apt and rpm based platforms.
Package management for Lucid requires the partner
repository to be enabled.  This change documents
that fact.
2011-06-16 17:45:11 -07:00
Jeff McCune
12544569fb Update the module example test manifest
This change provides a clear indication about how relationships
are expected to be managed when the end user consumes the module.
2011-06-16 17:44:34 -07:00
Jeff McCune
e09792cea9 Add Debian based distro support.
This change separates the package resource into an implementation
class following the composite class pattern.

In addition, the _real variables have been removed to prevent
confusion.

The validation functions have been updated to support a more
clear regular expression.

The debian package names are different, so conditional logic
is required to set a debian based distro specific variable
for the Java distribution name.

While the puppet resources work, there is currently an issue
on Lucid where the package REQUIRES interactive installation
to accept the license agreement.  This will need to be fixed
for fully automated deployment on apt based systems.
2011-06-16 17:43:56 -07:00
Jeff McCune
3b00510615 Update CHANGELOG for version 0.1.4 2011-06-02 17:40:29 -07:00
Jeff McCune
07ea32a90c Merge branch 'bug/master/class_ordering'
* bug/master/class_ordering:
  Fix ordering issues with composed classes
2011-06-02 17:39:53 -07:00
Jeff McCune
c503afd73e Fix ordering issues with composed classes
The top level java module was declaring classes depending on what Java
distribution is required.  Similar to the issues encountered with
service and configuration class ordering, the composed classes did not
have an established relationship with other things that require the
module.

This change brings all resources into a single top level java class and
eliminates class composition within the module entirely.
2011-06-02 17:37:19 -07:00
Jeff McCune
cc1dd231e3 Update CHANGELOG for version 0.1.3 2011-05-28 14:14:02 -07:00
Jeff McCune
221a6d3dab Merge branch 'bug/master/get_rid_of_stages'
* bug/master/get_rid_of_stages:
  Remove stages from java module
2011-05-28 14:13:15 -07:00
Jeff McCune
7efde2db1e Remove stages from java module
The stages feature of stdlib is turning out to be more trouble than it's
worth.  Integrating the changes from Cody and Gary results in the entire
mcollective class being in the main stage.  We've already found is
preferable to have stages after main rather than before to avoid
dependency cycles.  This only works if all modules use stages.  The
first module to not use stages will create a cycle if it requires and
modules who do use stages and the stages come after main.
2011-05-28 14:00:39 -07:00
14 changed files with 208 additions and 88 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
pkg/
.DS_Store
metadata.json

View File

@@ -1,3 +1,15 @@
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

17
LICENSE Normal file
View 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.

View File

@@ -1,5 +1,5 @@
name 'puppetlabs-java'
version '0.1.2'
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'

View File

@@ -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

View File

@@ -13,31 +13,77 @@
# [Remember: No empty lines between comments and class definition]
class java(
$distribution = 'jdk',
$version = 'installed'
$version = 'present'
) {
# Cannot pass anonymous arrays to functions in 2.6.8
$v_distribution = [ '^jre$', '^jdk$' ]
# Must compare string values, not booleans.
validate_re($version, '^[._0-9a-zA-Z:-]+$')
validate_re($distribution, $v_distribution)
validate_re($distribution, '^jdk$|^jre$|^java.*$')
validate_re($version, 'installed|^[._0-9a-zA-Z:-]+$')
$version_real = $version
$distribution_real = $distribution
anchor { 'java::begin': }
anchor { 'java::end': }
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")
}
case $distribution_real {
jre: {
class { 'java::jre_package':
version => $version_real,
stage => 'runtime',
}
}
jdk: {
class { 'java::jdk_package':
version => $version_real,
stage => 'runtime',
}
}
}
}

View File

@@ -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',
}
}

View File

@@ -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',
}
}

View 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,
}
}

View 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,
}
}

View 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,
}
}

View File

@@ -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. |
| |
+-----------------------------------------------------------------------+
*/
{}

View 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

View File

@@ -1 +1,10 @@
include java
node default {
notify { "alpha": } ->
class { 'java':
distribution => 'jdk',
version => 'latest',
} ->
notify { "omega": }
}