Молекула: тестирование ролей: не удалось получить доступ к соединению Dbus - PullRequest
0 голосов
/ 30 марта 2020

Я столкнулся с проблемой в моем тесте на молекулы. Я начал изучать этот инструмент 2 дня go для получения информации.

на виртуальной машине Ubuntu, работающей с Vagrant, я создал роль, инициализировал папку Molecule и создал тестовый файл testinfra (с docker provider).

Ошибка заключается в том, что при выполнении роли моей задачи на этапе проверки работающей службы произошла ошибка.

fatal: [instance]: FAILED! => {"changed": false, "msg": "Could not find the requested service httpd: "}

Я был разработан для простой установки 2 пакетов, включая httpd на изображении Centos.

Когда я подключаюсь непосредственно к VM Molecule (через 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.

Может кто-нибудь помочь мне понять почему это сообщение об ошибке?

Это потому, что я на VirtualBox, запущенном Vagrant?

Спасибо всем за чтение: -)

1 Ответ

0 голосов
/ 30 марта 2020

Я добавил, что в моем файле конфигурации mocule.yml в соответствии с документацией молекулы (https://molecule.readthedocs.io/en/latest/examples.html#docker):

платформы: - имя: экземпляр #image: docker .io / pycontribs / centos: 7 изображение: geerlingguy / docker -centos7- ansible: последние возможности: - Команда SYS_ADMIN: / sbin / init

systemctl теперь работает нормально

...