Skip to content

Commit c9fcd1b

Browse files
authored
Merge pull request #457 from kenyon/jira-10-acceptance-test-puppet-code-cleanup
Jira 10 acceptance test puppet code cleanup
2 parents 68331db + a9babda commit c9fcd1b

File tree

1 file changed

+41
-44
lines changed

1 file changed

+41
-44
lines changed

spec/acceptance/default_parameters_jira_10_spec.rb

Lines changed: 41 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,34 @@
22

33
require 'spec_helper_acceptance'
44

5-
def on_supported_os
6-
family = fact('os.family')
7-
major = fact('os.release.major')
8-
family == 'Debian' and (major >= '22.04' or (major >= '11' and major <= '20'))
9-
end
10-
11-
prepare = <<-EOS
12-
# package {'diffutils':
13-
# ensure => installed
14-
# }
15-
# file_line{'enable show_diff':
16-
# path => '/etc/puppetlabs/puppet/puppet.conf',
17-
# line => 'show_diff = true'
18-
# }
19-
EOS
20-
215
pre = <<-EOS
226
if $facts['os']['family'] == 'RedHat' {
237
$java_package = 'java-17-openjdk'
248
$java_home = '/usr/lib/jvm/jre-17-openjdk'
259
$postgresql_version = '13'
2610
$pgsql_package_name = 'postgresql-server'
2711
$pgsql_data_dir = '/var/lib/pgsql'
12+
2813
$manage_dnf_module = $facts['os']['release']['major'] ? {
29-
'8' => true,
30-
default => false # RHEL-9 has pgsql 13 as a default
14+
'8' => true,
15+
default => false, # RHEL-9 has pgsql 13 as a default
3116
}
17+
3218
$autoremove_command = 'dnf --exclude="systemd*" autoremove -y'
33-
}
34-
elsif $facts['os']['family'] == 'Debian' {
19+
} elsif $facts['os']['family'] == 'Debian' {
3520
$postgresql_version = $facts['os']['release']['major'] ? {
3621
'11' => '13',
37-
default => '14'
22+
default => '14',
3823
}
24+
3925
$java_package = 'openjdk-17-jre'
4026
$java_home = '/usr/lib/jvm/java-17-openjdk-amd64'
4127
$pgsql_package_name = "postgresql-${postgresql_version}"
4228
$pgsql_data_dir = "/var/lib/postgresql/${postgresql_version}/main/"
4329
$manage_dnf_module = false
4430
$autoremove_command = 'apt autoremove -y'
4531
}
32+
4633
$jira_install_dir = '/opt/jira/'
4734
$postgres_service = 'postgresql'
4835
$jira_service = 'jira'
@@ -57,9 +44,10 @@ class { 'postgresql::globals':
5744
manage_dnf_module => $manage_dnf_module,
5845
version => $postgresql_version,
5946
}
47+
6048
class { 'postgresql::server':
6149
service_status => 'systemctl status postgresql > /dev/null',
62-
needs_initdb => true
50+
needs_initdb => true,
6351
}
6452
6553
postgresql::server::db { 'jira':
@@ -76,9 +64,10 @@ class { 'jira':
7664
javahome => $java_home,
7765
script_check_java_manage => false,
7866
connection_settings => 'tcpKeepAlive=true',
79-
require => Postgresql::Server::Db['jira']
67+
require => Postgresql::Server::Db['jira'],
8068
}
8169
EOS
70+
8271
pp = pre + pp
8372

8473
pp_upgrade = <<-EOS
@@ -87,50 +76,58 @@ class { 'jira':
8776
java_package => $java_package,
8877
javahome => $java_home,
8978
connection_settings => 'tcpKeepAlive=true',
90-
script_check_java_manage => false
79+
script_check_java_manage => false,
9180
}
9281
EOS
82+
9383
pp_upgrade = pre + pp_upgrade
9484

9585
pp_remove = <<-EOS
96-
package {$java_package:
97-
ensure => purged
86+
package { $java_package:
87+
ensure => purged,
9888
}
99-
exec {'clear JIRA home':
100-
command => 'rm -Rf ~jira/*',
89+
90+
exec { 'clear JIRA home':
91+
command => 'rm -Rf ~jira/*',
10192
provider => shell,
10293
}
103-
package {$pgsql_package_name:
104-
ensure => purged
94+
95+
package { $pgsql_package_name:
96+
ensure => purged,
10597
}
98+
10699
if $manage_dnf_module {
107-
exec {"dnf module reset postgresql":
108-
command => 'dnf module reset -y postgresql',
100+
exec { 'dnf module reset postgresql':
101+
command => 'dnf module reset -y postgresql',
109102
provider => shell,
110103
}
111104
}
112-
exec {"autoremove cleanup":
113-
command => $autoremove_command,
105+
106+
exec { 'autoremove cleanup':
107+
command => $autoremove_command,
114108
provider => shell,
115109
}
116-
exec {'cleanup pgsql and JIRA install dir':
117-
command => "rm -Rf ${pgsql_data_dir}/* ${$jira_install_dir}/atlassian-jira-software*",
110+
111+
exec { 'cleanup pgsql and JIRA install dir':
112+
command => "rm -Rf ${pgsql_data_dir}/* ${$jira_install_dir}/atlassian-jira-software*",
118113
provider => shell,
119-
require => Exec['autoremove cleanup'],
114+
require => Exec['autoremove cleanup'],
120115
}
121-
service{$postgres_service:
122-
ensure => stopped
116+
117+
service { $postgres_service:
118+
ensure => stopped,
123119
}
124-
service{$jira_service:
125-
ensure => stopped
120+
121+
service { $jira_service:
122+
ensure => stopped,
126123
}
127124
EOS
125+
128126
pp_remove = pre + pp_remove
129127

130-
context 'jira 10 only on RedHat >=8 and Debian-11', if: on_supported_os do
128+
context 'jira 10' do
131129
describe 'jira 10 postgresql' do
132130
it 'installs jira 10 with defaults' do
133-
apply_manifest(prepare, catch_failures: true)
134131
# jira just takes *ages* to start up :-(
135132
wget_cmd = 'wget -q --tries=24 --retry-connrefused --read-timeout=10 localhost:8080'
136133
apply_manifest(pp, catch_failures: true)
@@ -179,7 +176,7 @@ class { 'jira':
179176
apply_manifest(pp_remove, catch_failures: true)
180177
end
181178

182-
it { shell('service jira stop', acceptable_exit_codes: [0, 1]) }
179+
it { shell('systemctl stop jira', acceptable_exit_codes: [0, 1]) }
183180
it { shell('pkill -9 -f postgres', acceptable_exit_codes: [0, 1]) }
184181
it { shell('pkill -9 -f jira', acceptable_exit_codes: [0, 1]) }
185182
end

0 commit comments

Comments
 (0)