Я пытаюсь создать простой сценарий для подготовки компьютеров в моей настройке Vagrant.
В настоящее время у меня настроена частная сеть, где каждый узел в файле Vagrant имеет что-то вроде:
node.vm.network "private_network", ip: "172.16.xx"
И в моем скрипте Ansible я изначально использовал {{ ansible_eth2.ipv4.address }}
, чтобы подобрать IP-адрес вМои задания из Playbook.
Однако, когда я недавно поменял местами машины, переменная Ansible не была определена, поскольку у новой машины нет сетевого интерфейса eth2
.На новом компьютере частный IP-адрес, установленный в файле Vagrant, по-видимому, назначен интерфейсу eth1
.
В попытке обойти эту проблему и сделать аппаратную независимость от моих игровых сборников Ansible, я заменил все свои ссылки на {{ ansible_eth2.ipv4.address }}
на {{ ansible_default_ipv4.address }}
, но при этом IP-адрес был получен по адресу eth0
(10.0.xx).в моем случае).
Как настроить файл Vagrant на постоянное добавление IP-адреса к любому сетевому интерфейсу, который Ansible будет использовать для {{ ansible_default_ipv4.address }}
?
Или, если мне это не удастся, могу ли я что-нибудь сделать с Ansible (или даже с необработанным шеллскриптом), чтобы получить частный IP-адрес?