Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


mcollective (21) Versions 0.15.1

Provides the MCollective orchestration framework.

cookbook 'mcollective', '~> 0.15.1', :supermarket
cookbook 'mcollective', '~> 0.15.1'
knife supermarket install mcollective
knife supermarket download mcollective
Quality 17%


the Marionette Collective
orchestration framework.


This cookbook has been tested on Centos 5.6 and 6.3, and Ubuntu 10.04
and 12.04. It should work without alteration on all recent Debian,
Ubuntu, Fedora, and RHEL-family distributions


MCollective requires a message broker. It is most commonly used with
the STOMP protocol and ActiveMQ. A connector for RabbitMQ is also
included with MCollective.

Refer to the
"Getting Started documentation"
on the Puppet Labs site for details about the required configuration.

Cookbook Dependencies

  • apt
  • yum
  • chef_handler

The chef_handler LWRP is used to install a report handler (::server only)

The apt_repository and yum_repository LWRPs are optionally used to configure
the puppetlabs repository for installing packages.


Refer to attributes/default.rb in the cookbook directory for details
of all available attributes.

  • node['mcollective']['users'] - Array of usernames to add to the "mcollective" group.
  • node['mcollective'][install_chef_handler?] - Installs a Chef handler exposing data about the node to mcollective.
  • node['mcollective'][install_chef_agent?] - Installs an mcollective agent to control chef-client/chef-solo. You'll need this to be installed on both client and server machines to be useful.

Frequently Used Settings

You may want to set mcollective['package']['version'] to ensure
your nodes all use the same version of MCollective.

Set mcollective['securityprovider'] to choose which security plugin
to use. If you're using the default ("psk"), you will probably want
to change the shared key by setting mcollective['psk'].

You will need to provide connection details for your STOMP service
(used by the "stomp" and "activemq" connectors) in mcollective['stomp']


Configure the connection details using the mcollective['stomp']
attributes - I do this in an environment or role.

Add recipe[mcollective::server'] to the run_list on nodes that
should run the MCollective daemon, and recipe[mcollective::client]
on nodes that should have the client tools. The default recipe
includes both.

When Chef runs, a handler updates MCollective's "class list" with the
roles and recipes used during the run, and its "fact list" with data
from Ohai.


MCollective Plugins and Configuration

To install and configure additional plugins without changing this
cookbook, install the plugin and DDL to the appropriate subdirectory
of mcollective['site_plugins'], and create a plugin configuration
file in the mcollective['plugin_conf'] directory.


This cookbook installs the MCollective packages using the repositories
provided by PuppetLabs. If you have a local mirror of the required
packages, setting node['mcollective']['enable_puppetlabs_repo'] to
false will skip installation of the repositories.

If you have more extensive customisation requirements, you can supply
your own installation recipes using the
node['mcollective'][recipes'] attributes.


  • Updates to common configuration should restart the server (but only if it is configured on the node)
  • Tests


Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

chef_handler >= 1.0.4
apt >= 0.0.0
yum >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.


Fix deprecation warnings.


  • Remove middleware credentials from connector plugin files.
  • Add middleware credentials to server configuration.
  • Add middleware credentials to client configuration.
  • Add mcollective.stomp.client_username and mcollective.stomp.client_password attributes. When specified, these will be used for the client's connection to the middleware - when unspecified, the client will use the same credentials as the server.
  • Add mcollective.psk_callertype attribute to set plugin.psk.callertype in the mcollective configuration.
  • Remove redundant DDL from Chef agent (thanks, @jorhett)
  • Add mco chef application (contributed by @jorhett - thankyou!)


  • Add mcollective.install_chef_agent? attribute to control whether the Chef agent is installed by the cookbook. You may wish to disable this if you've packaged the plugin, or don't want to use it.
  • Add mcollective.install_chef_handler? attribute to control whether the Chef handler is installed by the cookbook. If you disable this but enable the agent, note that some functionality may be missing or broken.
  • Improvement: be smarter about restarting the mcollective service when configuration and plugins are updated.
  • FIX package installation on ubuntu
  • Improve chef agent 'status' action. The chef-client service is identified as "running", "not running", or "missing".
  • Improve chefspec coverage.


  • FIX invalid redis connector configuration


  • FIX invalid puppetlabs repo added on amazon linux


  • Add ['mcollective']['users'] attribute - these users will be added to the 'mcollective' group, allowing them to run mco as themselves.
  • Add ['mcollective']['group'] attribute, to specify the groupname.
  • Restrict read permissions on client.cfg to mcollective users


  • Support installing (from github) and configuring the redis connector.
  • chefspec and kitchen tests covering server installation and configuration of activemq/rabbitmq/redis connectors.


  • Add support for the new yum cookbook (version 3.x). Earlier versions remain supported.


  • FIX overriding mcollective client identity (thanks to Daniel Leyden)
  • Add support for native RabbitMQ connector (thanks to Simon Pasquier)


  • Add support for the ActiveMQ connector and direct-addressing mode.

  • New parameterised configuration:

    • mcollective identity
    • collective membership
    • connector plugin
    • log level and logfile location
    • factfile and classfile locations
  • New defaults:

    • connector is now 'activemq' (was 'stomp')
    • direct_addressing is enabled (was unsupported)
  • Recipes have been refactored so that it is easier to customise the
    install process.

  • Foodcritic fixes and updated README


  • security provider can be set from an attribute (default is unchanged)


  • Now works on Chef 11.


  • add an attribute to specify which version to install (thanks to jschneiderhan)
  • FEATURE - include an MCollective agent for controlling the chef-client daemon
  • FIX - install packages appropriate to the specific Debian or Ubuntu release
  • FIX - add the Puppet Labs "dependencies" yum repo (for rubygems-stomp)


  • Updated Puppet Labs yum repo location.


  • Start of this Changelog.

Collaborator Number Metric

0.15.1 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

0.15.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

0.15.1 failed this metric

FC064: Ensure issues_url is set in metadata: mcollective/metadata.rb:1
FC065: Ensure source_url is set in metadata: mcollective/metadata.rb:1
FC066: Ensure chef_version is set in metadata: mcollective/metadata.rb:1
FC069: Ensure standardized license defined in metadata: mcollective/metadata.rb:1
FC120: Do not set the name property directly on a resource: mcollective/recipes/puppetlabs-repo.rb:62
FC120: Do not set the name property directly on a resource: mcollective/recipes/puppetlabs-repo.rb:70
FC120: Do not set the name property directly on a resource: mcollective/recipes/puppetlabs-repo.rb:88
FC120: Do not set the name property directly on a resource: mcollective/recipes/puppetlabs-repo.rb:95
FC121: Cookbook depends on cookbook made obsolete by Chef 14: mcollective/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

0.15.1 passed this metric

Testing File Metric

0.15.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

0.15.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must include a tag that matches this cookbook version number