0
forループ内のファイルコンテンツを動的に読み込もうとしています。しかし、すぐに私はファイルパス内にhost
変数を使用しようとすると失敗します。ファイルルックアップパスのループ変数へのアクセス
いくつかの背景:
groups.docker_hosts
に3つのエントリがあります。- 読み込みしようとしているすべてのファイルが存在し、読み込み可能です。
- 各ファイルは
xx
は、この例のホスト指数例えば
あるfile content xx
の含有量が正常に動作します:
template.j2
{% for host in groups.docker_hosts %}
"{{lookup('file', '{{inventory_dir}}/pki/dev-docker01/test')}}"
{% endfor %}
result
"file content 01"
"file content 01"
"file content 01"
この1つは正しく同様
template.j2
{% for host in groups.docker_hosts %}
"{{host}}"
{% endfor %}
result:
"dev-docker01"
"dev-docker02"
"dev-docker03"
各ホストをレンダリングしかし、すぐに私がこのエラーを受け取っているファイルパス内にhost
を使用しようとすると"msg": "AnsibleUndefinedVariable: 'host' is undefined"
{% for host in groups.mongo_hosts %}
"{{lookup('file', '{{inventory_dir}}/pki/{{host}}/test')}}"
{% endfor %}
グローバル変数のみにアクセスできる新しい分離コンテキストで動作しているようです。どのように実際にそれを作るための任意のアイデアhost
は正しく変数を参照してください?
ありがとうございます! –
多くの感謝!シンプル –