Upgrade to Pro — share decks privately, control downloads, hide ads and more …

タグの継承を知らずにやらかした話 / ansible-tag-inherit

タグの継承を知らずにやらかした話 / ansible-tag-inherit

4924e08c88a442edbffd87b91cb45131?s=128

zaki-lknr

July 20, 2021
Tweet

Transcript

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

    2021.07 #ansiblejp 1
  2. 今日の内容 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
  3. 自己紹介 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開催
  4. Ansibleのタグ ▹ タスクやロールなどに設定 開発中のタスクだけ動かしたり、カジュアルに動かせないタ スクをスキップしたりできる Ansible Night Online 2021.07 #ansiblejp

    4 ▹ --tags install_httpd ▸ 指定タグのタスクのみ動かす ▹ --skip-tags install_httpd ▸ 指定タグのみスキップ
  5. タグを使って動かないつもりのタスクが動いた ↓ 「なぜそんなことが起きるのか」をお話します Ansible Night Online 2021.07 #ansiblejp やらかしたこと… 5

  6. --- - 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:
  7. --- - 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は明示的に指定しないと動作しない のつもりだったけど…
  8. ▹ タスクに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のタグで実 行がコントロールされる
  9. 対策とまとめ ▹ 実行されるタスクやタグを確認するオプションを活用し ましょう ▸ --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