Ansible obtém o nome do host do arquivo hosts

Ansible obtém o nome do host do arquivo hosts

Quero poder obter os primeiros 8 caracteres do primeiro host de um grupo a partir de um arquivo hosts. Portanto, no exemplo abaixo, quero que uma variável seja atribuída xx33sx01. Eu sei que posso usar inventário_hostname para obter os hosts, mas ele retorna todos os 4 e só preciso do primeiro host e apenas dos primeiros 8 caracteres.

exemplo de inventário do Ansible (estilo INI):

[TEST1]
xx33sx0101.domain.com
xx33sx0102.domain.com
xx33sx0103.domain.com
xx33sx0104.domain.com

ansible-playbook /local_home/scripts/test.yml -i ~/hosts -e "target=TEST1" -K

Responder1

Para obter os primeiros 8 caracteres do primeiro nome de host do grupo, tente

- debug:
    msg: "{{ groups[target_group][0][:8] }}"
  vars:
    target_group: TEST1

(não testado)


  • Para que a tarefa de depuração funcione, o grupo deve estar disponível para o manual, é claro. Por exemplo
- hosts: all
  tasks:
    - debug:
        msg: "{{ groups[target_group][0][:8] }}"

informação relacionada