Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which is the best way to make config changes in conf files in ansible

Initially I used a makefile to deploy my application in linux.

I had various sed commands to replace variables like the PHP upload file size, post size, log file location etc.

Now I am shifting to ansible. I know I can copy the files, but how can I make changes to the conf files? Like if i just want to change the upload_filesize = 50M parameter. I don't want to make copies of the whole conf file and then replace with my file.

Sometimes it’s only a one-line change. Is there any better way to edit the config files in ansible?

like image 473
user1994660 Avatar asked Mar 12 '14 00:03

user1994660


People also ask

Which among the following can be used to configure Ansible?

Ansible supports several sources for configuring its behavior, including an ini file named ansible. cfg , environment variables, command-line options, playbook keywords, and variables.

Which Ansible modules can be used to change the contents of a file?

The lineinfile - module is the best option, if you just want to add, replace or remove one line. The replace - module is best, if you want to add, replace or delete several lines.


1 Answers

If it's an INI file, then your specific requirements can be probably met by ini_file module (http://docs.ansible.com/ini_file_module.html).

If your change is limited just few lines (or eve one), then you can probably look at lineinfile module (http://docs.ansible.com/lineinfile_module.html).

Should you however need to change large number of settings, then it may be more beneficial to use template (http://docs.ansible.com/template_module.html) or assemble (http://docs.ansible.com/assemble_module.html). The main disadvantage of this approach is that you may need to review your template or fragments when updating your dependency.

like image 196
Marcin Płonka Avatar answered Nov 15 '22 21:11

Marcin Płonka