11

ある役割で、別の役割からいくつかの変数を読み込もうとしています。(その役割が現在のプレイに含まれていれば、変数にアクセスできますが、そうではありません。)

だから私はこれを試しました:

- include_vars: ../../another_role/defaults/main.yml

しかし、それは機能しません。エラーはありませんが、変数はまだ定義されていません。vars/another_role_defaults.ymlだから私は賢く、変数を使用したい役割にファイルをシンボリックリンクして、次のように含めようとしました:

- include_vars: another_role_defaults.yml

同じ結果で、エラーはありません (ファイルが見つからない場合にエラーがスローされないのはなぜですか??) が、変数はまだ定義されていません。私もこれを試してみましたが、それでも葉巻はありませんでした。

- include_vars: ../vars/another_role_defaults.yml

私は何を間違っていますか?

4

3 に答える 3

13

最終的には自分のせいでした...debugモジュールを使用してこれをテストし、次のtagsようにしました:

- include_vars: ../../another_role/defaults/main.yml

- debug: msg={{ variable }}
  tags: foo

そして、次のようにプレイブックを実行します。

  ansible-playbook -vvvv playbook.yml --tags foo

タグを外すと、(もちろん)機能します。include_vars問題は、次のようにコマンドにタグを追加する必要があったことです。

- include_vars: ../../another_role/defaults/main.yml
  tags: foo

- debug: msg={{ variable }}
  tags: foo
于 2014-07-04T14:35:36.337 に答える