Ansible: يستخدم منفذ المهام .format () الذي لديه مشكلة مع \ u2018 الأحرف

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

نوع القضية

  • تقرير الشوائب
اسم المكون

ansible / plugins / action / __ init__.py

نسخة غير مرغوب فيها
ansible 2.2.0.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides
تعديل

لا أحد

نظام التشغيل / البيئة

x86_64 جنو / لينكس

ملخص

خطأ في العودة من مربع Linux يحتوي على الحرف \ u2018 الذي يبدو أنه يحتوي على مشكلة في التنفيذ في python 2.x.

راجع - تنسيق "{0}" (u'Test it \ u2018s unicode ")
Traceback (أحدث مكالمة أخيرة):
ملف ""، السطر 1 ، في
خطأ UnicodeEncode: لا يمكن لبرنامج ترميز "ascii" ترميز الحرف u "\ u2018" في الموضع 7: ترتيبي ليس في النطاق (128)

ولكن تعمل بشكل جيد في بيثون 3.x

خطوات التكاثر

الرسالة القادمة من صندوق لينكس ، \ u2018 مستخدمة عدة مرات:
قاتل: [crlg.be-cloud.be]: فشل! => {
"فشل": صحيح ،
"msg": "فشل تعيين الأذونات على الملفات المؤقتة يحتاج Ansible إلى إنشائها عندما يصبح مستخدمًا غير مميز (rc: 1، err: chown: تغيير ملكية '/tmp/ansible-tmp-1483137683.83-3208985635661/': العملية لا مسموح \ n مُدرج: تغيير ملكية "/tmp/ansible-tmp-1483137683.83-3208985635661/git.py": العملية غير مسموح بها \ n). للحصول على معلومات حول حل هذه المشكلة ، راجع https://docs.ansible.com/ansible /become.html#becoming -an-
}

نتائج متوقعة

يجب أن يتم عرض الرسالة

النتائج الفعلية
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 119, in run
    res = self._execute()
  File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 490, in _execute
    result = self._handler.run(task_vars=variables)
  File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/normal.py", line 33, in run
    results = merge_hash(results, self._execute_module(tmp=tmp, task_vars=task_vars))
  File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/__init__.py", line 618, in _execute_module
    self._fixup_perms2(remote_files, remote_user)
  File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/__init__.py", line 395, in _fixup_perms2
    ' see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user'.format(res['rc'], res['stderr']))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in position 29: ordinal not in range(128)

fatal: [crlg.be-cloud.be]: FAILED! => {
    "failed": true, 
    "msg": "Unexpected failure during module execution.", 
    "stdout": ""
}

لقد أصلحت المشكلة باستخدام "xxxx٪ s xxxx"٪ (res ['rc']، res ['stderr']) بدلاً من ذلك.

affects_2.2 bug python3

ال 2 كومينتر

أعتقد أن هذا تم إصلاحه في هذا الالتزام بالتطوير: bb5d8fb476c6e42f1e89b47c00e45f8b088ae40b وانتقيت إلى الفرع المستقر 2.2 هنا: 27be8a10222fbf7a7a4b51c642170e11f2823d39

يجب أن يصل إلى الإصدار 2.2 التالي. إذا كنت ترغب في اختباره الآن للتأكد من أنه يمكنك الخروج من الفرع المستقر 2.2 ومحاولة التشغيل من الخروج أو يمكنك تنزيل ansible-2.2.1.0-0.2.rc2.tar.gz من هنا: https: //releases.ansible.com/ansible/ لتجربته .

سأغلق هذا في غضون أيام قليلة ما لم تبلغ أنه لا يزال يمثل مشكلة في أحد هؤلاء. شكرا!

need_info

لقد قمت بتصحيح التثبيت الخاص بي وهذا يعمل بالنسبة لي.

شكرا !!

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

القضايا ذات الصلة

iven picture iven  ·  3تعليقات

greggilbert picture greggilbert  ·  3تعليقات

yatesr picture yatesr  ·  3تعليقات

renaudguerin picture renaudguerin  ·  3تعليقات

arkag picture arkag  ·  3تعليقات