エラーメッセージrequire.rb:36:in gem_original_require:no such file to load--puppetの解決


最近windowsにmcollectiveをインストールするテストで、ずっと1つの問題に引っかかって、以下はwindowsの上でmcollectivedサービスを再起動した後に報告するエラーです
agents.rb Loading agent puppet failed: Could not create instance of plugin MCollective::Agent::Puppet: C:/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load--puppet
D, [2013-12-19T08:49:51.572777 #1696] DEBUG -- : windows_daemon.rb Starting Windows Service Daemon
D, [2013-12-19T08:49:51.572777 #1696] DEBUG -- : pluginmanager.rb Returning cached plugin global_stats with class MCollective::RunnerStats
D, [2013-12-19T08:49:51.572777 #1696] DEBUG -- : pluginmanager.rb Returning new plugin security_plugin with class MCollective::Security::Psk
D, [2013-12-19T08:49:51.572777 #1696] DEBUG -- : pluginmanager.rb Returning cached plugin global_stats with class MCollective::RunnerStats
D, [2013-12-19T08:49:51.572777 #1696] DEBUG -- : pluginmanager.rb Returning new plugin connector_plugin with class MCollective::Connector::Stomp
I, [2013-12-19T08:49:51.572777 #1696]  INFO -- : stomp.rb MCollective 2.2.x will be the last to fully support the 'stomp' connector, please migrate to the 'activemq' or 'rabbitmq' connector
D, [2013-12-19T08:49:51.572777 #1696] DEBUG -- : stomp.rb Connecting to 192.168.100.122:61613
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : agents.rb Reloading all agents from disk
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : agents.rb Found discovery at C:\mcollective\plugins/mcollective/agent/discovery.rb
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : pluginmanager.rb Loading MCollective::Agent::Discovery from mcollective/agent/discovery.rb
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : agents.rb MCollective::Agent::Discovery does not have an activate? method, activating as default
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : pluginmanager.rb Registering plugin discovery_agent with class MCollective::Agent::Discovery single_instance: true
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : pluginmanager.rb Returning new plugin discovery_agent with class MCollective::Agent::Discovery
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : pluginmanager.rb Returning cached plugin connector_plugin with class MCollective::Connector::Stomp
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : stomp.rb Subscribing to /topic/mcollective.discovery.command
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : agents.rb Found puppet at C:\mcollective\plugins/mcollective/agent/puppet.rb
D, [2013-12-19T08:49:51.588377 #1696] DEBUG -- : pluginmanager.rb Loading MCollective::Agent::Puppet from mcollective/agent/puppet.rb
D, [2013-12-19T08:49:51.603977 #1696] DEBUG -- : pluginmanager.rb Registering plugin puppet_agent with class MCollective::Agent::Puppet single_instance: false
D, [2013-12-19T08:49:51.603977 #1696] DEBUG -- : pluginmanager.rb Returning new plugin puppet_agent with class MCollective::Agent::Puppet
D, [2013-12-19T08:49:51.603977 #1696] DEBUG -- : cache.rb Cache miss on 'ddl' key 'agent/puppet'
D, [2013-12-19T08:49:51.603977 #1696] DEBUG -- : base.rb Found puppet ddl at C:\mcollective\plugins/mcollective/agent/puppet.ddl
E, [2013-12-19T08:49:51.619577 #1696] ERROR -- : agents.rb Loading agent puppet failed: Could not create instance of plugin MCollective::Agent::Puppet: C:/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- puppet
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : agents.rb Found rpcutil at C:\mcollective\plugins/mcollective/agent/rpcutil.rb
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Loading MCollective::Agent::Rpcutil from mcollective/agent/rpcutil.rb
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : agent.rb Starting default activation checks for rpcutil
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Registering plugin rpcutil_agent with class MCollective::Agent::Rpcutil single_instance: false
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Returning new plugin rpcutil_agent with class MCollective::Agent::Rpcutil
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : cache.rb Cache miss on 'ddl' key 'agent/rpcutil'
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : base.rb Found rpcutil ddl at C:\mcollective\plugins/mcollective/agent/rpcutil.ddl
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Returning cached plugin connector_plugin with class MCollective::Connector::Stomp
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : stomp.rb Subscribing to /topic/mcollective.rpcutil.command
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Loading MCollective::Data::Agent_data from mcollective/data/agent_data.rb
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Registering plugin agent_data with class MCollective::Data::Agent_data single_instance: false
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Loading MCollective::Data::Fstat_data from mcollective/data/fstat_data.rb
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Registering plugin fstat_data with class MCollective::Data::Fstat_data single_instance: false
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Loading MCollective::Data::Puppet_data from mcollective/data/puppet_data.rb
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Registering plugin puppet_data with class MCollective::Data::Puppet_data single_instance: false
D, [2013-12-19T08:49:51.619577 #1696] DEBUG -- : pluginmanager.rb Loading MCollective::Data::Resource_data from mcollective/data/resource_data.rb
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : pluginmanager.rb Registering plugin resource_data with class MCollective::Data::Resource_data single_instance: false
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : pluginmanager.rb Returning new plugin resource_data with class MCollective::Data::Resource_data
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : cache.rb Cache miss on 'ddl' key 'data/resource_data'
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : base.rb Found resource_data ddl at C:\mcollective\plugins/mcollective/data/resource_data.ddl
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : pluginmanager.rb Returning new plugin puppet_data with class MCollective::Data::Puppet_data
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : cache.rb Cache miss on 'ddl' key 'data/puppet_data'
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : base.rb Found puppet_data ddl at C:\mcollective\plugins/mcollective/data/puppet_data.ddl
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : pluginmanager.rb Returning new plugin agent_data with class MCollective::Data::Agent_data
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : cache.rb Cache miss on 'ddl' key 'data/agent_data'
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : base.rb Found agent_data ddl at C:\mcollective\plugins/mcollective/data/agent_data.ddl
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : pluginmanager.rb Returning new plugin fstat_data with class MCollective::Data::Fstat_data
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : cache.rb Cache miss on 'ddl' key 'data/fstat_data'
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : base.rb Found fstat_data ddl at C:\mcollective\plugins/mcollective/data/fstat_data.ddl
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : pluginmanager.rb Returning cached plugin connector_plugin with class MCollective::Connector::Stomp
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : stomp.rb Subscribing to /topic/mcollective.mcollective.command
D, [2013-12-19T08:49:51.635177 #1696] DEBUG -- : stomp.rb Waiting for a message from Stomp

分析の問題はrubyがpuppetプラグインをロードしてもエラーが報告されず、最終的に原因がmcollectiveメインプロファイルserverであることを発見した.cfgのlibdir = C:\mcollective\pluginsの中でmcollectiveのlibライブラリだけを指して、puppetとfacterのlibライブラリが見つかりませんでした!したがってlibdirにpuppetとfactorのlibライブラリパスlibdir = C:\mcollective\plugins;C:\Puppet Labs\Puppet\puppet\lib;C:\Puppet Labs\Puppet\facter\libdirを追加する必要がある
メモ:puppetとfactorのlibパスが上と一致しない可能性があります.表示できます.