ansible blockinfile disable marker

7

Sou novo no ansible, mas consegui usar com êxito a função blockinfile . No entanto, não consigo descobrir como evitar que os marcadores sejam inseridos. Eu li a documentação, mas não pareceu descrevê-la.

Isto é o que aparece em todos os arquivos que o blockinfile escreve.

# BEGIN ANSIBLE MANAGED BLOCK
# END ANSIBLE MANAGED BLOCK
    
por Nik 13.02.2016 / 01:54

3 respostas

8

Eu dei uma olhada no módulo blockinfile original no github - antes do Ansible 2 não foi empacotado com Ansible. Acontece que os marcadores são realmente usados para identificar o bloco :

That seems intended behavior. It replaces all lines surrounded by the block markers with the specified content.

Isso significa que, se você remover os marcadores, blockinfile não conseguirá mais identificar o bloco, o que resultará no módulo para adicionar o bloco ao arquivo toda vez que você executar o manual.

Assim, os marcadores antes e depois do bloco escrito são um requisito do módulo e não podem ser removidos.

Se este for um playbook único que nunca será executado novamente, você poderá executar o módulo lineinfile com a opção state: absent posteriormente.

Resposta antiga:

De acordo com os documentos, o módulo blockinfile tem uma opção marker .

Você tentou configurá-lo para uma string vazia ou False?

blockinfile:
    dest: /var/www/html/index.html
    marker: ""

ou

blockinfile:
    dest: /var/www/html/index.html
    marker: False
    
por 13.02.2016 / 03:29
0

eu fiz algo assim ...

- name: Insert someline in somefile.sh
    blockinfile:
      path: /usr/share/somefile.sh
      block: -sometext
      insertafter: '-XX:originaltext'
      marker: ""
      backup: yes


 - name: Remove blank lines blockinfile put in
    lineinfile :
     path: /usr/share/somefile.sh
     state: absent
     regexp: '^$'
  • marcador "" irá inserir linhas em branco no arquivo
  • lineinfile irá removê-los (junto com todas as outras linhas em branco), então cuidado!
por 29.09.2018 / 01:52
-1

Justo, acabei usando o seguinte para criar várias linhas.

link

Obrigado @udondan

    
por 15.02.2016 / 20:40

Tags