Ansible: رسالة خطأ سخيفة "فشل فك التشفير"

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

$ vagrant provision                                                                                                                                                                                                                        
==> default: Running provisioner: ansible...
    default: Running ansible-playbook...
PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --connection=ssh --timeout=30 --limit='default' --inventory-file=/Users/bob/src/ansible-devops/.vagrant/provisioners/ansible/inventory -v playbook.yml
No config file found; using defaults
ERROR! Decryption failed
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

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

بغض النظر عن القول "فشل فك التشفير" دون أن يقول _ماذا_ كان البرنامج يحاول فك التشفير هو بالأحرى .... سخيف.

أنا أستخدم 2.0.0 ansible.

الرجاء إصلاح أنسبل بحيث يمكن استخدامها بالفعل.

bug

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

@ 0xABAB هذا هو التعليق الوقح الثاني الذي رأيته تغادر. يسعدنا تقديم المساعدة ، ولكن إذا واصلت إساءة معاملة أولئك الذين يحاولون المساعدة (خاصة أعضاء المجتمع الذين ليسوا حتى موظفين في Ansible) ، فلن يكون أمامنا خيار سوى منعك من النشر بشأن المشكلات.

ال 9 كومينتر

لذا ، هل يمكنك تقديم الملف المتشرد والملف غير القابل للكسر ، حتى يتمكن شخص ما من إعادة إنتاج المشكلة والنظر فيها؟

أعتقد أنك لا يجب أن تتحدث معي إذا سألت مثل هذه الأسئلة الجديدة ، آسف. يمكن لأي مطور جاد إصلاح هذه المشكلة في غضون 5 دقائق ؛ أعلم أنني أستطيع. لا أشعر بالتحفيز بشكل خاص للقيام بذلك وليس لدي حق الوصول إلى هذا المشروع إذا كان لدي ، فقد أصلحته بالفعل. بعد قولي هذا ، أفضل عدم استخدام البرامج التي كتبها أشخاص بمعايير الجودة المنخفضة هذه.

@ 0xABAB هذا هو التعليق الوقح الثاني الذي رأيته تغادر. يسعدنا تقديم المساعدة ، ولكن إذا واصلت إساءة معاملة أولئك الذين يحاولون المساعدة (خاصة أعضاء المجتمع الذين ليسوا حتى موظفين في Ansible) ، فلن يكون أمامنا خيار سوى منعك من النشر بشأن المشكلات.

@ jimi-c أنت تقصد أنك سعيد بالاعتراف بكل خطأ فردي أبلغت عنه مجانًا وأنك سعيد إذا قام المبتدئون بإصلاح الأخطاء في منتجك الأدنى مجانًا وأنه إذا أوضحت لمبتدئ أنه / هي مبتدئ أن هذا لا يتماشى مع إستراتيجية شركتك الخاصة بالعمل المجاني؟

أعتقد أن الأشخاص مثلك جيمي-سي هم أسوأ الأسوأ ... أو أنك تفتقر إلى الذكاء لفهم سلوكك الخاص ، وفي هذه الحالة أود أن أقترح عليك ترك وظيفتك ؛ كنت تفعل معروفا للجميع.

@ 0xABAB أنت حمار. إذهب بعيدا من فضلك.

ملاحظة: "المبتدئ" الذي كان يحاول مساعدتك قد ساهم بأكثر من مائة التزام في Ansible على مدار عدة سنوات.

أنا لا أستخدم Vagrant ولست جديدًا جدًا على ansible لكنني أواجه نفس الخطأ - إضافة -vvv لا يبدو أنه ينتج أي معلومات إضافية. لسوء الحظ ، يبدو أن التعليقات حتى الآن قد حالت دون مساعدة الأشخاص في هذا - ولكن يسعدني تقديم معلومات (أو فتح عدد جديد). Ansible قابل للاستخدام تمامًا دون إصلاح هذه المشكلة.

يستخدم مثيل vsphere الخاص بي شهادة موقعة ذاتيًا ولكن يتم تشغيل SSL ولا أرى حقًا أي خيار لإيقاف التحقق من صحة الشهادة - لذلك سؤالي الأول هو ما إذا كانت هذه هي المشكلة. قد أستخدم الوحدة بشكل غير صحيح أيضًا - إليك ما لدي:

كتاب التشغيل (vm_provision.yml):

- hosts: all
  gather_facts: false
  connection: local

  vars_prompt:
    - name: "vcenter_username"
      prompt: "VCenter Username: "
      private: no
    - name: "vcenter_password"
      prompt: "VCenter Password: "
      private: yes

  tasks:

    - vsphere_guest:
      vcenter_hostname: REDACTED
        username: "{{ vcenter_username }}"
        password: "{{ vcenter_password }}"
        guest: "{{ vm_name }}"
        from_template: yes
        template_src: "{{ vm_template }}"
        cluster: "{{ vm_cluster }}"
        vm_extra_config:
          notes: "{{ vm_note }}"
          folder: "{{ vm_folder }}"

المخزون (العناصر المنقحة كلها سلاسل):

[vmtest]
REDACTED vm_name='testvm'

[vmtest:vars]
vm_datastore='REDACTED'
vm_network='REDACTED'
vm_memory='4096' cpucount='2'
vm_template='REDACTED'
vm_note='Testing'
vm_folder='REDACTED'

المدى غير المألوف:

ansible-playbook playbooks/vm_provision.yml -i inventory -l vmtest -vvv
SSH password:
SUDO password[defaults to SSH password]:
ERROR! Decryption failed

معلومات الإصدار غير القابل للتصرف

ansible --version
ansible 2.1.0
  config file = /Users/aaron.nichols/projects/cba-deploy/ansible.cfg
  configured module search path = Default w/o overrides

adnichols الرسالة هي نتيجة لفشل ansible-vault في فك تشفير ملف vars ، تأكد من تمرير كلمة مرور المخزن أو عدم تضمين ملف محمي.

تم توضيح الخطأ في التطوير الحالي عبر 0f73fb0d6fce6c01e79a68267d184290408b429d ، لذا فإن إغلاق هذه البطاقة يجب أن يوضح الملف الذي تسبب في المشكلة.

سيكون من الجيد إعطاء تذكير باستخدام --vault-password-file أو --ask-vault-pass أو شيء بهذا المعنى إذا فشل فك التشفير بسبب عدم تحديد كلمة مرور.

"فشل فك التشفير" غامض بعض الشيء.

أعلم أنه تم حل هذه المشكلة وأنا أستخدم 2.1.1.0 ansible ، ولكن رسالة الخطأ هذه لا تزال تظهر وتطلب من Google أن يكون لديها أمل في إصلاحها. حتى أنه لا يذكر ملف الخزنة في رسالة الخطأ.
على الرغم من أن هذا المنشور جعلني أقوم بحل المشكلة في حالتي ، كان السبب هو أن كلمة المرور المستخدمة في .vault.passwd لم تكن هي التي أنشأت vault.yml. سيكون الخطأ الأفضل بكثير:
"تعذر فك تشفير {المسار إلى vault.yml}"

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