Spec-Zone.ru › Ansible 2.10

community.network.slxos_config – Управление разделами конфигурации Extreme Networks SLX-OS

Примечание

Этот плагин является частью коллекции community.network (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.network

Для использования в книге задач укажите: community.network.slxos_config

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

Обзор

  • Конфигурации Extreme SLX-OS используют простой синтаксис с отступами блоков для разбиения конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации SLX-OS детерминированным способом.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
after
строка
Упорядоченный набор команд, которые будут добавлены в конец стека команд, если требуется внести изменения. Так же, как и в случае с before, это позволяет разработчику книги задач добавить набор команд, которые должны быть выполнены после набора команд.
backup
логическое значение
    Варианты:
  • нет ←
  • да
Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневой директории книги задач. Если директория не существует, она создается.
backup_options
словарь
Это объект типа dict, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра читается только тогда, когда backup установлено в да, если backup установлено в нет, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр предоставляет путь, заканчивающийся именем директории, в которой будет храниться файл резервной копии конфигурации. Если директория не существует, она будет сначала создана, а имя файла будет либо значением filename, либо именем по умолчанию, как описано в filename описании параметров. Если значение пути не указано, в текущей рабочей директории будет создана директория backup, и резервная копия конфигурации будет скопирована в filename внутри директории backup.
filename
строка
Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>
before
строка
Упорядоченный набор команд, которые будут добавлены в начало стека команд, если требуется внести изменения. Это позволяет разработчику книги задач выполнить команды конфигурации перед добавлением каких-либо изменений, не влияя на способ сопоставления набора команд с системой.
defaults
логическое значение
    Варианты:
  • нет ←
  • да
Этот аргумент указывает, нужно ли собирать все значения по умолчанию при получении конфигурации удаленного устройства. При включении модуль получит текущую конфигурацию, выполнив команду show running-config all
diff_against
строка
    Варианты:
  • running
  • startup
  • intended
При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать различия по различным источникам.
Если этот параметр настроен как startup, модуль вернет разницу между текущей конфигурацией (running-config) и конфигурацией по умолчанию (startup-config).
Если этот параметр настроен как intended, модуль вернет разницу между текущей конфигурацией (running-config) и конфигурацией, предоставленной в аргументе intended_config.
Если этот параметр настроен как running, модуль вернет разницу между конфигурацией до и после изменений текущей конфигурации (running-config) по отношению к любым изменениям, внесённым в конфигурацию устройства.
diff_ignore_lines
строка
Используйте этот аргумент для указания одной или нескольких строк, которые должны быть проигнорированы во время сравнения. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк.
intended_config
строка
intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки окончательной текущей конфигурации (running-config). Этот аргумент не будет изменять никакие настройки на удалённом устройстве и строго используется для проверки соответствия текущей конфигурации устройства указанной конфигурации. При указании этого аргумента задача также должна изменить значение diff_against и установить его в intended.
lines
строка
Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в текущей конфигурации устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства.

псевдонимы: команды
match
строка
    Варианты:
  • строка ←
  • строго
  • точно
  • нет
Указывает модулю способ выполнения сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в строка, команды сопоставляются построчно. Если match установлен в строго, строки команд сопоставляются с учётом позиции. Если match установлен в точно, строки команд должны быть точным совпадением. Наконец, если match установлен в нет, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией удалённого устройства.
multiline_delimiter
строка
Значение по умолчанию:
"@"
Этот аргумент используется при отправке многострочного элемента конфигурации на устройство SLX-OS. Он указывает символ, который будет использоваться в качестве разделителя. Это применимо только к действию конфигурации.
parents
строка
Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел или иерархию, с которыми должны быть проверены команды. Если аргумент parents опущен, команды проверяются с учётом набора команд верхнего уровня или глобальных команд.
replace
строка
    Варианты:
  • строка ←
  • блок
Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в строка, изменённые строки отправляются устройству в режиме конфигурации. Если аргумент replace установлен в блок, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна.
running_config
строка
По умолчанию модуль подключается к удалённому устройству и получает текущую конфигурацию (running-config), чтобы использовать её в качестве основы для сравнения с содержимым источника. Иногда нежелательно получать текущую конфигурацию (running-config) для каждой задачи в книге задач. Аргумент running_config позволяет разработчику передавать конфигурацию, которая будет использоваться в качестве основной конфигурации для сравнения.

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

Примечания

Примечание

  • Проверено на SLX-OS 17s.1.02

Примеры

- name: Configure top level configuration
  community.network.slxos_config:
    lines: hostname {{ inventory_hostname }}

- name: Configure interface settings
  community.network.slxos_config:
    lines:
      - description test interface
      - ip address 172.31.1.1/24
    parents: interface Ethernet 0/1

- name: Configure multiple interfaces
  community.network.slxos_config:
    lines:
      - lacp timeout long
    parents: "{{ item }}"
  with_items:
    - interface Ethernet 0/1
    - interface Ethernet 0/2

- name: Load new acl into device
  community.network.slxos_config:
    lines:
      - seq 10 permit ip host 1.1.1.1 any log
      - seq 20 permit ip host 2.2.2.2 any log
      - seq 30 permit ip host 3.3.3.3 any log
      - seq 40 permit ip host 4.4.4.4 any log
      - seq 50 permit ip host 5.5.5.5 any log
    parents: ip access-list extended test
    before: no ip access-list extended test
    match: exact

- name: Check the running-config against master config
  community.network.slxos_config:
    diff_against: intended
    intended_config: "{{ lookup('file', 'master.cfg') }}"

- name: Check the startup-config against the running-config
  community.network.slxos_config:
    diff_against: startup
    diff_ignore_lines:
      - ntp clock .*

- name: Save running to startup when modified
  community.network.slxos_config:
    save_when: modified

- name: Configurable backup path
  community.network.slxos_config:
    lines: hostname {{ inventory_hostname }}
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

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

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

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

Пример:
/playbooks/ansible/backup/slxos_config.2018-02-12@18:26:34
commands
список / элементы=строка
всегда
Набор команд, которые будут отправлены на удаленное устройство

Пример:
['switch-attributes hostname foo', 'router ospf', 'area 0']
updates
список / элементы=строка
всегда
Набор команд, которые будут отправлены на удаленное устройство

Пример:
['switch-attributes hostname foo', 'router ospf', 'area 0']


Авторы

  • Lindsay Hill (@LindsayHill)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/network/slxos_config_module.html

Spec-Zone.ru

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