Para evitar a correspondência em um comentário, ancore seu regexp no início da linha:
- { inserts: '^\[database\]', lines: 'rpc_backend = rabbit' }
Eu me deparei com um problema peculiar enquanto usava ansible. O problema é muito estranho e perigoso. Eu escrevi um código para inserir dados em uma seção específica de um arquivo, ou seja, para adicionar linha após [database]
em /etc/cinder/cinder.conf
.
O problema é que eu notei que às vezes ele adiciona o conteúdo corretamente após a tag [database]
, mas às vezes fica confuso ao ver uma linha como # put ur infore here for [database]
no arquivo e adiciona nossa linha obrigatória abaixo dela em vez de onde deveria realmente coloque isso.
- name: Adding Entries in "/etc/cinder/cinder.conf"
lineinfile:
dest: "/etc/cinder/cinder.conf"
insertafter: "{{ item.inserts }}"
state: present
line: "{{ item.lines }}"
with_items:
- { inserts: '\[database\]', lines: 'rpc_backend = rabbit' }
Esta situação é bastante perigosa em um ambiente de produção! Como posso adicionar os dados corretamente?