Я пытаюсь создать свое приложение, используя упаковщик и поставщик ANSIB, который использует GCP.Но в процессе сборки мне нужно выполнить несколько команд curl, и я не могу найти, как сделать то же самое.
Я уже пробовал «localhost», а затем некоторые переменные типа ansible, такие как «{{ansible_host}}» (возвращая 127.0.0.1, которая не работает) и «{{ansible_default_ipv4.address}}» (переменная не найдена)
Я использую их в файле yml.j2.Может ли это быть причиной проблемы.
ошибка -> тест с "ansible_host"
[0;32m googlecompute: TASK [deploy-XXXXX : Create the XXXXX collection] ***************************[0m
[0;32m googlecompute: fatal: [localhost]: FAILED! => {"changed": false, "content": "", "msg": "Status code was -1 and not [200]: Request failed: <urlopen error [Errno 111] Connection refused>", "redirected": false, "status": -1, "url": "http://127.0.0.1:8765/api/v1/collections/XXXXX"}[0m
[0;32m googlecompute: to retry, use: --limit @/deploy-XXXXX.retry[0m
[0;32m googlecompute:[0m
[0;32m googlecompute: PLAY RECAP *********************************************************************[0m
[0;32m googlecompute: localhost : ok=2 changed=1 unreachable=0 failed=1[0m
тест с "ansible_default_ipv4.address"
[0;32m googlecompute: TASK [deploy-XXXXX : copy environment specific variables] *********************[0m
[0;32m googlecompute: fatal: [localhost]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'ansible_default_ipv4' is undefined"}[0m
[0;32m googlecompute: to retry, use: --limit @/deploy-XXXXX.retry[0m
[0;32m googlecompute:[0m
[0;32m googlecompute: PLAY RECAP *********************************************************************[0m
[0;32m googlecompute: localhost : ok=0 changed=0 unreachable=0 failed=1[0m
[0;32m googlecompute:[0m
Здесь фрагмент пьесы
- name: Validate server runing
uri:
url: "http://{{ ansible_default_ipv4.address }}:{{ port }}/validate"
method: PUT
body_format: json
body: "{\"test\":\"validate\"}"
status_code: 200
headers:
Content-Type: "application/json"