Ansible: لا يقوم المرشح الافتراضي بحل المتغيرات في Ansible 1.8.2

تم إنشاؤها على ١٩ ديسمبر ٢٠١٤  ·  3تعليقات  ·  مصدر: ansible/ansible

نوع القضية:

تقرير الشوائب

الإصدار أنسبل:

1.8.2

بيئة:

RHEL 5

ملخص:

لا يقوم المرشح الافتراضي بحل المتغيرات المحددة في المخزون.

على سبيل المثال ، إذا قمت بتعريف المتغير التالي في ملف الجرد الخاص بي:

app_install_dir = / اختبار

يحتوي كتيب التشغيل الخاص بي على هذا ولم يتم تعريف "متغير ما":

dest_dir = "{{somevariable | افتراضي ('{{app_install_dir}} / DATA')}}"

عند تشغيل دليل التشغيل ، يفشل الإعداد الافتراضي في حل "app_install_dir"

يستخدم هذا للعمل على Ansible 1.7.1.

خطوات الاستنساخ:

1) تحديد متغير في المخزون يسمى "test_directory = / tmp / testdir"
2) في كتاب التشغيل ، لديك مهمة لإنشاء دليل محدد بواسطة المتغير dest = {{undefined_variable | الافتراضي ("{{test_directory}}")}}
3) بعد تشغيل الكتيب ، يفشل في حل قيمة "test_directory"

نتائج متوقعة:

يجب أن يكون المرشح الافتراضي قادرًا على حل المتغيرات

النتائج الفعلية:

المرشح الافتراضي لا يحل المتغيرات المحددة في المخزون

التعليق الأكثر فائدة

لا أرى عادةً منشورات في التذاكر المغلقة ولكن مستخدم irc أرسل لي رسالة على هذا:
dest={{ undefined_variable | default(test_directory + '/subdir') }}

ال 3 كومينتر

سوء فهم محتمل

أهلا!

شكرًا جزيلاً على تقديمك إلى Ansible. إنه يعني بصدق الكثير بالنسبة لنا.

نعتقد أن التذكرة التي قدمتها قد أسيء فهمها إلى حد ما ، حيث يعمل شيء واحد بشكل مختلف قليلاً عما هو مذكور.

dest={{ undefined_variable | default('{{test_directory}}') }}

هو تعبير غير صالح ، فلا يمكنك تداخله مع {{}} ، فما تريده على الأرجح هو ما يلي:

dest={{ undefined_variable | default(test_directory) }}

في المستقبل ، قد يكون هذا موضوعًا أكثر ملاءمة لقائمة المستخدمين ، والتي يمكنك أيضًا نشرها هنا إذا كنت ترغب في مزيد من المساعدة بشأن ما ورد أعلاه.

شكرًا لك مرة أخرى على هذا واهتمامك بـ Ansible!

bcoca : من الجيد معرفة ذلك ، لكن هل يعني ذلك أننا لا نستطيع ربط متغير وحرفي في الوضع الافتراضي؟ شيء من هذا القبيل: dest={{ undefined_variable | default('{{test_directory}}/subdir') }} (ولكن ليس غير صالح ؛-)

لا أرى عادةً منشورات في التذاكر المغلقة ولكن مستخدم irc أرسل لي رسالة على هذا:
dest={{ undefined_variable | default(test_directory + '/subdir') }}

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