如何使用Ansible重新启动服务?

sor*_*rin 4 ansible

我尝试使用Ansible服务模块重新启动服务,但出现错误。

 tasks:
    - ini_file: dest=/etc/dd-agent/datadog.conf
               section=Main
               option=use_mount
               state=absent
      register: ddagent
    - service: name='datadog-agent' state=reloaded
      when: ddagent.changed
Run Code Online (Sandbox Code Playgroud)

这产生了这个错误: ERROR: change handler (restart datadog) is not defined

我知道一种替代方法是执行:

- command: "service datadog-agent restart"
Run Code Online (Sandbox Code Playgroud)

尽管如此,在这种情况下,服务模块的目的是什么?

小智 5

您应该添加以下代码:

handlers:
  - name: restart datadog
    service: name=datadog-agent state=restarted
Run Code Online (Sandbox Code Playgroud)

您面临的问题是您没有定义处理程序。这样就可以了