Ansible Проверка молекулы не может подключиться к демону Docker - PullRequest
0 голосов
/ 24 марта 2020

Я создаю роль теста по умолчанию, запустив molecule init scenario default

Затем я запускаю molecule test

Вывод из GitLab CI выглядит следующим образом:

"stderr": "\u001b[31mERROR: Unable to contact the Docker daemon. Please refer to https://docs.docker.com/config/daemon/ for managing the daemon\u001b[0m\n\u001b[31mERROR: Unable to contact the Docker daemon. Please refer to https://docs.docker.com/config/daemon/ for managing the daemon\u001b[0m",
     "stderr_lines": [
         "\u001b[31mERROR: Unable to contact the Docker daemon. Please refer to https://docs.docker.com/config/daemon/ for managing the daemon\u001b[0m",
         "\u001b[31mERROR: Unable to contact the Docker daemon. Please refer to https://docs.docker.com/config/daemon/ for managing the daemon\u001b[0m"

Роль молекулы выглядит следующим образом:

- name: Create Default Role
  command: molecule init scenario default
  args:
    chdir: roles/amazon_cloudwatch_agent

- name: Run Molecule Test
  command: molecule --debug test
  args:
    chdir: roles/amazon_cloudwatch_agent

1 Ответ

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

Решением было изменить дизайн файла gitlab-ci.yml следующим образом:

---

image: <insert desired image here> 
services:
  - docker:dind

stages:
  - tests

before_script:
  - docker -v
  - python -V
  - pip install --upgrade pip
  - pip install molecule
  - pip install -U requests==2.5.3

molecule-role-common:
  stage: tests
  tags:
  - molecule
  variables:
    DOCKER_HOST: "tcp://docker:2375"
    PY_COLORS: 1
  script:
    - cd roles/amazon_cloudwatch_agent; molecule init scenario --role-name amazon_cloudwatch_agent
    - ls
    - molecule --debug test

Кажется, он имеет службы: docker: dind - это ключ для получения молекулы изображения docker, соединяющейся с docker демон.

Хотя у меня все еще есть проблемы с прокси, это помогло мне справиться с первоначальной проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...