cf-runagent is not obsolete

I sometimes see comments in the cfengine community, stating that cf-runagent is somehow useless. In its detractors' opinion, cf-agent runs by default every 5 minutes, so when you request cf-runagent to run the agent, chances are that it already did it by itself.

Well, fellow cfengineers, I strongly disagree. To me, cf-runagent is a powerful gun in my toolbox. Here's why.

The real big advantage of using cf-runagent is that you can choose which hosts you want to trigger a run on, and you can set classes in the remote agent (assuming you have cf-serverd properly configured). Combining these two features together, it's trivial to trigger one-off actions remotely (e.g.: deploying a new version of a software), and to do that in a one-two-many fashion: try on one node; if an action works on one test machine, try it on two; if it still works, install on a few more until you're confident it will work across the board; then, trigger the action everywhere.

I used that technique when replacing puppet with cfengine. Using cf-runagent, I was able to remotely enable and disable any of the two and, when the time came, to remove puppet from the nodes altogether (software packages and configurations). Isn't that reason good enough to keep using, developing and improving cf-runagent? 😉

bundle agent SeasonGreetings
{
  reports:
    December.(Day24|Day25)::
      "Merry Christmas!" ;
}
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s