Ansible молекула с использованием docker - как указать предел памяти - PullRequest
2 голосов
/ 20 марта 2020

У меня есть проверка молекулы, которая раскручивает 2 Docker контейнера, для тестирования сразу 2 версий приложения.

dependency:
  name: galaxy
driver:
  name: docker
lint:
  name: yamllint
platforms:
  - name: molecule1
    hostname: molecule1
    image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest"
    command: ${MOLECULE_DOCKER_COMMAND:-""}
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    privileged: true
    pre_build_image: true
  - name: molecule2
    hostname: molecule2
    image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest"
    command: ${MOLECULE_DOCKER_COMMAND:-""}
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    privileged: true
    pre_build_image: true
provisioner:
  name: ansible
  inventory:
    host_vars:
      molecule1:
        app_version: "v1"
      molecule2:
        app_version: "v2"
  lint:
    name: ansible-lint
scenario:
  name: default
  converge_sequence:
    - syntax
    - lint
    - create
    - prepare
    - converge
    - idempotence
    - verify
verifier:
  name: goss
  lint:
    name: yamllint

Я ищу способ указать память, например -m или --memory= как описано здесь .

Я понимаю, что molecule использует модуль docker_container ansible, который поддерживает параметр memory , но каким-то образом Я не могу найти способ сделать эту работу в molecule.

Любые идеи, как сделать это sh это?

PS: Я предполагаю, что этот параметр еще не реализован в молекуле , если мое предположение верно, что это является реализацией.

Заранее спасибо.

1 Ответ

2 голосов
/ 23 марта 2020

++ Обновление ++

--memory действительно еще не реализовано в инициаторе молекулы docker.

Если кому-то интересно, вот соответствующее изменение в исходный код:

diff --git a/molecule/provisioner/ansible/playbooks/docker/create.yml b/molecule/provisioner/ansible/playbooks/docker/create.yml
index 7a04b851..023a720a 100644
--- a/molecule/provisioner/ansible/playbooks/docker/create.yml
+++ b/molecule/provisioner/ansible/playbooks/docker/create.yml
@@ -121,6 +121,8 @@
         hostname: "{{ item.hostname | default(item.name) }}"
         image: "{{ item.pre_build_image | default(false) | ternary('', 'molecule_local/') }}{{ item.image }}"
         pull: "{{ item.pull | default(omit) }}"
+        kernel_memory: "{{ item.kernel_memory | default(omit) }}"
+        memory: "{{ item.memory | default(omit) }}"
         state: started
         recreate: false
         log_driver: json-file

Моя вилка теперь слита с молекулой.

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