如何设置no_log:对分子内部剧本任务是否正确?

时间:2019-11-18 15:20:17

标签: docker ansible 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

关于分子自身内部剧本如何将no_log设置为true的任何想法?

我尝试了MOLECULE_DEBUG,但是并没有解决问题。
搜索分子的文档也没有给出任何结果。 用

运行分子
molecule --debug test

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

1 个答案:

答案 0 :(得分:0)

您可以设置环境变量

MOLECULE_NO_LOG="false"

,然后运行常规分子命令。

molecule test

这不容易找到,我不得不看一下分子的源代码,发现了

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

分子源代码