Ansible: 愚蠢的错误消息“解密失败”

创建于 2016-02-05  ·  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相当陌生,但我不记得曾经加密过什么,因此看到“解密失败”消息似乎更像是“我们未能提供有用的错误消息或程序已损坏”的情况。

不管说“解密失败”而没有说程序试图解密的原因,都是..愚蠢的。

我正在使用ansible 2.0.0。

请修复Ansible,使其实际上可用。

最有用的评论

@ 0xABAB这是我见过你离开的第二条粗鲁评论。 我们很乐意为您提供帮助,但是如果您继续骂那些要帮助的人(尤其是甚至不是Ansible员工的社区成员),我们别无选择,只能禁止您发布问题。

所有9条评论

因此,您能否提供无业游民的文件和ansible文件,以便其他人可以重现并查看问题?

如果您问这样的新手问题,我认为您不应该与我交谈,对不起。 任何认真的开发人员都可以在5分钟内解决此问题; 我知道我可以。 我只是没有特别的动力,我也没有提交访问此项目的权限。 如果有,我可能已经解决了。 话虽如此,我什至不愿使用质量标准如此低下的人编写的软件。

@ 0xABAB这是我见过你离开的第二条粗鲁评论。 我们很乐意为您提供帮助,但是如果您继续骂那些要帮助的人(尤其是甚至不是Ansible员工的社区成员),我们别无选择,只能禁止您发布问题。

@ jimi-c您的意思是,您很高兴承认我免费报告的每个错误,并且如果新手免费修复劣等产品中的错误,并且如果我向新手解释说他/她是新手,则表示满意。这与您的公司自由劳动战略不相称吗?

我认为像jimi-c这样的人是最坏的情况……或者您只是缺乏了解自己的行为的才智,在这种情况下,我建议您辞职。 你会帮每个人一个忙。

@ 0xABAB您正在成为屁股。 请走开。

PS那些试图帮助您的“新手”在过去几年中为Ansible贡献了100多次。

我没有使用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运行:

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

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消息是

通过0f73fb0d6fce6c01e79a68267d184290408b429d可更清楚地了解当前开发中的错误,因此关闭此故障单应该可以清楚地看出是哪个文件引起了问题。

如果由于未指定密码而导致解密失败,则最好使用--vault-password-file--ask-vault-pass或类似的含义来提醒您。

“解密失败”有点含糊。

我知道此问题已解决,并且我正在使用ansible 2.1.1.0,但此错误消息仍然出现,要求Google希望对其进行修复。 它甚至在错误消息中都没有提到Vault文件。
尽管这篇文章确实使我能够解决我的问题,但原因是因为.vault.passwd中使用的密码不是创建vault.yml的密码。 更好的错误是:
“无法解密{vault.yml的路径}”

此页面是否有帮助?
0 / 5 - 0 等级