From 66afdf7731119353e0a08bff81aeb1b8bbf0475a Mon Sep 17 00:00:00 2001 From: Aria Li Date: Wed, 20 Mar 2024 11:45:29 -0700 Subject: (PA-6178) Configure host type as AIO Previously, when running with beaker 5 and latest beaker-puppet, tests failed with: cannot add defaults of type pe for host redhat7-64-1 (add_pe_defaults_on not present) The error came from beaker-puppet when it tried to configure the host as a PE agent[1]. The root cause is beaker defaults its options to `pe`[2]. When `beaker-puppet` calls the `configure_type_defaults_on` method, it calls the appropriate `add__defaults_on` method. This works when using beaker 4 as `beaker-pe` is pulled in as a dependency and its `add_pe_defaults_on` method[3] is included into the tests. However, when running with beaker5, beaker-pe is not loaded, so the method is undefined. It appears beaker-puppet_install_helper is responsible for the whether beaker-pe is loaded or not, but only when using beaker-puppet_install_helper 0.9.4. Since these tests don't actually depend on PE, drop beaker-pe, require 'beaker-puppet' directly (so the install_from_build_data_url method exists) and configure the host type directly. [1] https://github.com/puppetlabs/beaker-puppet/blob/7175b5c1acb5cddb3a31ddcc114f09cddd3b83d0/lib/beaker-puppet/install_utils/puppet_utils.rb#L167 [2] https://github.com/voxpupuli/beaker/blob/c61ee381d3801bad70989d9b3cbf970771e6f330/lib/beaker/options/presets.rb#L139 [3] https://github.com/puppetlabs/beaker-pe/blob/3bfe913b8d57c805cc0c51ae899fff174224d5f5/lib/beaker-pe/install/pe_defaults.rb#L93 --- spec/spec_helper_acceptance.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index e22dc87..633ed4b 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -1,5 +1,6 @@ require 'puppet' require 'beaker-rspec' +require 'beaker-puppet' require 'beaker/module_install_helper' require 'beaker/puppet_install_helper' require 'voxpupuli/acceptance/spec_helper_acceptance' @@ -17,6 +18,7 @@ end RSpec.configure do |c| c.before :suite do unless ENV['BEAKER_provision'] == 'no' + hosts.each { |host| host[:type] = 'aio' } run_puppet_install_helper install_module_on(hosts) install_module_dependencies_on(hosts) -- cgit v1.2.3