From d6bccd4097495d61476ce03c97deacbdcbaf5461 Mon Sep 17 00:00:00 2001 From: david22swan Date: Wed, 30 Mar 2022 12:54:15 +0100 Subject: [PATCH 1/2] (GH-C&T-7) Remove code specific to unsupported OSs Removes compatibility for all Debian below 9, all Ubuntu below 18.04 --- README.md | 12 +++----- manifests/params.pp | 54 +---------------------------------- provision.yaml | 6 ---- spec/classes/java_spec.rb | 34 ++++++---------------- spec/defines/adopt_spec.rb | 2 +- spec/defines/adoptium_spec.rb | 2 +- spec/defines/download_spec.rb | 2 +- spec/defines/sap_spec.rb | 2 +- 8 files changed, 18 insertions(+), 96 deletions(-) diff --git a/README.md b/README.md index 00b8cde..4877fd2 100644 --- a/README.md +++ b/README.md @@ -239,19 +239,15 @@ This module is officially [supported](https://forge.puppetlabs.com/supported) fo OpenJDK is supported on: -* Red Hat Enterprise Linux (RHEL) 5, 6, 7 -* CentOS 5, 6, 7 +* Red Hat Enterprise Linux (RHEL) 6, 7 +* CentOS 6, 7 * Oracle Linux 6, 7 * Scientific Linux 6 -* Debian 8, 9 -* Ubuntu 14.04, 16.04, 18.04, 20.04 +* Debian 9 +* Ubuntu 18.04, 20.04 * Solaris 11 * SLES 11, 12 -Sun Java is supported on: - -* Debian 6 - Oracle Java is supported on: * CentOS 6 diff --git a/manifests/params.pp b/manifests/params.pp index 54a990e..c2d506e 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -74,59 +74,7 @@ class java::params { default => $facts['os']['architecture'] } case $facts['os']['release']['major'] { - '7', '8', '14.04': { - $java = { - 'jdk' => { - 'package' => 'openjdk-7-jdk', - 'alternative' => "java-1.7.0-openjdk-${openjdk_architecture}", - 'alternative_path' => "/usr/lib/jvm/java-1.7.0-openjdk-${openjdk_architecture}/bin/java", - 'java_home' => "/usr/lib/jvm/java-1.7.0-openjdk-${openjdk_architecture}/", - }, - 'jre' => { - 'package' => 'openjdk-7-jre-headless', - 'alternative' => "java-1.7.0-openjdk-${facts['os']['architecture']}", - 'alternative_path' => "/usr/lib/jvm/java-1.7.0-openjdk-${openjdk_architecture}/bin/java", - 'java_home' => "/usr/lib/jvm/java-1.7.0-openjdk-${openjdk_architecture}/", - }, - 'oracle-jre' => { - 'package' => 'oracle-j2re1.7', - 'alternative' => 'j2re1.7-oracle', - 'alternative_path' => '/usr/lib/jvm/j2re1.7-oracle/bin/java', - 'java_home' => '/usr/lib/jvm/j2re1.7-oracle/', - }, - 'oracle-jdk' => { - 'package' => 'oracle-j2sdk1.7', - 'alternative' => 'j2sdk1.7-oracle', - 'alternative_path' => '/usr/lib/jvm/j2sdk1.7-oracle/jre/bin/java', - 'java_home' => '/usr/lib/jvm/j2sdk1.7-oracle/jre/', - }, - 'oracle-j2re' => { - 'package' => 'oracle-j2re1.8', - 'alternative' => 'j2re1.8-oracle', - 'alternative_path' => '/usr/lib/jvm/j2re1.8-oracle/bin/java', - 'java_home' => '/usr/lib/jvm/j2re1.8-oracle/', - }, - 'oracle-j2sdk' => { - 'package' => 'oracle-j2sdk1.8', - 'alternative' => 'j2sdk1.8-oracle', - 'alternative_path' => '/usr/lib/jvm/j2sdk1.8-oracle/bin/java', - 'java_home' => '/usr/lib/jvm/j2sdk1.8-oracle/', - }, - 'oracle-java8-jre' => { - 'package' => 'oracle-java8-jre', - 'alternative' => "jre-8-oracle-${oracle_architecture}", - 'alternative_path' => "/usr/lib/jvm/jre-8-oracle-${oracle_architecture}/bin/java", - 'java_home' => "/usr/lib/jvm/jre-8-oracle-${oracle_architecture}/", - }, - 'oracle-java8-jdk' => { - 'package' => 'oracle-java8-jdk', - 'alternative' => "jdk-8-oracle-${oracle_architecture}", - 'alternative_path' => "/usr/lib/jvm/jdk-8-oracle-${oracle_architecture}/bin/java", - 'java_home' => "/usr/lib/jvm/jdk-8-oracle-${oracle_architecture}/", - }, - } - } - '9', '15.04', '15.10', '16.04', '16.10', '17.04', '17.10': { + '9': { $java = { 'jdk' => { 'package' => 'openjdk-8-jdk', diff --git a/provision.yaml b/provision.yaml index c6697ad..6ab2107 100644 --- a/provision.yaml +++ b/provision.yaml @@ -11,14 +11,11 @@ vagrant: travis_deb: provisioner: docker images: - - litmusimage/debian:8 - litmusimage/debian:9 - litmusimage/debian:10 travis_ub_6: provisioner: docker images: - - litmusimage/ubuntu:14.04 - - litmusimage/ubuntu:16.04 - litmusimage/ubuntu:18.04 - litmusimage/ubuntu:20.04 travis_el7: @@ -44,11 +41,8 @@ release_checks_6: - oracle-7-x86_64 - scientific-6-x86_64 - scientific-7-x86_64 - - debian-8-x86_64 - debian-9-x86_64 - debian-10-x86_64 - - ubuntu-1404-x86_64 - - ubuntu-1604-x86_64 - ubuntu-1804-x86_64 - ubuntu-2004-x86_64 - sles-12-x86_64 diff --git a/spec/classes/java_spec.rb b/spec/classes/java_spec.rb index 0792d6e..d0019a4 100644 --- a/spec/classes/java_spec.rb +++ b/spec/classes/java_spec.rb @@ -71,36 +71,20 @@ describe 'java', type: :class do it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64/') } end - context 'when select jdk for Ubuntu Trusty (14.04)' do - let(:facts) { { os: { family: 'Debian', name: 'Ubuntu', lsb: { distcodename: 'trusty' }, release: { major: '14.04' }, architecture: 'amd64' } } } + context 'when select jdk for Ubuntu Bionic (18.04)' do + let(:facts) { { os: { family: 'Debian', name: 'Ubuntu', lsb: { distcodename: 'bionic' }, release: { major: '18.04' }, architecture: 'amd64' } } } let(:params) { { 'distribution' => 'jdk' } } - it { is_expected.to contain_package('java').with_name('openjdk-7-jdk') } - it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') } + it { is_expected.to contain_package('java').with_name('openjdk-11-jdk') } + it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64/') } end - context 'when select jre for Ubuntu Trusty (14.04)' do - let(:facts) { { os: { family: 'Debian', name: 'Ubuntu', lsb: { distcodename: 'trusty' }, release: { major: '14.04' }, architecture: 'amd64' } } } + context 'when select jre for Ubuntu Bionic (18.04)' do + let(:facts) { { os: { family: 'Debian', name: 'Ubuntu', lsb: { distcodename: 'bionic' }, release: { major: '18.04' }, architecture: 'amd64' } } } let(:params) { { 'distribution' => 'jre' } } - it { is_expected.to contain_package('java').with_name('openjdk-7-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 jdk for Ubuntu xenial (16.04) on ARM' do - let(:facts) { { os: { family: 'Debian', name: 'Ubuntu', lsb: { distcodename: 'xenial' }, release: { major: '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) { { os: { family: 'Debian', name: 'Ubuntu', lsb: { distcodename: 'xenial' }, release: { major: '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/') } + it { is_expected.to contain_package('java').with_name('openjdk-11-jre-headless') } + it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64/') } end context 'when select openjdk for Oracle Linux' do @@ -174,7 +158,7 @@ describe 'java', type: :class do end describe 'custom java package' do - let(:facts) { { os: { family: 'Debian', name: 'Debian', lsb: { distcodename: 'jessie' }, release: { major: '8' }, architecture: 'amd64' } } } + let(:facts) { { os: { family: 'Debian', name: 'Debian', lsb: { distcodename: 'bullseye' }, release: { major: '11' }, architecture: 'amd64' } } } context 'when all params provided' do let(:params) do diff --git a/spec/defines/adopt_spec.rb b/spec/defines/adopt_spec.rb index 400aa1f..03fe323 100644 --- a/spec/defines/adopt_spec.rb +++ b/spec/defines/adopt_spec.rb @@ -178,7 +178,7 @@ describe 'java::adopt', type: :define do end context 'with Ubuntu 64-bit' do - let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } } + let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '18.04' } } } } context 'when AdoptOpenJDK Java 8 JDK' do let(:params) { { ensure: 'present', version: '8', java: 'jdk' } } diff --git a/spec/defines/adoptium_spec.rb b/spec/defines/adoptium_spec.rb index ff20037..1c4cbe0 100644 --- a/spec/defines/adoptium_spec.rb +++ b/spec/defines/adoptium_spec.rb @@ -143,7 +143,7 @@ describe 'java::adoptium', type: :define do end context 'with Ubuntu 64-bit' do - let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } } + let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '18.04' } } } } context 'when Adoptium Temurin Java 16 JDK' do let(:params) do diff --git a/spec/defines/download_spec.rb b/spec/defines/download_spec.rb index f120c50..100cc86 100644 --- a/spec/defines/download_spec.rb +++ b/spec/defines/download_spec.rb @@ -75,7 +75,7 @@ describe 'java::download', type: :define do end context 'with Ubuntu 64-bit' do - let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } } + let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '18.04' } } } } context 'when passing URL to url parameter' do let(:params) { { ensure: 'present', version_major: '8u201', version_minor: 'b09', java_se: 'jdk', url: url } } diff --git a/spec/defines/sap_spec.rb b/spec/defines/sap_spec.rb index ee4fb88..97f2307 100644 --- a/spec/defines/sap_spec.rb +++ b/spec/defines/sap_spec.rb @@ -125,7 +125,7 @@ describe 'java::sap', type: :define do end context 'with Ubuntu 64-bit' do - let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } } + let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '18.04' } } } } context 'when sapjvm 7' do let(:params) { { ensure: 'present', version: '7', java: 'jdk' } } From 367d1972788ab73057d9621ea244a4a5ec04ea63 Mon Sep 17 00:00:00 2001 From: david22swan Date: Wed, 30 Mar 2022 12:54:15 +0100 Subject: [PATCH 2/2] (GH-C&T-9) Temporarily disable syntax checks --- .github/workflows/spec.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index 6c1ae10..f51476d 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -54,10 +54,10 @@ jobs: buildevents step $TRACE_ID $STEP_ID $STEP_START 'Setup Environment' echo STEP_ID=Setup-Acceptance-Test-Matrix >> $GITHUB_ENV echo STEP_START=$(date +%s) >> $GITHUB_ENV - - name: Run Static & Syntax Tests - if: ${{ github.repository_owner == 'puppetlabs' }} - run: | - buildevents cmd $TRACE_ID $STEP_ID 'static_syntax_checks' -- bundle exec rake syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop + # - name: Run Static & Syntax Tests + # if: ${{ github.repository_owner == 'puppetlabs' }} + # run: | + # buildevents cmd $TRACE_ID $STEP_ID 'static_syntax_checks' -- bundle exec rake syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop - name: Setup Spec Test Matrix id: get-matrix