Ansible configurando playbook indempotente com porta ssh não padrão

1

Eu configurei meus servidores com porta ssh não padrão. Gostaria de encontrar uma maneira de criar um manual mestre indempotente, mas parece que tenho problemas com um erro UNREACHABLE ao coletar os fatos.

Eu tenho tentado usar este post como guia: link

No entanto, nem sequer consigo chegar ao primeiro passo se a minha porta estiver configurada de forma diferente.

Meu mestre playbook é assim:

# master playbook
---
- name: Install all the packages for a server
  hosts: test-collection-01
  vars_files:
    - vars/test_collection.yml
  remote_user: foo_user
  roles:
    - debugger

Em seguida, o manual de depuração contém praticamente o que a postagem do blog mencionada anteriormente contém.

---
- name: DEBUG FACTS
  debug:
    msg: 'ansible port: {{ ansible_port }}\,Configured Hostname: {{ inventory_hostname }}'


- name: Try initial ssh port
  set_fact:
    ansible_port: 22

...

No entanto, se meu servidor já tiver seu ssh port alterado para outra coisa, o manual não será executado nem será exibido na etapa "Coletando Fatos".

TASK [Gathering Facts] 
***
fatal: [198.199.x.x]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 198.199.x.x port 22: Connection refused\r\n", "unreachable": true}

Existe uma maneira de executar o código de verificação de porta durante "Coletando Fatos" ou antes?

    
por Brian Leach 28.06.2018 / 22:53

1 resposta

1

Antes de qualquer uma das suas tarefas, Ansible por padrão, executa implicitamente uma tarefa setup (reunindo fatos) que usa os parâmetros de conexão padrão e é aí que o jogo falha.

Adicione gather_facts: false ao seu jogo para evitar isso:

---
- name: Install all the packages for a server
  hosts: test-collection-01
  gather_facts: false
  vars_files:
    - vars/test_collection.yml
  remote_user: foo_user
  roles:
    - debugger

Em seguida, se você precisar dos fatos, adicione explicitamente a tarefa setup depois de estabelecer a porta correta.

    
por 29.06.2018 / 20:36

Tags