community.network.icx_config – Управление разделами конфигурации коммутаторов Ruckus ICX 7000 серии
Примечание
Этот плагин входит в коллекцию community.network (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.network.
Для использования в книге задач укажите: community.network.icx_config.
Обзор
- Конфигурации Ruckus ICX используют простой синтаксис вложенных блоков для разбиения конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации ICX детерминированным способом.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| after список / элементы=строка | Упорядоченный набор команд, которые будут добавлены в конец стека команд, если требуется изменение. Также, как и с параметром before, это позволяет разработчику книги задач добавлять набор команд, которые будут выполнены после набора команд. | |
| backup булево |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Файл резервной копии будет записан в папку backup в корневой директории книги задач или корневой директории роли, если книга задач является частью роли Ansible. Если директория не существует, она будет создана. |
| before список / элементы=строка | Упорядоченный набор команд, которые будут добавлены в стек команд, если требуется изменение. Это позволяет разработчику книги задач выполнить команды конфигурации до внесения любых изменений, не влияя на то, как набор команд сопоставляется с системой. | |
| defaults булево |
| Этот аргумент определяет, нужно ли собирать все значения по умолчанию при получении конфигурации текущего устройства. При включении, модуль получит текущую конфигурацию, выполнив команду show running-config all. |
| diff_against строка |
| При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать разницы с различными источниками.При настройке этого параметра как startup, модуль вернёт разницу между running-config и конфигурацией. При настройке этого параметра как intended, модуль вернёт разницу между running-config и конфигурацией, предоставленной в аргументе intended_config.При настройке этого параметра как running, модуль вернёт разницу до и после running-config относительно любых изменений, внесённых в конфигурацию устройства. |
| diff_ignore_lines список / элементы=строка | Используйте этот аргумент для указания одной или нескольких строк, которые должны быть проигнорированы во время сравнения. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | |
| intended_config строка | intended_config предоставляет основную конфигурацию, к которой должен соответствовать узел, и используется для проверки окончательной running-config. Этот аргумент не будет изменять какие-либо настройки на удалённом устройстве и используется только для проверки соответствия текущей конфигурации устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в значение intended. | |
| lines список / элементы=строка | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть абсолютно такими же, как и в конфигурации running-config устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства. псевдонимы: команды | |
| match строка |
| Указывает модулю способ выполнения сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в строка, команды сопоставляются по строкам. Если match установлен в строго, строки команд сопоставляются относительно позиции. Если match установлен в точно, строки команд должны быть полным совпадением. Наконец, если match установлен в нет, модуль не будет пытаться сравнить исходную конфигурацию с running-конфигурацией удалённого устройства. |
| multiline_delimiter строка | Значение по умолчанию: "@" | Этот аргумент используется при передаче многострочного элемента конфигурации на устройство ICX. Он указывает символ, который будет использоваться в качестве разделителя. Это относится только к действию конфигурации. |
| parents список / элементы=строка | Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел или иерархию, с которой должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | |
| replace строка |
| Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в строка, изменённые строки передаются на устройство в режиме конфигурации. Если аргумент replace установлен в блок, весь блок команд передаётся на устройство в режиме конфигурации, если какая-либо строка неверна. |
| running_config строка | По умолчанию модуль подключается к удалённому устройству и получает текущую running-config для сравнения с содержимым источника. Иногда нежелательно, чтобы задача получала текущую running-config для каждой задачи в книге задач. Аргумент running_config позволяет реализатору передать конфигурацию, которая будет использоваться в качестве базовой конфигурации для сравнения. псевдонимы: config | |
| save_when строка |
| При внесении изменений в текущую конфигурацию устройства, изменения по умолчанию не копируются в нелетучую память. Используя этот аргумент, это изменится. Если аргумент установлен в всегда, тогда running-config всегда будет скопирована в конфигурацию запуска, и флаг изменено всегда будет установлен в True. Если аргумент установлен в изменено, тогда running-config будет скопирована в конфигурацию запуска только в том случае, если она изменилась с момента последней сохранения конфигурации. Если аргумент установлен в никогда, running-config никогда не будет скопирована в конфигурацию. Если аргумент установлен в изменено, тогда running-config будет скопирована в конфигурацию только в том случае, если задача внесла изменения. |
| src строка | Указывает путь к источнику файла, содержащего конфигурацию или шаблон конфигурации для загрузки. Путь к файлу источнику может быть полным путём на хосте Ansible или относительным путём от корневой директории книги задач или роли. Этот аргумент взаимоисключающий с lines, parents. |
Примечания
Примечание
- Тестировалось на ICX 10.1.
- Дополнительную информацию об использовании платформы ICX см. в руководстве по платформе ICX OS.
Примеры
- name: Configure top level configuration
community.network.icx_config:
lines: hostname {{ inventory_hostname }}
- name: Configure interface settings
community.network.icx_config:
lines:
- port-name test string
- ip address 172.31.1.1 255.255.255.0
parents: interface ethernet 1/1/2
- name: Configure ip helpers on multiple interfaces
community.network.icx_config:
lines:
- ip helper-address 172.26.1.10
- ip helper-address 172.26.3.8
parents: "{{ item }}"
with_items:
- interface ethernet 1/1/2
- interface ethernet 1/1/3
- name: Load new acl into device
community.network.icx_config:
lines:
- permit ip host 192.0.2.1 any log
- permit ip host 192.0.2.2 any log
- permit ip host 192.0.2.3 any log
- permit ip host 192.0.2.4 any log
parents: ip access-list extended test
before: no ip access-list extended test
match: exact
- name: Check the running-config against master config
community.network.icx_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- name: Check the configuration against the running-config
community.network.icx_config:
diff_against: startup
diff_ignore_lines:
- ntp clock .*
- name: For idempotency, use full-form commands
community.network.icx_config:
lines:
# - en
- enable
# parents: int eth1/0/11
parents: interface ethernet 1/1/2
# Set boot image based on comparison to a group_var (version) and the version
# that is returned from the `icx_facts` module
- name: SETTING BOOT IMAGE
community.network.icx_config:
lines:
- no boot system
- boot system flash bootflash:{{new_image}}
host: "{{ inventory_hostname }}"
when: ansible_net_version != version
- name: Render template onto an ICX device
community.network.icx_config:
backup: yes
src: "{{ lookup('file', 'config.j2') }}"
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup=да | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/icx_config.2016-07-16@22:28:34 |
| commands список / элементы=строка | всегда | Набор команд, которые будут переданы на удалённое устройство Пример: ['hostname foo', 'router ospf 1', 'router-id 192.0.2.1'] |
| updates список / элементы=строка | всегда | Набор команд, которые будут переданы на удалённое устройство Пример: ['hostname foo', 'router ospf 1', 'router-id 192.0.2.1'] |
Авторы
- Ruckus Wireless (@Commscope)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/network/icx_config_module.html