Приветствую.
Пытаюсь с помощью Ansible добавить строчку в конфиг сетевого интерфейса.
Версия Ansible:
2.7.2Конфиг:# The contents below are automatically generated by Vagrant. Do not modify.
NM_CONTROLLED=yes
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.22.33.123
NETMASK=255.255.255.0
DEVICE=eth1
PEERDNS=no
#VAGRANT-END
Таск:- name: Configure Internal zone interface
lineinfile:
path: /etc/sysconfig/network-scripts/ifcfg-{{ interface }}
regexp: '^ZONE'
line: 'ZONE="internal"'
notify: "restart network"
become: true
Т.е., судя по описанию модуля, если у меня отсутствует строчка
^ZONE=
– должна подставляться строчка из
line.
При этом при
некоторых прогонах на свежей машине он подставляет не
ZONE="internal"
а просто
ZONE=. При некоторых работает.
Уже пробовал:
- оставить internal без кавычек
- менять кавычки вокруг line
- делать прогоны без перезапуска сети
- добавлять в начало файла через
insertbefore: BOF
- менять интерфейсы - редактировал и файлы кастомных интерфейсов вагранта и дефолтный
Записывает на 2-3 раз полную строку (line replaced), при некоторых прогонах - при первом же (line added).
Магия :С