|  | 
| 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') | 
| 8 | 7 | 
 | 
| 9 | 8 | RSpec.configure do |c| | 
|  | 9 | +  def run_puppet_install_helper | 
|  | 10 | +    return unless ENV['PUPPET_INSTALL_TYPE'] == 'agent' | 
|  | 11 | +    if ENV['BEAKER_PUPPET_COLLECTION'].match? %r{/-nightly$/} | 
|  | 12 | +      # Workaround for RE-10734 | 
|  | 13 | +      options[:release_apt_repo_url] = 'http://nightlies.puppet.com/apt' | 
|  | 14 | +      options[:win_download_url] = 'http://nightlies.puppet.com/downloads/windows' | 
|  | 15 | +      options[:mac_download_url] = 'http://nightlies.puppet.com/downloads/mac' | 
|  | 16 | +    end | 
|  | 17 | + | 
|  | 18 | +    agent_sha = ENV['BEAKER_PUPPET_AGENT_SHA'] || ENV['PUPPET_AGENT_SHA'] | 
|  | 19 | +    if agent_sha.nil? || agent_sha.empty? | 
|  | 20 | +      install_puppet_agent_on(hosts, options.merge(version: version)) | 
|  | 21 | +    else | 
|  | 22 | +      # If we have a development sha, assume we're testing internally | 
|  | 23 | +      dev_builds_url = ENV['DEV_BUILDS_URL'] || 'http://builds.delivery.puppetlabs.net' | 
|  | 24 | +      install_from_build_data_url('puppet-agent', "#{dev_builds_url}/puppet-agent/#{agent_sha}/artifacts/#{agent_sha}.yaml", hosts) | 
|  | 25 | +    end | 
|  | 26 | + | 
|  | 27 | +    # XXX install_puppet_agent_on() will only add_aio_defaults_on when the | 
|  | 28 | +    # nodeset type == 'aio', but we don't want to depend on that. | 
|  | 29 | +    add_aio_defaults_on(hosts) | 
|  | 30 | +    add_puppet_paths_on(hosts) | 
|  | 31 | +  end | 
|  | 32 | + | 
| 10 | 33 |   c.before :suite do | 
| 11 | 34 |     unless ENV['BEAKER_provision'] == 'no' | 
| 12 | 35 |       hosts.each { |host| host[:type] = 'aio' } | 
|  | 
0 commit comments