junipernetworks.junos.junos_ospf_interfaces – Модуль ресурсов интерфейсов OSPF.
Примечание
Этот плагин входит в коллекцию junipernetworks.junos (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install junipernetworks.junos.
Для использования в книге задач укажите: junipernetworks.junos.junos_ospf_interfaces.
Добавлено в версии 1.3.0: of junipernetworks.junos
Обзор
- Этот модуль управляет конфигурацией OSPF(v2/v3) интерфейсов на устройствах с операционной системой Juniper JUNOS.
Примечание
Для этого модуля существует соответствующий плагин действий.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient (>=v0.6.4)
- xmltodict (>=0.12.0)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |||||
|---|---|---|---|---|---|---|---|
| config список / элементы=словарь | Список конфигураций OSPF для интерфейсов. | ||||||
| address_family список / элементы=словарь | Настройки OSPF на интерфейсах в контексте адресной семьи. | ||||||
| afi строка / обязательно |
| Идентификатор адресной семьи (AFI) для настроек OSPF на интерфейсах. | |||||
| processes словарь | Конфигурация интерфейсов для процесса OSPF. | ||||||
| area словарь | Укажите идентификатор области. | ||||||
| area_id строка | Укажите идентификатор области. | ||||||
| authentication словарь | Укажите тип аутентификации. | ||||||
| md5 словарь | Укажите аутентификацию на основе MD5. | ||||||
| key_id строка | Укажите идентификатор ключа MD5. | ||||||
| key_value строка | Укажите значение ключа. | ||||||
| start_time строка | Укажите время начала передачи ключа. | ||||||
| simple_password строка | Укажите пароль для аутентификации. | ||||||
| bandwidth_based_metrics список / элементы=словарь | Укажите список метрик, основанных на пропускной способности. | ||||||
| bandwidth строка |
| Пропускная способность для применения метрики. | |||||
| metric целое число | Укажите метрику. | ||||||
| dead_interval целое число | Интервал ожидания (секунды). | ||||||
| demand_circuit булево |
| Интерфейс функционирует как цепь с запросом. | |||||
| flood_reduction булево |
| Включить уменьшение потока. | |||||
| hello_interval целое число | Интервал Hello (секунды). | ||||||
| interface_type строка |
| Укажите тип интерфейса. | |||||
| ipsec_sa строка | Имя ассоциации безопасности IPSec. | ||||||
| metric целое число | Применяемая метрика к интерфейсу. | ||||||
| mtu целое число | Максимальный размер пакета OSPF. | ||||||
| no_advertise_adjacency_segment булево |
| Не рекламировать сегмент смежности для этого интерфейса. | |||||
| no_eligible_backup булево |
| Не подходит для резервного копирования трафика с защищенных интерфейсов. | |||||
| no_eligible_remote_backup булево |
| Не подходит для резервного копирования трафика удалённого LFA с защищённых интерфейсов. | |||||
| no_interface_state_traps булево |
| Не отправлять ловушки состояния интерфейса. | |||||
| no_neighbor_down_notification булево |
| Не сообщать другим протоколам о событиях потери соединения с соседом. | |||||
| node_link_protection строка | Защита интерфейса от отказов как канала, так и узла. | ||||||
| poll_interval целое число | Интервал опроса (секунды). | ||||||
| priority целое число | Приоритет для интерфейса. | ||||||
| retransmit_interval целое число | Интервал повторной передачи (секунды). | ||||||
| secondary булево |
| Обращаться к интерфейсу как к вторичному. | |||||
| te_metric целое число | Метрика инжиниринга трафика, применяемая к интерфейсу. | ||||||
| transit_delay целое число | Задержка транзита (секунды). | ||||||
| name строка / обязательно | Имя/Идентификатор интерфейса. | ||||||
| router_id строка / обязательно | Идентификатор маршрутизатора OSPFv3. | ||||||
| running_config строка | Этот параметр используется только со статусом parsed. Значение этого параметра должно соответствовать выводу устройства Junos, полученному при выполнении команды show protocols ospf. Статус parsed считывает конфигурацию из параметра running_config, преобразует её в структурированные данные Ansible, соответствующие argspec модуля ресурса, а затем возвращает её в поле parsed результата. | ||||||
| state строка |
| Состояние, в котором должна быть оставлена конфигурация. | |||||
Примечания
Примечание
- Для работы этого модуля требуется, чтобы на управляемом устройстве была включена служба netconf.
- Этот модуль работает с подключением
netconf. См. Junos OS Platform Options. - Проверено на JunOS v18.4R1
Примеры
# Using merged
#
# Before state
# ------------
#
# admin# show protocols ospf
- name: Merge Junos OSPF interfaces config
junipernetworks.junos.junos_ospf_interfaces:
config:
- router_id: '10.200.16.75'
name: 'ge-0/0/2.0'
address_family:
- afi: 'ipv4'
processes:
area:
area_id: '0.0.0.2'
priority: 3
metric: 5
state: merged
# After state
# -----------
#
# admin# show protocols ospf
# area 0.0.0.2 {
# interface ge-0/0/2.0 {
# metric 5;
# priority 3;
# }
# }
# Using replaced
#
# Before state
# ------------
#
# admin# show protocols ospf
# area 0.0.0.2 {
# interface ge-0/0/2.0 {
# metric 5;
# priority 3;
# }
# }
- name: Replace Junos OSPF interfaces config
junipernetworks.junos.junos_ospf_interfaces:
config:
- router_id: '10.200.16.75'
name: 'ge-0/0/2.0'
address_family:
- afi: 'ipv4'
processes:
area:
area_id: '0.0.0.1'
priority: 6
metric: 6
state: replaced
# After state
# -----------
#
# admin# show protocols ospf
# area 0.0.0.1 {
# interface ge-0/0/2.0 {
# metric 6;
# priority 6;
# }
# }
# Using overridden
#
# Before state
# ------------
#
# admin# show protocols ospf
# area 0.0.0.3 {
# interface ge-0/0/3.0 {
# metric 5;
# priority 3;
# }
# }
# area 0.0.0.2 {
# interface ge-0/0/2.0 {
# metric 5;
# priority 3;
# }
# }
- name: Override Junos OSPF interfaces config
junipernetworks.junos.junos_ospf_interfaces:
config:
- router_id: '10.200.16.75'
name: 'ge-0/0/1.0'
address_family:
- afi: 'ipv4'
processes:
area:
area_id: '0.0.0.1'
priority: 3
metric: 5
state: overridden
# After state
# -----------
#
# admin# show protocols ospf
# area 0.0.0.1 {
# interface ge-0/0/1.0 {
# metric 5;
# priority 3;
# }
# }
#
# Using deleted
#
# Before state
# ------------
#
# admin# show protocols ospf
# area 0.0.0.1 {
# interface ge-0/0/1.0 {
# metric 5;
# priority 3;
# }
# }
- name: Delete Junos OSPF interfaces config
junipernetworks.junos.junos_ospf_interfaces:
config:
- router_id: '10.200.16.75'
name: 'ge-0/0/1.0'
state: deleted
# After state
# -----------
#
# admin# show protocols ospf
# Using gathered
#
# Before state
# ------------
#
# admin# show protocols ospf
# area 0.0.0.3 {
# interface ge-0/0/3.0 {
# metric 5;
# priority 3;
# }
# }
# area 0.0.0.2 {
# interface ge-0/0/2.0 {
# metric 5;
# priority 3;
# }
# }
- name: Gather Junos OSPF interfaces config
junipernetworks.junos.junos_ospf_interfaces:
config:
state: gathered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
# "gathered": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "processes": {
# "area": {
# "area_id": "0.0.0.3"
# },
# "metric": 5,
# "priority": 3
# }
# }
# ],
# "name": "ge-0/0/3.0",
# "router_id": "10.200.16.75"
# },
# {
# "address_family": [
# {
# "afi": "ipv4",
# "processes": {
# "area": {
# "area_id": "0.0.0.2"
# },
# "metric": 5,
# "priority": 3
# }
# }
# ],
# "name": "ge-0/0/2.0",
# "router_id": "10.200.16.75"
# }
# ]
#
# Using rendered
#
#
- name: Render the commands for provided configuration
junipernetworks.junos.junos_ospf_interfaces:
config:
- router_id: '10.200.16.75'
name: 'ge-0/0/2.0'
address_family:
- afi: 'ipv4'
processes:
area:
area_id: '0.0.0.2'
priority: 3
metric: 5
state: rendered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "rendered": "
# <nc:protocols
# xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
# <nc:ospf>
# <nc:area>
# <nc:name>0.0.0.2</nc:name>
# <nc:interface>
# <nc:name>ge-0/0/2.0</nc:name>
# <nc:priority>3</nc:priority>
# <nc:metric>5</nc:metric>
# </nc:interface>
# </nc:area>
# </nc:ospf>
# </nc:protocols>"
#
# Using parsed
# parsed.cfg
# ------------
# <?xml version="1.0" encoding="UTF-8"?>
# <rpc-reply message-id="urn:uuid:0cadb4e8-5bba-47f4-986e-72906227007f">
# <configuration changed-seconds="1590139550" changed-localtime="2020-05-22 09:25:50 UTC">
# <protocols>
# <ospf>
# <area>
# <name>0.0.0.2</name>
# <stub>
# <default-metric>200</default-metric>
# </stub>
# <interface>
# <name>ge-0/0/2.0</name>
# <metric>5</metric>
# <priority>3</priority>
# </interface>
# </area>
# </ospf>
# </protocols>
# <routing-options>
# <router-id>10.200.16.75</router-id>
# </routing-options>
# </configuration>
# </rpc-reply>
- name: Parsed the device configuration to get output commands
junipernetworks.junos.junos_ospf_interfaces:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "processes": {
# "area": {
# "area_id": "0.0.0.2"
# },
# "metric": 5,
# "priority": 3
# }
# }
# ],
# "name": "ge-0/0/2.0",
# "router_id": "10.200.16.75"
# }
# ]
#
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after словарь | при изменении | Вызов результирующей модели конфигурации. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| before словарь | всегда | Конфигурация до вызова модели. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| commands список / элементы=строка | всегда | Набор команд, отправленных на удалённое устройство. Пример: ['<nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:ospf> <nc:area> <nc:name>0.0.0.3</nc:name> <nc:interface> <nc:name>ge-0/0/3.0</nc:name> <nc:priority>3</nc:priority> <nc:metric>5</nc:metric> </nc:interface> </nc:area> <nc:area> <nc:name>0.0.0.2</nc:name> <nc:interface> <nc:name>ge-0/0/2.0</nc:name> <nc:priority>3</nc:priority> <nc:metric>5</nc:metric> </nc:interface> </nc:area> </nc:ospf> </nc:protocols>", " <nc:routing-options xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:router-id>10.200.16.75</nc:router-id> <nc:router-id>10.200.16.75</nc:router-id> </nc:routing-options>', 'xml 2', 'xml 3'] |
Авторы
- Rohit Thakur (@rohitthakur2590)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/junipernetworks/junos/junos_ospf_interfaces_module.html