Получить последние два сегмента IP-адреса, используя Ansible - PullRequest
0 голосов
/ 03 марта 2020

У меня есть книга игр, которая получает IP-адрес, как показано ниже.

---
- hosts: all
  tasks:
    - debug: var=hostvars[inventory_hostname]['ansible_default_ipv4']['address']

Вывод:

TASK [debug] *************************************************************************************************************************************************
ok: [mwiwas01] => {
    "hostvars[inventory_hostname]['ansible_default_ipv4']['address']": "10.0.12.15"
}

Однако я получу sh, чтобы получить последние два сегмента IP-адреса адрес, т.е. только 12.15.

Примечание: IP-адреса будут меняться на каждом хосте, поэтому я ищу стандартное решение, которое совместимо для работы с любым данным IP версии 4.

Как Могу ли я получить то же самое с IP-адреса.

1 Ответ

1 голос
/ 03 марта 2020

Используйте функцию split.

- debug: var=hostvars[inventory_hostname]['ansible_default_ipv4']['address'].split(".")[3]+hostvars[inventory_hostname]['ansible_default_ipv4']['address'].split(".")[4]
...