Go to main content

Using Puppet to Perform Configuration Management in Oracle® Solaris 11.4

Exit Print View

Updated: October 2019

Using MCollective With Puppet for Server Orchestration in Oracle Solaris

The Marionette Collective, or MCollective, is a framework for building server orchestration. MCollective provides the capability for working with large numbers of servers. In Oracle Solaris, you can use MCollective in conjunction with Puppet to more easily and efficiently perform configuration management.

This appendix provides basic information about the MCollective deployment in Oracle Solaris. For in-depth background information and instructions on configuring and using MCollective, go to https://puppet.com/docs/mcollective/current/index.html.

About MCollective Support in Oracle Solaris

MCollective is a framework that enables you to build server orchestration or parallel job execution systems. MCollective is primarily used to programmatically execute actions on clusters of servers through the use of state-of-the-art tools, such as publish/subscribe middleware.

MCollective also employs contemporary philosophies, such as real-time discovery of network resources that uses metadata rather than host names to deliver scalable and extremely fast parallel execution environments.

In Oracle Solaris, MCollective complements the use of Puppet by providing mechanisms that enable you to more easily manage system configurations and customizations within a cloud environment, such as an OpenStack deployment.

    Some common uses for MCollective include the following:

  • Enabling services across a family of client virtual machines (VMs)

  • Installing and verifying installation of software packages on a family of client VMs

For more detailed information about using MCollective with Puppet, go to https://puppet.com/docs/mcollective/current/reference/integration/puppet.html.

Deploying MCollective in Oracle Solaris

An MCollective deployment typically consists of the following components: server, client, and middleware. In Oracle Solaris, the MCollective feature is managed through the Service Management Facility (SMF). The middleware component for MCollective is managed through the RabbitMQ open source message broker software. For more information, go to https://puppet.com/docs/mcollective/current/reference/plugins/connector_rabbitmq.html.

    The following MCollective features and functionality are supported:

  • MCollective installation

    MCollective (and its agents) is delivered through the system/management/mcollective IPS package. This package is not installed by default on your Oracle Solaris system.

  • MCollective SMF service instance

    MCollective is managed through a single SMF service, svc:/application/mcollective:default.This service is not enabled by default. Enabling the service instance starts the /usr/sbin/mcollectived daemon, which is the server application.

  • MCollective agents

    MCollective agents enable the tool to use Puppet to perform various configuration management tasks on multiple servers, including remote servers. Agents work by leveraging the Puppet framework to provide orchestration for the configuration management of Oracle Solaris servers. The way that MCollective agents are written make is possible for MCollective to make use of Puppet's default behavior if Puppet modules are present on a system.

    The following four agents (plug-ins) are supported:


    Enables MCollective to use the Facter utility as a source for gathering facts about a system.


    Enables you install, uninstall, update, purge and query the status of software packages on your system.


    Enables you to enable, disable, and run the Puppet daemon.


    Enables you to stop, start, restart, and query the status of the services on your system.

    These plug-ins use the secure client-server communication that is provided by the MCollective framework. The MCollective framework uses the standard SSL/TLS certificates for client and server verification, which is similar to Puppet.

  • MCollective collectives

    Collectives (also referred to as subcollectives) are part of the MCollective framework. Collectives provide a mechanism to group nodes so that you can perform various configuration actions on the entire group (or collective). For details, go to https://puppet.com/docs/mcollective/current/reference/basic/subcollectives.html.

  • MCollective command-line interface (CLI)

    MCollective includes a command-line interface (CLI) that you can use to perform various administrative actions.

    You can display all of the available MCollective subcommands and their usage as follows:

    $ /usr/bin/mco --help

    For details, go to https://docs.puppet.com/mcollective/current/reference/basic/basic_cli_usage.html.

  • MCollective privileges and authorizations

    No special privileges are required to administer MCollective in Oracle Solaris. However, to administer Puppet, you must be assigned the Puppet Management rights profile or assume the root role.