Ansible: いつ:{{groups ['group']}}のinventory_hostnameが動的インベントリで機能しない

作成日 2015年06月24日  ·  3コメント  ·  ソース: ansible/ansible

https://github.com/eparis/ansible-inventory-bugを作成して、誰でもローカルで実行できるクリーンな再現機能の意味を正確に示しました。 「動的」インベントリと静的インベントリの両方があります。

(「動的」の場合、実際には一部のjsonに対応しているだけですが、問題が明確に示されています)

静的インベントリファイルを使用すると、 when: inventory_hostname in {{ groups['group'] }}は問題なく機能します。 しかし、動的インベントリでは、Pythonのローカリゼーション/文字列処理の混乱のように見えて失敗します...

affects_2.0 affects_2.3

最も参考になるコメント

だからたくさんの実験をして見つけた

作品:
when: inventory_hostname in groups['group']

失敗:
when: inventory_hostname in {{ groups['group'] }}

したがって、問題を引き起こすのは{{}}の追加セットです。 静的では機能するが動的では機能しない理由はわかりませんが。

全てのコメント3件

だからたくさんの実験をして見つけた

作品:
when: inventory_hostname in groups['group']

失敗:
when: inventory_hostname in {{ groups['group'] }}

したがって、問題を引き起こすのは{{}}の追加セットです。 静的では機能するが動的では機能しない理由はわかりませんが。

{{}}を使用しないでください(実際にはこれをエラーにする必要があります)。ここで静的/動的の動作が少し異なる理由は、最後に返されるオブジェクトのタイプ、リストとユニコード文字列が原因のようです。 。

上記のように閉じる

このページは役に立ちましたか?
0 / 5 - 0 評価