puppetlabs / beaker-puppet_install_helper

A beaker helper for installing PE, Foss/Gem puppet, or puppet-agent all in one beaker method.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Getting an error with beaker 4.0

lmayorga1980 opened this issue · comments

Are there any workarounds to make it work with beaker 4.0?

An error occurred while loading ./spec/acceptance/class_spec.rb.
Failure/Error: run_puppet_install_helper_on(hosts) unless ENV['BEAKER_provision'] == 'no'
NoMethodError:
  undefined method `install_puppet_agent_on' for main:Object
  Did you mean?  install_ca_certs_on
  
# /home/lcentinel/.rvm/gems/ruby-2.4.4/gems/beaker-puppet_install_helper-0.9.4/lib/beaker/puppet_install_helper.rb:95:in `run_puppet_install_helper_on'
# ./spec/spec_helper_acceptance.rb:9:in `<top (required)>'
# ./spec/acceptance/class_spec.rb:1:in `require'
# ./spec/acceptance/class_spec.rb:1:in `<top (required)>'
No examples found.
ssh connection to master has been terminated
removing temporary ssh-config files per-vagrant box
Destroying vagrant boxes
==> master: Forcing shutdown of VM...
==> master: Destroying VM and associated drives...

Hi @lmayorga1980 there were substantial changes with beaker 4, they were detailed here https://github.com/puppetlabs/beaker/blob/4.0.0/docs/how_to/upgrade_from_3_to_4.md If you want an example of changes that are needed you can look here https://github.com/puppetlabs/puppetlabs-stdlib/pull/937/files or here puppetlabs/puppetlabs-apt#779

Does that help ?

Seems like I am having the same problem ...

An error occurred while loading ./spec/acceptance/class_spec.rb.
Failure/Error: run_puppet_install_helper unless ENV['BEAKER_provision'] == 'no'
NoMethodError:
  undefined method `install_puppet_agent_on' for main:Object
  Did you mean?  install_ca_certs_on
  
# /home/lcentinel/.rvm/gems/ruby-2.4.4/gems/beaker-puppet_install_helper-0.9.4/lib/beaker/puppet_install_helper.rb:95:in `run_puppet_install_helper_on'
# /home/lcentinel/.rvm/gems/ruby-2.4.4/gems/beaker-puppet_install_helper-0.9.4/lib/beaker/puppet_install_helper.rb:6:in `run_puppet_install_helper'
require 'beaker'
require 'beaker-rspec'
require 'beaker-puppet'
require 'beaker/puppet_install_helper'
#require 'beaker/module_install_helper'
require 'beaker/testmode_switcher/dsl'

The following fixed my problem and in case someone checks back ...

spec_helper_acceptance.rb

require 'beaker-puppet'
require 'puppet'
require 'beaker-rspec'
require 'beaker/puppet_install_helper'
require 'beaker/testmode_switcher'
require 'beaker/testmode_switcher/dsl'

Gemfile

source ENV['GEM_SOURCE'] || 'https://rubygems.org'

puppetversion = ENV.key?('PUPPET_VERSION') ? ENV['PUPPET_VERSION'] : ['>= 5.3']
gem 'metadata-json-lint'
gem 'puppet', puppetversion
gem 'puppetlabs_spec_helper', '>= 1.0.0'
gem 'puppet-lint', '>= 1.0.0'
gem 'facter', '>= 1.7.0'
gem 'rspec-puppet'
gem 'rspec-puppet-facts'
gem 'rspec-puppet-utils'
gem 'simplecov-console'
gem 'beaker'
gem 'beaker-puppet'
gem 'beaker-rspec'
gem 'beaker-vagrant'
gem 'beaker-puppet_install_helper'
gem 'beaker-hostgenerator'
gem 'beaker-vmware'
gem 'beaker-docker'
gem 'puppet-blacksmith'
gem 'rubocop'
gem 'beaker-testmode_switcher'

Thats great, apologies for not getting back sooner