Я пытаюсь динамически обновлять и переформатировать IP-адрес хоста для используемого шаблона. Мне нужно получить IP-адрес хоста и переформатировать его из обычного формата в формат без вспомогательного фильтра.
Я очень плохо знаком с ansible. Очень новый.
Однако из того, что я собрал ...
Я должен быть в состоянии получить ip "факт" хоста из моей пьесы. Я борюсь с синтаксисом, чтобы заставить его работать, но я довольно уверен, что это то, что я смогу сделать.
Как только у меня будет ip, мне нужно переформатировать его с 11.22.33.44 в 11 \ 22. 33. 44.
Пока что я не могу даже получить правильный синтаксис для захвата факта ip, не говоря уже о его переформатировании. Что касается форматирования, я просмотрел фильтры, но не нашел (явных) описаний, которые указывали бы на метод фильтра, который будет форматироваться так, как мне нужно (хотя ... я подозреваю, что он существует).
name: "test gathering a fact"
debug: var= "{{ hostvars[groups['webservers'][0]]['ansible_eth0']['ipv4']['address'] }}"
Я ожидал что-то вроде ...
11.22.33.44
Но я получаю:
ОШИБКА! Синтаксическая ошибка при загрузке YAML.
не нашел ожидаемый ключ
Ошибка, по-видимому, была в /home/my_playbook.yml: строка 14, столбец 13, но может быть в другом месте файла, в зависимости от точной синтаксической проблемы.
Оскорбительная строка выглядит так:
- name: "test gathering a fact"
debug: var= "{{ hostvars[groups['webservers'][0]]['ansible_eth0']['ipv4']['address'] }}"
^ here
Мы можем ошибаться, но похоже, что это может быть проблема с
пропущенные кавычки. Всегда заключайте в скобки выражения шаблона, когда они
начать значение. Например:
with_items:
- {{ foo }}
Должно быть записано как:
with_items:
- "{{ foo }}""