我正在尝试使用Ansible在马拉松上发布应用程序,然后我尝试使用我的Playbook删除相同的应用程序。一切正常,唯一的问题是我在运行我的Playbook for delete时遇到错误。
fatal: [localhost]: FAILED! =>
{
"cache_control":"no-cache, no-store, must-revalidate",
"changed":false,
"connection":"close",
"content":"{\"version\":\"2016-10-12T16:51:47.641Z\",\"deploymentId\":\"46edbf12-e837-45c5-9360-9824a4143868\"}",
"content_length":"92",
"content_type":"application/json; qs=2",
"date":"Wed, 12 Oct 2016 16:51:02 GMT",
"expires":"0",
"failed":true,
"json":{
"deploymentId":"46edbf12-e837-45c5-9360-9824a4143868",
"version":"2016-10-12T16:51:47.641Z"
},
"msg":"Status code was not [201]: OK (92 bytes)",
"pragma":"no-cache",
"redirected":false,
"server":"openresty/1.7.10.2",
"status":200,
"url":"http://mywebsite.com:19092/v2/apps/demoansible",
"x_marathon_leader":"http://10.201.160.1:31392"
}
如上所示,json显示成功响应,状态为200,当我检查Marathon UI时,应用程序被删除。但唯一的问题是致命的:[localhost]:失败了! =>错误。有什么办法,我可以删除那个错误吗?
这是我的删除剧本:
---
- hosts: local
gather_facts: false
tasks:
-
uri:
body: "{{ lookup('file','app.json') }}"
body_format: json
force_basic_auth: true
method: DELETE
password: password
status_code: 201
url: "url/v2/apps/demoansible"
user: user1
答案 0 :(得分:0)
我从您的剧本中看到的是,您正在使用它来删除马拉松上的应用程序,并且您已经在网址中提供了您的应用程序ID,我认为您不需要在您的剧本中使用正文。请删除正文和状态代码,我认为它应该可以正常工作。
原因是,你不需要身体就是你用它来删除。并且为了在马拉松上删除正在运行的应用程序,app id绰绰有余,您不需要传递app.json文件来删除应用程序。这将消除您所面临的致命错误。
希望这有帮助。