Running a "modern" Ruby task with Choria on CentOS 7 fail because it use the system Ruby (2.0) and the task use more modern code. However, running the same task with Bolt targeting the same host succeed because Bolt use the version of Ruby bundled with Puppet (2.7) to run that task.
Even when the version of Ruby is compatible, some tasks that work with Bolt fail to run with Choria because they rely on command that cannot be found (e.g. Errno::ENOENT: No such file or directory - facter when a task rely on facter to gather some facts).
Maybe we should consider prepending /opt/puppetlabs/puppet/bin to the PATH on AIO platforms before running a task to be consistent with bolt? Or maybe we can make PATH tuneable from the server configuration?
We started discussing this with @ripienaar and @vjanelle on slack but the discussion went stale before we reached a consensus on what to do :-) Opening this issue so that we have a chance to fix this
Running a "modern" Ruby task with Choria on CentOS 7 fail because it use the system Ruby (2.0) and the task use more modern code. However, running the same task with Bolt targeting the same host succeed because Bolt use the version of Ruby bundled with Puppet (2.7) to run that task.
Even when the version of Ruby is compatible, some tasks that work with Bolt fail to run with Choria because they rely on command that cannot be found (e.g.
Errno::ENOENT: No such file or directory - facter
when a task rely on facter to gather some facts).Maybe we should consider prepending
/opt/puppetlabs/puppet/bin
to thePATH
on AIO platforms before running a task to be consistent with bolt? Or maybe we can makePATH
tuneable from the server configuration?We started discussing this with @ripienaar and @vjanelle on slack but the discussion went stale before we reached a consensus on what to do :-) Opening this issue so that we have a chance to fix this