--
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 ansible-proje...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
# Regexp implementation note:
# - the line to match follows the following pattern:
# - <startofline>: matched by ^
# - A number of white spaces/tabs: matched by \s+
# - the "kernel" string: matched by kernel
# - A list of: <spaces|tab><string> -> this is all the options passed to the kernel
# - possible spaces and tabs at the end : matched by the latest \s*
# - the <end of line>: matched by $
# - the list of: <spaces|tab><string1> described above
# e.g: /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/VolGroup00-root_vol … rd_LVM_LV=VolGroup00/root_vol SYSFONT=latarcyrheb-sun16 rd_NO_DM
# is matched by: (\s+(?!pcie_aspm=off)[\w=/\-\.]+)*
# The (?!pcie_aspm=off) is to direct the regexp engine to check that the string 'pcie_aspm=off'
is not present
# anywhere in the in the <string1> part. This is called negative lookahead.
# This is just a check, no characters are "consumed". The following [\w=/\-\.]+
# is ther to consume aka match any strings made of alphanumeric characters,the '/', the '-', the '.'
# - if the 'pcie_aspm=off' string is present, there is no match
# - the capturing group 1 referred as to \1 in the line= statement
# will capture the whole line but the trailing <withe spaces> and <end of line>
- name: Activate a lacking kernel option 'pcie_aspm=off' in {{ targetgrub }}
lineinfile: dest={{ targetgrub }}
backup=True
backrefs=True
state=present
regexp='(^\s+kernel(\s+(?!pcie_aspm=off)[\w=/\-\.]+)*)\s*$'
line='\1 pcie_aspm=off'