Search This Blog

Monday, June 10, 2013

Remote execution and configuration management framework written in Python

There are number of tools out there that you can use for automation and/or configuration management. Many of these tools are flexible and offer a range of command and GUI applications interfaces as well as programming libraries and API. If you are paranoid or have very unique requisitions you can writhe with a help of them the automaton scripts yourself. This is a simple example code to automate a task using the paramiko Python library.

Likely, the most popular one are puppet and chef. Puppet is written in Ruby where Chef is in Ruby and Erlang (the newest version).

Problem

Is there any automation and configuration framework that is natively written in Python.

Analisis and results description

Automation tool called Salt or Saltstack is written in Python and provide a native support for modules written in Python.

The tool is rapidly evolving and getting popular. On the main project page we can find number of resources like email group, wiki and IRC (http://saltstack.com/community). There is even a YouTube channel. Below is an introduction and example how salt works.

http://docs.saltstack.com/topics/tutorials/walkthrough.html
http://www.linuxjournal.com/content/getting-started-salt-stack-other-configuration-management-system-built-python


1 comment:

  1. Saltstack seems to be a very interesting project, very fast when connecting to a lot of nodes, as mcollective would do.
    What are the pros'n'cons, according to your experience?
    When would you use it?

    Thanks,

    Simone

    ReplyDelete