Поскольку сгенерированный инвентарь выглядит как пара instance name - ip
(см. выше), мне нужно протестировать рецепт, используя переменную ansible_host
со значением IP, а не имя экземпляра.
Итак, сгенерированный инвентарь выглядит следующим образом:
[all]
idm ansible_host=10.0.1.1
client1 ansible_host=10.0.1.2
[client]
client1 ansible_host=10.0.1.2
Таким образом molecule.yml
, содержит:
platforms:
- name: idm
image: quay.io/freeipa/freeipa-server:rocky-8-4.9.6
pre_build_image: true
privileged: false
network: testing
hostname: idm.org.test
command: ipa-server-install -U --realm=ORG.TEST --domain=org.test --ds-password=IsASecret --admin-password=IsASecret --hostname=idm.org.test
- name: client1
image: quay.io/rockylinux/rockylinux
pre_build_image: true
privileged: false
network: testing
hostname: client1.org.test
groups:
- all
- client
Следуя этой конфигурации, я могу поместить в одну сеть эти 2 экземпляра, но не могу назначить им статический IP. Более того, здесь ansible_host
в качестве значения берется имя экземпляра ( idm
, client1
).
Примечание:как написано в названии я используюмолекула-подмандля создания экземпляров и тестирования
Спасибо за вашу помощь
С наилучшими пожеланиями
решение1
Если вам нужен статический IP (кстати, вы можете использовать DNS, но вы, вероятно, уже знаете об этом, поскольку ваш клиент, похоже, использует idm.org.test), я думаю, что вам придется использовать свой собственный файл create.yml на основеhttps://github.com/ansible-community/molecule-podman/blob/main/src/molecule_podman/playbooks/create.ymlсделать такое.
Насколько я понимаю, вы не можете контролировать множество параметров, когда сеть создается с помощью Podman.