如何为分子内部剧本任务设置 no_log: true?

How to set no_log: true for molecule internal playbook tasks?

我正在测试与 molecule 和组合的版本兼容性

python 3.8 x ansible 最新 x debian

实例创建步骤中的分子断裂

TASK [Wait for instance(s) creation to complete] *******************************
FAILED - RETRYING: Wait for instance(s) creation to complete (300 retries left).
failed: [localhost] (item=None) => {"attempts": 2, "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
fatal: [localhost]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}

PLAY RECAP *********************************************************************
localhost                  : ok=6    changed=3    unreachable=0    failed=1    skipped=3    rescued=0    ignored=0

https://travis-ci.com/ckaserer/ansible-role-example/jobs/256557752

为了进一步调试,我需要设置no_log: false

关于如何为 molecule 自己的内部剧本将 no_log 设置为 true 有什么想法吗?

我试过 MOLECULE_DEBUG,但没有成功。
搜索分子的文档也没有给出任何结果。 运行 分子

molecule --debug test

也没有将 no_log 的分子剧本变量设置为 false

可以设置环境变量

MOLECULE_NO_LOG="false"

然后运行你的普通分子命令。例如

molecule test

这个不太好找,我只好看了一下molecule的源码才发现

molecule/test/resources/playbooks/docker/create.yml

这是用于创建由 Dockerfile.j2 定义的 docker 图像的剧本,使用变量 molecule_no_log 来设置剧本中的 no_log 值。

此外,在

molecule/test/unit/provisioner/test_ansible.py

变量molecule_no_log基于环境变量MOLECULE_NO_LOG

所以,最后,我只需要将适当的环境变量设置为 false

分子源代码