[DevoxxFR2013] Returns all active nodes with response times
Targeted actions follow:
mco service restart service=httpd -F osfamily=RedHat
This restarts Apache only on RedHat-based systems—in parallel across thousands of nodes. Filters support complex queries:
mco find -F country=FR -F environment=prod
MCollective plugins extend functionality: package installation, file deployment, or custom scripts. Security relies on SSL certificates and message signing, preventing unauthorized commands.
## Integrating Puppet and MCollective: A Synergistic Workflow
Pelisse combines both tools for full lifecycle management. Puppet bootstraps nodes—installing the MCollective agent during initial provisioning. Once enrolled, MCollective triggers Puppet runs on demand:
mco puppet runonce -I /web\d+.prod.fr/
This forces configuration convergence across matching web servers. For dependency-aware deployments, MCollective sequences actions:
1. Install database backend
2. Validate connectivity (via facts)
3. Deploy application server
4. Start services
Pelisse shares a real-world example: upgrading JBoss clusters. MCollective drains traffic from nodes, Puppet applies the new WAR, then MCollective re-enables load balancing—all orchestrated from a single command.
## Tooling Ecosystem: Foreman, Hiera, and Version Control
Foreman provides a web dashboard for Puppet—visualizing reports, managing node groups, and scheduling runs. It integrates with LDAP for access control and supports ENC (External Node Classifier) scripts to assign classes dynamically.
Hiera separates configuration data from logic, using YAML or JSON backends: