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を初めて使用しますが、何かを暗号化したことを覚えていないため、「復号化に失敗しました」というメッセージが表示されるのは、「有用なエラーメッセージを表示できなかったか、プログラムが壊れている」という場合のようです。

プログラムが復号化しようとしていたことを言わずに「復号化に失敗しました」と言っても、かなりばかげています。

私はansible2.0.0を使用しています。

実際に使えるようにAnsibleを修正してください。

bug

最も参考になるコメント

@ 0xABABこれはあなたが去るのを見た2番目の失礼なコメントです。 喜んでサポートさせていただきますが、サポートしようとしているユーザー(特に、Ansibleの従業員でもないコミュニティメンバー)を虐待し続ける場合は、問題への投稿を禁止せざるを得ません。

全てのコメント9件

それで、誰かが問題を再現して見ることができるように、vagrantファイルとansibleファイルを提供できますか?

そんな初心者の質問をしたら、私に話してはいけないと思います。ごめんなさい。 真面目な開発者なら誰でも5分以内にこの問題を修正できます。 自分ができるということがわかっている。 私は特にそうする意欲を感じておらず、このプロジェクトへのコミットアクセスもありません。 もし持っていたら、私はすでにそれを修正したかもしれません。 そうは言っても、私はそのような低品質の人々によって書かれたソフトウェアさえ使用したくないのです。

@ 0xABABこれはあなたが去るのを見た2番目の失礼なコメントです。 喜んでサポートさせていただきますが、サポートしようとしているユーザー(特に、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 run:

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メッセージは、ansible-vaultがvarsファイルの復号化に失敗した結果です。必ず、ボールトパスワードを渡すか、ボールトファイルを含めないでください。

現在の開発では、0f73fb0d6fce6c01e79a68267d184290408b429dを介してエラーが明確になっているため、このチケットを閉じると、どのファイルが問題の原因であるかが明らかになります。

パスワードが指定されていないために復号化が失敗した場合--vault-password-file--ask-vault-passなどを使用するようにリマインダーを設定すると便利です。

「復号化に失敗しました」は少し不可解です。

この問題が解決され、ansible 2.1.1.0を使用していることはわかっていますが、このエラーメッセージは引き続き表示され、Googleが修正する必要があります。 エラーメッセージにはボールトファイルについても触れられていません。
この投稿で問題を解決できましたが、原因は.vault.passwdで使用されているパスワードがvault.ymlを作成したものではなかったためです。 はるかに良いエラーは次のようになります。
「{vault.ymlへのパス}を復号化できません」

このページは役に立ちましたか?
0 / 5 - 0 評価