如何指定文件库密码文件进行分子测试?

时间:2019-01-10 07:53:23

标签: ansible molecule

使用分子运行测试时:

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)

2 个答案:

答案 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