mcollective - 不同的 ruby​​ 路径/环境

mcollective - 不同的 ruby​​ 路径/环境

我如何告诉 mcollective 服务器使用不同的 ruby​​ 路径,或者以其他方式控制 ruby​​ 环境?

我在 Centos 6.5 上运行,并已在服务器和客户端上安装了 ruby​​193 集合。我正在尝试使用 puppetlabs 'shell' 代理(https://github.com/puppetlabs/mcollective-shell-agent),需要 Ruby 1.9。

当我尝试如下简单的“ls”命令时:

mco shell run ls

我得到的是:

* [ ================> ] 1/1
The shell application failed to run: undefined method `sort_by!' for #<Array:blahblahblah>

在我看来,这似乎 mcollective 默认使用系统安装的 Ruby 1.8(位于)/usr/bin/ruby,而不是使用位于 /opt/rh/ruby193 下某处的 PATH ruby​​。

当我安装 ruby​​193 集合时,它会将一大堆文件放在 /opt/rh/ruby193 中,并要求提供脚本进行设置。我已将脚本放入/etc/profile.d,但我猜 mcollective 没有使用它?

任何能给我指点的想法/回答过的 SF 问题都会非常有帮助!或者一个可以工作的 mcollective 的“shell”代理,也可以 :)。我只是想在特定(但动态)的一组盒子上运行 shell 命令!

答案1

最后,这比它本身的麻烦还要多——我决定安装右心室作为多用户安装,并让它为我处理所有相关路径/gemset。我不得不重新安装一些 gem 才能让 Puppet 再次工作,但最终这比与 SCL 斗争的工作量要少。

相关内容