Я пытаюсь запустить простой анзибль операцию, которая должна обновить строку в/и т.д./хостах:ansible_default_ipv4.address неопределенный в Докер убунту
- hosts: localhost
become: true
vars:
master_host: "ansible-master"
tasks:
- hostname: name="{{master_host}}"
- name: Add master host to /etc/hosts
lineinfile: dest=/etc/hosts line="{{ ansible_default_ipv4.address}} {{master_host}}"
regexp=".*{{master_host}}\s*$"
Когда я запускаю это в VirtualBox с Ubuntu 16, он отлично работает ,
Когда я запускаю его в моем убунту 16 Докер контейнер, я получаю:
фатальным: [локальный]: FAILED! => {"failed": true, "msg": "в поле " args "имеет недопустимое значение, которое, как представляется, содержит переменную, которая не определена . Ошибка: 'ansible_default_ipv4' равно undefined \ n \ nThe ошибка, по-видимому, была в '/home/user/ansible/manage-ansible-master.yml': строка 11, столбец 5, но может \ nbe в другом месте в файле в зависимости от точного синтаксиса проблема. \ n \ Строка оскорбления выглядит следующим образом: \ n \ n - имя хоста: name = \ "{{master_host}} \" \ n - name: Добавить главный хост в/etc/hosts \ n
^ here \ n "}
Где можно устранить попытку локального ip из d почему он не может это делать в докер?
BTW Я установил сетевые инструменты в контейнере для докеров и имеет eth0 ip.
На VirtualBox и в докер у меня есть строки в/и т.д./хосты
анзибль-мастер 127.0.1.1
UPDATE:
Я бегу
ansible all --connection=local -m setup | less
на виртуальный бокс ubuntu и докер ubuntu.
На Virtualbox я получаю много связанных с сетью информации, что я не получаю на Докер:
"ansible_facts": {
"ansible_all_ipv4_addresses": [
<ip>,
<another ip>
],
"ansible_all_ipv6_addresses": [
<ipv6>,
<another ipv6>
],
Также в VirtualBox я
"ansible_default_ipv4": {
"address": <value>,
"alias": <value>,
"broadcast": <value>,
"gateway": <value>,
"interface": <value>,
"macaddress": <value>,
"mtu": <value>,
"netmask": <value>,
"network": <value>,
"type": <value>
},
Ничего из этого не появляется в Докер.
Когда я делаю ansible all -m setup --tree/tmp/факсы Я получаю сообщение «msg»: «Не удалось подключиться к хосту через ssh: ssh: подключиться к хосту с доступом-мастер-портом 22: соединение отклонено \ r \ n ", поэтому это заставляет меня думать, что мне нужно установить ssh. – nettie
Добавить ['connection: local'] (https://docs.ansible.com/ansible/playbooks_delegation.html # local-playbooks) – techraf
Любая помощь будет очень оценена. Вопрос в том, как настроить Docker, чтобы Ansible мог найти 'ansible_default_ipv4'. Спасибо!! – nettie