MCollective fits well with Puppet's declarative config management methods. The MCollective framework supports this tool by facilitating real-time network resource discovery. MCollective can also select which resources to manipulate based on config data. Puppet is a tool that could provide this data. According to Puppet and the Marionette Collective, system administrators can do a bunch of things with the MCollective framework:
- Interact with small to very large clusters of servers
- Use a broadcast paradigm for request distribution. All servers get all requests at the same time, requests have filters attached and only servers matching the filter will act on requests. There is no central asset database to go out of sync, the network is the only source of truth.
- Break free from ever more complex naming conventions for hostnames as a means of identity. Use a very rich set of meta data provided by each machine to address them. Meta data comes from Puppet, Chef, Facter, Ohai or plugins you provide yourself.
- Use simple command line tools to call remote agents.
- Write custom reports about your infrastructure.
- Manage packages, services and other common components using contributions from the community.
- Write simple RPC style agents, clients and Web UIs in an easy to understand language – Ruby
- Customize the system using MCollectives pluggable architecture
- Leverage the rich authentication and authorization models available via middleware, including fine-grained
- Authentication, Authorization and Auditing of requests.
- Re-use the ability of middleware to do clustering, routing and network isolation to realize secure and scalable setups.
Here's an in-depth screencast about what MCollective can do.
The Puppet 2.6.2 release adds two new features including a user type that lets you take actions when a password recaches a certain age, and a user type that sets an expiration date for an account.