我在分子测试中遇到问题。两天前我已经开始研究这个工具以获取信息。
在运行 Vagrant 的 Ubuntu VM 上,我创建了一个角色并初始化了 Molecule 的文件夹并创建了一个 testinfra 测试文件(使用 docker 提供程序)。
错误是当我的任务的角色正在运行时,在检查服务运行的步骤中,它失败了。
fatal: [instance]: FAILED! => {"changed": false, "msg": "Could not find the requested service httpd: "}
我的设计目的是在 Centos Image 上简单地安装 2 个软件包,包括 httpd。
当我直接登录到 Molecule VM 时(通过 docker),当我简单地输入systemctl时,错误消息是
Failed to get D-Bus connection: Operation not permitted
正如 Geerlingguy 建议的那样,我已经指定映射到 cgroup 文件夹的卷
platforms:
- name: instance
#image: docker.io/pycontribs/centos:7
image: geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
该错误与 Testinfra 无关,而与 docker 构建的映像无关。
有人可以帮我理解为什么这个错误信息吗?
那是因为我在 Vagrant 运行的 VirtualBox 上吗?
感谢大家阅读:-)