5

使用分子运行测试时:

molecule tests

并且某些文件受ansible vault保护,必须指定--vault-password-file以提供密码以解密其内容。

虽然可以通过收敛来做到这一点

 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)
4

2 回答 2

5

像这样使用ANSIBLE_VAULT_PASSWORD_FILE环境变量:

ANSIBLE_VAULT_PASSWORD_FILE=$HOME/.vault.txt molecule test

将绕过分子参数解析逻辑并让 ansible 知道保管库密码的位置。

于 2019-01-10T07:57:16.313 回答
3

您可以通过provisioner.config_options.defaults.vault_password_file在您的molecule.yml文件中将密码文件传递给分子,如下所示:

provisioner:
name: ansible
config_options:
  defaults:
    vault_password_file: "${MOLECULE_SCENARIO_DIRECTORY}/vault.pw"

仅包含您的密码的纯文本文件在哪里vault.pw(确保它受到很好的保护!)

保险库密码文件是直接传递给 Ansible 的选项,在此处定义

于 2020-06-09T22:14:52.120 回答