up ?

Le lundi 3 août 2015 22:58:41 UTC+2, Guillaume Loetscher a écrit :
>
> Hi,
>
> I want to have a discussion about "lineinfile" module specifications, and 
> the behavior in several cases.
>
> Here's the algorithm of lineinfile module, when "state=present" :
>
> *1) line mentioned*
> Searching for "line".
> If line is found, then do nothing
> If line is not found, then add the line at the very end of the file 
> (because if insertafter and insertbefore are not filled, then insertafter 
> is forced to EOF).
>
> *2a) line mentioned and insertbefore=BOF*
> If line is found, then do nothing
> If line is not found, then add the line at the beginning of the file
>
> *2b) **line mentioned and insertbefore=BOF and regexp  = regexp2*
> if line is found then do nothing
> if line is not found and regexp is found then change the "regexp2" line by 
> "line" (insertbefore is ignored)
> if line is not found and regexp is not found, then line is added at the 
> beginning of the file.
>
> *2c) line mentioned and insertbefore = regexp*
> if line is found, then do nothing
> if line is not found, and insertbefore regexp is not found, then add the 
> line at the end of the file
> If line is not found, and insertbefore regexp is found, then add the line 
> before the 'insertbefore' line.
>
> *2d) ** line mentioned and insertbefore = regexp and regexp = regexp2*
> if line is found, then do nothing
> if line is not found and insertbefore regexp is found and regexp is found 
> then change the "regepx2" line by "line"
> if line is not found and insertbefore regexp is found and regexp is not 
> found, then insert "line" before "regexp" line
> if line is not found and insertbefore regexp is not found and regexp is 
> found, then change "regexp2" by "line"
> if line is not found and insertbefore regexp is not found and regexp is 
> not found, then add the line at the end of the file.
>
> *3a, 3b, 3c and 3d) same as 2 but with insertafter in spite of 
> insertbefore*
> see relevant 2x) section.
>
> Now, considering the behavior describes here-before, I have several 
> comments :
>
>    - I can understand that, if you search for a line 
>    without mentioning "regexp", and you don't find the line in the file, you 
>    add it at the end of the file. The description of the module is pretty 
>    explicit "This module will search a file for a line, and ensure that 
>    it is present or absent."
>    - However, IMHO, when you specify a regexp, it means that you want 
>    to change a line. So, to me, if the regexp is not matched, the file should 
>    be left intact, without any addition / modification. The documentation is 
>    not clear about the behavior of the module in this case.
>
> So I would like to discuss with you guys, the behavior of the module when 
> you use "regexp" (and possibly insertbefore, insertafter). I would like 
> also to hear the thoughts of the some Ansible users that think it's a 
> normal behavior to have regexp mentioned, that doesn't matched, but have 
> the line still added at the end of the file.
>
> Thanks,
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/e2775237-4b85-4cb0-8955-71a6d8e46a4f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to