A configuration management system is a crucial tool in the tool box of any sysadmin. I have been using and advocating Puppet for several years now. Recently I have noticed that Ansible had emerged to be considered as an alternative to Puppet. I’ve decided to give Ansible a good look, evaluate its strengths and weaknesses, and decide if, by chance, it is time for me to put Puppet aside.
I’ve recently decided to take the time and look into the various open-source systems for server deployment and life cycle management. As the amount of servers in the data-center grows, as well the the demands for quicker response to rapidly changing IT needs in the organization, performing manual server installation, or even using a manually configured Kickstart server simply doesn’t cut it.
The following is a list of server deployment and life cycle management systems I could find on the Internet, and what I could learn from reading the documentation available on their websites. Continue reading
Having spent the last couple of days working with Puppet on CentOS 5.0 and having noticed that some things were harder to figure out then expected, I’ve decided to document my experience and share it with the rest of the world, therefore I’ve uploaded some documents to my “Docs” section, I do hope someone will find then useful.
What have I been dong with Puppet you ask? Well, having to perform an Oracle install in order to test some RMAN features, and having chosen CentOS as the platform for that install, I decided to test Puppet’s strength by having it perform the Prerequisite Setup for me.
I will share the Puppet recipe I wrote in order to do so, as soon as I can find the time to clean it up a little.
It began with a very simple set of requirements:
- I have a few Solaris and Linux machines I manage.
- While most of the users are handled by LDAP, there are a few administrative users and groups I want defined locally on each of the machines.
- So far I’ve had used a script to define the users for me, however, the script was never meant to be run more then once, so I’ve had to work around it as well as run it manually on each of the machines whenever I needed to add a new user.
- Using the script, there was no way to know, in one place, which users are defined on which machine, what are their permissions, etc.