Ansible: Mensagem de erro boba "Falha na descriptografia"

Criado em 5 fev. 2016  ·  9Comentários  ·  Fonte: 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.

Eu sou muito novo no Ansible, mas não me lembro de alguma vez criptografar algo, então ver a mensagem "Falha na descriptografia" parece mais um caso de "Falha ao fornecer uma mensagem de erro útil ou o programa está quebrado".

Mesmo assim, dizer "A descriptografia falhou" sem dizer _o que_ o programa estava tentando descriptografar é um tanto .... bobo.

Estou usando o ansible 2.0.0.

Corrija o Ansible de forma que seja realmente utilizável.

bug

Comentários muito úteis

@ 0xABAB este é o segundo comentário rude que eu vi você deixar. Estamos felizes em ajudar, mas se você continuar a abusar daqueles que estão tentando ajudar (especialmente os membros da comunidade que nem são funcionários da Ansible), não teremos escolha a não ser proibir você de postar nos problemas.

Todos 9 comentários

Então, você pode fornecer o arquivo vagrant e o arquivo ansible, para que alguém possa reproduzir e examinar o problema?

Acho que você não deveria falar comigo se faz essas perguntas de novato, desculpe. Qualquer desenvolvedor sério pode corrigir esse problema em 5 minutos; Eu sei que posso. Só não me sinto particularmente motivado para fazê-lo e não tenho acesso a esse projeto. Se tivesse, já poderia ter consertado. Dito isso, prefiro nem mesmo usar software escrito por pessoas com padrões de qualidade tão baixos.

@ 0xABAB este é o segundo comentário rude que eu vi você deixar. Estamos felizes em ajudar, mas se você continuar a abusar daqueles que estão tentando ajudar (especialmente os membros da comunidade que nem são funcionários da Ansible), não teremos escolha a não ser proibir você de postar nos problemas.

@ jimi-c Você quer dizer que fica feliz em reconhecer todos os bugs que eu relatei gratuitamente e que você fica feliz se novatos corrigirem bugs em seu produto inferior de graça e que se eu explicar a um novato que ele / ela é um novato que isso não vai bem com sua estratégia corporativa de mão de obra gratuita?

Acho que pessoas como você jimi-c são o pior dos piores ... ou você apenas não tem inteligência para entender seu próprio comportamento, caso em que gostaria de sugerir que você simplesmente parasse de trabalhar; você estaria fazendo um favor a todos.

@ 0xABAB Você está sendo um idiota. Por favor vá embora.

PS O "novato" que estava tentando ajudá-lo contribuiu com mais de uma centena de commits para a Ansible ao longo de vários anos.

Não estou usando o Vagrant e não sou muito novo no ansible, mas estou tendo o mesmo erro - add -vvv não parece produzir nenhuma informação adicional. Infelizmente, parece que os comentários até agora impediram as pessoas de ajudar com isso - mas estou feliz em fornecer informações (ou abrir um novo problema). O Ansible pode ser usado sem que esse problema seja corrigido.

Minha instância do vsphere está usando um certificado autoassinado, mas está executando SSL e realmente não vejo nenhuma opção para desativar a validação do certificado - então, minha primeira pergunta é se esse é possivelmente o problema. Eu também posso estar usando o módulo completamente incorretamente - aqui está o que eu tenho:

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

Estoque (itens redigidos são todos strings):

[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 run:

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

informação da versão 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 a mensagem é o resultado da falha do ansible-vault ao descriptografar um arquivo vars, certifique-se de passar uma senha do vault ou de não incluir um arquivo do vault.

O erro ficou mais claro no desenvolvimento atual via 0f73fb0d6fce6c01e79a68267d184290408b429d, portanto, fechar este tíquete, pois isso deve deixar claro qual arquivo causou o problema.

Seria bom dar um lembrete para usar --vault-password-file , --ask-vault-pass ou algo nesse sentido se a descriptografia falhou porque nenhuma senha foi especificada.

"Falha na descriptografia" é um pouco enigmático.

Sei que o problema foi resolvido e estou usando o ansible 2.1.1.0, mas essa mensagem de erro ainda aparece e exige que o Google tenha esperança de corrigi-lo. Nem mesmo menciona o arquivo do vault na mensagem de erro.
Embora esta postagem tenha me ajudado a resolver o problema no meu caso, a causa foi porque a senha usada em .vault.passwd não era a mesma que havia criado o vault.yml. Um erro muito melhor seria:
"Não foi possível descriptografar {caminho para vault.yml}"

Esta página foi útil?
0 / 5 - 0 avaliações