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" ] }, { diff --git a/spec/acceptance/default_parameters_jira_10_spec.rb b/spec/acceptance/default_parameters_jira_10_spec.rb index 6a030102..978f9a96 100644 --- a/spec/acceptance/default_parameters_jira_10_spec.rb +++ b/spec/acceptance/default_parameters_jira_10_spec.rb @@ -2,50 +2,27 @@ 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 - # } - # 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' $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'] ? { - '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' { - $postgresql_version = $facts['os']['release']['major'] ? { - '11' => '13', - default => '14' - } + } elsif $facts['os']['family'] == 'Debian' { $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 @@ -55,11 +32,11 @@ def on_supported_os # We don't need the output. 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': @@ -76,9 +53,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 @@ -87,50 +65,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 + + class { 'postgresql::server': + package_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 { 'postgresql': + ensure => stopped, } - service{$jira_service: - ensure => stopped + + service { 'jira': + ensure => stopped, } 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) # 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) @@ -179,7 +165,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