Como obter o nome do host da máquina atual, conforme definido no arquivo Ansible hosts?


166

Estou configurando um manual Ansible para configurar alguns servidores. Existem algumas tarefas que eu só quero executar se o host atual for meu host de desenvolvimento local, chamado "local" no arquivo de hosts. Como posso fazer isso? Não consigo encontrá-lo em nenhum lugar da documentação.

Eu tentei isso quando instrução, mas falha porque ansible_hostnameresolve para o nome do host gerado quando a máquina é criada, não o que você define no seu arquivo hosts.

- name: Install this only for local dev machine
  pip: name=pyramid
  when: ansible_hostname == "local"

Respostas:



2

Você pode limitar o escopo de um manual alterando o cabeçalho de hosts em suas execuções sem depender do rótulo de host especial 'local' em seu inventário. O Localhost não precisa de uma linha especial em estoques.

- name: run on all except local
  hosts: all:!local

hosts: !localhostprovavelmente funciona também como por exemplo --limit '!dev'obras
timdiels

0

Esta é uma alternativa:

- name: Install this only for local dev machine
  pip: name=pyramid
  delegate_to: localhost
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.