Comment on page

Ansible INI file module

Simplifying your DevOps life
If you don't read docs, one day you'll realize that your an idiot as i am|was.
A few days back, I've realized that i was using wrong all Ansible modules power since i started with it. What happened?
Most of the time i use Ansible is related to OpenStack configuration jobs. Almost, all OpenStack projects use INI formatted files for their configuration files. When i started using Ansible, I searched on Google how to configure any kind of file with Ansible modules. Almost all blogs/forums that i saw, talked about lineinfile module. So i used these guidelines on my next few months, now i realize that i was using in the wrong way Ansible modules.
Ansible have a module called ini_file, you change values inside INI formatted files in a easy way , you don't need to use complicated regular expressions to change a value in a file.
Here you have ini_file module usage docs:
We are going to change Neutron user password in his dump config file, so we create a simple task on which we can see how ini_file module can be used.
- hosts: localhost
- name: Change neutron user password
dest: ~/neutron.conf
section: keystone_authtoken
option: password
value: 12345
Once the task has been applied, we can see how the values are applied in a proper ini style.
cat neutron.conf
password = 12345
How many times you need to make a change in an INI formatted configuration file with Ansible and used lineinfile module? If the answer is many times, it's OK, you are a dump like me.
Regards, Eduardo Gonzalez