2016-03-04 24 views
10
Ben yanıtlayıcı' taktik kitabı kullanarak bir sonraki komutu çalıştırmak isteyen

ile bukle -X yürütün?yanıtlayıcı 'oyun kitabında

Koşarsam:

- name: post to consul 
    uri: 
    url: http://marathon.service.consul:8080/v2/apps/ 
    method: POST 
    body: "{{ lookup('file','mesos-consul.json') }}" 
    body_format: json 
    HEADER_Content-Type: "application/json" 

sonraki var fail:

tasks: 
- name: post to consul 
    uri: 
    url: http://marathon.service.consul:8080/v2/apps/ 
    method: POST 
    body: "{{ lookup('file','mesos-consul.json') }}" 
    body_format: json 
    headers: 
     Content-Type: "application/json" 

:

fatal: [172.16.8.231]: FAILED! => {"failed": true, "msg": "ERROR! thefile_name '/home/ikerlan/Ik4-Data-Platform/ansible/playbooks/Z_PONER_EN_MARCHA/dns-consul/mesos-consul.j2' does not exist, or is not readable"}

cevap

19

Bunu yapmanın en iyi yolu URI module kullanmaktır Json dosyanızın remoda olduğundan te makinesi yürütmek için en kolay yolu kabuk modülü ile muhtemelen: smiller171 @

- name: post to consul 
    shell: 'curl -X POST [email protected]/full/path/to/mesos-consul.json -H "Content-Type: application/json" http://marathon.service.consul:8080/v2/apps' 
+0

teşekkür ama başucu kitabının dosyası 'mesos-consul.json' yürütmek için Tryes değil, uzak makinenin, var Modülünü çalıştırdığımda bir başarısızlık, açıklamanın içinde. –

+0

[getirme modülü] 'ni (http://docs.ansible.com/ansible/fetch_module.html) kullanarak uzaktaki düğümden json dosyasını alabilir ve ardından URI modülünü kullanabilir veya kullanabilirsiniz. script "uzak düğümde curl comandı yürütmek için modül. Cevabımı, hangisini tercih edeceğinizi göstermek için güncelleyebilirim. – smiller171

+0

Komut dosyasını çalıştırmak için en kolay yol betik modülünü kullanmaktır, çok fazla bilmiyorum çünkü bu kadar tecrübem yok, bu yüzden lütfen anlamanın en kolay yolunu istiyorum. Teşekkürler @ smiller171 –