Ansible: Mensaje de error tonto "Falló el descifrado"

Creado en 5 feb. 2016  ·  9Comentarios  ·  Fuente: 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.

Soy bastante nuevo en Ansible, pero no recuerdo haber cifrado nunca algo, por lo que ver el mensaje "Falló el descifrado" parece más un caso de "No pudimos proporcionar un mensaje de error útil o el programa no funciona".

Independientemente de decir "Falló el descifrado" sin decir _lo_ que el programa estaba intentando descifrar es bastante .... tonto.

Estoy usando ansible 2.0.0.

Arregle Ansible de manera que sea realmente utilizable.

bug

Comentario más útil

@ 0xABAB este es el segundo comentario grosero que te he visto salir. Nos complace ayudar, pero si continúa siendo abusivo con quienes intentan ayudar (especialmente con los miembros de la comunidad que ni siquiera son empleados de Ansible), no tendremos más remedio que prohibirle publicar sobre problemas.

Todos 9 comentarios

Entonces, ¿puede proporcionar el archivo vagabundo y el archivo ansible, para que alguien pueda reproducir y ver el problema?

Creo que no deberías hablar conmigo si haces preguntas de novato, lo siento. Cualquier desarrollador serio podría solucionar este problema en 5 minutos; Sé que puedo. Simplemente no me siento particularmente motivado para hacerlo y no tengo acceso para comprometerme a este proyecto. Si lo hubiera hecho, es posible que ya lo hubiera arreglado. Habiendo dicho eso, prefiero ni siquiera usar software escrito por personas con estándares de calidad tan bajos.

@ 0xABAB este es el segundo comentario grosero que te he visto salir. Nos complace ayudar, pero si continúa siendo abusivo con quienes intentan ayudar (especialmente con los miembros de la comunidad que ni siquiera son empleados de Ansible), no tendremos más remedio que prohibirle publicar sobre problemas.

@ jimi-c Quiere decir que está feliz de reconocer cada error que he informado de forma gratuita y que está contento si los novatos corrigen errores en su producto inferior de forma gratuita y si le explico a un novato que es un novato que esto no va bien con su estrategia corporativa de mano de obra gratuita?

Creo que las personas como tú, jimi-c, son lo peor de lo peor ... o simplemente te falta la inteligencia para comprender tu propio comportamiento, en cuyo caso te sugiero que renuncies a tu trabajo; le estaría haciendo un favor a todo el mundo.

@ 0xABAB Estás siendo un idiota. Por favor vete.

PD El "novato" que estaba tratando de ayudarlo ha contribuido con más de cien compromisos a Ansible durante varios años.

No estoy usando Vagrant y no soy muy nuevo en ansible, pero me encuentro con el mismo error: agregar -vvv no parece producir ninguna información adicional. Desafortunadamente, parece que los comentarios hasta ahora han impedido que la gente ayude con esto, pero estoy feliz de proporcionar información (o abrir una nueva edición). Ansible es bastante utilizable sin que se solucione este problema.

Mi instancia de vsphere está usando un certificado autofirmado pero está ejecutando SSL y realmente no veo ninguna opción para desactivar la validación del certificado, por lo que mi primera pregunta es si ese es posiblemente el problema. También podría estar usando completamente el módulo de manera incorrecta; esto es lo que tengo:

libro de jugadas (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 }}"

Inventario (todos los elementos censurados son cadenas):

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

ejecución ansible:

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

información de la versión 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 el mensaje es el resultado de que ansible-vault no pudo descifrar un archivo vars, asegúrese de pasar una contraseña de la bóveda o de no incluir un archivo protegido.

El error se ha aclarado en el desarrollo actual a través de 0f73fb0d6fce6c01e79a68267d184290408b429d, por lo que cerrar este ticket debería hacer obvio qué archivo causó el problema.

Sería bueno recordarle que use --vault-password-file , --ask-vault-pass o algo por el estilo si el descifrado falla porque no se especificó una contraseña.

"Falló el descifrado" es un poco críptico.

Sé que este problema está resuelto y estoy usando ansible 2.1.1.0, pero este mensaje de error aún aparece y requiere que Google tenga la esperanza de solucionarlo. Ni siquiera menciona el archivo de la bóveda en el mensaje de error.
Aunque esta publicación me ayudó a resolver el problema en mi caso, la causa fue porque la contraseña utilizada en .vault.passwd no era la que había creado vault.yml. Un error mucho mejor sería:
"No se puede descifrar {ruta a vault.yml}"

¿Fue útil esta página
0 / 5 - 0 calificaciones