bolt icon indicating copy to clipboard operation
bolt copied to clipboard

Apply does not work on local transport with bundled-ruby=false for latest puppet 7 agents

Open donoghuc opened this issue 2 years ago • 1 comments

Describe the Bug

When not using bundled-ruby for the local transport, it is impossible to load puppet in puppet 7.26.0 for example because the concurrent ruby gem is different between that which is shipped in the bolt package vs that which is shipped in the agent package.

Expected Behavior

Ideally the local transport can support both puppet 7 and 8 agents. Currently bolt is a puppet 7 based, for now it should continue to work with puppet7.

Steps to Reproduce

configure bundled-ruby: false in local config and run bolt apply -e "notify {foo: }" -t locah://localhost.

Environment

root@warmish-workman:~/foo# bolt --version
3.27.2
root@warmish-workman:~/foo# puppet --version
7.26.0
root@warmish-workman:~/foo# find / -name concurrent.rb
/opt/puppetlabs/bolt/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent.rb
/opt/puppetlabs/bolt/lib/ruby/gems/2.7.0/gems/puppet-7.24.0/lib/puppet/concurrent.rb
/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent.rb
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/concurrent.rb

Additional Context

In bolt-vanagon we set the ruby runtime to bolt-specific env (notably gem_path etc), we then use that in local transport https://github.com/puppetlabs/bolt/blob/6ff65051b45207e7de363a4c9ce0be6b6b4761f8/lib/bolt/transport/local/connection.rb#L74-L78 when not using bundled env. This requires that gems are compatible between the agent and bolt deps.

donoghuc avatar Sep 20 '23 23:09 donoghuc

This actually was an issue with the local transport itself (see linked PR). I went ahead and bumped gem deps anyway https://github.com/puppetlabs/puppet-runtime/pull/735

donoghuc avatar Oct 04 '23 23:10 donoghuc

can this be closed now the PR is merged ? @donoghuc

davidsandilands avatar Jun 19 '24 14:06 davidsandilands

yep

donoghuc avatar Jun 20 '24 14:06 donoghuc