使用分子运行测试时:
molecule tests
并且某些文件受ansible vault保护,必须指定-vault-password-文件以提供用于解密其内容的密码。
尽管可以通过收敛来实现
molecule converge -- --vault-password-file ~/.vault.txt
通过分子测试失败
$ molecule test -- --vault-password-file ~/.vault.txt
Usage: molecule test [OPTIONS]
Error: Got unexpected extra arguments (--vault-password-file ~/.vault.txt)
答案 0 :(得分:1)
像这样使用ANSIBLE_VAULT_PASSWORD_FILE环境变量:
ANSIBLE_VAULT_PASSWORD_FILE=$HOME/.vault.txt molecule test
将绕过分子参数解析逻辑,并让ansible知道保险库密码位于何处。
答案 1 :(得分:0)
您可以通过Molecular.yml文件中的Provisioner.config_options.defaults.vault_password_file将密码文件传递给Molecular,如下所示:
provisioner:
name: ansible
config_options:
defaults:
vault_password_file: "${MOLECULE_SCENARIO_DIRECTORY}/vault.pw"
其中vault.pw
是纯文本文件,仅包含您的密码(请确保密码受到良好保护!)
文件库密码文件是直接传递给Ansible的选项,并且已定义为here