Как мне указать серверу mcollective использовать другой путь ruby или иным образом управлять средой ruby?
Я работаю на Centos 6.5 и установил коллекцию ruby193 на серверы и клиент. Я пытаюсь использовать агент оболочки puppetlabs (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
и не использовать Ruby PATH, который находится где-то в / opt / rh / ruby193.
Когда я установил коллекцию ruby193, она помещает целую кучу файлов в / opt / rh / ruby193 и требует исходного скрипта для настройки. Я вставил сценарий /etc/profile.d
, но я предполагаю, что mcollective этим не пользуется?
Любые идеи / ответы на вопросы SF, чтобы указать мне, были бы очень полезны! Или рабочий «shell» агент для mcollective, что тоже подойдет :). Я просто пытаюсь запустить команду оболочки для определенного (но динамического) набора ящиков!
В конце концов, это было больше проблем, чем того стоит - я решил установить RVM как многопользовательскую установку, и позволяя ей обрабатывать все соответствующие пути / гемсеты для меня. Мне пришлось немного переустановить драгоценные камни, чтобы Puppet снова заработал, но в конце концов это было меньше работы, чем борьба с SCL.