Eu queria enviar os nomes de host da função ansible para o script python. No meu arquivo host, existem 2 hosts 1ld900 e 1ld901.
meu papel como abaixo
---
- name:execute python
script: writetoexcel.py {{ ansible_play_hosts_all | join(" ") }}
args:
executable: python3
delegate_to: localhost
Mas, ao passá-lo, passe alguns "[" extras para o script python. como abaixo e também há apenas um índice na lista.
[['1ld900','1ld901']]
sem a junção, ele está enviando algum outro caractere de lixo marcado em negrito
"[['**[u**1ld900,', '**u**1ld901**]**']]
por favor, ajude-me a enviar uma lista limpa para o script python como abaixo
["1ld900","1ld901"]
Resposta curta: cite o argumento
Detalhes:
Dado o inventário
e o script Python para teste
o manual
dá (resumido)
O primeiro argumento é o caminho do script e os outros argumentos são todos os hosts da peça. Você deve citar o argumento na linha de comando se quiser obtê-los em um único argumento. Devido aos vários níveis de cotações, é melhor criar uma variável para esse fim
dá (resumido)