Spec-Zone.ru › Ansible 2.8

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_options не указано, файл резервной копии записывается в папку backup в корневом каталоге playbook или корневом каталоге роли, если playbook является частью роли Ansible. Если каталог не существует, он создается.
backup_options
словарь
добавлен в 2.8
Это объект типа словарь, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра читается только тогда, когда backup установлено в да. Если backup установлено в нет, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр предоставляет путь, заканчивающийся именем каталога, в котором будет храниться файл конфигурации резервной копии. Если каталог не существует, он будет создан в первую очередь, а имя файла — это либо значение filename, либо имя файла по умолчанию, как описано в filename описание параметров. Если значение пути не указано, в этом случае будет создан каталог backup в текущей рабочей директории, а конфигурация резервной копии будет скопирована в filename внутри каталога backup.
filename
-
Имя файла, используемого для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущего времени и даты в формате <имя_хоста>_config.<дата>@<время>
before
-
Упорядоченный набор команд для помещения в стек команд, если требуется внести изменения. Это позволяет разработчику playbook выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на способ сопоставления набора команд с системой.
comment
-
добавлен в 2.2
По умолчанию:
"configured by iosxr_config"
Позволяет указать описание изменения, которое будет включено при сохранении конфигурации. Если конфигурация не изменена или не сохранена, этот аргумент игнорируется.
config
-
Модуль по умолчанию подключается к удаленному устройству и извлекает текущую конфигурацию для использования в качестве основы для сравнения с содержимым источника. Иногда нежелательно, чтобы задача получала текущую рабочую конфигурацию для каждой задачи в playbook. Аргумент config позволяет реализатору передать конфигурацию для использования в качестве базовой конфигурации для сравнения.
force
boolean
добавлен в 2.2
    Варианты:
  • нет ←
  • да
Аргумент force инструктирует модуль не учитывать текущую рабочую конфигурацию устройства. При установке в значение true, это заставит модуль поместить содержимое src на устройство без предварительной проверки, настроено ли оно уже.
Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалента установите match=none, что является идемпотентным. Этот аргумент будет удален в будущих выпусках.
label
-
добавлен в 2.7
Позволяет указать метку для сохранения, которая будет включена при сохранении конфигурации. Действительная метка должна начинаться с буквы и не превышать 30 символов, допускаются только буквы, цифры, дефисы и символы подчеркивания. Если конфигурация не изменена или не сохранена, этот аргумент игнорируется.
lines
-
Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть идентичны командам, найденным в рабочей конфигурации устройства. Убедитесь, что вы учли синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства.

псевдонимы: команды
match
-
    Варианты:
  • строка ←
  • строго
  • точно
  • ничего
Указывает модулю способ сравнения набора команд с текущей конфигурацией устройства. Если match установлен в строка, команды сопоставляются по строкам. Если match установлен в строго, строки команд сопоставляются относительно положения. Если match установлен в точно, строки команд должны быть точным совпадением. Наконец, если match установлен в ничего, модуль не будет пытаться сравнить исходную конфигурацию с рабочей конфигурацией на удаленном устройстве.
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
-
added in 2.2
Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путем на хосте Ansible control или относительным путем от корневой директории 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

- name: configurable backup path
  iosxr_config:
    src: config.cfg
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

Значения возврата

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

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

Пример:
/playbooks/ansible/backup/iosxr01_config.2016-07-16@22:28:34
commands
список
Если существуют команды для выполнения на хосте
Набор команд, которые будут отправлены на удалённое устройство

Пример:
['hostname foo', 'router ospf 1', 'router-id 1.1.1.1']
date
строка
при backup yes
Дата, извлечённая из имени файла резервной копии

Пример:
2016-07-16
filename
строка
при backup yes и имя файла не указано в опциях backup
Имя файла резервной копии

Пример:
iosxr01_config.2016-07-16@22:28:34
shortname
строка
при backup yes и имя файла не указано в опциях backup
Полный путь к файлу резервной копии без временной метки

Пример:
/playbooks/ansible/backup/iosxr01_config
time
строка
при backup yes
Время, извлечённое из имени файла резервной копии

Пример:
22:28:34


Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [preview]
  • Этот модуль поддерживается командой Ansible Network. [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.8/modules/iosxr_config_module.html

Spec-Zone.ru

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