Skip to content

Commit b13fe2f

Browse files
committed
don't call puppet multiple times in prepare host for acceptance
1 parent 671263e commit b13fe2f

File tree

1 file changed

+21
-24
lines changed

1 file changed

+21
-24
lines changed

spec/support/acceptance/prepare_host.rb

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,39 +16,36 @@ def prepare_host
1616
# does not exist. Symlink it from /bin/mkdir to make it work.
1717
shell('ln -sf /bin/mkdir /usr/bin/mkdir') if fact('os.distro.id') == 'Debian'
1818

19-
cleanup_script_debian = <<-SHELL
20-
/opt/puppetlabs/bin/puppet resource service zabbix-server ensure=stopped
21-
/opt/puppetlabs/bin/puppet resource service apache2 ensure=stopped
22-
/opt/puppetlabs/bin/puppet resource package zabbix-server-pgsql ensure=purged
23-
/opt/puppetlabs/bin/puppet resource package zabbix-web-pgsql ensure=purged
24-
/opt/puppetlabs/bin/puppet resource package zabbix-frontend-php ensure=purged
25-
/opt/puppetlabs/bin/puppet resource package zabbix-sql-scripts ensure=purged
26-
/opt/puppetlabs/puppet/bin/gem uninstall zabbixapi -a
27-
rm -f /etc/zabbix/.*done
28-
if id postgres > /dev/null 2>&1; then
29-
su - postgres -c "psql -c 'drop database if exists zabbix_server;'"
30-
fi
19+
cleanup_puppet = <<-SHELL
20+
$services = $facts['os']['family'] ? {
21+
'RedHat' => ['zabbix-server', 'httpd'],
22+
'Debian' => ['zabbix-server', 'apache2'],
23+
default => [],
24+
}
25+
service { $services:
26+
ensure => stopped
27+
}
28+
29+
$packages = $facts['os']['family'] ? {
30+
'RedHat' => ['zabbix-server-pgsql', 'zabbix-server-pgsql-scl', 'zabbix-web', 'zabbix-web-pgsql', 'zabbix-web-pgsql-scl', 'zabbix-frontend-php', 'zabbix-sql-scripts'],
31+
'Debian' => ['zabbix-server-pgsql', 'zabbix-web-pgsql', 'zabbix-frontend-php', 'zabbix-sql-scripts'],
32+
default => [],
33+
}
34+
package { $packages:
35+
ensure => purged
36+
}
3137
SHELL
3238

33-
cleanup_script_redhat = <<-SHELL
34-
/opt/puppetlabs/bin/puppet resource service zabbix-server ensure=stopped
35-
/opt/puppetlabs/bin/puppet resource service httpd ensure=stopped
36-
/opt/puppetlabs/bin/puppet resource package zabbix-server-pgsql ensure=purged
37-
/opt/puppetlabs/bin/puppet resource package zabbix-server-pgsql-scl ensure=purged
38-
/opt/puppetlabs/bin/puppet resource package zabbix-web ensure=purged
39-
/opt/puppetlabs/bin/puppet resource package zabbix-web-pgsql ensure=purged
40-
/opt/puppetlabs/bin/puppet resource package zabbix-web-pgsql-scl ensure=purged
41-
/opt/puppetlabs/bin/puppet resource package zabbix-frontend-php ensure=purged
42-
/opt/puppetlabs/bin/puppet resource package zabbix-sql-scripts ensure=purged
39+
cleanup_script = <<-SHELL
4340
/opt/puppetlabs/puppet/bin/gem uninstall zabbixapi -a
4441
rm -f /etc/zabbix/.*done
4542
if id postgres > /dev/null 2>&1; then
4643
su - postgres -c "psql -c 'drop database if exists zabbix_server;'"
4744
fi
4845
SHELL
4946

50-
shell(cleanup_script_debian) if fact('os.family') == 'Debian'
51-
shell(cleanup_script_redhat) if fact('os.family') == 'RedHat'
47+
apply_manifest(cleanup_puppet)
48+
shell(cleanup_script)
5249

5350
install_deps = <<-SHELL
5451
$compile_packages = $facts['os']['family'] ? {

0 commit comments

Comments
 (0)