From c622482af918393231dcdf7d51a0944d88b2897b Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Mon, 23 Jun 2025 22:35:21 -0700 Subject: [PATCH 1/4] acceptance/default_parameters_jira_10_spec: drop unneeded logic Since the module only supports non-EOL OSes as of #454 and #452, we don't need the on_supported_os logic in this test anymore. --- spec/acceptance/default_parameters_jira_10_spec.rb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/spec/acceptance/default_parameters_jira_10_spec.rb b/spec/acceptance/default_parameters_jira_10_spec.rb index 6a030102..60d2ea96 100644 --- a/spec/acceptance/default_parameters_jira_10_spec.rb +++ b/spec/acceptance/default_parameters_jira_10_spec.rb @@ -2,12 +2,6 @@ require 'spec_helper_acceptance' -def on_supported_os - family = fact('os.family') - major = fact('os.release.major') - family == 'Debian' and (major >= '22.04' or (major >= '11' and major <= '20')) -end - prepare = <<-EOS # package {'diffutils': # ensure => installed @@ -127,7 +121,7 @@ class { 'jira': EOS pp_remove = pre + pp_remove -context 'jira 10 only on RedHat >=8 and Debian-11', if: on_supported_os do +context 'jira 10' do describe 'jira 10 postgresql' do it 'installs jira 10 with defaults' do apply_manifest(prepare, catch_failures: true) From a9babdac63018032c1b12c0aef25ddaa411221fa Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Mon, 23 Jun 2025 22:56:33 -0700 Subject: [PATCH 2/4] acceptance/default_parameters_jira_10_spec: cleanup * Remove commented debugging code. * Add some spacing for readability. * Use standard puppet code style. * Use systemctl instead of legacy service command. --- .../default_parameters_jira_10_spec.rb | 77 ++++++++++--------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/spec/acceptance/default_parameters_jira_10_spec.rb b/spec/acceptance/default_parameters_jira_10_spec.rb index 60d2ea96..d434fd08 100644 --- a/spec/acceptance/default_parameters_jira_10_spec.rb +++ b/spec/acceptance/default_parameters_jira_10_spec.rb @@ -2,16 +2,6 @@ require 'spec_helper_acceptance' -prepare = <<-EOS - # package {'diffutils': - # ensure => installed - # } - # file_line{'enable show_diff': - # path => '/etc/puppetlabs/puppet/puppet.conf', - # line => 'show_diff = true' - # } -EOS - pre = <<-EOS if $facts['os']['family'] == 'RedHat' { $java_package = 'java-17-openjdk' @@ -19,17 +9,19 @@ $postgresql_version = '13' $pgsql_package_name = 'postgresql-server' $pgsql_data_dir = '/var/lib/pgsql' + $manage_dnf_module = $facts['os']['release']['major'] ? { - '8' => true, - default => false # RHEL-9 has pgsql 13 as a default + '8' => true, + default => false, # RHEL-9 has pgsql 13 as a default } + $autoremove_command = 'dnf --exclude="systemd*" autoremove -y' - } - elsif $facts['os']['family'] == 'Debian' { + } elsif $facts['os']['family'] == 'Debian' { $postgresql_version = $facts['os']['release']['major'] ? { '11' => '13', - default => '14' + default => '14', } + $java_package = 'openjdk-17-jre' $java_home = '/usr/lib/jvm/java-17-openjdk-amd64' $pgsql_package_name = "postgresql-${postgresql_version}" @@ -37,6 +29,7 @@ $manage_dnf_module = false $autoremove_command = 'apt autoremove -y' } + $jira_install_dir = '/opt/jira/' $postgres_service = 'postgresql' $jira_service = 'jira' @@ -51,9 +44,10 @@ class { 'postgresql::globals': manage_dnf_module => $manage_dnf_module, version => $postgresql_version, } + class { 'postgresql::server': service_status => 'systemctl status postgresql > /dev/null', - needs_initdb => true + needs_initdb => true, } postgresql::server::db { 'jira': @@ -70,9 +64,10 @@ class { 'jira': javahome => $java_home, script_check_java_manage => false, connection_settings => 'tcpKeepAlive=true', - require => Postgresql::Server::Db['jira'] + require => Postgresql::Server::Db['jira'], } EOS + pp = pre + pp pp_upgrade = <<-EOS @@ -81,50 +76,58 @@ class { 'jira': java_package => $java_package, javahome => $java_home, connection_settings => 'tcpKeepAlive=true', - script_check_java_manage => false + script_check_java_manage => false, } EOS + pp_upgrade = pre + pp_upgrade pp_remove = <<-EOS - package {$java_package: - ensure => purged + package { $java_package: + ensure => purged, } - exec {'clear JIRA home': - command => 'rm -Rf ~jira/*', + + exec { 'clear JIRA home': + command => 'rm -Rf ~jira/*', provider => shell, } - package {$pgsql_package_name: - ensure => purged + + package { $pgsql_package_name: + ensure => purged, } + if $manage_dnf_module { - exec {"dnf module reset postgresql": - command => 'dnf module reset -y postgresql', + exec { 'dnf module reset postgresql': + command => 'dnf module reset -y postgresql', provider => shell, } } - exec {"autoremove cleanup": - command => $autoremove_command, + + exec { 'autoremove cleanup': + command => $autoremove_command, provider => shell, } - exec {'cleanup pgsql and JIRA install dir': - command => "rm -Rf ${pgsql_data_dir}/* ${$jira_install_dir}/atlassian-jira-software*", + + exec { 'cleanup pgsql and JIRA install dir': + command => "rm -Rf ${pgsql_data_dir}/* ${$jira_install_dir}/atlassian-jira-software*", provider => shell, - require => Exec['autoremove cleanup'], + require => Exec['autoremove cleanup'], } - service{$postgres_service: - ensure => stopped + + service { $postgres_service: + ensure => stopped, } - service{$jira_service: - ensure => stopped + + service { $jira_service: + ensure => stopped, } EOS + pp_remove = pre + pp_remove context 'jira 10' do describe 'jira 10 postgresql' do it 'installs jira 10 with defaults' do - apply_manifest(prepare, catch_failures: true) # jira just takes *ages* to start up :-( wget_cmd = 'wget -q --tries=24 --retry-connrefused --read-timeout=10 localhost:8080' apply_manifest(pp, catch_failures: true) @@ -173,7 +176,7 @@ class { 'jira': apply_manifest(pp_remove, catch_failures: true) end - it { shell('service jira stop', acceptable_exit_codes: [0, 1]) } + it { shell('systemctl stop jira', acceptable_exit_codes: [0, 1]) } it { shell('pkill -9 -f postgres', acceptable_exit_codes: [0, 1]) } it { shell('pkill -9 -f jira', acceptable_exit_codes: [0, 1]) } end From d04afef5887ff754fcc64cb608328e8a36ab340d Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Thu, 27 Feb 2025 17:44:33 +0100 Subject: [PATCH 3/4] Add Debian 12 support --- metadata.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/metadata.json b/metadata.json index a9dea7dc..18af8cd6 100644 --- a/metadata.json +++ b/metadata.json @@ -74,7 +74,8 @@ { "operatingsystem": "Debian", "operatingsystemrelease": [ - "11" + "11", + "12" ] }, { From 3604bab39991021e0ef459b3bb1a39179afbf70e Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Mon, 23 Jun 2025 23:52:24 -0700 Subject: [PATCH 4/4] acceptance/default_parameters_jira_10_spec: use default postgresql version Use the version of postgresql defined by the puppetlabs-postgresql module rather than reimplementing version selection. --- .../default_parameters_jira_10_spec.rb | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/spec/acceptance/default_parameters_jira_10_spec.rb b/spec/acceptance/default_parameters_jira_10_spec.rb index d434fd08..978f9a96 100644 --- a/spec/acceptance/default_parameters_jira_10_spec.rb +++ b/spec/acceptance/default_parameters_jira_10_spec.rb @@ -6,8 +6,6 @@ if $facts['os']['family'] == 'RedHat' { $java_package = 'java-17-openjdk' $java_home = '/usr/lib/jvm/jre-17-openjdk' - $postgresql_version = '13' - $pgsql_package_name = 'postgresql-server' $pgsql_data_dir = '/var/lib/pgsql' $manage_dnf_module = $facts['os']['release']['major'] ? { @@ -17,22 +15,14 @@ $autoremove_command = 'dnf --exclude="systemd*" autoremove -y' } elsif $facts['os']['family'] == 'Debian' { - $postgresql_version = $facts['os']['release']['major'] ? { - '11' => '13', - default => '14', - } - $java_package = 'openjdk-17-jre' $java_home = '/usr/lib/jvm/java-17-openjdk-amd64' - $pgsql_package_name = "postgresql-${postgresql_version}" - $pgsql_data_dir = "/var/lib/postgresql/${postgresql_version}/main/" + $pgsql_data_dir = "/var/lib/postgresql/*/main/" $manage_dnf_module = false $autoremove_command = 'apt autoremove -y' } $jira_install_dir = '/opt/jira/' - $postgres_service = 'postgresql' - $jira_service = 'jira' EOS pp = <<-EOS @@ -42,7 +32,6 @@ # We don't need the output. class { 'postgresql::globals': manage_dnf_module => $manage_dnf_module, - version => $postgresql_version, } class { 'postgresql::server': @@ -92,8 +81,8 @@ class { 'jira': provider => shell, } - package { $pgsql_package_name: - ensure => purged, + class { 'postgresql::server': + package_ensure => purged, } if $manage_dnf_module { @@ -114,11 +103,11 @@ class { 'jira': require => Exec['autoremove cleanup'], } - service { $postgres_service: + service { 'postgresql': ensure => stopped, } - service { $jira_service: + service { 'jira': ensure => stopped, } EOS