{"id":1514,"date":"2012-12-09T19:09:17","date_gmt":"2012-12-09T18:09:17","guid":{"rendered":"http:\/\/kudzia.eu\/b\/?p=1514"},"modified":"2012-12-10T08:48:31","modified_gmt":"2012-12-10T07:48:31","slug":"ansible-centralized-configuration-management","status":"publish","type":"post","link":"https:\/\/kudzia.eu\/b\/2012\/12\/ansible-centralized-configuration-management\/","title":{"rendered":"ansible &#8211; centralized configuration management&#8230;"},"content":{"rendered":"<p>&#8230; that did not drive me crazy so far.<br \/>\n<!--more--><br \/>\ni&#8217;ve been reading a bit about dev-ops-ish solutions for the centralized configuration management since quite a few years. i&#8217;ve even used <a href=\"http:\/\/puppetlabs.com\/\">puppet<\/a> starting from 2009 with varying degree of success. i&#8217;ve considered also <a href=\"http:\/\/www.opscode.com\/chef\/\">chef<\/a> and <a href=\"http:\/\/cfengine.com\/\">cfengine<\/a>. for the last two &#8211; i&#8217;ve never passed the reading blog posts\/slides stage. puppet &#8211; with a bit of pain &#8211; did the job and let me set up ~20 servers; but i&#8217;d lie if i said it saved me much time. it felt unintuitive; due to the &#8216;calling back home&#8217; architecture it made me bend over backwards in the configuration of nats and firewalls between actual servers and the puppet-master machine. and it was slow; and it required running [at least periodically] own ruby-based daemon on the managed machines. at some point &#8211; somewhere around upgrade to squeeze or just after it it all stopped working altogether. i did not have time or much of motivation to troubleshoot it.<\/p>\n<p>some time ago i&#8217;ve read about <a href=\"http:\/\/ansible.cc\/\">ansible<\/a>. no need to install any daemons on the managed machines? using ssh as the transport method? &#8211; it all sounded suspiciously sane. few weeks ago i was preparing myself to shard a database &#8211; go from 1 pair of masters in the <a href=\"\/b\/2011\/06\/mysql-curcular-master-master-replication\/\">circular replication configuration<\/a> + 1 slave to 3 + 3 masters + 3 slaves and i thought i&#8217;ll give ansible a try. as with puppet i decided to use ansible mostly for configuring of nagios \/ munin monitoring, adding few entries to \/etc\/sysctl.d and configuring ntp synchronization &#8211; basically all nice to have but not critical parts of the configuration; i don&#8217;t operate large scale so mysql&#8217;s my.cnf can be still altered manually. <\/p>\n<p>results? writing playbooks was pretty quick. i found what i needed online without much trouble. i probably don&#8217;t have perfect idea about &#8216;the proper&#8217; way of doing it but it worked nevertheless. and now i have couple of reusable playbooks that can be handy in the future when setting up some new servers. applying playbooks to multiple hosts is pretty quick &#8211; thanks to the multi-threading; applying to a single host &#8211; is not any faster than with puppet but at least i have some idea what&#8217;s exactly going on.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; that did not drive me crazy so far.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[74,73,75],"class_list":["post-1514","post","type-post","status-publish","format-standard","hentry","category-tech","tag-ansible","tag-ccm","tag-puppet"],"_links":{"self":[{"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/posts\/1514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/comments?post=1514"}],"version-history":[{"count":5,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/posts\/1514\/revisions"}],"predecessor-version":[{"id":1519,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/posts\/1514\/revisions\/1519"}],"wp:attachment":[{"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/media?parent=1514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/categories?post=1514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/tags?post=1514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}