我刚刚用Ansible 2.2和Debops弄湿了脚,我遇到了以下问题。我有一个主机test-host
,我部署了一个MySQL服务器(使用geerlingguy.mysql)。
该角色使用以下处理程序重新启动服务:
---
- name: restart mysql
service: "name={{ mysql_daemon }} state=restarted sleep=5"
我认为,使用Ansibles service module来重启服务器。但是,这失败了:
unsupported parameter for module: sleep
因此,为了排除该自定义角色的任何奇怪现象,我试图像这样直接执行模块:
ansible test-host -b -m service -a 'name=mysql sleep=5 state=restarted'
具有相同的结果。
使用更详细的输出显示运行Ansible(以及其他内容):
Running systemd
Using module file /usr/local/lib/python2.7/site-packages/ansible-2.2.0-py2.7.egg/ansible/modules/core/system/systemd.py
所以似乎使用了systemd
模块而不是service
(查看模块显示它确实是aliased to service
)。而且,瞧,systemd
不支持sleep
参数。
如何解决这个问题?
答案 0 :(得分:3)
您可以通过在Playbook中添加另一个步骤来解决此问题:
url=https%3A%2F%2Fapi.example.com&method=POST&headers=%7BContent-Type%3Aapplication%2Fjson%7D&body%5Bfirstname%5D=John&body%5Blastname%5D=Wick