iosxr_config – Управление секциями конфигурации Cisco IOS XR
Новая в версии 2.1.
Описание
- Конфигурации Cisco IOS XR используют простой синтаксис с отступами для сегментации конфигурации на секции. Этот модуль предоставляет реализацию работы с секциями конфигурации IOS XR детерминированным способом.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient >= 0.5.3 при использовании netconf
- lxml >= 4.1.1 при использовании netconf
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| admin boolean добавлен в 2.4 |
| Переход в административный режим конфигурации для внесения изменений в конфигурацию устройства. | |
| after - | Упорядоченный набор команд для добавления в конец стека команд, если необходимо внести изменения. Так же, как и с before, это позволяет разработчику playbook добавить набор команд, которые должны быть выполнены после набора команд. | ||
| backup boolean добавлен в 2.2 |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневом каталоге playbook или в корневом каталоге роли, если playbook является частью роли Ansible. Если каталог не существует, он создается. | |
| before - | Упорядоченный набор команд для добавления в стек команд, если необходимо внести изменения. Это позволяет разработчику playbook выполнить команды конфигурации перед внесением любых изменений без влияния на способ соответствия набора команд системе. | ||
| comment - добавлен в 2.2 | Значение по умолчанию: "настроен iosxr_config" | Позволяет указать описание коммита, которое будет включено при фиксации конфигурации. Если конфигурация не изменена или не зафиксирована, этот аргумент игнорируется. | |
| config - | Модуль по умолчанию подключается к удаленному устройству и извлекает текущую конфигурацию running-config, чтобы использовать ее в качестве основы для сравнения с содержимым источника. Иногда нежелательно запрашивать текущую конфигурацию running-config для каждой задачи в playbook. Аргумент config позволяет реализатору передать конфигурацию в качестве базовой конфигурации для сравнения. | ||
| force boolean добавлен в 2.2 |
| Аргумент force указывает модулю не учитывать текущую конфигурацию running-config устройства. При установке в значение true, это заставит модуль внедрить содержимое src на устройство без предварительной проверки, настроено ли это уже. Обратите внимание, что этот аргумент следует считать устаревшим. Чтобы добиться эквивалента, установите match=none, который идемпотентен. Этот аргумент будет удален в будущих версиях. | |
| label - добавлен в 2.7 | Позволяет указать метку коммита, которая будет включена при фиксации конфигурации. Действительная метка должна начинаться с буквы и не превышать 30 символов, допускаются только буквы, цифры, дефисы и символы подчеркивания. Если конфигурация не изменена или не зафиксирована, этот аргумент игнорируется. | ||
| lines - | Упорядоченный набор команд, которые должны быть настроены в секции. Команды должны быть точно такими же, как в конфигурации running-config устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства. псевдонимы: команды | ||
| match - |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлен на строка, команды сопоставляются по строкам. Если match установлен на строго, строки команд сопоставляются с учетом позиции. Если match установлен на точно, строки команд должны быть точным совпадением. Наконец, если match установлен на нет, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией running на удаленном устройстве. | |
| parents - | Упорядоченный набор родителей, которые однозначно идентифицируют секцию или иерархию, с которыми должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||
| provider - | Устаревшее Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Дополнительную информацию см. в Руководстве по сетям. Словарь, содержащий сведения о подключении. | ||
| host - / обязательно | Указывает имя хоста DNS или адрес для подключения к удаленному устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта. | ||
| password - | Указывает пароль для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port - | Значение по умолчанию: 22 | Указывает порт для подключения к удаленному устройству. | |
| ssh_keyfile - | Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout - | Значение по умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечет до завершения операции, модуль выдаст ошибку. | |
| username - | Указывает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| replace - |
| Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен на строка, измененные строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен на блок, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. | |
| src - добавлен в 2.2 | Указывает путь к источнику файла, содержащего конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путем на хосте Ansible или относительным путем от корня playbook или роли. Этот аргумент взаимоисключает lines, parents. | ||
Примечания
Примечание
- Проверено на IOS XRv 6.1.2
- Этот модуль не поддерживает подключение netconf
- Сокращённые команды НЕ идемпотентны, см. Вопросы и ответы по сети.
- Избегайте изменений, которые могут нарушить работу сервиса (например, IP-адреса управления) при использовании конфигурации replace.
- Не используйте
endв файле конфигурации replace. - Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сети Ansible.
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.
Примеры
- name: configure top level configuration
iosxr_config:
lines: hostname {{ inventory_hostname }}
- name: configure interface settings
iosxr_config:
lines:
- description test interface
- ip address 172.31.1.1 255.255.255.0
parents: interface GigabitEthernet0/0/0/0
- name: load a config from disk and replace the current config
iosxr_config:
src: config.cfg
replace: config
backup: yes
- name: for idempotency, use full-form commands
iosxr_config:
lines:
# - shut
- shutdown
# parents: int g0/0/0/1
parents: interface GigabitEthernet0/0/0/1
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие — это поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | если резервное копирование включено | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/iosxr01.2016-07-16@22:28:34 |
| commands список | если есть команды для выполнения на узле | Набор команд, которые будут отправлены на удалённое устройство Пример: ['hostname foo', 'router ospf 1', 'router-id 1.1.1.1'] |
Статус
- Этот модуль не гарантирует обратной совместимости. [превью]
- Этот модуль поддерживается командой Ansible Network. [сеть]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat см. в этой статье базы знаний Red Hat.
Авторы
- Ricardo Carrillo Cruz (@rcarrillocruz)
Подсказка
Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/iosxr_config_module.html