微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 ansible aem_agent 模块删除过时的刷新代理时出错

如何解决使用 ansible aem_agent 模块删除过时的刷新代理时出错

谁能帮助我解决使用 aem_agent 模块 (https://github.com/lean-delivery/ansible-modules-aem/blob/master/aem_agent.py) 删除过时复制代理的错误

我遇到了一个错误

"msg": "Failed to delete agent: 405 - "

这是一个任务:

- name: Remove dispatcher flush agents
  aem_agent:
    name: "{{ obsolete_dispatcher }}"
    state: absent
    folder: 'agents.publish'
    admin_user: '{{ admin_login }}'
    admin_password: '{{ admin_password }}'
    host: 'http://localhost'
    port: '4502'

来自错误日志:

XX.XX.XXXX XX:XX:XX.XXX *ERROR* [127.0.0.1 [XXXXXXXXXXXXX] DELETE /etc/replication/agents.publish/ip-XX-XX-XXX-XXX-XX-XXXX-X-compute-internal-dispatcher HTTP/1.1] org.apache.sling.servlets.resolver.internal.SlingServletResolver handleError: Recursive invocation. Not further handling status 405(Method DELETE not supported)

解决方法

当您根据 security checklist 禁用 WebDav 包时,不支持 HTTP DELETE 方法。 您可以重新启用 WebDAV 或修改 Ansible aemagent project 中的代码以使用 Sling POST servlet 进行删除。请求将是一个带有参数“:operation=delete”到路径的 POST。

有关示例,请参阅 Sling documentation

,

按照建议,我修改了一个代码(delete_agent 函数)。变化:

  1. 来自 delete => post 的请求方法
  2. 向请求添加数据:{':operation': 'delete'}
  3. 此外,我创建了 PR 来在代码中添加这些更改。

它对我有用。非常感谢 Andrew Khoury!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。