intro to systems orchestration with mcollective
TRANSCRIPT
#!/bin/bash -‐e for node in $(mco find -‐-‐np -‐C roles::node) do echo "restar0ng ssh on $node" mco service -‐-‐np sshd restart -‐I $node >/dev/null sleep 2 mco rpc service status service=sshd -‐I $node -‐j | \ jgrep data.status=running -‐s data.status >/dev/null echo "ssh is up on $node" done
#!/usr/bin/ruby require 'mcollec0ve' require 'pp' include MCollec0ve::RPC # discover u0l = rpcclient("rpcu0l") u0l.progress = false u0l.class_filter /roles::node/ nodes = [] u0l.ping.each do |resp| nodes << resp[:sender] end u0l.disconnect nodes.each do |node| srv = rpcclient("service") srv.progress = false srv.iden0ty_filter node puts "restar0ng sshd on #{node}" srv.restart(:service => "sshd") srv.reset <snip>