こんにちは! JQです。
前回は『 OSS編~AnsibleでRoleを試してみる01~ 』と題して、AnsibleでRoleのTaskを試してみました。
今回は『OSS編~AnsibleでRoleを試してみる02~』と題して、AnsibleでRoleのTemplatesとFileを試してみたいと思います。
これまでの工程は こちら をご参照下さい。
6.Files設定
前回では簡単なタスクを実行しました。
次はFilesを試してみたいと思います。
簡単なファイルをフォルダに作成します。
1$ sudo vim roles/apache/files/index.html2testtaskにcopyを追加してみます。
1$ sudo vim roles/apache/tasks/main.yml2---3- name: apache install4 yum: pkg={{ item }} state=present5 with_items:6 - httpd78- name: index file9 copy: src=index.html dest=/var/www/html/index.html owner=root group=root mode=06441011- name: on httpd12 service: name=httpd enabled=yes state=started実施してみます。
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: [apache | apache install] ***********************************************12ok: [127.0.0.1] => (item=httpd)1314TASK: [apache | index file] ***************************************************15changed: [127.0.0.1]1617TASK: [apache | on httpd] *****************************************************18changed: [127.0.0.1]1920PLAY RECAP ********************************************************************21127.0.0.1 : ok=4 changed=2 unreachable=0 failed=0ファイルが作成されているか確認してみます。
1$ ls /var/www/html/index.html2/var/www/html/index.html7.Template設定
続いてテンプレートを試してみます。
テンプレートエンジンとしてjinja2 が使われている為、拡張子を.j2で保存します。
Alias設定のConfを作ってみます。
1$ sudo vim roles/apache/templates/test.conf.j22Alias /test /var/www/test続いてタスクを更新します。
テンプレートにてconfファイルを作成した後にディレクトリとファイルを作成して再起動を行います。
1$ sudo vim roles/apache/tasks/main.yml2---3- name: apache install4 yum: pkg={{ item }} state=present5 with_items:6 - httpd78- name: template conf9 template: src=test.conf.j2 dest=/etc/httpd/conf.d/test.conf mode=06441011- name: make dir12 file: path=/var/www/test state=directory1314- name: index file15 copy: src=index.html dest=/var/www/test/index.html owner=root group=root mode=06441617- name: on httpd18 service: name=httpd enabled=yes state=restarted実行してみます。
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: [apache | apache install] ***********************************************12ok: [127.0.0.1] => (item=httpd)1314TASK: [apache | template conf] ************************************************15changed: [127.0.0.1]1617TASK: [apache | make dir] *****************************************************18changed: [127.0.0.1]1920TASK: [apache | index file] ***************************************************21changed: [127.0.0.1]2223TASK: [apache | on httpd] *****************************************************24changed: [127.0.0.1]2526PLAY RECAP ********************************************************************27127.0.0.1 : ok=6 changed=4 unreachable=0 failed=0確認してみます。
1$ curl http://127.0.0.1/test/index.html2testいかがでしたでしょうか?
お楽しみに!!!