0

我在分子测试中遇到问题。两天前我已经开始研究这个工具以获取信息。

在运行 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 上吗?

感谢大家阅读:-)

4

1 回答 1

0

我已根据分子文档(https://molecule.readthedocs.io/en/latest/examples.html#docker)在我的 mocule.yml 文件配置中添加了该内容:

平台:-名称:实例#image:docker.io/pycontribs/centos:7 图像:geerlingguy/docker-centos7-ansible:最新 功能:-SYS_ADMIN 命令:/sbin/init

systemctl 现在工作正常

于 2020-03-30T14:44:59.580 回答