Ansible分子测试框架未能从Centos7的Docker图像中收集事实

x6h2sr28  于 2022-11-07  发布在  Docker
关注(0)|答案(1)|浏览(151)

我正在尝试测试一个简单的ansible脚本,我已经使用分子。我目前正在设置分子,并一直遵循以下教程:https://www.youtube.com/watch?v=93urFkaJQ44
当我运行molecule test时,我得到这个错误(这是详细的,-vvv输出):

TASK [Gathering Facts]***************************************************************************************************************************************************************************************
fatal: [instance]: UNREACHABLE! => {"changed": false, "msg": "Failed to create temporary directory.In some cases, you may have been able to authenticate and did not have permissions on the target directory. Consider changing the remote tmp path in ansible.cfg to a path rooted in \"/tmp\", for more error information use -vvv. Failed command was: ( umask 77 && mkdir -p \"` echo ~/.ansible/tmp `\"&& mkdir \"` echo ~/.ansible/tmp/ansible-tmp-1631621484.12-47224-231505895998260 `\" && echo ansible-tmp-1631621484.12-47224-231505895998260=\"` echo ~/.ansible/tmp/ansible-tmp-1631621484.12-47224-231505895998260 `\" ), exited with result 1", "unreachable": true}

它指出此错误是由converge脚本导致的,因为它在PLAY Converge部分中出错。
Converge.yml

---
- name: Converge
  hosts: all
  gather_facts: true
- import_playbook: ../../setUpVm.yml

/.ansible在返回时存在:

collections  cp  galaxy_token  tmp

任何帮助都感激不尽。

更新设置gather_facts:否会使测试运行完成。2但是这个“修复”并不是什么主意。

falq053o

falq053o1#

您的Docker引擎已重新启动。请执行简单的

molecule destroy && molecule create

将允许您成功运行测试。
另一个线索可能是文件系统问题。它经常发生在多个操作系统中,就像在Windows上的WSL2虚拟化内核中运行一个docker一样。尝试根据检查过的源代码树将您的分子更改为本地linux路径。

相关问题