Spec-Zone.ru › Ansible 2.9

netconf_config – конфигурация устройства netconf

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Netconf — это протокол управления сетью, разработанный и стандартизированный IETF. Он документирован в RFC 6241.
  • Этот модуль позволяет пользователю отправлять файл конфигурации XML на устройство netconf и определяет, произошли ли изменения в конфигурации.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • ncclient

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
backup
boolean
добавлен в 2.7
    Варианты:
  • нет ←
  • да
Этот аргумент заставит модуль создать полную резервную копию текущего running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, резервный файл записывается в папку backup в корневой директории playbook или в корневой директории роли, если playbook является частью роли Ansible. Если директория не существует, она создаётся.
backup_options
словарь
добавлен в 2.8
Это объект dict, содержащий настраиваемые параметры, относящиеся к пути к резервному файлу. Значение этого параметра считывается только когда backup установлено в да, если backup установлено в нет, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр предоставляет путь, заканчивающийся именем директории, в которой будет храниться конфигурационный файл резервной копии. Если директория не существует, она будет сначала создана, а имя файла будет либо значением filename, либо файлом по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в текущей рабочей директории будет создана директория backup, и конфигурация резервной копии будет скопирована в filename внутри директории backup.
filename
-
Имя файла, используемого для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущего времени и даты в формате <имя_хоста>_config.<дата>@<время>
commit
boolean
добавлен в 2.7
    Варианты:
  • нет
  • да ←
Этот флаг boolean управляет тем, должны ли быть сохранены изменения конфигурации после редактирования кандидатского хранилища данных или нет. Этот параметр поддерживается только если удалённый сервер Netconf поддерживает возможность :candidate. Если значение установлено в False, коммит не будет выполнен после операции edit-config, и пользователь должен явно обработать коммит или отказ от изменений.
confirm
-
добавлен в 2.7
Значение по умолчанию:
0
Этот аргумент настроит значение таймаута для подтверждения коммита, прежде чем он будет автоматически отменён. Если аргумент confirm_commit установлен в False, этот аргумент будет проигнорирован. Если значение этого аргумента установлено в 0, коммит подтверждается немедленно. Удалённый хост ДОЛЖЕН поддерживать возможности :candidate и :confirmed-commit для того, чтобы этот параметр работал.
confirm_commit
boolean
добавлен в 2.7
    Варианты:
  • нет ←
  • да
Этот аргумент выполнит операцию коммита на удалённом устройстве. Он может быть использован для подтверждения предыдущего коммита.
content
-
Данные конфигурации, определённые моделями данных устройства, могут быть в формате xml-строки или текстовом формате. Формат конфигурации должен поддерживаться удалённым сервером Netconf

псевдонимы: xml
default_operation
-
добавлен в 2.7
    Варианты:
  • merge
  • replace
  • none
Операция по умолчанию для rpc <edit-config>, допустимые значения — merge, replace и none. Если значение по умолчанию — merge, данные конфигурации в параметре content объединяются на соответствующем уровне в хранилище данных target. Если значение — replace, данные в параметре content полностью заменяют конфигурацию в хранилище данных target. Если значение — none, хранилище данных target не затрагивается конфигурацией в параметре config, пока и до тех пор, пока входящие данные конфигурации не будут использовать операцию operation для запроса другой операции.
delete
boolean
добавлен в 2.7
    Варианты:
  • нет ←
  • да
Инструктирует модуль удалить конфигурацию из хранилища данных, упомянутого в target.
error_option
-
добавлен в 2.7
    Варианты:
  • stop-on-error ←
  • continue-on-error
  • rollback-on-error
Этот параметр управляет действиями сервера netconf после возникновения ошибки при редактировании конфигурации.
Если error_option=stop-on-error, прервать редактирование конфигурации при первой ошибке.
Если error_option=continue-on-error, продолжить обработку данных конфигурации при ошибке. Ошибка регистрируется, и генерируется отрицательный ответ, если возникают какие-либо ошибки.
Если error_option=rollback-on-error, откатиться к исходной конфигурации в случае ошибки. Для этого требуется, чтобы удалённый сервер Netconf поддерживал возможность error_option=rollback-on-error.
format
-
добавлен в 2.7
    Варианты:
  • xml ←
  • text
Формат конфигурации, предоставленный в качестве значения content. Допустимые значения — xml и text, и данный формат конфигурации должен поддерживаться удалённым сервером Netconf.
host
строка / обязательно
Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта.
hostkey_verify
boolean
    Варианты:
  • нет
  • да ←
Если установлено в yes, ключ хоста SSH устройства должен совпадать с ключом SSH, имеющимся на хосте. Если установлено в no, ключ хоста SSH устройства не проверяется.
lock
-
добавлен в 2.7
    Варианты:
  • никогда
  • всегда ←
  • если_поддерживается
Инструктирует модуль явно заблокировать хранилище данных, указанное как target. Установив параметр в всегда, будет явно заблокировано хранилище данных, упомянутое в параметре target. Если значение — никогда, хранилище данных target не будет заблокировано. Значение если_поддерживается заблокирует хранилище данных target только если это поддерживается удалённым сервером Netconf.
look_for_keys
boolean
    Варианты:
  • нет
  • да ←
Включает поиск ключей SSH в обычных местах (например, :file:`~/.ssh/id_*`)
password
строка
Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD.
port
целое число
Значение по умолчанию:
830
Указывает порт, используемый при установлении соединения с удалённым устройством. Значение порта по умолчанию — 830.
save
boolean
добавлен в 2.4
    Варианты:
  • нет ←
  • да
Аргумент save инструктирует модуль сохранить конфигурацию в хранилище данных target в startup-config, если она была изменена, и если Netconf сервер поддерживает возможность :startup.
source_datastore
-
added in 2.7
Имя конфигурационного хранилища данных, используемого в качестве источника для копирования конфигурации в хранилище данных, указанное параметром target. Значения могут быть running, candidate, startup или удалённый URL.

псевдонимы: source
src
-
added in 2.4
Указывает путь к файлу xml, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путем на хосте управления Ansible или относительным путем от корня playbook или роли. Этот аргумент взаимно исключает xml.
ssh_keyfile
path
Указывает SSH-ключ, используемый для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации SSH-сессии. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE.
target
-
added in 2.4
По умолчанию:
"auto"
Имя конфигурационного хранилища данных для редактирования. - auto, использует candidate и fallback к running - candidate, редактирует хранилище <candidate/> и затем производит коммит - running, редактирует хранилище <running/> напрямую

псевдонимы: datastore
timeout
integer
По умолчанию:
10
Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль вернёт ошибку.
username
string
Настройка имени пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME.
validate
boolean
added in 2.7
    Варианты:
  • нет ←
  • да
Этот флаг boolean, если установлен, валидирует содержимое хранилища данных, указанного в параметре target. Для работы этого параметра удалённый сервер Netconf должен поддерживать функцию :validate.

Примечания

Примечание

  • Для работы этого модуля требуется, чтобы на удалённом управляемом устройстве была включена служба netconf.
  • Этот модуль поддерживает устройства с и без возможностей candidate и confirmed-commit. Он всегда использует более безопасную функцию.
  • Этот модуль поддерживает использование connection=netconf
  • Дополнительную информацию об использовании netconf см. в руководстве Platform Options guide using Netconf
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
  • Этот модуль поддерживается на сетевых платформах ansible_network_os. Дополнительные сведения см. в Network Platform Options.

Примеры

- name: use lookup filter to provide xml configuration
  netconf_config:
    content: "{{ lookup('file', './config.xml') }}"

- name: set ntp server in the device
  netconf_config:
    content: |
        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
            <system xmlns="urn:ietf:params:xml:ns:yang:ietf-system">
                <ntp>
                    <enabled>true</enabled>
                    <server>
                        <name>ntp1</name>
                        <udp><address>127.0.0.1</address></udp>
                    </server>
                </ntp>
            </system>
        </config>

- name: wipe ntp configuration
  netconf_config:
    content: |
        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
            <system xmlns="urn:ietf:params:xml:ns:yang:ietf-system">
                <ntp>
                    <enabled>false</enabled>
                    <server operation="remove">
                        <name>ntp1</name>
                    </server>
                </ntp>
            </system>
        </config>

- name: configure interface while providing different private key file path (for connection=netconf)
  netconf_config:
    backup: yes
  register: backup_junos_location
  vars:
    ansible_private_key_file: /home/admin/.ssh/newprivatekeyfile

- name: configurable backup path
  netconf_config:
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое Описание
backup_path
string
при backup=yes
Полный путь к резервной копии файла

Пример:
/playbooks/ansible/backup/config.2016-07-16@22:28:34
diff
dictionary
при включенном diff
Если опция --diff включена при запуске, изменения конфигурации до и после возвращаются как часть ключей before и after.

Пример:
{'after': '<rpc-reply> <data> <configuration> <version>17.3R1.10</version>...<--snip-->', 'before': '<rpc-reply> <data> <configuration> <version>17.3R1.10</version>...<--snip-->'}
server_capabilities
list
успех
список возможностей сервера

Пример:
['urn:ietf:params:netconf:base:1.1', 'urn:ietf:params:netconf:capability:confirmed-commit:1.0', 'urn:ietf:params:netconf:capability:candidate:1.0']


Статус

  • Гарантия обратной совместимости этого модуля не предоставляется. [preview]
  • Этот модуль поддерживается командой Ansible Network. [network]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля Red Hat см. в этой статье базы знаний Red Hat.

Авторы

  • Leandro Lisboa Penz (@lpenz)

Подсказка

Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/netconf_config_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API