Skip to content

(BOLT-150) Extend support to latest 7.x beaker#45

Open
gavindidrichsen wants to merge 3 commits intomainfrom
bolt-150-add-debian-13
Open

(BOLT-150) Extend support to latest 7.x beaker#45
gavindidrichsen wants to merge 3 commits intomainfrom
bolt-150-add-debian-13

Conversation

@gavindidrichsen
Copy link
Copy Markdown

@gavindidrichsen gavindidrichsen commented Mar 31, 2026

Problem

The Debian 13 platform has been added to Vanagon so that projects like bolt-vanagon-private are now successfully building new Debian 13 artifacts. Unfortunately, our acceptance tests are failins beause we are using an old 2.x version of beaker-hostgenerator. Since debian 13 support has been added to the new 3.x beaker-hostgenerator, we need to upgrade. The easiest solution is to upgrade our beaker from version 6.x to 7.x.

Unfortunately, beaker cannot yet be upgraded because beaker-puppet, beaker-pe, and beaker-abs currently constrain Beaker to older versions.

Solution

Therefore, this PR extends the constraint on beaker and fixes the issue.

Testing

See the comment below with full replication steps of the testing

The Debian 13 platform has been added to Vanagon so that projects like bolt-vanagon-private are now successfully building new Debian 13 artifacts.  Unfortunately, our acceptance tests are failins beause we are using an old `2.x` version of `beaker-hostgenerator`.  Since debian 13 support has been added to the new `3.x` beaker-hostgenerator, we need to upgrade.  The easiest solution is to upgrade our `beaker` from version `6.x` to `7.x`.  Unfortunately, beaker cannot yet be upgraded because `beaker-puppet`, `beaker-pe`, and `beaker-abs` currently constrain Beaker to older versions.

Therefore, this commit extends the constraint on `beaker` and fixes the issue.

Signed-off-by: Gavin Didrichsen <gavin.didrichsen@gmail.com>
@gavindidrichsen gavindidrichsen added the dependencies Pull requests that update a dependency file label Mar 31, 2026
Signed-off-by: Gavin Didrichsen <gavin.didrichsen@gmail.com>
Signed-off-by: Gavin Didrichsen <gavin.didrichsen@gmail.com>
@gavindidrichsen gavindidrichsen marked this pull request as ready for review April 1, 2026 11:25
@gavindidrichsen gavindidrichsen requested a review from a team as a code owner April 1, 2026 11:26
@gavindidrichsen
Copy link
Copy Markdown
Author

Verification of PR in beaker test against bolt-private

All changes to beaker-pe and beaker-abs have been tested locally:

# clone bolt-private
git clone https://github.com/puppetlabs/bolt-private.git

# set environment variables for BEAKER, for the Debian 13 bolt artifact
export LOCAL_PKG=https://builds.delivery.puppetlabs.net/puppet-bolt/bb37f3e7d213e781ace695911e27b490f26c7213/artifacts/deb/trixie/puppet-bolt_5.0.1.65.gbb37f3e-1trixie_amd64.deb
export BEAKER_VERSION='~> 7.0'
export BEAKER_ABS_VERSION='git:https://github.com/puppetlabs/beaker-abs.git#bolt-150-add-debian-13'
export BEAKER_PE_VERSION='git:https://github.com/puppetlabs/beaker-pe.git#bolt-150-add-debian-13'

# bundle install
cd acceptance
bundle install

# verify the new gems, e.g,
➜  acceptance git:(bolt-150-add-debian-13) bundle list | grep -E "beaker[ -]" 
  * beaker (7.4.1)
  * beaker-abs (1.1.0 80045f6)
  * beaker-answers (1.0.0)
  * beaker-hostgenerator (3.5.0)
  * beaker-pe (3.6.1 a2278eb)
  * beaker-puppet (4.4.1)
  * beaker-vmpooler (1.4.0)
➜  acceptance git:(bolt-150-add-debian-13) 

Fix Rakefile to test just the new debian 13 installation of bolt:

➜  acceptance git:(bolt-150-add-debian-13) git diff main..HEAD
diff --git a/acceptance/Rakefile b/acceptance/Rakefile
index 76d2e7aa..e73f7f41 100644
--- a/acceptance/Rakefile
+++ b/acceptance/Rakefile
@@ -15,9 +15,9 @@ extend Acceptance::BoltSetupHelper
 desc "Generate Beaker Host config"
 rototiller_task :host_config do |task|
   unless ENV['BEAKER_HOSTS']
-    task.add_env(name: 'BOLT_CONTROLLER', default: 'debian12-64')
+    task.add_env(name: 'BOLT_CONTROLLER', default: 'debian13-64')
     task.add_env(name: 'BOLT_NODES',
-                 default: 'redhat9-64,fedora40-64,windows10ent-64')
+                 default: 'redhat9-64')
     ns = [ENV['BOLT_CONTROLLER'], ENV['BOLT_NODES']].join(',')
     n  = ns.split(',')
     n_new = []
➜  acceptance git:(bolt-150-add-debian-13) 

Then kick off the tests with bundle exec rake test:package and then should pass something like:

➜  acceptance git:(bolt-150-add-debian-13) ✗ bundle exec rake test:package
...
...
...
    incertain-swine.delivery.puppetlabs.net (debian13-64-1) executed in 3.23 seconds
Begin teardown
End teardown
tests/task_ssh.rb passed in 5.29 seconds
Begin tests/task_winrm.rb

C100551:            bolt task run executes puppet task on remote hosts via winrm
  
  no applicable nodes to test on
Begin teardown
End teardown
Warning: tests/task_winrm.rb skipped in 0.01 seconds
      Test Suite: tests @ 2026-03-31 18:23:20 +0100

      - Host Configuration Summary -


              - Test Case Summary for suite 'tests' -
       Total Suite Time: 211.60 seconds
      Average Test Time: 11.76 seconds
              Attempted: 18
                 Passed: 12
                 Failed: 0
                Errored: 0
                Skipped: 6
                Pending: 0
                  Total: 18

      - Specific Test Case Status -
        
Failed Tests Cases:
Errored Tests Cases:
Skipped Tests Cases:
  Test Case tests/apply_plan_winrm.rb 
  Test Case tests/command_winrm.rb 
  Test Case tests/file_winrm.rb 
  Test Case tests/plan_winrm.rb 
  Test Case tests/script_winrm.rb 
  Test Case tests/task_winrm.rb 
Pending Tests Cases:

No tests to run for suite 'post_suite'
No tests to run for suite 'pre_cleanup'
Cleanup: cleaning up after successful run
ssh connection to debian13-64-1 has been terminated
ssh connection to redhat9-64-1 has been terminated

You can reproduce this run with:
/Users/gavin.didrichsen/@REFERENCES/github/app/development/tools/puppet/repositories/puppetlabs/bolt-private/acceptance/vendor/bundle/ruby/3.2.0/bin/beaker --log-level debug --tests tests --hosts hosts.yaml --preserve-hosts never --keyfile /Users/gavin.didrichsen/.ssh/id_rsa-acceptance --options config/package/options.rb

Important ENV variables that may have affected your run:
    GEM_HOME            /Users/gavin.didrichsen/@REFERENCES/github/app/development/tools/puppet/repositories/puppetlabs/bolt-private/acceptance/vendor/bundle/ruby/3.2.0
    GEM_PATH
    RUBYLIB             /Users/gavin.didrichsen/.rbenv/versions/3.2.7/lib/ruby/site_ruby/3.2.0:/opt/homebrew/Cellar/rbenv/1.3.2/rbenv.d/exec/gem-rehash
    PATH                /Users/gavin.didrichsen/@REFERENCES/github/app/development/tools/puppet/repositories/puppetlabs/bolt-private/acceptance/vendor/bundle/ruby/3.2.0/bin:/Users/gavin.didrichsen/.rbenv/versions/3.2.7/bin:/opt/homebrew/Cellar/rbenv/1.3.2/libexec:/Users/gavin.didrichsen/.rbenv/shims:/Users/gavin.didrichsen/bin:/opt/homebrew/opt/sqlite/bin:/opt/homebrew/bin:/Users/gavin.didrichsen/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/gavin.didrichsen/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/opt/puppetlabs/bin:/opt/puppetlabs/pdk/bin:/Library/TeX/texbin:/Users/gavin.didrichsen/.orbstack/bin:/Applications/Obsidian.app/Contents/MacOS
    home                /Users/gavin.didrichsen
Beaker completed successfully, thanks.
➜  acceptance git:(bolt-150-add-debian-13) ✗ 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants