尝试在 Marathon 上删除应用程序时出现致命错误

Ansible Fatal Error when trying to delete an App on Marathon

我正在尝试使用 Ansible Post 马拉松上的应用程序,然后我正在尝试使用我的 Playbook 删除相同的应用程序。一切正常,唯一的问题是当我 运行 我的删除剧本时出现错误。

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

我从你的剧本中看到的是,你正在使用它来删除你的马拉松应用程序,并且你已经在 url 中提供了你的应用程序 ID,我认为你不需要 body 在你的剧本中。请删除 body 和状态代码,我认为它应该可以正常工作。

您不需要 body 的原因是您正在使用它进行删除。对于在马拉松上删除 运行 应用程序,应用程序 ID 就足够了,您不需要传递 app.json 文件来删除应用程序。这将消除您面临的致命错误。

希望对您有所帮助。