|
1 | 1 | require 'beaker-rspec'
|
2 | 2 | require 'beaker-puppet'
|
3 | 3 | require 'beaker/module_install_helper'
|
4 |
| -require 'beaker/puppet_install_helper' |
5 | 4 | require 'voxpupuli/acceptance/spec_helper_acceptance'
|
6 | 5 |
|
7 | 6 | $LOAD_PATH << File.join(__dir__, 'acceptance/lib')
|
@@ -99,6 +98,30 @@ def user_manifest(username, params = {})
|
99 | 98 | RSpec.configure do |c|
|
100 | 99 | c.before :suite do
|
101 | 100 | unless ENV['BEAKER_provision'] == 'no'
|
| 101 | + def run_puppet_install_helper |
| 102 | + return unless ENV['PUPPET_INSTALL_TYPE'] == 'agent' |
| 103 | + if ENV['BEAKER_PUPPET_COLLECTION'].match? %r{/-nightly$/} |
| 104 | + # Workaround for RE-10734 |
| 105 | + options[:release_apt_repo_url] = 'http://nightlies.puppet.com/apt' |
| 106 | + options[:win_download_url] = 'http://nightlies.puppet.com/downloads/windows' |
| 107 | + options[:mac_download_url] = 'http://nightlies.puppet.com/downloads/mac' |
| 108 | + end |
| 109 | + |
| 110 | + agent_sha = ENV['BEAKER_PUPPET_AGENT_SHA'] || ENV['PUPPET_AGENT_SHA'] |
| 111 | + if agent_sha.nil? || agent_sha.empty? |
| 112 | + install_puppet_agent_on(hosts, options.merge(version: version)) |
| 113 | + else |
| 114 | + # If we have a development sha, assume we're testing internally |
| 115 | + dev_builds_url = ENV['DEV_BUILDS_URL'] || 'http://builds.delivery.puppetlabs.net' |
| 116 | + install_from_build_data_url('puppet-agent', "#{dev_builds_url}/puppet-agent/#{agent_sha}/artifacts/#{agent_sha}.yaml", hosts) |
| 117 | + end |
| 118 | + |
| 119 | + # XXX install_puppet_agent_on() will only add_aio_defaults_on when the |
| 120 | + # nodeset type == 'aio', but we don't want to depend on that. |
| 121 | + add_aio_defaults_on(hosts) |
| 122 | + add_puppet_paths_on(hosts) |
| 123 | + end |
| 124 | + |
102 | 125 | hosts.each { |host| host[:type] = 'aio' }
|
103 | 126 | run_puppet_install_helper
|
104 | 127 | install_module_on(hosts_as('default'))
|
|
0 commit comments