Spec-Zone.ru › Ansible 2.5

nxos_config - Управление разделами конфигурации Cisco NXOS

Новая версия с 2.1.

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

Обзор

  • Конфигурации Cisco NXOS используют простую синтаксис блочного отступа для разделения конфигурации на секции. Этот модуль обеспечивает реализацию работы с секциями конфигурации NXOS детерминированным способом. Этот модуль работает с транспортными средствами CLI или NXAPI.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
after По умолчанию:
Нет
Упорядоченный набор команд, которые нужно добавить в конец стека команд, если требуется внести изменения. Так же, как и с параметром before, это позволяет разработчику playbook добавить набор команд, которые должны выполняться после набора команд.
backup
(добавлено в 2.2)
    Варианты:
  • no ←
  • yes
Этот аргумент заставит модуль создать полную резервную копию текущего running-config удаленного устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневом каталоге playbook или в корневом каталоге роли, если playbook является частью роли ansible. Если каталог не существует, он создается.
before По умолчанию:
Нет
Упорядоченный набор команд, которые нужно добавить в стек команд, если требуется внести изменения. Это позволяет разработчику playbook выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на то, как набор команд сопоставляется с системой.
defaults
(добавлено в 2.2)
    Варианты:
  • no ←
  • yes
Аргумент defaults повлияет на то, как собирается running-config устройства. Когда значение установлено в true, команда для сбора running-config дополняется ключевым словом all. Когда значение установлено в false, команда выполняется без ключевого слова all.
diff_against
(добавлено в 2.4)
    Варианты:
  • startup ←
  • intended
  • running
Используя аргумент командной строки ansible-playbook --diff, модуль может генерировать diff с разными источниками.
Когда этот параметр настроен как startup, модуль вернёт разницу между running-config и startup-config.
Когда этот параметр настроен как intended, модуль вернёт разницу между running-config и конфигурацией, предоставленной в аргументе intended_config.
Когда этот параметр настроен как running, модуль вернёт разницу между running-config до и после изменений конфигурации устройства.
diff_ignore_lines
(добавлено в 2.4)
Используйте этот аргумент для указания одной или нескольких строк, которые следует игнорировать во время diff. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк.
force
    Варианты:
  • no ←
  • yes
Аргумент force инструктирует модуль не учитывать текущую running-config устройства. При установке в true, это заставит модуль скопировать содержимое src на устройство без предварительной проверки, настроено ли оно уже.
Обратите внимание, что этот аргумент следует считать устаревшим. Чтобы достичь эквивалента, установите match=none, который является идемпотентным. Этот аргумент будет удален в будущей версии.
intended_config
(добавлено в 2.4)
intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки конечной running-config. Этот аргумент не изменит никаких настроек на удалённом устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в intended.
lines По умолчанию:
Нет
Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в running-config устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства.

псевдонимы: команды
match
    Варианты:
  • line ←
  • strict
  • exact
  • none
Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлен на line, команды сопоставляются построчно. Если match установлен на strict, строки команд сопоставляются относительно позиции. Если match установлен на exact, строки команд должны быть точным совпадением. Наконец, если match установлен на none, модуль не будет пытаться сравнить исходную конфигурацию с рабочей конфигурацией на удалённом устройстве.
parents По умолчанию:
Нет
Упорядоченный набор родителей, которые однозначно идентифицируют раздел или иерархию, с которыми должны проверяться команды. Если аргумент parents опущен, команды проверяются по отношению к набору команд верхнего уровня или глобальным командам.
provider По умолчанию:
Нет
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.
Этот параметр необходим только при использовании NX-API.
Для получения дополнительной информации, пожалуйста, обратитесь к руководству NXOS Platform Options.
Объект dict, содержащий данные подключения.
username
Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в командную строку или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME.
authorize
(добавлено в 2.5.3)
    Варианты:
  • no ←
  • yes
Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_AUTHORIZE.
ssh_keyfile
Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE.
use_proxy
(добавлено в 2.5)
    Варианты:
  • yes ←
  • no
Если no, переменные среды http_proxy и https_proxy будут проигнорированы.
auth_pass
(добавлено в 2.5.3)
По умолчанию:
none
Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это требуется. Если authorize false, то этот аргумент ничего не делает. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_AUTH_PASS.
host
обязательно
Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта.
timeout
(добавлено в 2.3)
По умолчанию:
10
Указывает тайм-аут в секундах для связи с сетевым устройством при подключении или отправке команд. Если тайм-аут превышен до завершения операции, модуль выдаст ошибку. NX-API может медленно возвращать результаты при выполнении длительных команд (sh mac, sh bgp и т. д.).
use_ssl
    Варианты:
  • yes
  • no ←
Настраивает transport для использования SSL, если значение true только когда transport=nxapi, в противном случае это значение игнорируется.
password По умолчанию:
Нет
Указывает пароль для аутентификации подключения к удалённому устройству. Это общий аргумент, используемый для транспортов cli или nxapi. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_PASSWORD.
validate_certs
    Варианты:
  • yes
  • no
По умолчанию:
Нет
Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых вами сайтах с самоподписанными сертификатами. Если аргумент transport не nxapi, это значение игнорируется.
port По умолчанию:
0 (использовать стандартный порт)
Указывает порт, используемый при построении подключения к удалённому устройству. Это значение относится к транспорту cli или nxapi. Значение порта по умолчанию устанавливается в соответствии с общим портом для транспорта, если он не указан в задаче (cli=22, http=80, https=443).
transport
обязательно
Значение по умолчанию:
cli
Настраивает транспортное соединение для подключения к удалённому устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или nxapi.
replace
    Варианты:
  • line ←
  • block
  • config
Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в line, изменённые строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в block, весь блок команды отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. replace config поддерживается только на устройствах Nexus 9K.
replace_src
(добавлено в 2.5)
Значение по умолчанию:
None
Аргумент replace_src предоставляет путь к файлу конфигурации для загрузки в удалённую систему. Этот аргумент используется для замены всей конфигурации файлом. Он используется с аргументом replace со значением config. Этот аргумент взаимоисключающий с аргументами lines и src. Этот аргумент поддерживается на устройствах Nexus 9K. Используйте модуль nxos_file_copy для копирования файла в удалённое устройство, а затем используйте путь с этим аргументом.
running_config
(добавлено в 2.4)
Значение по умолчанию:
None
По умолчанию модуль подключается к удалённому устройству и извлекает текущую running-config для использования в качестве базы для сравнения с содержимым источника. Бывают случаи, когда нежелательно, чтобы задача получала текущую running-config для каждой задачи в playbook. Аргумент running_config позволяет реализатору передать конфигурацию для использования в качестве базовой конфигурации для сравнения.

псевдонимы: config
save
(добавлено в 2.2)
    Варианты:
  • no ←
  • yes
Аргумент save указывает модулю сохранить running-config в startup-config. Эта операция выполняется после внесения любых изменений в текущую running-config. Если изменений нет, конфигурация всё равно сохраняется в startup-config. Этот параметр всегда заставляет модуль возвращать изменённое значение.
Этот параметр устарел начиная с Ansible 2.4, используйте save_when.
save_when
(добавлено в 2.4)
    Варианты:
  • всегда
  • никогда ←
  • изменено
Если в конфигурации устройства running-configuration были внесены изменения, по умолчанию эти изменения не копируются в энергонезависимую память. Использование этого аргумента изменит это до внесения изменений. Если аргумент установлен в всегда, то running-config всегда будет скопирована в startup-config, и флаг изменено всегда будет установлен в True. Если аргумент установлен в изменено, то running-config будет скопирована в startup-config только в том случае, если она изменилась с момента последнего сохранения в startup-config. Если аргумент установлен в никогда, running-config никогда не будет скопирована в startup-config
src
(добавлено в 2.2)
Значение по умолчанию:
None
Аргумент src предоставляет путь к файлу конфигурации для загрузки в удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или playbook. Этот аргумент взаимоисключающий с аргументами lines и parents.

Примечания

Примечание

  • Сокращённые команды НЕ идемпотентны, см. Вопросы и ответы по сети.
  • Дополнительную информацию об использовании CLI и NX-API см. в Руководстве по параметрам платформы NXOS
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сети Ansible
  • Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.

Примеры

---
- name: configure top level configuration and save it
  nxos_config:
    lines: hostname {{ inventory_hostname }}
    save_when: modified

- name: diff the running-config against a provided config
  nxos_config:
    diff_against: intended
    intended_config: "{{ lookup('file', 'master.cfg') }}"

- nxos_config:
    lines:
      - 10 permit ip 1.1.1.1/32 any log
      - 20 permit ip 2.2.2.2/32 any log
      - 30 permit ip 3.3.3.3/32 any log
      - 40 permit ip 4.4.4.4/32 any log
      - 50 permit ip 5.5.5.5/32 any log
    parents: ip access-list test
    before: no ip access-list test
    match: exact

- nxos_config:
    lines:
      - 10 permit ip 1.1.1.1/32 any log
      - 20 permit ip 2.2.2.2/32 any log
      - 30 permit ip 3.3.3.3/32 any log
      - 40 permit ip 4.4.4.4/32 any log
    parents: ip access-list test
    before: no ip access-list test
    replace: block

- name: replace config with flat file
  nxos_config:
    replace_src: config.txt
    replace: config

- name: for idempotency, use full-form commands
  nxos_config:
    lines:
      # - shut
      - shutdown
    # parents: int eth1/1
    parents: interface Ethernet1/1

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

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

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

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

Пример:
['hostname foo', 'vlan 1', 'name default']
updates
список
всегда
Набор команд, которые будут отправлены на удалённое устройство

Пример:
['hostname foo', 'vlan 1', 'name default']


Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратной совместимости.

Поддержка

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

Автор

  • 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/nxos_config_module.html

Spec-Zone.ru

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