0

我已经使用 puppet 设置了一个集群。现在我需要为 puppet master 调用 call puppet agent。为此,我打算使用 MCollective。我有另一个要求,需要从 java 客户端调用 MCollective 以实现从 master 更改客户端配置并重新启动服务器。有没有办法做到这一点?谢谢,伊拉姆

4

1 回答 1

1

我通过使用 jruby 解决了这个问题。我使用 rvm 安装了 ruby​​ gems mcollective-client、json 和 jruby-openssl。在以下示例中,我调用了一个简单的 mco puppet runonce

Java 代码

ScriptingContainer ruby = new ScriptingContainer(LocalVariableBehavior.PERSISTENT);
Object result = ruby.runScriptlet(PathType.ABSOLUTE,"/opt/ruby_test.rb");

红宝石代码

 require 'rubygems'
 require 'mcollective'
 include MCollective::RPC
 mc = rpcclient("puppet")
 printrpc mc.runonce()
 mc.disconnect
于 2015-08-25T09:10:26.180 回答