2015-03-13 84 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