Compare commits

...

76 Commits
2.4.0 ... 3.3.0

Author SHA1 Message Date
Paula Muir
1021c71139 Merge pull request #341 from david22swan/ReleasePrep
(MODULES-8478) - 3.3.0 Release Prep
2019-01-17 10:55:28 +00:00
David Swan
66a6e6c28e (MODULES-8478) - 3.3.0 Release Prep 2019-01-16 15:36:22 +00:00
Helen
197bd5fe7f Merge pull request #340 from puppetlabs/pdksync_pdksync_heads/master-0-g6814a87
pdksync - pdksync_heads/master-0-g6814a87
2019-01-14 15:44:25 +00:00
David Swan
ed5fd0d528 pdksync_heads/master-0-g6814a87 2019-01-10 15:29:50 +00:00
davidmalloncares
be8c53be64 Merge pull request #339 from puppetlabs/pdksync_pdksync_heads/master-0-g9c815ea
pdksync - pdksync_heads/master-0-g9c815ea
2019-01-03 15:58:14 +00:00
David Swan
cec95965d0 pdksync_heads/master-0-g9c815ea 2019-01-03 14:33:56 +00:00
Eimhin Laverty
32506eb127 Merge pull request #338 from puppetlabs/pdksync_FM-7655
pdksync - (FM-7655) Fix rubygems-update for ruby < 2.3
2018-12-20 10:46:41 +00:00
tphoney
4898fbdfaa (FM-7655) Fix rubygems-update for ruby < 2.3 2018-12-20 10:09:32 +00:00
Helen
dd2c5b08df Merge pull request #337 from puppetlabs/pdksync_pdksync_heads/master-0-gbf720df
pdksync - pdksync_heads/master-0-gbf720df
2018-12-17 14:08:03 +00:00
Eimhin Laverty
9526767b95 pdksync_heads/master-0-gbf720df 2018-12-17 11:31:10 +00:00
david22swan
35f5fa9e33 Merge pull request #336 from eimlav/modules-8234
(MODULES-8234) - Add SLES 15 support
2018-12-14 14:26:34 +00:00
Eimhin Laverty
1504bf8974 (MODULES-8234) - Add SLES 15 support 2018-12-13 12:57:47 +00:00
Eimhin Laverty
5112b4d59f Merge pull request #335 from pmcmaw/bugfix_FM-7520
(FM-7520) - Removing Solaris from the support matrix
2018-11-19 11:18:46 +00:00
Paula Muir
ed5cbf950e Merge branch 'master' into bugfix_FM-7520 2018-11-19 11:00:10 +00:00
Paula Muir
cd46267fad (maint) - Standardising and removing Service Packs (SP) 2018-11-19 10:58:55 +00:00
Paula Muir
7405a304d9 (FM-7520) - Removing Solaris from the support matrix
This is a bug fix as Solaris has never worked on this module. Updating
to resolve the issue with our documentation.
2018-11-19 10:58:54 +00:00
Paula Muir
b4bb7f0b89 Merge pull request #334 from eimlav/modules-8234
(MODULES-8234) - Upgrade Oracle Java version to 8u192
2018-11-09 15:25:41 +00:00
Eimhin Laverty
68fb4fa498 (MODULES-8234) - Upgrade Oracle Java version to 8u192 2018-11-09 11:05:24 +00:00
Paula Muir
7243839129 Merge pull request #333 from puppetlabs/pdksync_pdksync_heads/master-0-gabccfb1
pdksync - pdksync_heads/master-0-gabccfb1
2018-11-07 13:21:10 +00:00
David Swan
a5ea78aeb4 pdksync_heads/master-0-gabccfb1 2018-11-07 10:22:33 +00:00
david22swan
89a205bc48 Merge pull request #314 from ojongerius/oracle_java_181
MODULES-8044: upgrade Oracle Java 8 to 181, make it the default release
2018-11-05 10:14:28 +00:00
Otto Jongerius
0fd7c00fa9 upgrade Oracle Java 8 to 181, make it the default release 2018-11-05 16:06:43 +13:00
david22swan
de89b1f2da Merge pull request #315 from olevole/master
MODULES-7819 fix set JAVA_HOME environments on FreeBSD platform
2018-11-02 13:46:10 +00:00
Eimhin Laverty
ca4b22c7a0 Merge pull request #331 from pmcmaw/FM-7520
(FM-7520) - Removing service pack extensions
2018-10-24 16:10:51 +01:00
Paula Muir
0acc804564 (FM-7520) - Removing service pack extensions
We support SLES11 and SLES12. It is not necessary to state the SP
therefore removing the SPs.
2018-10-23 17:30:56 +01:00
Dennis Ploeger
b53a78fbe8 Support for installing JCE. Fixes MODULES-1681 (#326)
* Support for installing JCE. Fixes MODULES-1681

* Disabled oracle tests. Only to be enabled, if the other configuration options match the current java download URL provided by Oracle.
2018-10-18 10:07:37 +01:00
david22swan
390805475e Merge pull request #329 from mmoll/deb_openjdk_arm
Fix OpenJDK paths on Debian based OS with ARM
2018-10-12 16:46:41 +01:00
Michael Moll
911df2d7b7 Fix OpenJDK paths on Debian based OS with ARM 2018-10-12 16:55:50 +02:00
david22swan
61ffb4bf1d Merge pull request #330 from dodevops/MODULES-8085
Optimized code for making java::oracle atomic. Fixes MODULES-8085
2018-10-12 14:47:36 +01:00
Dennis Ploeger
bf26247f55 Fixed style violations 2018-10-12 14:27:59 +02:00
david22swan
c6acb9906c Merge pull request #322 from syseleven/MODULES-8025
(MODULES-8025) Switch default for Ubuntu 18.04 to 11
2018-10-12 11:50:36 +01:00
Dennis Ploeger
5f1b7ecea8 Optimized code for making java::oracle atomic. Fixes MODULES-8085 2018-10-12 07:43:57 +02:00
Paula Muir
615db5f7c6 Merge pull request #323 from eimlav/modules7050
(MODULES-7050) - Fix OracleJDK reinstalling on Puppet runs
2018-10-03 17:40:50 +01:00
Eimhin Laverty
89aa846909 (MODULES-7050) - Fix OracleJDK reinstalling on Puppet runs 2018-10-03 17:26:03 +01:00
Matthias Baur
60c93866b1 (MODULES-8025) Switch default for Ubuntu 18.04 to 11
This is needed to get the default Java version rollout with Ubuntu
18.04.
2018-10-01 18:08:30 +02:00
david22swan
72e042afad Merge pull request #320 from puppetlabs/release
Release merge back 3.2.0
2018-09-27 15:51:16 +01:00
Eimhin Laverty
8de3ea58a3 Merge pull request #319 from david22swan/PreRelease
(MODULES-7898) - 3.2.0 Release Prep
2018-09-27 12:09:50 +01:00
David Swan
1b56da5a27 (MODULES-7898) - 3.2.0 Release Prep 2018-09-27 12:03:18 +01:00
david22swan
380b8d749d Merge pull request #317 from puppetlabs/pdksync_MODULES-6805
pdksync - (MODULES-6805) metadata.json shows support for puppet 6
2018-09-27 11:12:15 +01:00
david22swan
7cb684c3c0 Merge pull request #318 from puppetlabs/pdksync_FM-7392_pdk_update
pdksync - (FM-7392) - Puppet 6 Testing Changes
2018-09-25 09:31:45 +01:00
Paula Muir
2926bbcfcb (FM-7392) - Puppet 6 Testing Changes 2018-09-24 17:02:26 +01:00
tphoney
a63f788394 (MODULES-6805) metadata.json shows support for puppet 6 2018-09-20 16:33:43 +01:00
olevole
728fc7e02d fix set JAVA_HOME environments on FreeBSD platform
FreeBSD do not use /etc/environment file for global variables. Instead we use two
places to set the variable:
  - /etc/profile for sh(1)
  - /etc/csh.login for csh(1) which is the default shell for FreeBSD

Fixes for MODULES-7819 issue
2018-09-20 14:22:37 +03:00
Eimhin Laverty
58669e653c Merge pull request #313 from puppetlabs/release
3.1.0 Mergeback
2018-09-10 10:01:49 +01:00
Eimhin Laverty
255406b30f Merge pull request #312 from david22swan/PreRelease
3.1.0 Pre Release
2018-09-06 16:30:26 +01:00
David Swan
a24f8f15ea 3.1.0 Pre Release 2018-09-06 16:21:26 +01:00
Eimhin Laverty
5d07f08126 Merge pull request #311 from puppetlabs/pdksync_pdksync-beaker4
pdksync - (MODULES-7658) use beaker4 in puppet-module-gems
2018-08-31 14:30:05 +01:00
tphoney
01b95d32c6 (MODULES-7658) use beaker4 in puppet-module-gems 2018-08-30 17:07:43 +01:00
Helen
3c9f98d75e Merge pull request #310 from puppetlabs/pdksync_bumping_puppet_version
pdksync - (MODULES-7705) - Bumping stdlib dependency from < 5.0.0 to < 6.0.0
2018-08-28 10:04:24 +01:00
Paula Muir
e0b0e1cd19 (MODULES-7705) - Bumping stdlib requirement to 6.0.0 2018-08-24 09:15:08 +01:00
Helen
7067aed306 Merge pull request #305 from puppetlabs/pdksync_1.7.0-0-g57412ed
pdksync - Update using 1.7.0
2018-08-22 14:56:33 +01:00
Paula Muir
cb637faf83 pdksync_1.7.0-0-g57412ed 2018-08-22 14:33:05 +01:00
Eimhin Laverty
66023e1a66 Merge pull request #304 from puppetlabs/pdksync_pdksync-beaker3
pdksync - (MODULES-7658) use beaker3 in puppet-module-gems
2018-08-21 16:22:10 +01:00
tphoney
743006a16e (MODULES-7658) use beaker3 in puppet-module-gems 2018-08-21 15:27:02 +01:00
Paula Muir
d5d69ee5ac Merge pull request #303 from puppetlabs/release
Release merge back 3.0.0
2018-08-14 10:57:03 +01:00
Paula Muir
2124c735f5 Merge pull request #302 from eimlav/release-prep
(MODULES-7661) - Release prep for 3.0.0 release
2018-08-13 15:24:00 +01:00
Eimhin Laverty
b0e6bc6d84 (MODULES-7661) - Release prep for 3.0.0 release 2018-08-13 14:55:23 +01:00
david22swan
016772c800 Merge pull request #301 from eimlav/update-limitations
(MODULES-7629) - Update README Limitations section
2018-08-09 16:35:26 +01:00
Eimhin Laverty
42556dfff3 (MODULES-7629) - Update README Limitations section 2018-08-09 14:31:49 +01:00
Helen
2bdbc7df04 Merge pull request #299 from david22swan/MODULES-7561
(MODULES-7561) - Addition of support for Ubuntu 18.04 to java
2018-08-01 11:02:32 +01:00
David Swan
56c1d80150 (MODULES-7561) - Addition of support for Ubuntu 18.04 to java 2018-07-31 15:08:59 +01:00
david22swan
ca5ef782f3 Merge pull request #296 from mpdude/patch-1
Allow this package to be installed together with puppet-archive 3.0.0
2018-06-15 10:39:12 +01:00
Matthias Pigulla
b5297d553b Allow this package to be installed together with puppet-archive 3.0.0
Although it's a major version bump, I don't expect this module here to be impacted of the changes.
2018-06-14 17:33:34 +02:00
Helen
bdcb2c628f Merge pull request #295 from david22swan/FM-6963
[FM-6963] Removal of unsupported OS from java
2018-06-04 09:09:13 +01:00
David Swan
a99915342b [FM-6963] Removal of unsupported OS from java 2018-06-01 14:59:13 +01:00
david22swan
d6eb532960 Merge pull request #294 from puppetlabs/pdksync_heads/master-0-g34e3266
pdksync - Update using 1.5.0
2018-05-18 15:36:33 +01:00
Helen Campbell
891b70a7c6 pdksync_heads/master-0-g34e3266 2018-05-18 15:21:46 +01:00
david22swan
3ba9230b0b Merge pull request #292 from HelenCampbell/gitlabfix
Fixing typo in sync.yml
2018-05-16 17:57:24 +01:00
Helen Campbell
3a35964083 Fixing typo in sync.yml 2018-05-16 17:44:48 +01:00
david22swan
cf1028b8b2 Merge pull request #290 from pmcmaw/unmanage_gitlab
(MODULES-7153) - Unmanage gitlab-ci.yml
2018-05-11 13:30:39 +01:00
Paula McMaw
241800601a (MODULES-7153) - Unmanage gitlab-ci.yml 2018-05-11 11:43:07 +01:00
Paula Muir
2c5397c66c Merge pull request #289 from HelenCampbell/syncupdate
(MODULES-7023) Update .sync.yml for pdk update
2018-04-26 17:06:24 +01:00
Helen Campbell
d7ab10786e (MODULES-7023) Update .sync.yml for pdk update 2018-04-26 15:04:48 +01:00
david22swan
e1173e59c7 Merge pull request #287 from sevencastles/remove_ensure_resource
Remove ensure_resource to avoid potential conflict
2018-02-26 13:47:17 +00:00
Carlo Rengo
6ba478375a Remove ensure_resource to avoid potential conflict
This was probably unintended and could cause conflicts where
stdlib::stages isn't desired.
2018-02-02 10:21:53 +01:00
Helen
47afbd2462 Merge pull request #286 from puppetlabs/release
Release merge back 2.4.0
2018-01-23 16:59:32 +00:00
25 changed files with 1021 additions and 426 deletions

2
.gitattributes vendored
View File

@@ -1,5 +1,5 @@
#This file is generated by ModuleSync, do not edit.
*.rb eol=lf *.rb eol=lf
*.erb eol=lf *.erb eol=lf
*.pp eol=lf *.pp eol=lf
*.sh eol=lf *.sh eol=lf
*.epp eol=lf

5
.gitignore vendored
View File

@@ -1,3 +1,4 @@
.git/
.*.sw[op] .*.sw[op]
.metadata .metadata
.yardoc .yardoc
@@ -13,11 +14,11 @@
/Gemfile.lock /Gemfile.lock
/junit/ /junit/
/log/ /log/
/log/
/pkg/ /pkg/
/spec/fixtures/manifests/ /spec/fixtures/manifests/
/spec/fixtures/modules/ /spec/fixtures/modules/
/tmp/ /tmp/
/vendor/ /vendor/
/convert_report.txt /convert_report.txt
/update_report.txt
.DS_Store

37
.pdkignore Normal file
View File

@@ -0,0 +1,37 @@
.git/
.*.sw[op]
.metadata
.yardoc
.yardwarns
*.iml
/.bundle/
/.idea/
/.vagrant/
/coverage/
/bin/
/doc/
/Gemfile.local
/Gemfile.lock
/junit/
/log/
/pkg/
/spec/fixtures/manifests/
/spec/fixtures/modules/
/tmp/
/vendor/
/convert_report.txt
/update_report.txt
.DS_Store
/appveyor.yml
/.fixtures.yml
/Gemfile
/.gitattributes
/.gitignore
/.gitlab-ci.yml
/.pdkignore
/Rakefile
/.rspec
/.rubocop.yml
/.travis.yml
/.yardopts
/spec/

0
.puppet-lint.rc Normal file
View File

View File

@@ -8,14 +8,21 @@ AllCops:
Exclude: Exclude:
- bin/* - bin/*
- ".vendor/**/*" - ".vendor/**/*"
- Gemfile - "**/Gemfile"
- Rakefile - "**/Rakefile"
- pkg/**/* - pkg/**/*
- spec/fixtures/**/* - spec/fixtures/**/*
- vendor/**/* - vendor/**/*
- "**/Puppetfile"
- "**/Vagrantfile"
- "**/Guardfile"
Metrics/LineLength: Metrics/LineLength:
Description: People have wide screens, use them. Description: People have wide screens, use them.
Max: 200 Max: 200
GetText/DecorateString:
Description: We don't want to decorate test output.
Exclude:
- spec/*
RSpec/BeforeAfterAll: RSpec/BeforeAfterAll:
Description: Beware of using after(:all) as it may cause state to leak between tests. Description: Beware of using after(:all) as it may cause state to leak between tests.
A necessary evil in acceptance testing. A necessary evil in acceptance testing.
@@ -63,6 +70,14 @@ Style/TrailingCommaInLiteral:
Style/SymbolArray: Style/SymbolArray:
Description: Using percent style obscures symbolic intent of array's contents. Description: Using percent style obscures symbolic intent of array's contents.
EnforcedStyle: brackets EnforcedStyle: brackets
RSpec/MessageSpies:
EnforcedStyle: receive
Style/Documentation:
Exclude:
- lib/puppet/parser/functions/**/*
- spec/**/*
Style/WordArray:
EnforcedStyle: brackets
Style/CollectionMethods: Style/CollectionMethods:
Enabled: true Enabled: true
Style/MethodCalledOnDoEndBlock: Style/MethodCalledOnDoEndBlock:
@@ -71,6 +86,8 @@ Style/StringMethods:
Enabled: true Enabled: true
Layout/EndOfLine: Layout/EndOfLine:
Enabled: false Enabled: false
Layout/IndentHeredoc:
Enabled: false
Metrics/AbcSize: Metrics/AbcSize:
Enabled: false Enabled: false
Metrics/BlockLength: Metrics/BlockLength:

View File

@@ -1,37 +1,21 @@
--- ---
appveyor.yml:
environment:
PUPPET_GEM_VERSION: "~> 4.0"
matrix:
- RUBY_VERSION: 24-x64
CHECK: "syntax lint"
- RUBY_VERSION: 24-x64
CHECK: metadata_lint
- RUBY_VERSION: 24-x64
CHECK: rubocop
- RUBY_VERSION: 24-x64
PUPPET_GEM_VERSION: "~> 5.0"
CHECK: spec
.travis.yml: .travis.yml:
env:
- PUPPET_GEM_VERSION="~> 5.0" CHECK=spec
bundle_args: --without system_tests
docker_sets: docker_sets:
- set: docker/centos-7 - set: docker/centos-7
options:
- set: docker/ubuntu-14.04 - set: docker/ubuntu-14.04
options:
docker_defaults: docker_defaults:
bundler_args: "" bundler_args: ""
secure: "" secure: ""
branches: branches:
- release - release
extras:
- rvm: 2.1.9
script: "\"bundle exec rake release_checks\""
Gemfile: Gemfile:
optional:
':development':
- gem: 'github_changelog_generator'
git: 'https://github.com/skywinder/github-changelog-generator'
ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018'
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')"
required: required:
':system_tests': ':system_tests':
- gem: 'puppet-module-posix-system-r#{minor_version}' - gem: 'puppet-module-posix-system-r#{minor_version}'
@@ -41,21 +25,9 @@ Gemfile:
- mswin - mswin
- mingw - mingw
- x64_mingw - x64_mingw
- gem: beaker
version: '~> 3.13'
from_env: BEAKER_VERSION
- gem: beaker-abs
from_env: BEAKER_ABS_VERSION
version: '~> 0.1'
- gem: beaker-pe
- gem: beaker-hostgenerator
from_env: BEAKER_HOSTGENERATOR_VERSION
- gem: beaker-rspec
from_env: BEAKER_RSPEC_VERSION
':development':
- gem: puppet-blacksmith
version: '~> 3.4'
Rakefile: appveyor.yml:
requires: delete: true
- puppet_blacksmith/rake_tasks
.gitlab-ci.yml:
unmanaged: true

View File

@@ -1,51 +1,47 @@
--- ---
sudo: false
dist: trusty dist: trusty
language: ruby language: ruby
cache: bundler cache: bundler
before_install: before_install:
- bundle -v - bundle -v
- rm Gemfile.lock || true - rm -f Gemfile.lock
- gem update --system - gem update --system $RUBYGEMS_VERSION
- gem --version - gem --version
- bundle -v - bundle -v
script: script:
- 'bundle exec rake $CHECK' - 'bundle exec rake $CHECK'
bundler_args: --without system_tests bundler_args: --without system_tests
rvm: rvm:
- 2.4.1 - 2.5.1
- 2.1.9
env: env:
- PUPPET_GEM_VERSION="~> 4.0" CHECK=spec global:
- PUPPET_GEM_VERSION="~> 5.0" CHECK=spec - BEAKER_PUPPET_COLLECTION=puppet6 PUPPET_GEM_VERSION="~> 6.0"
matrix: matrix:
fast_finish: true fast_finish: true
include: include:
- -
bundler_args: bundler_args:
dist: trusty dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/centos-7 env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_set=docker/centos-7 BEAKER_TESTMODE=apply
rvm: 2.4.1 rvm: 2.5.1
script: bundle exec rake beaker script: bundle exec rake beaker
services: docker services: docker
sudo: required sudo: required
- -
bundler_args: bundler_args:
dist: trusty dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04 env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_set=docker/ubuntu-14.04 BEAKER_TESTMODE=apply
rvm: 2.4.1 rvm: 2.5.1
script: bundle exec rake beaker script: bundle exec rake beaker
services: docker services: docker
sudo: required sudo: required
- -
env: CHECK=rubocop env: CHECK="syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop"
- -
env: CHECK="syntax lint" env: CHECK=parallel_spec
- -
env: CHECK=metadata_lint env: PUPPET_GEM_VERSION="~> 5.0" CHECK=parallel_spec
- rvm: 2.4.4
rvm: 2.1.9
script: "bundle exec rake release_checks"
branches: branches:
only: only:
- master - master

1
.yardopts Normal file
View File

@@ -0,0 +1 @@
--markup markdown

View File

@@ -1,4 +1,61 @@
## Supported Release [2.4.0] # Change log
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
## [3.3.0](https://github.com/puppetlabs/puppetlabs-java/tree/3.3.0) (2019-01-16)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-java/compare/3.2.0...3.3.0)
### Added
- \(MODULES-8234\) - Add SLES 15 support [\#336](https://github.com/puppetlabs/puppetlabs-java/pull/336) ([eimlav](https://github.com/eimlav))
- \(MODULES-8234\) - Upgrade Oracle Java version to 8u192 [\#334](https://github.com/puppetlabs/puppetlabs-java/pull/334) ([eimlav](https://github.com/eimlav))
- Support for installing JCE. Fixes MODULES-1681 [\#326](https://github.com/puppetlabs/puppetlabs-java/pull/326) ([dploeger](https://github.com/dploeger))
- MODULES-8044: upgrade Oracle Java 8 to 181, make it the default release [\#314](https://github.com/puppetlabs/puppetlabs-java/pull/314) ([ojongerius](https://github.com/ojongerius))
### Fixed
- pdksync - \(FM-7655\) Fix rubygems-update for ruby \< 2.3 [\#338](https://github.com/puppetlabs/puppetlabs-java/pull/338) ([tphoney](https://github.com/tphoney))
- \(FM-7520\) - Removing Solaris from the support matrix [\#335](https://github.com/puppetlabs/puppetlabs-java/pull/335) ([pmcmaw](https://github.com/pmcmaw))
- Optimized code for making java::oracle atomic. Fixes MODULES-8085 [\#330](https://github.com/puppetlabs/puppetlabs-java/pull/330) ([dploeger](https://github.com/dploeger))
- Fix OpenJDK paths on Debian based OS with ARM [\#329](https://github.com/puppetlabs/puppetlabs-java/pull/329) ([mmoll](https://github.com/mmoll))
- \(MODULES-7050\) - Fix OracleJDK reinstalling on Puppet runs [\#323](https://github.com/puppetlabs/puppetlabs-java/pull/323) ([eimlav](https://github.com/eimlav))
- \(MODULES-8025\) Switch default for Ubuntu 18.04 to 11 [\#322](https://github.com/puppetlabs/puppetlabs-java/pull/322) ([baurmatt](https://github.com/baurmatt))
- MODULES-7819 fix set JAVA\_HOME environments on FreeBSD platform [\#315](https://github.com/puppetlabs/puppetlabs-java/pull/315) ([olevole](https://github.com/olevole))
## [3.2.0](https://github.com/puppetlabs/puppetlabs-java/tree/3.2.0) (2018-09-27)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-java/compare/3.1.0...3.2.0)
### Added
- pdksync - \(MODULES-6805\) metadata.json shows support for puppet 6 [\#317](https://github.com/puppetlabs/puppetlabs-java/pull/317) ([tphoney](https://github.com/tphoney))
## [3.1.0](https://github.com/puppetlabs/puppetlabs-java/tree/3.1.0) (2018-09-06)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-java/compare/3.0.0...3.1.0)
### Added
- pdksync - \(MODULES-7705\) - Bumping stdlib dependency from \< 5.0.0 to \< 6.0.0 [\#310](https://github.com/puppetlabs/puppetlabs-java/pull/310) ([pmcmaw](https://github.com/pmcmaw))
## [3.0.0](https://github.com/puppetlabs/puppetlabs-java/tree/3.0.0) (2018-08-13)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-java/compare/2.4.0...3.0.0)
### Changed
- \[FM-6963\] Removal of unsupported OS from java [\#295](https://github.com/puppetlabs/puppetlabs-java/pull/295) ([david22swan](https://github.com/david22swan))
### Added
- \(MODULES-7561\) - Addition of support for Ubuntu 18.04 to java [\#299](https://github.com/puppetlabs/puppetlabs-java/pull/299) ([david22swan](https://github.com/david22swan))
### Fixed
- Remove ensure\_resource to avoid potential conflict [\#287](https://github.com/puppetlabs/puppetlabs-java/pull/287) ([sevencastles](https://github.com/sevencastles))
## 2.4.0
### Summary ### Summary
This release uses the PDK convert functionality which in return makes the module PDK compliant. Also includes a clean up from Rubocop. This release uses the PDK convert functionality which in return makes the module PDK compliant. Also includes a clean up from Rubocop.
@@ -294,3 +351,6 @@ Jeff McCune <jeff@puppetlabs.com>
[2.3.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.2.0...2.3.0 [2.3.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.2.0...2.3.0
[2.2.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.1.1...2.2.0 [2.2.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.1.1...2.2.0
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*

90
Gemfile
View File

@@ -1,25 +1,18 @@
source ENV['GEM_SOURCE'] || 'https://rubygems.org' source ENV['GEM_SOURCE'] || 'https://rubygems.org'
def location_for(place_or_version, fake_version = nil) def location_for(place_or_version, fake_version = nil)
if place_or_version =~ %r{\A(git[:@][^#]*)#(.*)} git_url_regex = %r{\A(?<url>(https?|git)[:@][^#]*)(#(?<branch>.*))?}
[fake_version, { git: Regexp.last_match(1), branch: Regexp.last_match(2), require: false }].compact file_url_regex = %r{\Afile:\/\/(?<path>.*)}
elsif place_or_version =~ %r{\Afile:\/\/(.*)}
['>= 0', { path: File.expand_path(Regexp.last_match(1)), require: false }] if place_or_version && (git_url = place_or_version.match(git_url_regex))
[fake_version, { git: git_url[:url], branch: git_url[:branch], require: false }].compact
elsif place_or_version && (file_url = place_or_version.match(file_url_regex))
['>= 0', { path: File.expand_path(file_url[:path]), require: false }]
else else
[place_or_version, { require: false }] [place_or_version, { require: false }]
end end
end end
def gem_type(place_or_version)
if place_or_version =~ %r{\Agit[:@]}
:git
elsif !place_or_version.nil? && place_or_version.start_with?('file:')
:file
else
:gem
end
end
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
minor_version = ruby_version_segments[0..1].join('.') minor_version = ruby_version_segments[0..1].join('.')
@@ -28,94 +21,41 @@ group :development do
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0') gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0') gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9') gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
gem "json", '= 2.0.4', require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby] gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby]
gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby] gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby]
gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-blacksmith", '~> 3.4', require: false gem "github_changelog_generator", require: false, git: 'https://github.com/skywinder/github-changelog-generator', ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018' if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')
end end
group :system_tests do group :system_tests do
gem "puppet-module-posix-system-r#{minor_version}", require: false, platforms: [:ruby] gem "puppet-module-posix-system-r#{minor_version}", require: false, platforms: [:ruby]
gem "puppet-module-win-system-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "puppet-module-win-system-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 3.13')
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
gem "beaker-pe", require: false
gem "beaker-hostgenerator"
gem "beaker-rspec"
end end
puppet_version = ENV['PUPPET_GEM_VERSION'] puppet_version = ENV['PUPPET_GEM_VERSION']
puppet_type = gem_type(puppet_version)
facter_version = ENV['FACTER_GEM_VERSION'] facter_version = ENV['FACTER_GEM_VERSION']
hiera_version = ENV['HIERA_GEM_VERSION'] hiera_version = ENV['HIERA_GEM_VERSION']
def puppet_older_than?(version)
puppet_version = ENV['PUPPET_GEM_VERSION']
!puppet_version.nil? &&
Gem::Version.correct?(puppet_version) &&
Gem::Requirement.new("< #{version}").satisfied_by?(Gem::Version.new(puppet_version.dup))
end
gems = {} gems = {}
gems['puppet'] = location_for(puppet_version) gems['puppet'] = location_for(puppet_version)
# If facter or hiera versions have been specified via the environment # If facter or hiera versions have been specified via the environment
# variables, use those versions. If not, and if the puppet version is < 3.5.0, # variables
# use known good versions of both for puppet < 3.5.0.
if facter_version
gems['facter'] = location_for(facter_version)
elsif puppet_type == :gem && puppet_older_than?('3.5.0')
gems['facter'] = ['>= 1.6.11', '<= 1.7.5', require: false]
end
if hiera_version gems['facter'] = location_for(facter_version) if facter_version
gems['hiera'] = location_for(ENV['HIERA_GEM_VERSION']) gems['hiera'] = location_for(hiera_version) if hiera_version
elsif puppet_type == :gem && puppet_older_than?('3.5.0')
gems['hiera'] = ['>= 1.0.0', '<= 1.3.0', require: false]
end
if Gem.win_platform? && (puppet_type != :gem || puppet_older_than?('3.5.0')) if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)}
# For Puppet gems < 3.5.0 (tested as far back as 3.0.0) on Windows
if puppet_type == :gem
gems['ffi'] = ['1.9.0', require: false]
gems['minitar'] = ['0.5.4', require: false]
gems['win32-eventlog'] = ['0.5.3', '<= 0.6.5', require: false]
gems['win32-process'] = ['0.6.5', '<= 0.7.5', require: false]
gems['win32-security'] = ['~> 0.1.2', '<= 0.2.5', require: false]
gems['win32-service'] = ['0.7.2', '<= 0.8.8', require: false]
else
gems['ffi'] = ['~> 1.9.0', require: false]
gems['minitar'] = ['~> 0.5.4', require: false]
gems['win32-eventlog'] = ['~> 0.5', '<= 0.6.5', require: false]
gems['win32-process'] = ['~> 0.6', '<= 0.7.5', require: false]
gems['win32-security'] = ['~> 0.1', '<= 0.2.5', require: false]
gems['win32-service'] = ['~> 0.7', '<= 0.8.8', require: false]
end
gems['win32-dir'] = ['~> 0.3', '<= 0.4.9', require: false]
if RUBY_VERSION.start_with?('1.')
gems['win32console'] = ['1.3.2', require: false]
# sys-admin was removed in Puppet 3.7.0 and doesn't compile under Ruby 2.x
gems['sys-admin'] = ['1.5.6', require: false]
end
# Puppet < 3.7.0 requires these.
# Puppet >= 3.5.0 gem includes these as requirements.
# The following versions are tested to work with 3.0.0 <= puppet < 3.7.0.
gems['win32-api'] = ['1.4.8', require: false]
gems['win32-taskscheduler'] = ['0.2.2', require: false]
gems['windows-api'] = ['0.4.3', require: false]
gems['windows-pr'] = ['1.2.3', require: false]
elsif Gem.win_platform?
# If we're using a Puppet gem on Windows which handles its own win32-xxx gem # If we're using a Puppet gem on Windows which handles its own win32-xxx gem
# dependencies (>= 3.5.0), set the maximum versions (see PUP-6445). # dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
gems['win32-dir'] = ['<= 0.4.9', require: false] gems['win32-dir'] = ['<= 0.4.9', require: false]
gems['win32-eventlog'] = ['<= 0.6.5', require: false] gems['win32-eventlog'] = ['<= 0.6.5', require: false]
gems['win32-process'] = ['<= 0.7.5', require: false] gems['win32-process'] = ['<= 0.7.5', require: false]
gems['win32-security'] = ['<= 0.2.5', require: false] gems['win32-security'] = ['<= 0.2.5', require: false]
gems['win32-service'] = ['<= 0.8.8', require: false] gems['win32-service'] = ['0.8.8', require: false]
end end
gems.each do |gem_name, gem_params| gems.each do |gem_name, gem_params|

296
HISTORY.md Normal file
View File

@@ -0,0 +1,296 @@
## 2.4.0
### Summary
This release uses the PDK convert functionality which in return makes the module PDK compliant. Also includes a clean up from Rubocop.
#### Changed
- 1.3.2 PDK convert has been applied [MODULES-6456](https://tickets.puppetlabs.com/browse/MODULES-6456)
- The modules has undergone a Rubocop cleanup.
#### Fixed
- $java_home for SLES 11.4 has been updated to the correct location.
## Supported Release [2.3.0]
### Summary
This release is in order to implement Rubocop changes into the module.
#### Added
- Several Modulesync changes have been made.
- Rubocop has been implemented in the module.
- CentOS 7 is now supported.
- Red Hat Enterprise Linux (RHEL) 7 is now supported.
- Ubuntu artful 1710 now supported.
- Bionic 1804 now supported.
## Supported Release [2.2.0]
### Summary
This release is a maintenance release that includes a roll up of minor changes.
#### Added
- Addition of Ubuntu for Oracle Java.
- Addition of Debian 9 in supported versions.
- Addition of OpenBSD case and use `realpath` rather than `readlink` in Java Default Home Facter fact.
#### Removed
- Removal of OpenBSD as a special case and deprecated `with_env` in Java Version Facter Facter fact.
## Supported Release 2.1.1
### Summary
This release is a maintenance release that includes a roll up of minor changes.
#### Added
- Basic Arch Linux, Cloud Linux and Ubuntu 17.04 compatibility.
- Metadata bump for Puppet 5.
- Search for matching line with java version.
- ([MODULES-4069](https://tickets.puppet.com/browse/MODULES-4069)) Fail when required params are not available in params.
- A test for java version when java not installed.
- Allow latest archive version as dependency.
#### Changed
- CONTRIBUTING.md document includes updates.
- Removal of Ubuntu 10.04 ad 12.04, Debian 6 in supported versions.
## Supported Release 2.1.0
### Summary
This release adds fixes to restore the ability to install Oracle Java. It also fixes the paths for the latest RHEL 7 1.7.0 and 1.8.0 OpenJDKs.
### Added
- java::oracle parameter `url`
- java::oracle parameter `url_hash`
### Fixed
- Let `java_default_home` fact work when /usr/bin/java does not exist
- Add puppet 4 parameter types
- Use `/usr/lib/jvm/java-1.x.0` symlinks for `java_home` defaults.
## Supported Release 2.0.0
### Summary
This is a major release including some bug fixes, new parameters, and general module updates.
**This release drops Puppet 3 support**
#### Added
- Debian Stretch, Yakkety Yak, Amazon Linux, Oracle Linux, Scientific Linux CERN compatibility
- `version_major` and `version_minor` parameters for specifying Java SE version to install
- `$JAVA_HOME` now set by the module on compatible systems. The `java_home` parameter is also provided for manual setting. [MODULES-2971](https://tickets.puppetlabs.com/browse/MODULES-2971)
- `proxy_server` and `proxy_type` for choosing a proxy server to get Java from
#### Changed
- Moved lower Puppet version requirement to 4.7.0
#### Fixed
- Module no longer downloads the Java archive on Puppet runs if Java is already installed.
- java_default_home fact is not always correct on oracle packages [MODULES-4050](https://tickets.puppetlabs.com/browse/MODULES-4050)
- Order of operations for archives [MODULES-4751](https://tickets.puppetlabs.com/browse/https://tickets.puppetlabs.com/browse/MODULES-4751)
- Increase Xmx setting for `java_version` fact [MODULES-4736](https://tickets.puppetlabs.com/browse/MODULES-4736)
## Supported Release 1.6.0
### Summary
Addition of a new supported OS, along with several other features and bugfixes.
#### Features
- Ubuntu 16.04 support.
- Addition example for installing Java 8.
- Update to newest modulesync_configs.
- Addition of RedHat for Oracle Java.
#### Bugfixes
- Custom archive type now given extract_path.
- Fix for rspec deprectation warnings.
- Typo fixes for readme.
- Fixed tests to run under strict variables.
- Updated Java package for SLES 11.4.
## Supported Release 1.5.0
### Summary
A release which has several support additions for different OSes. Also a couple of additional features and a few bug fixes.
#### Features
- Added Ubuntu 15.10 compatibility.
- Addition of two facts: java_libjvm_path and java_default_home.
- Added support for oracle-j2re1.8 and oracle-j2sdk1.8.
- Adds FreeBSD Support.
- Exposed the Puppet package resources install_options parameter via a new class parameter named package_options.
- Debian 8 support.
- Add support for official Oracle Java SE jdk and jre packages for CentOS.
- Use java 8 as the default on RHEL > 7.0.
#### Bugfixes
- Updated fixtures.yml to use git instead of http for stdlib.
- Updates to current msync configs.
- Small README updates and syntax error fixes.
## Supported Release 1.4.3
### Summary
Small release for support of newer PE versions. This increments the version of PE in the metadata.json file.
## 2015-10-07 - Supported Release 1.4.2
### Summary
This release fixes the fact to not trigger java every time on OS X when it is not available.
#### Bugfixes
- Causes java\_version fact to not run `java` when java is not installed on OS X
## 2015-07-16 - Supported Release 1.4.1
### Summary
This release updates the metadata for the upcoming release of PE and update params for OEL to match metadata
#### Bugfixes:
- Add missing OEL to params
## 2015-07-07 - Supported Release 1.4.0
### Summary
This release adds several new features, bugfixes, documentation updates, and test improvements.
#### Features:
- Puppet 4 support and testing
- Adds support for several Operating Systems
- Ubuntu 15.04
- OpenBSD 5.6, 5.7
- Fedora 20, 21, 22
#### Bugfixes:
- Fixes java_version fact to work on large systems. (MODULES-1749)
- Improves maintainability of java_version fact.
- Fixes java package names on Fedora 21+.
- Fixes java install problems on Puppet 3.7.5 - 3.8.1 (PUP-4520)
- Fixes create-java-alternatives commands on RedHat distros.
- Fixes bug with Debian systems missing java-common package.
## 2015-01-20 - Supported Release 1.3.0
### Summary
This release adds 3 new facts for determining Java version, adds RHEL alternatives support, adds utopic support, and fixes the flag for `update-java-alternatives` when installed from a headless pacakge.
#### Features
- Added RHEL support for alternatives
- New facts
- java_major_version
- java_patch_level
- java_version
- Add support for utopic
#### Bugfixes
- Use `--jre-headless` in the `update-java-alternatives` command when installed from a `headless` package
## 2014-11-11 - Supported Version 1.2.0
### Summary:
This release adds SLES 12 support and is tested for Future Parser Support
#### Bugfixes:
- Several readme updates
- Testcase flexability increased
#### Features:
- Add SLES 12 support
- Future Parser tested
- Validated against PE 3.7
## 2014-08-25 - Supported Version 1.1.2
### Summary:
This release begins the support coverage of the puppetlabs-java module.
### Bugfixes:
- Update java alternative values from deprecated names
- Readme updated
- Testing updated
## 2014-05-02 - Version 1.1.1
### Summary:
Add support for new versions of Debian and Ubuntu!
#### Features:
- Add support for Ubuntu Trusty (14.04)
- Add support for Debian Jessie (8.x)
## 2014-01-06 - Version 1.1.0
### Summary:
Primarily a release for Ubuntu users!
#### Features:
- Add support for Ubuntu Saucy (13.10)
- Add `java_home` parameter for centralized setting of JAVA_HOME.
- Add Scientific Linux
#### Bugfixes:
- Plus signs are valid in debian/ubuntu package names.
## 2013-08-01 - Version 1.0.1
Matthaus Owens <matthaus@puppetlabs.com>
* Update java packages for Fedora systems
## 2013-07-29 - Version 1.0.0
#### Detailed Changes
Krzysztof Suszyński <krzysztof.suszynski@coi.gov.pl>
* Adding support for Oracle Enterprise Linux
Peter Drake <pdrake@allplayers.com>
* Add support for natty
Robert Munteanu <rmuntean@adobe.com>
* Add support for OpenSUSE
Martin Jackson <martin@uncommonsense-uk.com>
* Added support Amazon Linux using facter >= 1.7.x
Gareth Rushgrove <gareth@morethanseven.net>
Brett Porter <brett@apache.org>
* Fixes for older versions of CentOS
* Improvements to module build and tests
Nathan R Valentine <nrvale0@gmail.com>
* Add support for Ubuntu quantal and raring
Sharif Nassar <sharif@mediatemple.net>
* Add support for Debian alternatives, and more than one JDK/JRE per platform.
## 2013-04-04 - Version 0.3.0
Reid Vandewiele <reid@puppetlabs.com> -
* Refactor, introduce params pattern
## 2012-11-15 - Version 0.2.0
Scott Schneider <sschneider@puppetlabs.com>
* Add Solaris support
## 2011-06-16 - Version 0.1.5
Jeff McCune <jeff@puppetlabs.com>
* Add Debian based distro (Lucid) support
## 2011-06-02 - Version 0.1.4
Jeff McCune <jeff@puppetlabs.com>
* Fix class composition ordering problems
## 2011-05-28 - Version 0.1.3
Jeff McCune <jeff@puppetlabs.com>
* Remove stages
## 2011-05-26 - Version 0.1.2
Jeff McCune <jeff@puppetlabs.com>
* Changes JRE/JDK selection class parameter to $distribution
## 2011-05-25 - Version 0.1.1
Jeff McCune <jeff@puppetlabs.com>
* Re-did versioning to follow semantic versioning
* Add validation of class parameters
## 2011-05-24 - Version 0.1.0
Jeff McCune <jeff@puppetlabs.com>
* Default to JDK version 6u25
## 2011-05-24 - Version 0.0.1
Jeff McCune <jeff@puppetlabs.com>
* Initial release
[2.3.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.2.0...2.3.0
[2.2.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.1.1...2.2.0

View File

@@ -175,6 +175,8 @@ The java module includes a few facts to describe the version of Java installed o
## Limitations ## Limitations
For an extensive list of supported operating systems, see [metadata.json](https://github.com/puppetlabs/puppetlabs-java/blob/master/metadata.json)
This module cannot guarantee installation of Java versions that are not available on platform repositories. This module cannot guarantee installation of Java versions that are not available on platform repositories.
This module only manages a singular installation of Java, meaning it is not possible to manage e.g. OpenJDK 7, Oracle Java 7 and Oracle Java 8 in parallel on the same system. This module only manages a singular installation of Java, meaning it is not possible to manage e.g. OpenJDK 7, Oracle Java 7 and Oracle Java 8 in parallel on the same system.
@@ -188,12 +190,11 @@ OpenJDK is supported on:
* Red Hat Enterprise Linux (RHEL) 5, 6, 7 * Red Hat Enterprise Linux (RHEL) 5, 6, 7
* CentOS 5, 6, 7 * CentOS 5, 6, 7
* Oracle Linux 6, 7 * Oracle Linux 6, 7
* Scientific Linux 5, 6 * Scientific Linux 6
* Debian 6, 7 * Debian 8, 9
* Ubuntu 10.04, 12.04, 14.04 * Ubuntu 14.04, 16.04, 18.04
* Solaris 11 * Solaris 11
* SLES 11 SP1, SP2, SP3, SP4; SLES 12, SP1, SP2 * SLES 11, 12
* OpenBSD 5.6, 5.7
Sun Java is supported on: Sun Java is supported on:

View File

@@ -1,3 +1,76 @@
require 'puppetlabs_spec_helper/rake_tasks' require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-syntax/tasks/puppet-syntax' require 'puppet-syntax/tasks/puppet-syntax'
require 'puppet_blacksmith/rake_tasks' require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
require 'github_changelog_generator/task' if Bundler.rubygems.find_name('github_changelog_generator').any?
require 'puppet-strings/tasks' if Bundler.rubygems.find_name('puppet-strings').any?
def changelog_user
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = nil || JSON.load(File.read('metadata.json'))['author']
raise "unable to find the changelog_user in .sync.yml, or the author in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator user:#{returnVal}"
returnVal
end
def changelog_project
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = nil || JSON.load(File.read('metadata.json'))['name']
raise "unable to find the changelog_project in .sync.yml or the name in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator project:#{returnVal}"
returnVal
end
def changelog_future_release
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = JSON.load(File.read('metadata.json'))['version']
raise "unable to find the future_release (version) in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator future_release:#{returnVal}"
returnVal
end
PuppetLint.configuration.send('disable_relative')
if Bundler.rubygems.find_name('github_changelog_generator').any?
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
config.user = "#{changelog_user}"
config.project = "#{changelog_project}"
config.future_release = "#{changelog_future_release}"
config.exclude_labels = ['maintenance']
config.header = "# Change log\n\nAll notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org)."
config.add_pr_wo_labels = true
config.issues = false
config.merge_prefix = "### UNCATEGORIZED PRS; GO LABEL THEM"
config.configure_sections = {
"Changed" => {
"prefix" => "### Changed",
"labels" => ["backwards-incompatible"],
},
"Added" => {
"prefix" => "### Added",
"labels" => ["feature", "enhancement"],
},
"Fixed" => {
"prefix" => "### Fixed",
"labels" => ["bugfix"],
},
}
end
else
desc 'Generate a Changelog from GitHub'
task :changelog do
raise <<EOM
The changelog tasks depends on unreleased features of the github_changelog_generator gem.
Please manually add it to your .sync.yml for now, and run `pdk update`:
---
Gemfile:
optional:
':development':
- gem: 'github_changelog_generator'
git: 'https://github.com/skywinder/github-changelog-generator'
ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018'
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')"
EOM
end
end

View File

@@ -11,7 +11,7 @@
# Notes: # Notes:
# None # None
Facter.add(:java_default_home) do Facter.add(:java_default_home) do
confine kernel: %w[Linux OpenBSD] confine kernel: ['Linux', 'OpenBSD']
java_default_home = nil java_default_home = nil
setcode do setcode do
java_bin = Facter::Util::Resolution.which('java').to_s.strip java_bin = Facter::Util::Resolution.which('java').to_s.strip

View File

@@ -11,7 +11,7 @@
# Notes: # Notes:
# None # None
Facter.add(:java_libjvm_path) do Facter.add(:java_libjvm_path) do
confine kernel: %w[Linux OpenBSD] confine kernel: ['Linux', 'OpenBSD']
setcode do setcode do
java_default_home = Facter.value(:java_default_home) java_default_home = Facter.value(:java_default_home)
java_libjvm_file = Dir.glob("#{java_default_home}/jre/lib/**/libjvm.so") java_libjvm_file = Dir.glob("#{java_default_home}/jre/lib/**/libjvm.so")

View File

@@ -44,7 +44,7 @@ class java::config ( ) {
} }
} }
} }
'FreeBSD', 'Suse': { 'Suse': {
if $java::use_java_home != undef { if $java::use_java_home != undef {
file_line { 'java-home-environment': file_line { 'java-home-environment':
path => '/etc/environment', path => '/etc/environment',
@@ -53,6 +53,20 @@ class java::config ( ) {
} }
} }
} }
'FreeBSD': {
if $java::use_java_home != undef {
file_line { 'java-home-environment-profile':
path => '/etc/profile',
line => "JAVA_HOME=${$java::use_java_home}; export JAVA_HOME",
match => 'JAVA_HOME=',
}
file_line { 'java-home-environment-cshrc':
path => '/etc/csh.login',
line => "setenv JAVA_HOME ${$java::use_java_home}",
match => 'setenv JAVA_HOME',
}
}
}
'Solaris': { 'Solaris': {
if $java::use_java_home != undef { if $java::use_java_home != undef {
file_line { 'java-home-environment': file_line { 'java-home-environment':

View File

@@ -87,6 +87,9 @@
# Directory hash used by the download.oracle.com site. This value is a 32 character string # Directory hash used by the download.oracle.com site. This value is a 32 character string
# which is part of the file URL returned by the JDK download site. # which is part of the file URL returned by the JDK download site.
# #
# [*jce*]
# Install Oracles Java Cryptographic Extensions into the JRE or JDK
#
# ### Author # ### Author
# mike@marseglia.org # mike@marseglia.org
# #
@@ -101,18 +104,26 @@ define java::oracle (
$proxy_type = undef, $proxy_type = undef,
$url = undef, $url = undef,
$url_hash = undef, $url_hash = undef,
$jce = false,
) { ) {
# archive module is used to download the java package # archive module is used to download the java package
include ::archive include ::archive
ensure_resource('class', 'stdlib')
# validate java Standard Edition to download # validate java Standard Edition to download
if $java_se !~ /(jre|jdk)/ { if $java_se !~ /(jre|jdk)/ {
fail('Java SE must be either jre or jdk.') fail('Java SE must be either jre or jdk.')
} }
if $jce {
$jce_download = $version ? {
'8' => 'http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip',
'7' => 'http://download.oracle.com/otn-pub/java/jce/7/UnlimitedJCEPolicyJDK7.zip',
'6' => 'http://download.oracle.com/otn-pub/java/jce_policy/6/jce_policy-6.zip',
default => undef
}
}
# determine Oracle Java major and minor version, and installation path # determine Oracle Java major and minor version, and installation path
if $version_major and $version_minor { if $version_major and $version_minor {
@@ -121,7 +132,13 @@ define java::oracle (
$release_hash = $url_hash $release_hash = $url_hash
if $release_major =~ /(\d+)u(\d+)/ { if $release_major =~ /(\d+)u(\d+)/ {
# Required for CentOS systems where Java8 update number is >= 171 to ensure
# the package is visible to Puppet
if $facts['os']['family'] == 'RedHat' and $2 >= '171' {
$install_path = "${java_se}1.${1}.0_${2}-amd64"
} else {
$install_path = "${java_se}1.${1}.0_${2}" $install_path = "${java_se}1.${1}.0_${2}"
}
} else { } else {
$install_path = "${java_se}${release_major}${release_minor}" $install_path = "${java_se}${release_major}${release_minor}"
} }
@@ -141,16 +158,16 @@ define java::oracle (
$release_hash = undef $release_hash = undef
} }
'8' : { '8' : {
$release_major = '8u131' $release_major = '8u192'
$release_minor = 'b11' $release_minor = 'b12'
$install_path = "${java_se}1.8.0_131" $install_path = "${java_se}1.8.0_192"
$release_hash = 'd54c1d3a095b4ff2b6607d096fa80163' $release_hash = '750e1c8617c5452694857ad95c3ee230'
} }
default : { default : {
$release_major = '8u131' $release_major = '8u192'
$release_minor = 'b11' $release_minor = 'b12'
$install_path = "${java_se}1.8.0_131" $install_path = "${java_se}1.8.0_192"
$release_hash = 'd54c1d3a095b4ff2b6607d096fa80163' $release_hash = '750e1c8617c5452694857ad95c3ee230'
} }
} }
} }
@@ -183,6 +200,11 @@ define java::oracle (
fail ( "unsupported platform ${$facts['kernel']}" ) } fail ( "unsupported platform ${$facts['kernel']}" ) }
} }
# Install required unzip packages for jce
if $jce {
ensure_resource('package', 'unzip', { 'ensure' => 'present' })
}
# set java architecture nomenclature # set java architecture nomenclature
case $facts['os']['architecture'] { case $facts['os']['architecture'] {
'i386' : { $arch = 'i586' } 'i386' : { $arch = 'i586' }
@@ -265,20 +287,44 @@ define java::oracle (
} }
case $facts['kernel'] { case $facts['kernel'] {
'Linux' : { 'Linux' : {
exec { "Install Oracle java_se ${java_se} ${version}" : case $facts['os']['family'] {
'Debian' : {
ensure_resource('file', '/usr/lib/jvm', {
ensure => directory,
})
$install_requires = [Archive[$destination], File['/usr/lib/jvm']]
}
default : {
$install_requires = [Archive[$destination]]
}
}
exec { "Install Oracle java_se ${java_se} ${version} ${release_major} ${release_minor}" :
path => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin', path => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin',
command => $install_command, command => $install_command,
creates => $creates_path, creates => $creates_path,
require => Archive[$destination] require => $install_requires
} }
case $facts['os']['family'] {
'Debian' : { if ($jce and $jce_download != undef) {
file{'/usr/lib/jvm': $jce_path = $java_se ? {
ensure => directory, 'jre' => "${creates_path}/lib/security",
before => Exec["Install Oracle java_se ${java_se} ${version}"] 'jdk' => "${creates_path}/jre/lib/security"
} }
archive { "/tmp/jce-${version}.zip":
source => $jce_download,
cookie => 'gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie',
extract => true,
extract_path => $jce_path,
extract_flags => '-oj',
creates => "${jce_path}/US_export_policy.jar",
cleanup => false,
proxy_server => $proxy_server,
proxy_type => $proxy_type,
require => [
Package['unzip'],
Exec["Install Oracle java_se ${java_se} ${version} ${release_major} ${release_minor}"]
]
} }
default : { }
} }
} }
default : { default : {

View File

@@ -74,18 +74,23 @@ class java::params {
'amd64' => 'x64', 'amd64' => 'x64',
default => $::architecture default => $::architecture
} }
$openjdk_architecture = $::architecture ? {
'aarch64' => 'arm64',
'armv7l' => 'armhf',
default => $::architecture
}
case $::lsbdistcodename { case $::lsbdistcodename {
'lenny', 'squeeze', 'lucid', 'natty': { 'lenny', 'squeeze', 'lucid', 'natty': {
$java = { $java = {
'jdk' => { 'jdk' => {
'package' => 'openjdk-6-jdk', 'package' => 'openjdk-6-jdk',
'alternative' => "java-6-openjdk-${::architecture}", 'alternative' => "java-6-openjdk-${openjdk_architecture}",
'alternative_path' => '/usr/lib/jvm/java-6-openjdk/jre/bin/java', 'alternative_path' => '/usr/lib/jvm/java-6-openjdk/jre/bin/java',
'java_home' => '/usr/lib/jvm/java-6-openjdk/jre/', 'java_home' => '/usr/lib/jvm/java-6-openjdk/jre/',
}, },
'jre' => { 'jre' => {
'package' => 'openjdk-6-jre-headless', 'package' => 'openjdk-6-jre-headless',
'alternative' => "java-6-openjdk-${::architecture}", 'alternative' => "java-6-openjdk-${openjdk_architecture}",
'alternative_path' => '/usr/lib/jvm/java-6-openjdk/jre/bin/java', 'alternative_path' => '/usr/lib/jvm/java-6-openjdk/jre/bin/java',
'java_home' => '/usr/lib/jvm/java-6-openjdk/jre/', 'java_home' => '/usr/lib/jvm/java-6-openjdk/jre/',
}, },
@@ -107,15 +112,15 @@ class java::params {
$java = { $java = {
'jdk' => { 'jdk' => {
'package' => 'openjdk-7-jdk', 'package' => 'openjdk-7-jdk',
'alternative' => "java-1.7.0-openjdk-${::architecture}", 'alternative' => "java-1.7.0-openjdk-${openjdk_architecture}",
'alternative_path' => "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/bin/java", 'alternative_path' => "/usr/lib/jvm/java-1.7.0-openjdk-${openjdk_architecture}/bin/java",
'java_home' => "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/", 'java_home' => "/usr/lib/jvm/java-1.7.0-openjdk-${openjdk_architecture}/",
}, },
'jre' => { 'jre' => {
'package' => 'openjdk-7-jre-headless', 'package' => 'openjdk-7-jre-headless',
'alternative' => "java-1.7.0-openjdk-${::architecture}", 'alternative' => "java-1.7.0-openjdk-${::architecture}",
'alternative_path' => "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/bin/java", 'alternative_path' => "/usr/lib/jvm/java-1.7.0-openjdk-${openjdk_architecture}/bin/java",
'java_home' => "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/", 'java_home' => "/usr/lib/jvm/java-1.7.0-openjdk-${openjdk_architecture}/",
}, },
'oracle-jre' => { 'oracle-jre' => {
'package' => 'oracle-j2re1.7', 'package' => 'oracle-j2re1.7',
@@ -155,19 +160,35 @@ class java::params {
}, },
} }
} }
'stretch', 'vivid', 'wily', 'xenial', 'yakkety', 'zesty', 'artful', 'bionic': { 'stretch', 'vivid', 'wily', 'xenial', 'yakkety', 'zesty', 'artful': {
$java = { $java = {
'jdk' => { 'jdk' => {
'package' => 'openjdk-8-jdk', 'package' => 'openjdk-8-jdk',
'alternative' => "java-1.8.0-openjdk-${::architecture}", 'alternative' => "java-1.8.0-openjdk-${openjdk_architecture}",
'alternative_path' => "/usr/lib/jvm/java-1.8.0-openjdk-${::architecture}/bin/java", 'alternative_path' => "/usr/lib/jvm/java-1.8.0-openjdk-${openjdk_architecture}/bin/java",
'java_home' => "/usr/lib/jvm/java-1.8.0-openjdk-${::architecture}/", 'java_home' => "/usr/lib/jvm/java-1.8.0-openjdk-${openjdk_architecture}/",
}, },
'jre' => { 'jre' => {
'package' => 'openjdk-8-jre-headless', 'package' => 'openjdk-8-jre-headless',
'alternative' => "java-1.8.0-openjdk-${::architecture}", 'alternative' => "java-1.8.0-openjdk-${openjdk_architecture}",
'alternative_path' => "/usr/lib/jvm/java-1.8.0-openjdk-${::architecture}/bin/java", 'alternative_path' => "/usr/lib/jvm/java-1.8.0-openjdk-${openjdk_architecture}/bin/java",
'java_home' => "/usr/lib/jvm/java-1.8.0-openjdk-${::architecture}/", 'java_home' => "/usr/lib/jvm/java-1.8.0-openjdk-${openjdk_architecture}/",
}
}
}
'bionic': {
$java = {
'jdk' => {
'package' => 'openjdk-11-jdk',
'alternative' => "java-1.11.0-openjdk-${openjdk_architecture}",
'alternative_path' => "/usr/lib/jvm/java-1.11.0-openjdk-${openjdk_architecture}/bin/java",
'java_home' => "/usr/lib/jvm/java-1.11.0-openjdk-${openjdk_architecture}/",
},
'jre' => {
'package' => 'openjdk-11-jre-headless',
'alternative' => "java-1.11.0-openjdk-${openjdk_architecture}",
'alternative_path' => "/usr/lib/jvm/java-1.11.0-openjdk-${openjdk_architecture}/bin/java",
'java_home' => "/usr/lib/jvm/java-1.11.0-openjdk-${openjdk_architecture}/",
} }
} }
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "puppetlabs-java", "name": "puppetlabs-java",
"version": "2.4.0", "version": "3.3.0",
"author": "puppetlabs", "author": "puppetlabs",
"summary": "Installs the correct Java package on various platforms.", "summary": "Installs the correct Java package on various platforms.",
"license": "Apache-2.0", "license": "Apache-2.0",
@@ -10,11 +10,11 @@
"dependencies": [ "dependencies": [
{ {
"name": "puppetlabs/stdlib", "name": "puppetlabs/stdlib",
"version_requirement": ">= 4.13.1 < 5.0.0" "version_requirement": ">= 4.13.1 < 6.0.0"
}, },
{ {
"name": "puppet/archive", "name": "puppet/archive",
"version_requirement": ">= 1.1.0 < 3.0.0" "version_requirement": ">= 1.1.0 < 4.0.0"
} }
], ],
"operatingsystem_support": [ "operatingsystem_support": [
@@ -44,22 +44,12 @@
{ {
"operatingsystem": "Scientific", "operatingsystem": "Scientific",
"operatingsystemrelease": [ "operatingsystemrelease": [
"5",
"6" "6"
] ]
}, },
{
"operatingsystem": "Fedora",
"operatingsystemrelease": [
"20",
"21",
"22"
]
},
{ {
"operatingsystem": "Debian", "operatingsystem": "Debian",
"operatingsystemrelease": [ "operatingsystemrelease": [
"7",
"8", "8",
"9" "9"
] ]
@@ -68,34 +58,26 @@
"operatingsystem": "Ubuntu", "operatingsystem": "Ubuntu",
"operatingsystemrelease": [ "operatingsystemrelease": [
"14.04", "14.04",
"16.04" "16.04",
"18.04"
] ]
}, },
{ {
"operatingsystem": "SLES", "operatingsystem": "SLES",
"operatingsystemrelease": [ "operatingsystemrelease": [
"11 SP1", "11",
"11 SP2",
"11 SP3",
"11 SP4",
"12", "12",
"12 SP1", "15"
"12 SP2"
]
},
{
"operatingsystem": "Solaris",
"operatingsystemrelease": [
"11"
] ]
} }
], ],
"requirements": [ "requirements": [
{ {
"name": "puppet", "name": "puppet",
"version_requirement": ">= 4.7.0 < 6.0.0" "version_requirement": ">= 4.7.0 < 7.0.0"
} }
], ],
"template-url": "https://github.com/puppetlabs/pdk-templates", "template-url": "https://github.com/puppetlabs/pdk-templates/",
"template-ref": "1.3.2-0-g07678c8" "template-ref": "heads/master-0-g6814a87",
"pdk-version": "1.7.1"
} }

View File

@@ -1,10 +1,11 @@
require 'spec_helper_acceptance' require 'spec_helper_acceptance'
include Unix::File
# RedHat, CentOS, Scientific, Oracle prior to 5.0 : Sun Java JDK/JRE 1.6 # RedHat, CentOS, Scientific, Oracle prior to 5.0 : Sun Java JDK/JRE 1.6
# RedHat, CentOS, Scientific, Oracle 5.0 < x < 6.3 : OpenJDK Java JDK/JRE 1.6 # RedHat, CentOS, Scientific, Oracle 5.0 < x < 6.3 : OpenJDK Java JDK/JRE 1.6
# RedHat, CentOS, Scientific, Oracle after 6.3 : OpenJDK Java JDK/JRE 1.7 # RedHat, CentOS, Scientific, Oracle after 6.3 : OpenJDK Java JDK/JRE 1.7
# Debian 5/6 & Ubuntu 10.04/11.04 : OpenJDK Java JDK/JRE 1.6 or Sun Java JDK/JRE 1.6 # Debian Jesse & Ubuntu 14.04 : OpenJDK Java JDK/JRE 1.7 or Oracle Java JDK/JRE 1.6
# Debian 7/Jesse & Ubuntu 12.04 - 14.04 : OpenJDK Java JDK/JRE 1.7 or Oracle Java JDK/JRE 1.6
# Solaris (what versions?) : Java JDK/JRE 1.7 # Solaris (what versions?) : Java JDK/JRE 1.7
# OpenSuSE : OpenJDK Java JDK/JRE 1.7 # OpenSuSE : OpenJDK Java JDK/JRE 1.7
# SLES : IBM Java JDK/JRE 1.6 # SLES : IBM Java JDK/JRE 1.6
@@ -33,17 +34,17 @@ java_class_jre = "class { 'java':\n"\
java_class = "class { 'java': }" java_class = "class { 'java': }"
sources = "file_line { 'non-free source':\n"\ _sources = "file_line { 'non-free source':\n"\
" path => '/etc/apt/sources.list',\n"\ " path => '/etc/apt/sources.list',\n"\
" match => \"deb http://osmirror.delivery.puppetlabs.net/debian/ ${::lsbdistcodename} main\",\n"\ " match => \"deb http://osmirror.delivery.puppetlabs.net/debian/ ${::lsbdistcodename} main\",\n"\
" line => \"deb http://osmirror.delivery.puppetlabs.net/debian/ ${::lsbdistcodename} main non-free\",\n"\ " line => \"deb http://osmirror.delivery.puppetlabs.net/debian/ ${::lsbdistcodename} main non-free\",\n"\
'}' '}'
sun_jre = "class { 'java':\n"\ _sun_jre = "class { 'java':\n"\
" distribution => 'sun-jre',\n"\ " distribution => 'sun-jre',\n"\
'}' '}'
sun_jdk = "class { 'java':\n"\ _sun_jdk = "class { 'java':\n"\
" distribution => 'sun-jdk',\n"\ " distribution => 'sun-jdk',\n"\
'}' '}'
@@ -80,20 +81,65 @@ bogus_alternative = "class { 'java':\n"\
" java_alternative_path => '/whatever',\n"\ " java_alternative_path => '/whatever',\n"\
'}' '}'
def apply_manifest_wheezy_case(pp) # Oracle installs are disabled by default, because the links to valid oracle installations
# With the version of java that ships with pe on debian wheezy, update-alternatives # change often. Look the parameters up from the Oracle download URLs at https://java.oracle.com and
# throws an error on the first run due to missing alternative for policytool. It still # enable the tests:
# updates the alternatives for java
if fact('operatingsystem') == 'Debian' && fact('lsbdistcodename') == 'wheezy' oracle_enabled = false
apply_manifest(pp) oracle_version_major = '8'
else oracle_version_minor = '192'
apply_manifest(pp, catch_failures: true) oracle_version_build = '12'
end oracle_hash = '750e1c8617c5452694857ad95c3ee230'
end
install_oracle_jre = <<EOL
java::oracle {
'test_oracle_jre':
version => '#{oracle_version_major}',
version_major => '#{oracle_version_major}u#{oracle_version_minor}',
version_minor => 'b#{oracle_version_build}',
url_hash => '#{oracle_hash}',
java_se => 'jre',
}
EOL
install_oracle_jdk = <<EOL
java::oracle {
'test_oracle_jdk':
version => '#{oracle_version_major}',
version_major => '#{oracle_version_major}u#{oracle_version_minor}',
version_minor => 'b#{oracle_version_build}',
url_hash => '#{oracle_hash}',
java_se => 'jdk',
}
EOL
install_oracle_jre_jce = <<EOL
java::oracle {
'test_oracle_jre':
version => '#{oracle_version_major}',
version_major => '#{oracle_version_major}u#{oracle_version_minor}',
version_minor => 'b#{oracle_version_build}',
url_hash => '#{oracle_hash}',
java_se => 'jre',
jce => true,
}
EOL
install_oracle_jdk_jce = <<EOL
java::oracle {
'test_oracle_jdk':
version => '#{oracle_version_major}',
version_major => '#{oracle_version_major}u#{oracle_version_minor}',
version_minor => 'b#{oracle_version_build}',
url_hash => '#{oracle_hash}',
java_se => 'jdk',
jce => true,
}
EOL
context 'installing java jre', unless: UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do context 'installing java jre', unless: UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
it 'installs jre' do it 'installs jre' do
apply_manifest_wheezy_case(java_class_jre) apply_manifest(java_class_jre, catch_failures: true)
apply_manifest(java_class_jre, catch_changes: true) apply_manifest(java_class_jre, catch_changes: true)
end end
end end
@@ -105,34 +151,10 @@ context 'installing java jdk', unless: UNSUPPORTED_PLATFORMS.include?(fact('osfa
end end
end end
# C14686
context 'sun', if: (fact('operatingsystem') == 'Debian' && fact('operatingsystemrelease').match(%r{(5|6)})) do
before :all do
apply_manifest(sources)
shell('apt-get update')
shell('echo "sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true" | debconf-set-selections')
shell('echo "sun-java6-jre shared/accepted-sun-dlj-v1-1 select true" | debconf-set-selections')
end
describe 'jre' do
it 'installs sun-jre' do
apply_manifest(sun_jre, catch_failures: true)
apply_manifest(sun_jre, catch_changes: true)
end
end
describe 'jdk' do
it 'installs sun-jdk' do
apply_manifest(sun_jdk, catch_failures: true)
apply_manifest(sun_jdk, catch_changes: true)
end
end
end
# C14704 # C14704
# C14705 # C14705
# C15006 # C15006
context 'oracle', if: ( context 'oracle', if: (
(fact('operatingsystem') == 'Debian') && fact('operatingsystemrelease').match(%r{^7}) ||
(fact('operatingsystem') == 'Ubuntu') && fact('operatingsystemrelease').match(%r{^12\.04}) ||
(fact('operatingsystem') == 'Ubuntu') && fact('operatingsystemrelease').match(%r{^14\.04}) (fact('operatingsystem') == 'Ubuntu') && fact('operatingsystemrelease').match(%r{^14\.04})
) do ) do
# not supported # not supported
@@ -191,3 +213,37 @@ context 'with failure cases' do
end end
end end
end end
# Test oracle java installs
context 'java::oracle', if: oracle_enabled, unless: UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
install_path = '/usr/lib/jvm'
version_suffix = ''
if fact('osfamily') == 'RedHat' || fact('osfamily') == 'Amazon'
install_path = '/usr/java'
version_suffix = '-amd64'
end
it 'installs oracle jdk' do
apply_manifest(install_oracle_jdk, catch_failures: true)
apply_manifest(install_oracle_jdk, catch_changes: true)
result = shell("test ! -e #{install_path}/jdk1.#{oracle_version_major}.0_#{oracle_version_minor}#{version_suffix}/jre/lib/security/local_policy.jar")
expect(result.exit_code).to eq(0)
end
it 'installs oracle jre' do
apply_manifest(install_oracle_jre, catch_failures: true)
apply_manifest(install_oracle_jre, catch_changes: true)
result = shell("test ! -e #{install_path}/jre1.#{oracle_version_major}.0_#{oracle_version_minor}#{version_suffix}/lib/security/local_policy.jar")
expect(result.exit_code).to eq(0)
end
it 'installs oracle jdk with jce' do
apply_manifest(install_oracle_jdk_jce, catch_failures: true)
apply_manifest(install_oracle_jdk_jce, catch_changes: true)
result = shell("test -e #{install_path}/jdk1.#{oracle_version_major}.0_#{oracle_version_minor}#{version_suffix}/jre/lib/security/local_policy.jar")
expect(result.exit_code).to eq(0)
end
it 'installs oracle jre with jce' do
apply_manifest(install_oracle_jre_jce, catch_failures: true)
apply_manifest(install_oracle_jre_jce, catch_changes: true)
result = shell("test -e #{install_path}/jre1.#{oracle_version_major}.0_#{oracle_version_minor}#{version_suffix}/lib/security/local_policy.jar")
expect(result.exit_code).to eq(0)
end
end

View File

@@ -38,43 +38,6 @@ describe 'java', type: :class do
it { is_expected.to contain_exec('update-java-alternatives').with_command('alternatives --set java /usr/java/jre1.7.0_67/bin/java') } it { is_expected.to contain_exec('update-java-alternatives').with_command('alternatives --set java /usr/java/jre1.7.0_67/bin/java') }
end end
context 'when select openjdk for Fedora 20' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '20', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-x86_64/') }
end
context 'when select openjdk for Fedora 21' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '21', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-x86_64/') }
end
context 'when select passed value for Fedora 20' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '20', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre', 'java_home' => '/usr/local/lib/jre/' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/lib/jre/') }
end
context 'when select passed value for Fedora 21' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '21', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre', 'java_home' => '/usr/local/lib/jre/' } }
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/lib/jre/') }
end
context 'when select passed value for Fedora 21 with yum option' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '21', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre', 'package_options' => ['--skip-broken'] } }
it { is_expected.to contain_package('java') }
end
context 'when select passed value for Centos 5.3' do context 'when select passed value for Centos 5.3' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '5.3', architecture: 'x86_64' } } let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '5.3', architecture: 'x86_64' } }
let(:params) { { 'package' => 'jdk', 'java_home' => '/usr/local/lib/jre' } } let(:params) { { 'package' => 'jdk', 'java_home' => '/usr/local/lib/jre' } }
@@ -90,81 +53,6 @@ describe 'java', type: :class do
it { is_expected.not_to contain_exec('update-java-alternatives') } it { is_expected.not_to contain_exec('update-java-alternatives') }
end end
context 'when select default for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
it { is_expected.to contain_package('java').with_name('openjdk-7-jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-1.7.0-openjdk-amd64 --jre') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') }
end
context 'when select Oracle JRE for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'oracle-jre' } }
it { is_expected.to contain_package('java').with_name('oracle-j2re1.7') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set j2re1.7-oracle --jre') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/j2re1.7-oracle/') }
end
context 'when select Oracle Java 8 JRE >=u100 for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'oracle-java8-jre' } }
it { is_expected.to contain_package('java').with_name('oracle-java8-jre') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set jre-8-oracle-x64 --jre') }
end
context 'when select Oracle Java 8 JDK >=u100 for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'oracle-java8-jdk' } }
it { is_expected.to contain_package('java').with_name('oracle-java8-jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set jdk-8-oracle-x64 --jre') }
end
context 'when select OpenJDK JRE for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'jre' } }
it { is_expected.to contain_package('java').with_name('openjdk-7-jre-headless') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-1.7.0-openjdk-amd64 --jre-headless') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') }
end
context 'when select default for Debian Squeeze' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'squeeze', operatingsystemrelease: '6.0.5', architecture: 'amd64' } }
it { is_expected.to contain_package('java').with_name('openjdk-6-jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk-amd64 --jre') }
end
context 'when select Oracle JRE for Debian Squeeze' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'squeeze', operatingsystemrelease: '6.0.5', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'sun-jre' } }
it { is_expected.to contain_package('java').with_name('sun-java6-jre') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-sun --jre') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/') }
end
context 'when select OpenJDK JRE for Debian Squeeze' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'squeeze', operatingsystemrelease: '6.0.5', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'jre' } }
it { is_expected.to contain_package('java').with_name('openjdk-6-jre-headless') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk-amd64 --jre-headless') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre/') }
end
context 'when select random alternative for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'java_alternative' => 'bananafish' } }
it { is_expected.to contain_package('java').with_name('openjdk-7-jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set bananafish --jre') }
end
context 'when select jdk for Ubuntu Vivid (15.04)' do context 'when select jdk for Ubuntu Vivid (15.04)' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Ubuntu', lsbdistcodename: 'vivid', operatingsystemrelease: '15.04', architecture: 'amd64' } } let(:facts) { { osfamily: 'Debian', operatingsystem: 'Ubuntu', lsbdistcodename: 'vivid', operatingsystemrelease: '15.04', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'jdk' } } let(:params) { { 'distribution' => 'jdk' } }
@@ -181,6 +69,22 @@ describe 'java', type: :class do
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') } it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
end end
context 'when select jdk for Ubuntu xenial (16.04) on ARM' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Ubuntu', lsbdistcodename: 'xenial', operatingsystemrelease: '16.04', architecture: 'armv7l' } }
let(:params) { { 'distribution' => 'jdk' } }
it { is_expected.to contain_package('java').with_name('openjdk-8-jdk') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-armhf/') }
end
context 'when select jdk for Ubuntu xenial (16.04) on ARM64' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Ubuntu', lsbdistcodename: 'xenial', operatingsystemrelease: '16.04', architecture: 'aarch64' } }
let(:params) { { 'distribution' => 'jdk' } }
it { is_expected.to contain_package('java').with_name('openjdk-8-jdk') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-arm64/') }
end
context 'when select openjdk for Amazon Linux' do context 'when select openjdk for Amazon Linux' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Amazon', operatingsystemrelease: '3.4.43-43.43.amzn1.x86_64', architecture: 'x86_64' } } let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Amazon', operatingsystemrelease: '3.4.43-43.43.amzn1.x86_64', architecture: 'x86_64' } }

7
spec/default_facts.yml Normal file
View File

@@ -0,0 +1,7 @@
# Use default_module_facts.yml for module specific facts.
#
# Facts specified here will override the values provided by rspec-puppet-facts.
---
ipaddress: "172.16.254.254"
is_pe: false
macaddress: "AA:AA:AA:AA:AA:AA"

View File

@@ -1,6 +1,6 @@
require 'spec_helper' require 'spec_helper'
oracle_url = 'http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz' oracle_url = 'http://download.oracle.com/otn-pub/java/jdk/8u192-b12/750e1c8617c5452694857ad95c3ee230/jdk-8u192-linux-x64.tar.gz'
describe 'java::oracle', type: :define do describe 'java::oracle', type: :define do
context 'with CentOS 64-bit' do context 'with CentOS 64-bit' do
@@ -11,8 +11,8 @@ describe 'java::oracle', type: :define do
let(:title) { 'jdk6' } let(:title) { 'jdk6' }
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-x64-rpm.bin') } it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-x64-rpm.bin') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('sh /tmp/jdk-6u45-linux-x64-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jdk*.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 6 6u45 b06').with_command('sh /tmp/jdk-6u45-linux-x64-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jdk*.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64-rpm.bin]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 6 6u45 b06').that_requires('Archive[/tmp/jdk-6u45-linux-x64-rpm.bin]') }
end end
context 'when Oracle Java SE 7 JDK' do context 'when Oracle Java SE 7 JDK' do
@@ -20,17 +20,17 @@ describe 'java::oracle', type: :define do
let(:title) { 'jdk7' } let(:title) { 'jdk7' }
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-x64.rpm') } it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-x64.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('rpm --force -iv /tmp/jdk-7u80-linux-x64.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 7 7u80 b15').with_command('rpm --force -iv /tmp/jdk-7u80-linux-x64.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.rpm]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 7 7u80 b15').that_requires('Archive[/tmp/jdk-7u80-linux-x64.rpm]') }
end end
context 'when Oracle Java SE 8 JDK' do context 'when Oracle Java SE 8 JDK' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } } let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
let(:title) { 'jdk8' } let(:title) { 'jdk8' }
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm') } it { is_expected.to contain_archive('/tmp/jdk-8u192-linux-x64.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('rpm --force -iv /tmp/jdk-8u131-linux-x64.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 8 8u192 b12').with_command('rpm --force -iv /tmp/jdk-8u192-linux-x64.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-x64.rpm]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 8 8u192 b12').that_requires('Archive[/tmp/jdk-8u192-linux-x64.rpm]') }
end end
context 'when Oracle Java SE 6 JRE' do context 'when Oracle Java SE 6 JRE' do
@@ -38,8 +38,8 @@ describe 'java::oracle', type: :define do
let(:title) { 'jre6' } let(:title) { 'jre6' }
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-x64-rpm.bin') } it { is_expected.to contain_archive('/tmp/jre-6u45-linux-x64-rpm.bin') }
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('sh /tmp/jre-6u45-linux-x64-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jre*.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jre 6 6u45 b06').with_command('sh /tmp/jre-6u45-linux-x64-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jre*.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-x64-rpm.bin]') } it { is_expected.to contain_exec('Install Oracle java_se jre 6 6u45 b06').that_requires('Archive[/tmp/jre-6u45-linux-x64-rpm.bin]') }
end end
context 'when Oracle Java SE 7 JRE' do context 'when Oracle Java SE 7 JRE' do
@@ -47,35 +47,35 @@ describe 'java::oracle', type: :define do
let(:title) { 'jre7' } let(:title) { 'jre7' }
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-x64.rpm') } it { is_expected.to contain_archive('/tmp/jre-7u80-linux-x64.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('rpm --force -iv /tmp/jre-7u80-linux-x64.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jre 7 7u80 b15').with_command('rpm --force -iv /tmp/jre-7u80-linux-x64.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-x64.rpm]') } it { is_expected.to contain_exec('Install Oracle java_se jre 7 7u80 b15').that_requires('Archive[/tmp/jre-7u80-linux-x64.rpm]') }
end end
context 'when select Oracle Java SE 8 JRE' do context 'when select Oracle Java SE 8 JRE' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } } let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
let(:title) { 'jre8' } let(:title) { 'jre8' }
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-x64.rpm') } it { is_expected.to contain_archive('/tmp/jre-8u192-linux-x64.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('rpm --force -iv /tmp/jre-8u131-linux-x64.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jre 8 8u192 b12').with_command('rpm --force -iv /tmp/jre-8u192-linux-x64.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-x64.rpm]') } it { is_expected.to contain_exec('Install Oracle java_se jre 8 8u192 b12').that_requires('Archive[/tmp/jre-8u192-linux-x64.rpm]') }
end end
context 'when passing URL to url parameter' do context 'when passing URL to url parameter' do
let(:params) do let(:params) do
{ {
ensure: 'present', ensure: 'present',
version_major: '8u131', version_major: '8u192',
version_minor: 'b11', version_minor: 'b12',
java_se: 'jdk', java_se: 'jdk',
url: 'http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm', url: 'http://download.oracle.com/otn-pub/java/jdk/8u192-b12/750e1c8617c5452694857ad95c3ee230/jdk-8u192-linux-x64.rpm',
url_hash: 'ignored', url_hash: 'ignored',
} }
end end
let(:title) { 'jdk8' } let(:title) { 'jdk8' }
it { it {
is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm') is_expected.to contain_archive('/tmp/jdk-8u192-linux-x64.rpm')
.with_source('http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm') .with_source('http://download.oracle.com/otn-pub/java/jdk/8u192-b12/750e1c8617c5452694857ad95c3ee230/jdk-8u192-linux-x64.rpm')
} }
end end
@@ -83,15 +83,66 @@ describe 'java::oracle', type: :define do
let(:params) do let(:params) do
{ {
ensure: 'present', ensure: 'present',
version_major: '8u131', version_major: '8u192',
version_minor: 'b11', version_minor: 'b12',
java_se: 'jdk', java_se: 'jdk',
url_hash: 'abcdef01234567890', url_hash: '750e1c8617c5452694857ad95c3ee230',
} }
end end
let(:title) { 'jdk8' } let(:title) { 'jdk8' }
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm').with_source('http://download.oracle.com/otn-pub/java/jdk//8u131-b11/abcdef01234567890/jdk-8u131-linux-x64.rpm') } it {
is_expected.to contain_archive('/tmp/jdk-8u192-linux-x64.rpm')
.with_source('http://download.oracle.com/otn-pub/java/jdk//8u192-b12/750e1c8617c5452694857ad95c3ee230/jdk-8u192-linux-x64.rpm')
}
end
context 'when installing multiple versions' do
let(:params) do
{
ensure: 'present',
version_major: '8u192',
version_minor: 'b12',
java_se: 'jdk',
url_hash: '750e1c8617c5452694857ad95c3ee230',
}
end
let(:title) { 'jdk8' }
let(:pre_condition) do
<<-EOL
java::oracle {
'jdk8121':
ensure => 'present',
version_major => '8u121',
version_minor => 'b13',
java_se => 'jdk',
url_hash => 'abcdef01234567890',
}
EOL
end
it { is_expected.to compile }
end
context 'when installing Oracle Java SE 6 JRE with JCE' do
let(:params) { { ensure: 'present', jce: true, version: '6', version_major: '6u99', version_minor: '99', java_se: 'jre' } }
let(:title) { 'jre6jce' }
it do
is_expected.to contain_archive('/tmp/jce-6.zip').with_source('http://download.oracle.com/otn-pub/java/jce_policy/6/jce_policy-6.zip')
is_expected.to contain_archive('/tmp/jce-6.zip').with_extract_path('/usr/java/jre1.6.0_99-amd64/lib/security')
end
end
context 'when installing Oracle Java SE 6 JDK with JCE' do
let(:params) { { ensure: 'present', jce: true, version: '6', version_major: '6u99', version_minor: '99', java_se: 'jdk' } }
let(:title) { 'jre6jce' }
it do
is_expected.to contain_archive('/tmp/jce-6.zip').with_source('http://download.oracle.com/otn-pub/java/jce_policy/6/jce_policy-6.zip')
is_expected.to contain_archive('/tmp/jce-6.zip').with_extract_path('/usr/java/jdk1.6.0_99-amd64/jre/lib/security')
end
end end
end end
@@ -103,8 +154,8 @@ describe 'java::oracle', type: :define do
let(:title) { 'jdk6' } let(:title) { 'jdk6' }
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-i586-rpm.bin') } it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-i586-rpm.bin') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('sh /tmp/jdk-6u45-linux-i586-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jdk*.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 6 6u45 b06').with_command('sh /tmp/jdk-6u45-linux-i586-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jdk*.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-i586-rpm.bin]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 6 6u45 b06').that_requires('Archive[/tmp/jdk-6u45-linux-i586-rpm.bin]') }
end end
context 'when selecting Oracle Java SE 7 JDK on RedHat family, 32-bit' do context 'when selecting Oracle Java SE 7 JDK on RedHat family, 32-bit' do
@@ -112,17 +163,17 @@ describe 'java::oracle', type: :define do
let(:title) { 'jdk7' } let(:title) { 'jdk7' }
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-i586.rpm') } it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-i586.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('rpm --force -iv /tmp/jdk-7u80-linux-i586.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 7 7u80 b15').with_command('rpm --force -iv /tmp/jdk-7u80-linux-i586.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-i586.rpm]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 7 7u80 b15').that_requires('Archive[/tmp/jdk-7u80-linux-i586.rpm]') }
end end
context 'when selecting Oracle Java SE 8 JDK on RedHat family, 32-bit' do context 'when selecting Oracle Java SE 8 JDK on RedHat family, 32-bit' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } } let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
let(:title) { 'jdk8' } let(:title) { 'jdk8' }
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-i586.rpm') } it { is_expected.to contain_archive('/tmp/jdk-8u192-linux-i586.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('rpm --force -iv /tmp/jdk-8u131-linux-i586.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 8 8u192 b12').with_command('rpm --force -iv /tmp/jdk-8u192-linux-i586.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-i586.rpm]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 8 8u192 b12').that_requires('Archive[/tmp/jdk-8u192-linux-i586.rpm]') }
end end
context 'when selecting Oracle Java SE 6 JRE on RedHat family, 32-bit' do context 'when selecting Oracle Java SE 6 JRE on RedHat family, 32-bit' do
@@ -130,8 +181,8 @@ describe 'java::oracle', type: :define do
let(:title) { 'jdk6' } let(:title) { 'jdk6' }
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-i586-rpm.bin') } it { is_expected.to contain_archive('/tmp/jre-6u45-linux-i586-rpm.bin') }
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('sh /tmp/jre-6u45-linux-i586-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jre*.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jre 6 6u45 b06').with_command('sh /tmp/jre-6u45-linux-i586-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jre*.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-i586-rpm.bin]') } it { is_expected.to contain_exec('Install Oracle java_se jre 6 6u45 b06').that_requires('Archive[/tmp/jre-6u45-linux-i586-rpm.bin]') }
end end
context 'when select Oracle Java SE 7 JRE on RedHat family, 32-bit' do context 'when select Oracle Java SE 7 JRE on RedHat family, 32-bit' do
@@ -139,17 +190,65 @@ describe 'java::oracle', type: :define do
let(:title) { 'jdk7' } let(:title) { 'jdk7' }
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-i586.rpm') } it { is_expected.to contain_archive('/tmp/jre-7u80-linux-i586.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('rpm --force -iv /tmp/jre-7u80-linux-i586.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jre 7 7u80 b15').with_command('rpm --force -iv /tmp/jre-7u80-linux-i586.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-i586.rpm]') } it { is_expected.to contain_exec('Install Oracle java_se jre 7 7u80 b15').that_requires('Archive[/tmp/jre-7u80-linux-i586.rpm]') }
end end
context 'when select Oracle Java SE 8 JRE on RedHat family, 32-bit' do context 'when select Oracle Java SE 8 JRE on RedHat family, 32-bit' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } } let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
let(:title) { 'jdk8' } let(:title) { 'jdk8' }
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-i586.rpm') } it { is_expected.to contain_archive('/tmp/jre-8u192-linux-i586.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('rpm --force -iv /tmp/jre-8u131-linux-i586.rpm') } it { is_expected.to contain_exec('Install Oracle java_se jre 8 8u192 b12').with_command('rpm --force -iv /tmp/jre-8u192-linux-i586.rpm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-i586.rpm]') } it { is_expected.to contain_exec('Install Oracle java_se jre 8 8u192 b12').that_requires('Archive[/tmp/jre-8u192-linux-i586.rpm]') }
end
context 'when installing multiple versions' do
let(:params) do
{
ensure: 'present',
version_major: '8u192',
version_minor: 'b12',
java_se: 'jdk',
url_hash: '750e1c8617c5452694857ad95c3ee230',
}
end
let(:title) { 'jdk8' }
let(:pre_condition) do
<<-EOL
java::oracle {
'jdk8121':
ensure => 'present',
version_major => '8u121',
version_minor => 'b13',
java_se => 'jdk',
url_hash => 'abcdef01234567890',
}
EOL
end
it { is_expected.to compile }
end
context 'when installing Oracle Java SE 6 JRE with JCE' do
let(:params) { { ensure: 'present', jce: true, version: '6', version_major: '6u99', version_minor: '99', java_se: 'jre' } }
let(:title) { 'jre6jce' }
it do
is_expected.to contain_archive('/tmp/jce-6.zip').with_source('http://download.oracle.com/otn-pub/java/jce_policy/6/jce_policy-6.zip')
is_expected.to contain_archive('/tmp/jce-6.zip').with_extract_path('/usr/java/jre1.6.0_99-amd64/lib/security')
end
end
context 'when installing Oracle Java SE 6 JDK with JCE' do
let(:params) { { ensure: 'present', jce: true, version: '6', version_major: '6u99', version_minor: '99', java_se: 'jdk' } }
let(:title) { 'jre6jce' }
it do
is_expected.to contain_archive('/tmp/jce-6.zip').with_source('http://download.oracle.com/otn-pub/java/jce_policy/6/jce_policy-6.zip')
is_expected.to contain_archive('/tmp/jce-6.zip').with_extract_path('/usr/java/jdk1.6.0_99-amd64/jre/lib/security')
end
end end
end end
@@ -161,8 +260,8 @@ describe 'java::oracle', type: :define do
let(:title) { 'jdk6' } let(:title) { 'jdk6' }
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-x64.tar.gz') } it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-x64.tar.gz') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('tar -zxf /tmp/jdk-6u45-linux-x64.tar.gz -C /usr/lib/jvm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 6 6u45 b06').with_command('tar -zxf /tmp/jdk-6u45-linux-x64.tar.gz -C /usr/lib/jvm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64.tar.gz]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 6 6u45 b06').that_requires('Archive[/tmp/jdk-6u45-linux-x64.tar.gz]') }
end end
context 'with Oracle Java SE 7 JDK' do context 'with Oracle Java SE 7 JDK' do
@@ -170,17 +269,17 @@ describe 'java::oracle', type: :define do
let(:title) { 'jdk7' } let(:title) { 'jdk7' }
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-x64.tar.gz') } it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-x64.tar.gz') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('tar -zxf /tmp/jdk-7u80-linux-x64.tar.gz -C /usr/lib/jvm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 7 7u80 b15').with_command('tar -zxf /tmp/jdk-7u80-linux-x64.tar.gz -C /usr/lib/jvm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.tar.gz]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 7 7u80 b15').that_requires('Archive[/tmp/jdk-7u80-linux-x64.tar.gz]') }
end end
context 'with Oracle Java SE 8 JDK' do context 'with Oracle Java SE 8 JDK' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } } let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
let(:title) { 'jdk8' } let(:title) { 'jdk8' }
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.tar.gz') } it { is_expected.to contain_archive('/tmp/jdk-8u192-linux-x64.tar.gz') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('tar -zxf /tmp/jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm') } it { is_expected.to contain_exec('Install Oracle java_se jdk 8 8u192 b12').with_command('tar -zxf /tmp/jdk-8u192-linux-x64.tar.gz -C /usr/lib/jvm') }
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-x64.tar.gz]') } it { is_expected.to contain_exec('Install Oracle java_se jdk 8 8u192 b12').that_requires('Archive[/tmp/jdk-8u192-linux-x64.tar.gz]') }
end end
context 'with Oracle Java SE 6 JRE' do context 'with Oracle Java SE 6 JRE' do
@@ -188,8 +287,8 @@ describe 'java::oracle', type: :define do
let(:title) { 'jre6' } let(:title) { 'jre6' }
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-x64.tar.gz') } it { is_expected.to contain_archive('/tmp/jre-6u45-linux-x64.tar.gz') }
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('tar -zxf /tmp/jre-6u45-linux-x64.tar.gz -C /usr/lib/jvm') } it { is_expected.to contain_exec('Install Oracle java_se jre 6 6u45 b06').with_command('tar -zxf /tmp/jre-6u45-linux-x64.tar.gz -C /usr/lib/jvm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-x64.tar.gz]') } it { is_expected.to contain_exec('Install Oracle java_se jre 6 6u45 b06').that_requires('Archive[/tmp/jre-6u45-linux-x64.tar.gz]') }
end end
context 'when Oracle Java SE 7 JRE' do context 'when Oracle Java SE 7 JRE' do
@@ -197,24 +296,72 @@ describe 'java::oracle', type: :define do
let(:title) { 'jre7' } let(:title) { 'jre7' }
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-x64.tar.gz') } it { is_expected.to contain_archive('/tmp/jre-7u80-linux-x64.tar.gz') }
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('tar -zxf /tmp/jre-7u80-linux-x64.tar.gz -C /usr/lib/jvm') } it { is_expected.to contain_exec('Install Oracle java_se jre 7 7u80 b15').with_command('tar -zxf /tmp/jre-7u80-linux-x64.tar.gz -C /usr/lib/jvm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-x64.tar.gz]') } it { is_expected.to contain_exec('Install Oracle java_se jre 7 7u80 b15').that_requires('Archive[/tmp/jre-7u80-linux-x64.tar.gz]') }
end end
context 'when Oracle Java SE 8 JRE' do context 'when Oracle Java SE 8 JRE' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } } let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
let(:title) { 'jre8' } let(:title) { 'jre8' }
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-x64.tar.gz') } it { is_expected.to contain_archive('/tmp/jre-8u192-linux-x64.tar.gz') }
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('tar -zxf /tmp/jre-8u131-linux-x64.tar.gz -C /usr/lib/jvm') } it { is_expected.to contain_exec('Install Oracle java_se jre 8 8u192 b12').with_command('tar -zxf /tmp/jre-8u192-linux-x64.tar.gz -C /usr/lib/jvm') }
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-x64.tar.gz]') } it { is_expected.to contain_exec('Install Oracle java_se jre 8 8u192 b12').that_requires('Archive[/tmp/jre-8u192-linux-x64.tar.gz]') }
end end
context 'when passing URL to url parameter' do context 'when passing URL to url parameter' do
let(:params) { { ensure: 'present', version_major: '8u131', version_minor: 'b11', java_se: 'jdk', url: oracle_url.to_s } } let(:params) { { ensure: 'present', version_major: '8u192', version_minor: 'b12', java_se: 'jdk', url: oracle_url.to_s } }
let(:title) { 'jdk8' } let(:title) { 'jdk8' }
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.tar.gz') } it { is_expected.to contain_archive('/tmp/jdk-8u192-linux-x64.tar.gz') }
end
context 'when installing multiple versions' do
let(:params) do
{
ensure: 'present',
version_major: '8u192',
version_minor: 'b12',
java_se: 'jdk',
url_hash: '750e1c8617c5452694857ad95c3ee230',
}
end
let(:title) { 'jdk8' }
let(:pre_condition) do
<<-EOL
java::oracle {
'jdk8121':
ensure => 'present',
version_major => '8u121',
version_minor => 'b13',
java_se => 'jdk',
url_hash => 'abcdef01234567890',
}
EOL
end
it { is_expected.to compile }
end
context 'when installing Oracle Java SE 6 JRE with JCE' do
let(:params) { { ensure: 'present', jce: true, version: '6', version_major: '6u99', version_minor: '99', java_se: 'jre' } }
let(:title) { 'jre6jce' }
it do
is_expected.to contain_archive('/tmp/jce-6.zip').with_source('http://download.oracle.com/otn-pub/java/jce_policy/6/jce_policy-6.zip')
is_expected.to contain_archive('/tmp/jce-6.zip').with_extract_path('/usr/lib/jvm/jre1.6.0_99/lib/security')
end
end
context 'when installing Oracle Java SE 6 JDK with JCE' do
let(:params) { { ensure: 'present', jce: true, version: '6', version_major: '6u99', version_minor: '99', java_se: 'jdk' } }
let(:title) { 'jre6jce' }
it do
is_expected.to contain_archive('/tmp/jce-6.zip').with_source('http://download.oracle.com/otn-pub/java/jce_policy/6/jce_policy-6.zip')
is_expected.to contain_archive('/tmp/jce-6.zip').with_extract_path('/usr/lib/jvm/jdk1.6.0_99/jre/lib/security')
end
end end
end end
describe 'incompatible OSes' do describe 'incompatible OSes' do

View File

@@ -1,5 +1,8 @@
require 'puppetlabs_spec_helper/module_spec_helper' require 'puppetlabs_spec_helper/module_spec_helper'
require 'rspec-puppet-facts' require 'rspec-puppet-facts'
require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb'))
include RspecPuppetFacts include RspecPuppetFacts
default_facts = { default_facts = {
@@ -7,17 +10,35 @@ default_facts = {
facterversion: Facter.version, facterversion: Facter.version,
} }
default_facts_path = File.expand_path(File.join(File.dirname(__FILE__), 'default_facts.yml')) default_fact_files = [
default_module_facts_path = File.expand_path(File.join(File.dirname(__FILE__), 'default_module_facts.yml')) File.expand_path(File.join(File.dirname(__FILE__), 'default_facts.yml')),
File.expand_path(File.join(File.dirname(__FILE__), 'default_module_facts.yml')),
]
if File.exist?(default_facts_path) && File.readable?(default_facts_path) default_fact_files.each do |f|
default_facts.merge!(YAML.safe_load(File.read(default_facts_path))) next unless File.exist?(f) && File.readable?(f) && File.size?(f)
begin
default_facts.merge!(YAML.safe_load(File.read(f)))
rescue => e
RSpec.configuration.reporter.message "WARNING: Unable to load #{f}: #{e}"
end end
if File.exist?(default_module_facts_path) && File.readable?(default_module_facts_path)
default_facts.merge!(YAML.safe_load(File.read(default_module_facts_path)))
end end
RSpec.configure do |c| RSpec.configure do |c|
c.default_facts = default_facts c.default_facts = default_facts
c.before :each do
# set to strictest setting for testing
# by default Puppet runs at warning level
Puppet.settings[:strict] = :warning
end end
end
def ensure_module_defined(module_name)
module_name.split('::').reduce(Object) do |last_module, next_module|
last_module.const_set(next_module, Module.new) unless last_module.const_defined?(next_module, false)
last_module.const_get(next_module, false)
end
end
# 'spec_overrides' from sync.yml will appear below this line

View File

@@ -1,12 +1,15 @@
require 'beaker-pe'
require 'beaker-puppet'
require 'beaker-rspec' require 'beaker-rspec'
require 'beaker/puppet_install_helper' require 'beaker/puppet_install_helper'
require 'beaker/module_install_helper' require 'beaker/module_install_helper'
run_puppet_install_helper run_puppet_install_helper
configure_type_defaults_on(hosts)
install_module_on(hosts) install_module_on(hosts)
install_module_dependencies_on(hosts) install_module_dependencies_on(hosts)
UNSUPPORTED_PLATFORMS = %w[Darwin windows].freeze UNSUPPORTED_PLATFORMS = ['Darwin', 'windows'].freeze
unless ENV['RS_PROVISION'] == 'no' || ENV['BEAKER_provision'] == 'no' unless ENV['RS_PROVISION'] == 'no' || ENV['BEAKER_provision'] == 'no'
hosts.each do |host| hosts.each do |host|