How to solve `No request sent, we did not discover any nodes` while trying to run Puppet using MCollective

mcollectivepuppet

MCollective

[vagrant@localhost ~]$ mco ping
localhost.localdomain                    time=117.12 ms


---- ping statistics ----
1 replies max: 117.12 min: 117.12 avg: 117.12
[vagrant@localhost ~]$ mco inventory localhost.localdomain
Inventory for localhost.localdomain:

   Server Statistics:
                      Version: 2.6.1
                   Start Time: Sat Nov 22 23:59:59 +0000 2014
                  Config File: /etc/mcollective/server.cfg
                  Collectives: mcollective
              Main Collective: mcollective
                   Process ID: 3364
               Total Messages: 3
      Messages Passed Filters: 3
            Messages Filtered: 0
             Expired Messages: 0
                 Replies Sent: 2
         Total Processor Time: 1.23 seconds
                  System Time: 0.39 seconds

   Agents:
      discovery       rpcutil

   Data Plugins:
      agent           fact            fstat

   Configuration Management Classes:
      No classes applied

   Facts:
      mcollective => 1

Puppet and MCollective

A puppet.dll was added to /usr/libexec/mcollective/mcollective/agent and recognized by MCollective once services were restarted.

[vagrant@localhost ~]$ mco plugin doc
Please specify a plugin. Available plugins are:

Agents:
  puppet                    Run Puppet agent, get its status, and enable/disable it
  rpcutil                   General helpful actions that expose stats and internals to SimpleRPC clients

Aggregate:

Issue

Although a host is recognized, it is not possible to run Puppet on a host using MCollective.

[vagrant@localhost ~]$ mco rpc puppet runonce
Discovering hosts using the mc method for 2 second(s) .... 0

No request sent, we did not discover any nodes.



[vagrant@localhost ~]$ mco ping
localhost.localdomain                    time=106.18 ms


---- ping statistics ----
1 replies max: 106.18 min: 106.18 avg: 106.18

Update

The issue persists if Puppet Agent is running.

[root@localhost vagrant]# mco ping
localhost.localdomain                    time=257.15 ms


---- ping statistics ----
1 replies max: 257.15 min: 257.15 avg: 257.15
[root@localhost vagrant]# mco rpc puppet runonce
Discovering hosts using the mc method for 2 second(s) .... 0

No request sent, we did not discover any nodes.



[root@localhost vagrant]# ps -ef | grep puppet
root      2578     1  0 11:03 ?        00:00:03 /usr/bin/ruby /usr/bin/puppet agent
root      3129  2783  0 11:12 pts/0    00:00:00 grep puppet
[root@localhost vagrant]# sudo service puppet stop
Stopping puppet agent:                                     [  OK  ]
[root@localhost vagrant]# ps -ef | grep puppet
root      3145  2783  0 11:13 pts/0    00:00:00 grep puppet
[root@localhost vagrant]#

Trying to solve the issue by reading this guide at the moment.

It seems that the Puppet plugin is not recognized by the client.

[root@localhost mcollective]# mco inventory localhost.localdomain
Inventory for localhost.localdomain:

   Server Statistics:
                      Version: 2.6.1
                   Start Time: Sun Nov 23 12:15:07 +0000 2014
                  Config File: /etc/mcollective/server.cfg
                  Collectives: mcollective
              Main Collective: mcollective
                   Process ID: 5110
               Total Messages: 5
      Messages Passed Filters: 3
            Messages Filtered: 2
             Expired Messages: 0
                 Replies Sent: 2
         Total Processor Time: 11.05 seconds
                  System Time: 4.09 seconds

   Agents:
      discovery       rpcutil

   Data Plugins:
      agent           fact            fstat

   Configuration Management Classes:
      No classes applied

   Facts:
      mcollective => 1

Best Answer

The issue was caused because the Puppet plugin was not installed correctly.

README.md

The plugin has been superseded by a new Puppet agent: https://github.com/puppetlabs/mcollective-puppet-agent and is available as packages from apt.puppetlabs.com and yum.puppetlabs.com as mcollective-puppet-agent

This version will stay up here till a new Puppet Commander has been written and then it will be removed.

sudo yum -y install mcollective-puppet-agent and restarting services solved the issue.

[vagrant@localhost ~]$ mco rpc puppet runonce
Discovering hosts using the mc method for 2 second(s) .... 1

 * [ ===========================================================> ] 1 / 1




Finished processing 1 / 1 hosts in 747.09 ms