-unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
- # This will install the latest available package on el and deb based
- # systems fail on windows and osx, and install via gem on other *nixes
- foss_opts = {:default_action => 'gem_install'}
-
- if default.is_pe?; then
- install_pe;
- else
- install_puppet(foss_opts);
- end
-
- hosts.each do |host|
- on hosts, "mkdir -p #{host['distmoduledir']}"
- if host['platform'] =~ /sles-1/i || host['platform'] =~ /solaris-1/i
- get_deps = <<-EOS
- package{'wget':}
- exec{'download-stdlib':
- command => "wget -P /root/ https://forgeapi.puppetlabs.com/v3/files/puppetlabs-stdlib-4.5.1.tar.gz --no-check-certificate",
- path => ['/opt/csw/bin/','/usr/bin/']
- }
- EOS
- apply_manifest_on(host, get_deps)
- # have to use force otherwise it checks ssl cert even though it is a local file
- on host, puppet('module install /root/puppetlabs-stdlib-4.5.1.tar.gz --force --ignore-dependencies'), {:acceptable_exit_codes => [0, 1]}
- elsif host['platform'] =~ /windows/i
- on host, shell('curl -k -o c:/puppetlabs-stdlib-4.5.1.tar.gz https://forgeapi.puppetlabs.com/v3/files/puppetlabs-stdlib-4.5.1.tar.gz')
- on host, puppet('module install c:/puppetlabs-stdlib-4.5.1.tar.gz --force --ignore-dependencies'), {:acceptable_exit_codes => [0, 1]}
- else
- on host, puppet('module install puppetlabs-stdlib'), {:acceptable_exit_codes => [0, 1]}
- end
- end
-end
+run_puppet_install_helper
+install_ca_certs unless ENV['PUPPET_INSTALL_TYPE'] =~ /pe/i
+install_module_on(hosts)
+install_module_dependencies_on(hosts)