Skip to main content

Managing computers with mcollective

MCollective or 'Marionette Collective' is a framework to distribute parallel commands to a cluster of computers. You can basicly compare it to remote execution except the framework is organized to work the commands in parallel. Via a simple plugin structure of ruby it is relatively easy to write your own commands.

Marionette Collective works on top of a message queue broker, you can pick different flavors for the broker but the most common adoption appears to be activemq. Other brokers such as rabbitmq are supported as well.

With MCollective there are basicly two configations 'server' and 'client', contrary to terminology, 'server.cfg' is used for the deamon service. In this configuration file you configure what queue on the broker the deamon connects to receive commands. In the 'server.cfg' you configure the queue on the broker to send the commands. So in short: server.cfg is for the command-line client,  client.cfg is for the deamon process.

With MCollective it's possible to create a self-updating command for example just create a command that downloads new ruby files from an ftp server. After installing new ruby files you should restart the service to make it go into effect. The problem with self-updating services however is that technically it's possible to cause an update which due to improper testing causes the deamon not to continue loading. This problem is leviated a little bit due to the lazy-loading nature of interprented languages like ruby; the problem still exists however.

To leviate this form of issue the general idea in devops practices is to increase the coverage with a secondair update stratergy. For example via puppet or via saltstack. This is likely one of the reasons puppet deciced to bundle their software with MCollective.

Comments

Popular posts from this blog

Getting started with Electron Pt 1.

Electron is a fun and easy way to create desktop application from an mostly web based code. Of course websites aren't the most performance way to create an user-interface ( in terms of technical aspects such as memory, cpu consumption) but it's an extremely powerful experience rich way of doing that.

How to configure GoDaddy domain to blogspot

1. Sign in to your GoDaddy account. Click on "My Account," and then click on "My Products." Click "DNS" beneath the corresponding domain.   2. Click on "Add Record," and then select "CNAME (Alias)." 3. Type the desired subdomain name in the "Alias" box. In the "Points To" box, type the following: ghs.google.com 5. Click on "Save Zone File." 6. Sign in to your Blogspot account. Click on "Settings." Click on "Basic." 7. Go to the section ‘Publish’, click the link ‘add URL from thirdparty’   then type your custom  subdomain in the "Your Domain" box. 8. Fill out the word verification puzzle, and then click on "Save Settings." Choose whether or not to redirect the primary domain to the subdomain.
Did you know that the std::istream model is pretty cool? In a few lines of code you can create your own streambuf implementation that drives the istream model.