iosxr_config - Управление разделами конфигурации Cisco IOS XR
Новая версия 2.1.
Обзор
- Конфигурации Cisco IOS XR используют простой синтаксис блочного отступа для сегментации конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации IOS XR детерминированным способом.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient >= 0.5.3 при использовании netconf
- lxml >= 4.1.1 при использовании netconf
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| admin bool (добавлено в 2.4) |
| Переходит в административный режим конфигурации для внесения изменений в конфигурацию устройства. | |
| after | Упорядоченный набор команд для добавления в конец стека команд, если необходимо внести изменения. Аналогично before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд. | ||
| backup bool (добавлено в 2.2) |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневой директории плейбука или корневой директории роли, если плейбук является частью роли Ansible. Если директория не существует, она создается. | |
| before | Упорядоченный набор команд для добавления в стек команд, если необходимо внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на способ сопоставления набора команд с системой. | ||
| comment (добавлено в 2.2) | Значение по умолчанию: "настроено модулем iosxr_config" | Позволяет указать описание для коммита, которое будет включено при сохранении конфигурации. Если конфигурация не изменяется или не сохраняется, этот аргумент игнорируется. | |
| config | Модуль по умолчанию подключается к удаленному устройству и получает текущую конфигурацию running-config, чтобы использовать ее в качестве основы для сравнения с содержимым source. Иногда нежелательно получать текущую running-config для каждой задачи в плейбуке. Аргумент config позволяет реализатору передать конфигурацию для использования в качестве базовой конфигурации для сравнения. | ||
| force bool (добавлено в 2.2) |
| Аргумент force указывает модулю не учитывать текущую конфигурацию running-config устройства. При установке в значение true, модуль скопирует содержимое src на устройство без предварительной проверки, если оно уже настроено. Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалента установите match=none, который является идемпотентным. Этот аргумент будет удален в будущих версиях. | |
| lines | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть идентичны командам, найденным в конфигурации running-config устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства. псевдонимы: команды | ||
| match |
| Указывает модулю способ выполнения сопоставления набора команд с текущей конфигурацией устройства. Если match установлено в строка, команды сопоставляются построчно. Если match установлено в строго, строки команд сопоставляются с учетом позиции. Если match установлено в точно, строки команд должны быть точным совпадением. Наконец, если match установлено в нет, модуль не будет пытаться сравнить исходную конфигурацию с рабочей конфигурацией удаленного устройства. | |
| parents | Упорядоченный набор родителей, которые однозначно идентифицируют раздел или иерархию, с которыми должны быть проверены команды. Если аргумент parents опущен, команды проверяются по отношению к набору команд верхнего уровня или глобальных команд. | ||
| provider | Устарело Начиная с Ansible 2.5, рекомендуем использовать connection: network_cli. Для получения дополнительной информации см. Руководство по сети. Объект словаря, содержащий сведения о подключении. | ||
| host обязательно | Указывает имя хоста DNS или адрес для подключения к удаленному устройству по указанному протоколу передачи. Значение host используется в качестве адреса назначения для протокола передачи. | ||
| port | Значение по умолчанию: 22 | Указывает порт для подключения к удаленному устройству. | |
| username | Указывает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| password | Указывает пароль для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| timeout | Значение по умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль выдаст ошибку. | |
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| replace |
| Указывает модулю способ выполнения конфигурации на устройстве. Если replace установлено в строка, измененные строки передаются устройству в режиме конфигурации. Если replace установлено в блок, весь блок команд передается устройству в режиме конфигурации, если хотя бы одна строка неверна. | |
| src (добавлено в 2.2) | Указывает путь к исходному файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путем на хосте Ansible или относительным путем от корневой директории плейбука или роли. Этот аргумент несовместим с lines и parents. | ||
Примечания
Примечание
- Проверено на IOS XRv 6.1.2
- Этот модуль не поддерживает подключение netconf
- Сокращенные команды НЕ являются идемпотентными, см. Вопросы и ответы по сети.
- Избегайте изменений, нарушающих работу сервисов (например, IP-адрес управления) из config 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 по сетевым технологиям. Более подробная информация доступна в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых командой Ansible по сетевым технологиям, можно найти здесь.
Поддержка
Дополнительную информацию о поддержке данного модуля компанией 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.6/modules/iosxr_config_module.html