2016-04-04 9 views
1

Ansibleのベスト・プラクティスのドキュメントには、このサンプルコードがありますどのようにして、有能なタスクファイルのすべてのコマンドにタグを適用できますか?

--- 
# file: roles/common/tasks/main.yml 

- name: be sure ntp is installed 
    yum: name=ntp state=installed 
    tags: ntp 

- name: be sure ntp is configured 
    template: src=ntp.conf.j2 dest=/etc/ntp.conf 
    notify: 
    - restart ntpd 
    tags: ntp 

- name: be sure ntpd is running and enabled 
    service: name=ntpd state=running enabled=yes 
    tags: ntp 

私はtags: ntp行の重複を避けるために探しています。これらの命令のそれぞれがタグを継承することは可能ですか?

答えて

4

あなたがして仕事ができる - ブロック:

➜ ~ cat become.yml 
--- 
- hosts: localhost 
    user: vagrant 
    tasks: 
    - block: 
     - shell: whoami 
     register: result 

     - debug: var=result.stdout 

     - name: become_root_user 
     become: true 
     become_user: root 
     shell: whoami 
     register: sudo_test_result 

     - debug: var=sudo_test_result.stdout 
    tags: 
     - block1 
    - block: 
     - name: creating_new_app_user 
     become: true 
     become_user: root 
     become_method: sudo 
     user: name=app_user password=Bzs310di86b6E groups="adm,sudo" system=yes state=present 

     - name: become_app_user 
     become: true 
     become_user: app_user 
     become_method: sudo 
     shell: whoami 
     register: app_user_test_result 

     - debug: var=app_user_test_result.stdout 
    tags: 
     - block2 

〜あなたの特定のケースで--tags "ブロック1"

become.yml ansible-脚本-iリアルタイム・オートメーション/ホスト - スレーブ:

これは

移動を「含む」にタグを割り当てる達成できるV2前

--- 
- block: 
    - name: be sure ntp is installed 
     yum: name=ntp state=installed 

    - name: be sure ntp is configured 
     template: src=ntp.conf.j2 dest=/etc/ntp.conf 
     notify: 
     - restart ntpd 

    - name: be sure ntpd is running and enabled 
     service: name=ntpd state=running enabled=yes 
    tags: ntp 
+0

恐ろしいそれを含めます!この機能には、Aniable v2 btwが必要です。 – Ryre

+0

はい、あなたはブロックを使用するためには2.0が必要です。 –

5

別のファイルにこのタスクは、

--- 
# file: roles/common/tasks/ntp.yml 

- name: be sure ntp is installed 
    yum: name=ntp state=installed 

- name: be sure ntp is configured 
    template: src=ntp.conf.j2 dest=/etc/ntp.conf 
    notify: 
    - restart ntpd 

- name: be sure ntpd is running and enabled 
    service: name=ntpd state=running enabled=yes 

をntp.yml言うそしてmain.ymlに

--- 
# file: roles/common/tasks/main.yml 
- include: ntp.yml 
    tags: ntp 
+0

あなたはまだ 'tags:ntp'をntp.ymlファイルに含めていますが、あなたの答えが正しく理解できれば、それらのタグは削除できますか? – Ryre

+0

はい、申し訳ありませんが、ntp.yml @Ryreに 'tags:ntp'は必要ありません – shaps

関連する問題