ANSIBLE Loop в PlayBook - PullRequest
       23

ANSIBLE Loop в PlayBook

1 голос
/ 01 апреля 2019

Я играю с модулем nxos для настройки коммутатора Cisco с использованием ansible, и у меня был один вопрос, связанный с обработкой цикла.

https://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html#nxos

У меня есть эта задача, где мне нужно настроить группу каналов на всех интерфейсах, но добавить 1 в номер интерфейса, поэтому, если интерфейс E1/12, группа каналов будет 112

interface Ethernet1/11
  channel-group 111 mode active
interface Ethernet1/12
  channel-group 112 mode active
interface Ethernet1/13
  channel-group 113 mode active
interface Ethernet1/14
  channel-group 114 mode active
interface Ethernet1/15
  channel-group 115 mode active

В настоящее время у меня есть этот фрагмент кода, отвечающий всем задачам, связанным с интерфейсом

- name: default interfaces
      nxos_interface: interface={{ item }} description='Configured by Ansible' mode=layer2
      with_items:
        - Ethernet1/11
        - Ethernet1/12

В любом случае я могу использовать какой-то цикл в приведенном выше коде для повторения в переменных?

1 Ответ

1 голос
/ 01 апреля 2019

Вы ищете что-то вроде ниже:

---
- name: test
  hosts: localhost
  tasks:
    - name:  default interfaces
      debug:
        msg: "1{{ item.split('/')[1] }}"
      with_items:
        - Ethernet1/11
        - Ethernet1/12

выход

ok: [localhost] => (item=Ethernet1/11) => {
    "msg": "111"
}
ok: [localhost] => (item=Ethernet1/12) => {
    "msg": "112"
}

Здесь зафиксировано «1»

...