2015-03-13 79 views
1

我正在AIX上的新的Opsware公司的代理服务检查只通知,其代理的路径是/etc/rc.d/init.d/opsware-agent。Ansible定义自定义的服务路径,如果重新启动该服务

首先请让我知道如何定义这个变量路径和服务调用。

其次,它应该运行仅当此Opsware公司的代理服务已重新启动命令。如何做到这一点,因为下面一个不起作用。

- name: Ensure Opsware agent is running on AIX 
service: name={{ aix_service_path }} state=started enabled=yes 
register: aix_status 


- name: Opsware AIX Notify only if it failed 
when: aix_status|success 
notify: 
- hardware refresh 
- software refresh 

- name: hardware refresh 
command: chdir=/opt/opsware/agent/pylibs/cog/ ./bs_hardware 

- name: software refresh 
command: chdir=/opt/opsware/agent/pylibs/cog/ ./bs_Software 

回答

1

让我假设YML格式是正确的,刚刚在你的文章中被破坏。否则,你首先需要正确地缩进你的线。

然后确保你的处理程序是内部handlers/main.yml。在你的文章中,它看起来像一切都在同一个文件,然后当然会在每个播放执行。

最后,你可能会触发该服务任务的处理程序,没有必要有伪任务,这还不能工作,因为实际上是没有定义的动作。

所以这应该工作:

your_role /任务/ main.yml:

--- 

- name: Ensure Opsware agent is running on AIX 
    service: name={{ aix_service_path }} state=started enabled=yes 
    notify: 
    - hardware refresh 
    - software refresh 

... 

your_role /处理器/ main.yml:

--- 

- name: hardware refresh 
    command: chdir=/opt/opsware/agent/pylibs/cog/ ./bs_hardware 

- name: software refresh 
    command: chdir=/opt/opsware/agent/pylibs/cog/ ./bs_Software 

... 

处理器就会只有在服务状态为changed时才会收到通知。

如何定义aix_service_path取决于要归档的内容。您可以在your_role/defaults/main.yml定义的默认值:

--- 

aix_service_path: foo 

... 

或在your_role/vars/main.yml定义它迫使它 - 相同的格式,上面的缺省值。

您可以在您的手册中的角色呼叫中传递参数,例如,

roles: 
    - role: your_role 
     aix_service_path: foo 

参数传递这样会在defaults/main.yml覆盖的定义,而不是那些在vars/main.yml定义。

您可以在剧本一个vars部分定义它。

您可以在调用您的手册​​时通过命令行传递它。或者将其定义为服务器组或组var var。你也可以在库存中定义变量......确定变量的确有很多选择。你必须决定哪些符合你的需求。查看variables section in the Ansible docs了解更多详情。

+0

谢谢你。关于“role:your_role”在/vars/main.yml中定义角色后,我应该在哪里调用此角色?我的意思是我应该在/tasks/main.yml中调用这个角色吗?如果是的话,该怎么做。 – 2015-03-15 03:42:40

+0

角色将在您的剧本中引用。建议您没有任务,但只有角色在您的剧本和角色中的所有任务。看看http://docs.ansible.com/playbooks_roles.html#roles – udondan 2015-03-15 03:48:20

+0

在这里你可以看到一个基本的目录结构,包括一个示例角色:http://docs.ansible.com/playbooks_best_practices.html#directory-布局 – udondan 2015-03-15 03:49:30