Slide 1

Slide 1 text

タグの継承を知らずにやらかした話 Ansible Night Online! 2021.07 2021.07.20 @zaki_hmkc Ansible Night Online 2021.07 #ansiblejp 1

Slide 2

Slide 2 text

今日の内容 Ansible Night Online 2021.07 #ansiblejp 2 ▹ 詳細ははてなブログで! [Ansible] そのtag設定、想定通りに動いてま すか? (継承機能とその実装を確認する ) https:/ /bit.ly/ansiblejp-2021-tag-inherit ※ 公式ドキュメント https:/ /docs.ansible.com/ansible/latest /user_guide/playbooks_tags.html

Slide 3

Slide 3 text

自己紹介 Hiroshi Miyazaki AP Communications Co., Ltd. Twitter: zaki_hmkc Qiita / GitHub: zaki-lknr Ansible Night Online 2021.07 #ansiblejp 3 趣味から仕事へ→ 最近触ってない…→ ドキュメント検索 Chrome拡張usansible 【ハンズオンセミナー】SmartCSとAnsibleの連携 による 自動化の可能性を体験! 7/29開催

Slide 4

Slide 4 text

Ansibleのタグ ▹ タスクやロールなどに設定 開発中のタスクだけ動かしたり、カジュアルに動かせないタ スクをスキップしたりできる Ansible Night Online 2021.07 #ansiblejp 4 ▹ --tags install_httpd ▸ 指定タグのタスクのみ動かす ▹ --skip-tags install_httpd ▸ 指定タグのみスキップ

Slide 5

Slide 5 text

タグを使って動かないつもりのタスクが動いた ↓ 「なぜそんなことが起きるのか」をお話します Ansible Night Online 2021.07 #ansiblejp やらかしたこと… 5

Slide 6

Slide 6 text

--- - hosts: localhost become: true roles: - role: install_server tags: install - role: os_configure tags: config タグの継承 (roleの場合) Ansible Night Online 2021.07 #ansiblejp 6 ▹ Role呼び出しにタグ設定 ▹ 呼び出されるタスクはすべて呼び出し元に 設定されたタグが追加される --- - name: install httpd ansible.builtin.yum: name: httpd tags: never - name: configure httpd ansible.builtin.template:

Slide 7

Slide 7 text

--- - name: install httpd ansible.builtin.yum: name: httpd tags: never - name: configure httpd ansible.builtin.template: Roleの呼び出し元でタスク実行が制御される Ansible Night Online 2021.07 #ansiblejp 7 ▹ タスクにneverタグ設定 ▹ neverは明示的に指定しないと動作しない のつもりだったけど…

Slide 8

Slide 8 text

▹ タスクにneverタグ設定 ▹ neverは明示的に指定しないと動作しない のつもりだったけど… --- - name: install httpd ansible.builtin.yum: name: httpd tags: never - name: configure httpd ansible.builtin.template: Roleの呼び出し元でタスク実行が制御される Ansible Night Online 2021.07 #ansiblejp 8 roles: - role: install_server tags: install 呼び出し元Roleのタグで実 行がコントロールされる

Slide 9

Slide 9 text

対策とまとめ ▹ 実行されるタスクやタグを確認するオプションを活用し ましょう ▸ --list-tasks ▸ --list-tags ▸ 確認できるのはimportしたタスク ▹ 機能が継承されるのもimportしたタスク ▸ タグだけではない ▸ when, check_mode, ignore_errors, など… ▹ 参考ブログ: https:/ /bit.ly/ansiblejp-2021-tag-inherit Ansible Night Online 2021.07 #ansiblejp 9