ansible: ignora silenciosamente os hosts inacessíveis

3

Nós usamos ansible para configurar alguns hosts, incluindo a configuração IP. Nós não queremos usar um servidor DHCP. Às vezes, adicionamos novos hosts à rede. Esses novos hosts estão em um intervalo de endereços IP e os hosts de produção existentes estão em outro. Nós apenas colocamos novos hosts na primeira rede e depois deixamos ansible configurá-los, testá-los e mudar o IP para o intervalo de produção. Ansible é executado regularmente via cron.

No entanto, quando não houver novos hosts, ansible reportará um erro inacessível. Nenhum novo host é a situação usual. Como posso suprimir isso ou torná-lo menos proeminente?

Basicamente, nosso manual é assim:

---
#  configure existing hosts
- hosts: production
  tasks:
    - name: do regular maintenance
      # ...

- hosts: new
  # Does not seem to do anything
  ignore_errors: True 
  tasks: 
    - name: configure freshly discovered host
        # ...
    - name: test freshly discovered host
        # ...
    - name: change ip config to production network
        # ...

O / etc / ansible / hosts é assim:

[production]
192.168.2.[11:255]

[new]
# those are firewalled
192.168.2.[1:10]

Quando eu corro isso, vejo um grande vermelho

PLAY RECAP   ****************************************************
192.168.2.1              : ok=0    changed=0    unreachable=1    failed=0   
[...]

no final, o que é confuso para os meus colegas.

Eu vi esta questão , e eu percebi que, se eu usar ignore_errors, mas não definir um sinalizador, ele deve ignorar silenciosamente os hosts inacessíveis, mas isso não parece ter efeito algum.

    
por icehawk 22.02.2017 / 13:02

2 respostas

0

Uma maneira que encontrei foi executar este script no meu arquivo de hosts primeiro, e edite a lista de acordo. Em seguida, execute o script Ansible.

É um trabalho, mas ainda melhor do que ter que ficar de olho no Ansible o tempo todo esperando que ele pare de novo.

    
por 13.09.2017 / 11:59
0

Você precisaria criar um plug-in de retorno de chamada para modificar a maneira como a Ansible produz sua saída.

Você pode começar com default.py fornecido como um exemplo com Ansible. Procure a string unreachable e modifique o script para atender às suas necessidades.

Por exemplo, para torná-lo menos proeminente, você pode, por exemplo, substituir o valor da variável COLOR_UNREACHABLE .

Salve o código modificado em callback_plugins no diretório do seu projeto, aponte para o diretório e ative o plug-in no arquivo de configuração ansible.cfg .

    
por 28.02.2017 / 08:40

Tags