sros_config — Управление конфигурацией устройства Nokia SR OS
Новая в версии 2.2.
Обзор
- Конфигурации Nokia SR OS используют простой синтаксис файлов с отступами для сегментации конфигурации на разделы. Этот модуль предоставляет реализацию работы с секциями конфигурации SR OS детерминированным способом.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after | Упорядоченный набор команд для добавления в конец стека команд, если требуется изменение. Так же, как и с before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд. | ||
| backup bool (добавлено в 2.2) |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением любых изменений. Файл резервной копии записывается в папку backup в корневом каталоге плейбука. Если папки не существует, она будет создана. | |
| before | Упорядоченный набор команд для добавления в стек команд, если требуется изменение. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением изменений без влияния на способ сопоставления набора команд с системой. | ||
| config (добавлено в 2.2) | Аргумент config позволяет разработчику плейбука предоставить базу конфигурации, которая будет использоваться для проверки необходимых изменений конфигурации. Если этот аргумент указан, модуль не будет загружать текущую конфигурацию с удаленного узла. | ||
| defaults bool (добавлено в 2.2) |
| Этот аргумент определяет, собирать ли все значения по умолчанию при получении текущей конфигурации удаленного устройства. При включенном режиме модуль получит текущую конфигурацию, выполнив команду show running-config all.псевдонимы: detail | |
| force bool (добавлено в 2.2) |
| Аргумент force указывает модулю не учитывать текущую рабочую конфигурацию устройства. При установке в значение true, это приведет к передаче содержимого src на устройство без предварительной проверки на наличие уже настроенных параметров. Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата следует установить параметр match=none, который идемпотентен. Этот аргумент будет удален в будущих версиях. | |
| lines | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть идентичными командам, найденным в текущей рабочей конфигурации устройства. Убедитесь, что вы знаете синтаксис команд конфигурации, поскольку некоторые команды автоматически изменяются анализатором конфигурации устройства. Аргумент lines поддерживает только текущие строки контекста. См. ПРИМЕРЫ. псевдонимы: commands | ||
| match |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в line, команды сопоставляются по строкам. Если match установлен в strict, строки команд сопоставляются с учетом позиции. Если match установлен в exact, строки команд должны точно совпадать. Наконец, если match установлен в none, модуль не будет пытаться сравнивать исходную конфигурацию с текущей рабочей конфигурацией на удаленном устройстве. | |
| parents | Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел или иерархию, с которыми должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||
| provider | Объект словаря, содержащий данные подключения. | ||
| 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 установлен в line, измененные строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в block, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка некорректна. | |
| save bool (добавлено в 2.2) |
| Аргумент save указывает модулю сохранить текущую конфигурацию в стартовую конфигурацию по завершении работы модуля. Если указан режим проверки, этот аргумент игнорируется. | |
| src (добавлено в 2.2) | Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путем на хосте управления Ansible или относительным путем от корня плейбука или роли. Этот аргумент взаимоисключающий с 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"'] |
Статус
Этот модуль помечен как preview, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Подробнее см. Поддержка и техническое обслуживание модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- 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.6/modules/sros_config_module.html