ansible playbookに別のロールのタスクを含める
質問
私は、個々のタスクでプレイブックリブのようなものを設計しています。
というわけで、通常のロールレポには、以下のようなものがあります。
roles
├── common
│ └── tasks
│ ├── A.yml
│ ├── B.yml
│ ├── C.yml
│ ├── D.yml
│ ├── login.yml
│ ├── logout.yml
│ └── save.yml
├── custom_stuff_workflow
│ └── tasks
│ └── main.yml
└── other_stuff_workflow
└── tasks
└── main.yml
Custom_stuff_workflow にある私の main.yml は、次のような内容になっています。
---
- include: login.yml
- include: A.yml
- include: C.yml
- include: save.yml
- include: logout.yml
で、こちらは別のワークフローで
---
- include: login.yml
- include: B.yml
- include: A.yml
- include: D.yml
- include: save.yml
- include: logout.yml
自然な形で行う方法が見つかりません。 うまくいった方法は、すべてのタスクを1つのロールにして、custom_stuff_workflowを含めながら関連するタスクにタグ付けする方法です。
私が持っている問題は、タグは呼び出し側のプレイブックで設定できないことです。
私はこのansibleレポを社内の多くの人に配布しているので、コマンドラインでの呼び出しに頼ることはできません(
#!
ヘッダが処理されるようにymlで
ansible-playbook
コマンドで処理されます)。
各ワークフローに関連するタスク(上のツリーではcommonの中)をコピーすることもできますが、繰り返しにならないようにしたいので
異なるロール上でタスクを繰り返すことなく、私が望むものを達成するための解決策をどなたか教えてください。
私の問題の根幹は、私がタスクを個々に定義しており、ansibleではそれが不自然に見えることだと思います...。
どうもありがとうございます。
PS: ワークフローのタスクは特定の順序で実行する必要があり、抽象化するための唯一の自然なステップはログインと保存/ログアウトであることに注意してください。
PPS: 私はこの質問を見たことがあります Ansibleの他のロールの中からロールを呼び出すにはどうしたらいいですか? という質問がありましたが、これはロール内のタスクのサブセットではなく、完全なロールを呼び出しているため、私の問題を解決するものではありません。
どのように解決するのですか?
この問題にぶつかった人がいるかもしれないので、バージョン
2.2
は現在、Ansible の
include_role
.このようなことができるようになりました。
---
- name: do something
include_role:
name: common
tasks_from: login
ドキュメントをチェックする ここで .
関連
-
Ansible はエラー 'module' オブジェクトに属性 'SSL_ST_INIT' ソリューションがないことに気づきました。
-
ansible共通モジュール
-
[解決済み】Ansibleのplaybookを安全に1台のマシンに限定する?
-
[解決済み] Ansibleの定義済み変数の一覧はどこで手に入りますか?
-
[解決済み] タスクまたはタスクのセットごとにユーザーを切り替えるには?
-
[解決済み] Ansible hosts ファイルに定義されている現在のマシンのホスト名を取得する方法は?
-
[解決済み] Ansible: 現在のターゲットホストの IP アドレスを取得する
-
[解決済み] Ansible PlaybooksとRolesの比較
-
[解決済み] Ansibleです。コマンドのstdoutを新しい変数に格納する?
-
[解決済み] Ansibleです。Ansible Playbook で Active Directory を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Ansible はエラー 'module' オブジェクトに属性 'SSL_ST_INIT' ソリューションがないことに気づきました。
-
ansible共通モジュール
-
[解決済み] Ansibleの定義済み変数の一覧はどこで手に入りますか?
-
[解決済み] タスクまたはタスクのセットごとにユーザーを切り替えるには?
-
[解決済み] Ansible hosts ファイルに定義されている現在のマシンのホスト名を取得する方法は?
-
[解決済み] ansibleで変数が未定義のときにタスクを実行するには?
-
[解決済み] Ansible: 現在のターゲットホストの IP アドレスを取得する
-
[解決済み] ホストがグループに属していない場合のみ、タスクを実行する
-
[解決済み] ansibleでファイルをロールに相対的にコピーする方法とは?
-
[解決済み] Ansibleで任意のリモートユーザーのホームディレクトリを取得する方法とは?