こんにちは! JQです。
前回は『 OSS編~AnsibleでRoleを試してみる03~ 』と題して、AnsibleでRoleのVarsとHandlersを試してみました。
今回は『OSS編~AnsibleでRoleを試してみる04~』と題して、AnsibleでRoleのMetaを引き続き試してみたいと思います。
1.前準備
metaを設定する事でRoleの依存関係を設定出来ます。
先ずは依存関係となるPHPのRoleを作成します。
ディレクトリを作成します。
1$ sudo mkdir -p roles/php/{files,templates,tasks,handlers,vars,meta}タスクを作成します。
1$ sudo vim roles/php/tasks/main.yml2---3- name: php install4 notify:5 - restart httpd6 yum: pkg={{ item }} state=present7 with_items:8 - phpHandlerを設定します。
1$ sudo vim roles/php/handlers/main.yml2- name: restart httpd3 service: name=httpd state=restarted2.meta設定
次にmetaを設定します。
1$ sudo vim roles/apache/meta/main.yml2---3dependencies:4 - { role: php }それでは実行してみます。
1$ sudo ansible-playbook site.yml2 [WARNING]: The version of gmp you have installed has a known issue regarding3timing vulnerabilities when used with pycrypto. If possible, you should update4it (ie. yum update gmp).56PLAY [testservers] ************************************************************78GATHERING FACTS ***************************************************************9ok: [127.0.0.1]1011TASK: [php | php install] *****************************************************12changed: [127.0.0.1] => (item=php)1314TASK: [apache | apache install] ***********************************************15ok: [127.0.0.1] => (item=httpd)1617TASK: [apache | template conf] ************************************************18ok: [127.0.0.1]1920TASK: [apache | make dir] *****************************************************21ok: [127.0.0.1]2223TASK: [apache | index file] ***************************************************24ok: [127.0.0.1]2526TASK: [apache | template var file] ********************************************27ok: [127.0.0.1]2829TASK: [apache | on httpd] *****************************************************30ok: [127.0.0.1]3132NOTIFIED: [php | restart httpd] ***********************************************33changed: [127.0.0.1]3435PLAY RECAP ********************************************************************36127.0.0.1 : ok=9 changed=2 unreachable=0 failed=0Apacheのタスクが実行される前に依存関係に設定したPHPのRoleが実行されているのがわかります。
実際にインストールされたのが確認出来ます。
1$ php -v2PHP 5.3.29 (cli) (built: Aug 20 2014 16:41:34)3Copyright (c) 1997-2014 The PHP Group4Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologiesいかがでしたでしょうか?
次回もお楽しみに!!!