One of the main things that got me intrigued about MCollective was the way in which R.I. controls Exim across multiple datacentres with a nice rdialog interface.

I’ve now got the mc-eximctl client working on Ubuntu Lucid using the following steps:

Update!

Since I first published the article below, I have updated my puppet manifests on GitHub to enable you to place all the server side stuff in a single directory and have it rolled out to all your servers.  The client side instructions below still apply…

Installation instructions for mc-eximctl client and server when not using puppet.

  1. Install the required packages:
    sudo aptitude install libstomp-ruby dialog
    sudo gem install rdialog
  2. Download the relevant files to a directory:
    for a in http://mcollective-plugins.googlecode.com/svn/trunk/agent/exim/util/eximclient.rb http://mcollective-plugins.googlecode.com/svn/trunk/agent/exim/mc-eximctl http://mcollective-plugins.googlecode.com/svn/trunk/agent/exim/mc-exim http://mcollective-plugins.googlecode.com/svn/trunk/agent/exim/exim.rb http://mcollective-plugins.googlecode.com/svn/trunk/agent/exim/util/eximserver.rb;do wget $a; done
  3. Copy the files as follows:
    sudo cp exim.rb /usr/share/mcollective/plugins/mcollective/agent/
    sudo cp eximserver.rb /usr/share/mcollective/plugins/mcollective/util/
    sudo cp eximclient.rb /usr/share/mcollective/plugins/mcollective/util/
  4. Copy the binaries into the bin dir on the client
    sudo cp mc-exim /usr/bin/
    sudo cp mc-eximctl /usr/bin/
  5. Now restart the mcollective server on each of your systems and run the program:
    /etc/init.d/mcollective restart
    mc-eximctl

You should find that MCollective automatically discovers your servers that are running the exim plug and allows you to manage them from a single server