Ansible: Message d'erreur idiot "Le décryptage a échoué"

Créé le 5 févr. 2016  ·  9Commentaires  ·  Source: 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.

Je suis assez nouveau dans Ansible, mais je ne me souviens pas avoir jamais chiffré quelque chose, donc voir le message "Le déchiffrement a échoué" ressemble plus à un cas de "Nous n'avons pas réussi à fournir un message d'erreur utile ou le programme est cassé".

Indépendamment de dire "Le déchiffrement a échoué" sans dire ce que le programme essayait de déchiffrer est plutôt .... idiot.

J'utilise ansible 2.0.0.

Veuillez corriger Ansible de manière à ce qu'il soit réellement utilisable.

bug

Commentaire le plus utile

@ 0xABAB c'est le deuxième commentaire grossier que je vous ai vu partir. Nous sommes heureux de vous aider, mais si vous continuez à être abusif envers ceux qui essaient d'aider (en particulier les membres de la communauté qui ne sont même pas des employés d'Ansible), nous n'aurons pas d'autre choix que de vous interdire de poster des problèmes.

Tous les 9 commentaires

Alors, pouvez-vous fournir le fichier vagrant et le fichier ansible, afin que quelqu'un puisse reproduire et examiner le problème?

Je pense que vous ne devriez pas me parler si vous posez de telles questions, désolé. Tout développeur sérieux pourrait résoudre ce problème dans les 5 minutes; Je sais que je peux. Je ne me sens pas particulièrement motivé pour le faire et je n'ai pas accès à ce projet. Si je l'avais fait, je l'aurais peut-être déjà réparé. Cela dit, je préfère même ne pas utiliser de logiciels écrits par des personnes avec des normes de qualité aussi faibles.

@ 0xABAB c'est le deuxième commentaire grossier que je vous ai vu partir. Nous sommes heureux de vous aider, mais si vous continuez à être abusif envers ceux qui essaient d'aider (en particulier les membres de la communauté qui ne sont même pas des employés d'Ansible), nous n'aurons pas d'autre choix que de vous interdire de poster des problèmes.

@ jimi-c Vous voulez dire que vous êtes heureux de reconnaître chaque bogue que j'ai signalé gratuitement et que vous êtes heureux si les débutants corrigent gratuitement les bogues de votre produit inférieur et que si j'explique à un débutant qu'il / elle est un débutant que cela ne va pas bien avec votre stratégie d'entreprise de travail gratuit?

Je pense que les gens comme vous jimi-c sont les pires des pires ... ou vous manquez simplement d'intelligence pour comprendre votre propre comportement, auquel cas je vous suggérerais de quitter votre emploi; vous feriez une faveur à tout le monde.

@ 0xABAB Vous êtes un âne. Partez s'il vous plait.

PS Le "newbie" qui essayait de vous aider a contribué plus d'une centaine d'engagements à Ansible sur plusieurs années.

Je n'utilise pas Vagrant et je ne suis pas très nouveau dans ansible mais je rencontre la même erreur - ajouter -vvv ne semble pas produire d'informations supplémentaires. Malheureusement, il semble que les commentaires jusqu'à présent ont empêché les gens d'aider à cela - mais je suis heureux de fournir des informations (ou d'ouvrir un nouveau numéro). Ansible est tout à fait utilisable sans que ce problème ne soit résolu.

Mon instance vsphere utilise un certificat auto-signé mais exécute SSL et je ne vois vraiment aucune option pour désactiver la validation de certificat - ma première question est donc de savoir si c'est peut-être le problème. Je pourrais également utiliser complètement le module de manière incorrecte - voici ce que j'ai:

playbook (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 }}"

Inventaire (les éléments expurgés sont tous des chaînes):

[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'

exécution possible:

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

informations sur la version ansible

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 le message est le résultat de l'échec d'ansible-vault à déchiffrer un fichier vars, assurez-vous de transmettre un mot de passe de coffre-fort ou de ne pas inclure de fichier dans le coffre-fort.

L'erreur a été clarifiée dans le développement actuel via 0f73fb0d6fce6c01e79a68267d184290408b429d, donc la fermeture de ce ticket car cela devrait rendre évident le fichier à l'origine du problème.

Ce serait bien de rappeler d'utiliser --vault-password-file , --ask-vault-pass ou quelque chose dans ce sens si le décryptage échouait car aucun mot de passe n'a été spécifié.

«Le déchiffrement a échoué» est un peu énigmatique.

Je sais que ce problème est résolu et j'utilise ansible 2.1.1.0, mais ce message d'erreur apparaît toujours et oblige Google à espérer le résoudre. Il ne mentionne même pas le fichier du coffre-fort dans le message d'erreur.
Bien que cet article m'ait permis de résoudre le problème dans mon cas, la cause était que le mot de passe utilisé dans .vault.passwd n'était pas celui qui avait créé vault.yml. Une bien meilleure erreur serait:
"Impossible de décrypter {chemin vers vault.yml}"

Cette page vous a été utile?
0 / 5 - 0 notes