sros_config — Управление конфигурацией устройства Nokia SR OS
Новая в версии 2.2.
Обзор
- Конфигурации Nokia SR OS используют простой синтаксис с отступами блоков для сегментирования конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации SR OS детерминированным способом.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after | Значение по умолчанию: None | Упорядоченный набор команд для добавления в конец стека команд, если необходимо внести изменения. Подобно параметру before, это позволяет разработчику playbook добавлять набор команд для выполнения после набора команд. | |
| backup (добавлено в 2.2) |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config удалённого устройства перед внесением любых изменений. Файл резервной копии записывается в папку backup в корневом каталоге playbook. Если папка не существует, она будет создана. | |
| before | Значение по умолчанию: None | Упорядоченный набор команд для помещения в стек команд, если необходимо внести изменения. Это даёт возможность разработчику playbook выполнить команды конфигурации перед внесением любых изменений, не влияя на способ сопоставления набора команд с системой. | |
| config (добавлено в 2.2) | Значение по умолчанию: None | Аргумент config позволяет разработчику playbook предоставить базу конфигурации для проверки необходимых изменений конфигурации. Если этот аргумент предоставлен, модуль не загрузит текущую конфигурацию с удалённого узла. | |
| defaults (добавлено в 2.2) |
| Этот аргумент определяет, нужно ли собирать все значения по умолчанию при получении текущей конфигурации удалённого устройства. При включении модуль получит текущую конфигурацию, выполнив команду show running-config all. псевдонимы: detail | |
| force (добавлено в 2.2) |
no | Аргумент force указывает модулю не учитывать текущую рабочую конфигурацию устройства. При установке в true, это заставит модуль внедрить содержимое src в устройство, не проверяя, уже ли оно настроено. Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата установите match=none, который является идемпотентным. Этот аргумент будет удалён в будущих версиях. | |
| lines | Значение по умолчанию: None | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в текущей конфигурации устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически модифицируются анализатором конфигурации устройства. Аргумент lines поддерживает только текущие строки контекста. См. ПРИМЕРЫ псевдонимы: commands | |
| match |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлен на line, команды сопоставляются по строкам. Если match установлен на strict, строки команд сопоставляются с учётом позиции. Если match установлен на exact, строки команд должны быть точным совпадением. Наконец, если match установлен на none, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией удалённого устройства. | |
| parents | Значение по умолчанию: None | Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел или иерархию, с которой должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальными командами. | |
| provider | Значение по умолчанию: None | Объект типа dict, содержащий данные подключения. | |
| username | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_USERNAME. | ||
| host обязательно | Указывает имя DNS-хоста или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это путь к ключу, используемому для аутентификации SSH-сессии. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout | Значение по умолчанию: 10 | Устанавливает тайм-аут в секундах для связи с сетевым устройством для подключения или отправки команд. Если тайм-аут превышен до завершения операции, модуль выдаст ошибку. | |
| password | Значение по умолчанию: None | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_PASSWORD. | |
| port | Значение по умолчанию: 22 | Указывает порт для подключения к удалённому устройству. | |
| replace |
| Указывает модулю способ выполнения конфигурации на устройстве. Если replace установлен на line, изменённые строки отправляются устройству в режиме конфигурации. Если replace установлен на block, весь блок команд отправляется устройству в режиме конфигурации, если хотя бы одна строка неверна. | |
| save (добавлено в 2.2) |
| Аргумент save указывает модулю сохранить рабочую конфигурацию в стартовую конфигурацию по завершении работы модуля. Если указан режим проверки, этот аргумент игнорируется. | |
| src (добавлено в 2.2) | Значение по умолчанию: None | Указывает путь к исходному файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путём на хосте Ansible или относительным путём от корневого каталога playbook или роли. Этот аргумент взаимоисключает с lines и parents. | |
Примечания
Примечание
- Дополнительную информацию о использовании Ansible для управления сетевыми устройствами Nokia SR OS см. на странице https://www.ansible.com/ansible-nokia.
Примеры
# Note: examples below use the following provider dict to handle
# transport and authentication to the node.
---
vars:
cli:
host: "{{ inventory_hostname }}"
username: admin
password: admin
transport: cli
---
- name: enable rollback location
sros_config:
lines: configure system rollback rollback-location "cf3:/ansible"
provider: "{{ cli }}"
- name: set system name to {{ inventory_hostname }} using one line
sros_config:
lines:
- configure system name "{{ inventory_hostname }}"
provider: "{{ cli }}"
- name: set system name to {{ inventory_hostname }} using parents
sros_config:
lines:
- 'name "{{ inventory_hostname }}"'
parents:
- configure
- system
provider: "{{ cli }}"
backup: yes
- name: load config from file
sros_config:
src: "{{ inventory_hostname }}.cfg"
provider: "{{ cli }}"
save: yes
- name: invalid use of lines
sros_config:
lines:
- service
- vpls 1000 customer foo 1 create
- description "invalid lines example"
provider: "{{ cli }}"
- name: valid use of lines
sros_config:
lines:
- description "invalid lines example"
parents:
- service
- vpls 1000 customer foo 1 create
provider: "{{ cli }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup = yes | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/sros_config.2016-07-16@22:28:34 |
| commands список | всегда | Набор команд, которые будут отправлены на удалённое устройство Пример: ['config system name "sros01"'] |
| updates список | всегда | Набор команд, которые будут отправлены на удалённое устройство Пример: ['config system name "sros01"'] |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.
Автор
- Peter Sprygada (@privateip)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/sros_config_module.html