MCollective is a server orchestration tool that is built by Puppet Labs.
With specific puppet classes
mco find --with-class apache mco find --with-class postgres::server
With specific fact values
mco find --with-fact is_virtual=true --with-fact 'processorcount >= 12'
You can use the same filters as shown above with mco find.
Ping all servers containing "test" in their name
mco ping -I /test/
Who's running apache?
mco service httpd status
Restart a service on all, but avoid thundering herd by splaying in batches, e.g. 3 at a time
mco service puppet restart --batch 3 --batch-sleep 3
mco process list elasticsearch mco process list jboss mco process list httpd
Create a file /tmp/fooj on test12
mco puppet resource file /tmp/fooj ensure=file mode=0440 owner=root -I test12
The filemgr command is probably more suited for file management tasks. See https://github.com/puppetlabs/mcollective-filemgr-agent
mco rpc filemgr status dirlist=true file=/usr/local/java
sudo mco rpc yum install package=telnet sudo mco rpc yum update package=rkhunter
If you care about the graphs displayed in summary, you'll need to set your putty encoding to utf-8 and use a font like DejaVu.
mco puppet summary mco puppet count mco puppet status
Invoke a puppet run on a specific server
mco puppet runonce -I test02
It's OK to do puppet runonce on multiple hosts. By default, puppet will splay its runs to avoid a thundering herd.