Ansible: متى: لا يعمل اسم المخزون في {{groups ['group']}} مع المخزون الديناميكي

تم إنشاؤها على ٢٤ يونيو ٢٠١٥  ·  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'] }}

لذا فإن مجموعة {{}} الإضافية هي التي تسبب المشكلة. على الرغم من أنني لا أعرف لماذا يعمل من أجل ثابت ولكن ليس ديناميكيًا.

لا يجب عليك استخدام {{}} عندما (يجب أن نجعل هذا خطأ بالفعل) ، يبدو أن السبب في أن الثابت / الديناميكي يعمل بشكل مختلف قليلاً هنا يرجع إلى نوع الكائن الذي تم إرجاعه في النهاية ، سلسلة list vs unicode .

إغلاق كما هو مذكور أعلاه

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات