Spec-Zone.ru › Ansible 2.10

junipernetworks.junos.junos_ospfv3 – Модуль ресурса OSPFv3

Примечание

Этот плагин входит в коллекцию junipernetworks.junos (версия 1.2.1).

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

Для использования в книге задач укажите: junipernetworks.junos.junos_ospfv3.

Новое в версии 1.2.0: модуля junipernetworks.junos

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

Обзор

  • Этот модуль управляет глобальной конфигурацией OSPFv3 на устройствах с JUNOS от Juniper.

Примечание

У этого модуля есть соответствующий плагин действий.

Требования

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

  • ncclient (>=v0.6.4)
  • xmltodict (>=0.12.0)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
config
список / элементы=словарь
Список конфигураций процесса OSPFv3.
areas
список / элементы=словарь
Список конфигураций областей OSPFv3.
area_id
строка / обязательно
Идентификатор области как целое число или IP-адрес.
area_range
строка
Настройка диапазона адресов для области.
interfaces
список / элементы=словарь
Список интерфейсов в этой области.
authentication
словарь
Указать тип аутентификации
type
словарь
Тип используемой аутентификации.
bandwidth_based_metrics
список / элементы=словарь
Указать список метрик, основанных на пропускной способности
bandwidth
строка
    Варианты:
  • 1g
  • 10g
Пропускная способность для применения метрики.
metric
целое число
Указать метрику
flood_reduction
логическое значение
    Варианты:
  • нет
  • да
Включить сокращение потока.
metric
целое число
Метрика, применяемая к интерфейсу.
name
строка / обязательно
Имя интерфейса.
passive
логическое значение
    Варианты:
  • нет
  • да
Указать пассивный режим
priority
целое число
Приоритет для интерфейса.
timers
словарь
Указать таймеры
dead_interval
целое число
Интервал "мертвого" состояния (секунды).
hello_interval
целое число
Интервал "приветствия" (секунды).
poll_interval
целое число
Интервал опроса (секунды).
retransmit_interval
целое число
Интервал повторной передачи (секунды).
transit_delay
целое число
Задержка транзита (секунды).
stub
словарь
Настройки для настройки области как туннельной.
default_metric
целое число
Метрика для маршрута по умолчанию в этой области.
set
логическое значение
    Варианты:
  • нет
  • да
Настроить область как туннельную.
external_preference
целое число
Предпочтение внешних маршрутов.
overload
словарь
Указать время для сброса режима перегрузки
timeout
целое число
Время, после которого режим перегрузки сбрасывается (секунды).
preference
целое число
Предпочтение внутренних маршрутов.
prefix_export_limit
целое число
Максимальное количество внешних префиксов, которые могут быть экспортированы.
reference_bandwidth
строка
    Варианты:
  • 1g
  • 10g
Пропускная способность для вычисления метрик по умолчанию.
rfc1583compatibility
логическое значение
    Варианты:
  • нет
  • да
Установить совместимость с RFC1583
router_id
строка / обязательно
Идентификатор маршрутизатора OSPFv3.
spf_options
словарь
Настройка параметров для SPF.
delay
целое число
Время ожидания перед запуском SPF (секунды).
holddown
целое число
Время удержания перед запуском SPF (секунды).
rapid_runs
целое число
Максимальное количество быстрых запусков SPF перед удержанием (секунды).
running_config
строка
Этот параметр используется только со состоянием parsed.
Значение этого параметра должно быть выводом с устройства Junos, полученным с помощью команды B(show protocols ospf).
Состояние parsed считывает конфигурацию из running_config параметра и преобразует его в структурированные данные Ansible в соответствии со спецификацией аргумента модуля ресурса, а затем возвращает значение в ключе parsed в результате
state
строка
    Варианты:
  • merged ←
  • замененный
  • переопределенный
  • удаленный
  • собранный
  • отрендеренный
  • parsed
Состояние, в котором должна быть оставлена конфигурация.

Примечания

Примечание

  • Этот модуль требует включения системной службы netconf на управляемом устройстве.
  • Этот модуль работает с подключением netconf. См. страницы с вариантами платформы Junos OS.
  • Проверено на JunOS v18.4R1

Примеры

# Using merged
#
# Before state
# ------------
#
# admin# show protocols ospf3

- name: Merge Junos OSPFv3 config
  junipernetworks.junos.junos_ospfv3:
    config:
    - router_id: 10.200.16.75
      areas:
        - area_id: 0.0.0.100
          stub:
            default_metric: 200
            set: true
          interfaces:
            - name: so-0/0/0.0
              priority: 3
              metric: 5
    state: merged

# After state
# -----------
#
# adimn# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/0.0 {
#         metric 5;
#         priority 3;
#     }
# }
# Using replaced
#
# Before state
# ------------
#
# adimn# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/0.0 {
#         metric 5;
#         priority 3;
#     }
# }
- name: Replace Junos OSPFv3 config
  junipernetworks.junos.junos_ospfv3:
   config:
     - router_id: 10.200.16.75
       areas:
         - area_id: 0.0.0.100
           interfaces:
             - name: so-0/0/0.0
   state: replaced

# After state
# -----------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
#     interface so-0/0/0.0;
# }
# Using overridden
#
# Before state
# ------------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
#     interface so-0/0/0.0;
# }
- name: Override Junos OSPFv3 config
  junipernetworks.junos.junos_ospfv3:
  config:
    - router_id: 10.200.16.75
      areas:
        - area_id: 0.0.0.100
          stub:
            default_metric: 200
            set: true
          interfaces:
            - name: so-0/0/0.0
              priority: 3
              metric: 5
              flood_reduction: true
              passive: true
        - area_id: 0.0.0.200
          interfaces:
            - name: ge-1/1/0.0
            - name: ge-2/2/0.0
  state: overridden

# After state
# -----------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/0.0 {
#         passive;
#         metric 5;
#         priority 3;
#         flood-reduction;
#     }
# }
# area 0.0.0.200 {
#     interface ge-1/1/0.0;
#     interface ge-2/2/0.0;
# }
#
# Using deleted
#
# Before state
# ------------
#
# adimn# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/0.0 {
#         metric 5;
#         priority 3;
#     }
# }

- name: Delete Junos OSPFv3 config
  junipernetworks.junos.junos_ospfv3:
    config:
      - router_id: 10.200.16.75
        areas:
          - area_id: 0.0.0.100
            interfaces:
              - name: so-0/0/0.0
    state: deleted

# After state
# -----------
#
# admin# show protocols ospf3
# Using gathered
#
# Before state
# ------------
#
# adimn# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/0.0 {
#         passive;
#         metric 5;
#         priority 3;
#         flood-reduction;
#     }
# }
# area 0.0.0.200 {
#     interface ge-1/1/0.0;
#     interface ge-2/2/0.0;
# }

- name: Gather Junos OSPFv3 config
  junipernetworks.junos.junos_ospfv3:
    config:
    state: gathered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#    "gathered": {
#             "areas": [
#                 {
#                     "area_id": "0.0.0.100",
#                     "interfaces": [
#                         {
#                             "flood_reduction": true,
#                             "metric": 5,
#                             "name": "so-0/0/0.0",
#                             "passive": true,
#                             "priority": 3
#                         }
#                     ],
#                     "stub": {
#                         "default_metric": 200,
#                         "set": true
#                     }
#                 },
#                 {
#                     "area_id": "0.0.0.200",
#                     "interfaces": [
#                         {
#                             "name": "ge-1/1/0.0"
#                         },
#                         {
#                             "name": "ge-2/2/0.0"
#                         }
#                     ]
#                 }
#             ],
#             "router_id": "10.200.16.75"
#         }
#
# Using rendered
#
#
- name: Render the commands for provided  configuration
  junipernetworks.junos.junos_ospfv3:
    config:
    - router_id: 10.200.16.75
      areas:
        - area_id: 0.0.0.100
          stub:
            default_metric: 200
            set: true
          interfaces:
            - name: so-0/0/0.0
              priority: 3
              metric: 5
              flood_reduction: true
              passive: true
        - area_id: 0.0.0.200
          interfaces:
            - name: ge-1/1/0.0
            - name: ge-2/2/0.0
    state: rendered

#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "rendered": "
# <nc:protocols
#     xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
#     <nc:ospf3>
#         <nc:area>
#             <nc:name>0.0.0.100</nc:name>
#             <nc:interface>
#                 <nc:name>so-0/0/0.0</nc:name>
#                 <nc:priority>3</nc:priority>
#                 <nc:flood-reduction/>
#                 <nc:metric>5</nc:metric>
#                 <nc:passive/>
#             </nc:interface>
#             <nc:stub>
#                 <nc:default-metric>200</nc:default-metric>
#             </nc:stub>
#         </nc:area>
#         <nc:area>
#             <nc:name>0.0.0.200</nc:name>
#             <nc:interface>
#                 <nc:name>ge-1/1/0.0</nc:name>
#             </nc:interface>
#             <nc:interface>
#                 <nc:name>ge-2/2/0.0</nc:name>
#             </nc:interface>
#         </nc:area>
#     </nc:ospf3>
# </nc:protocols>"
#
# Using parsed
# parsed.cfg
# ------------
# <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/18.4R1/junos">
# <data>
# <configuration xmlns="http://xml.juniper.net/xnm/1.1/xnm"
#      junos:commit-seconds="1601355317" junos:commit-localtime="2020-09-29 04:55:17 UTC" junos:commit-user="rohit">
#     <version>18.4R1-S2.4</version>
#     <interfaces>
#         <interface>
#             <name>ge-0/0/0</name>
#             <description>Configured by Ansi-Team</description>
#         </interface>
#         <interface>
#             <name>gr-0/0/0</name>
#             <description>Configured Manually</description>
#         </interface>
#         <interface>
#             <name>fxp0</name>
#             <unit>
#                 <name>0</name>
#                 <family>
#                     <inet>
#                         <dhcp>
#                         </dhcp>
#                     </inet>
#                 </family>
#             </unit>
#         </interface>
#     </interfaces>
#     <protocols>
#         <ospf3>
#             <area>
#                 <name>0.0.0.100</name>
#                 <stub>
#                     <default-metric>200</default-metric>
#                 </stub>
#                 <interface>
#                     <name>so-0/0/0.0</name>
#                     <passive>
#                     </passive>
#                     <metric>5</metric>
#                     <priority>3</priority>
#                     <flood-reduction/>
#                 </interface>
#             </area>
#             <area>
#                 <name>0.0.0.200</name>
#                 <interface>
#                     <name>ge-1/1/0.0</name>
#                 </interface>
#                 <interface>
#                     <name>ge-2/2/0.0</name>
#                 </interface>
#             </area>
#         </ospf3>
#     </protocols>
#     <routing-options>
#         <router-id>10.200.16.75</router-id>
#     </routing-options>
# </configuration>
# <database-status-information>
# <database-status>
# <user>rohit</user>
# <terminal>pts/0</terminal>
# <pid>38210</pid>
# <start-time junos:seconds="1601354977">2020-09-29 04:49:37 UTC</start-time>
# <idle-time junos:seconds="546">00:09:06</idle-time>
# <edit-path>[edit]</edit-path>
# </database-status>
# </database-status-information>
# </data>
# </rpc-reply>

- name: Parsed the device configuration to get output commands
  junipernetworks.junos.junos_ospfv3:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": [
#         {
#             "areas": [
#                 {
#                     "area_id": "0.0.0.100",
#                     "interfaces": [
#                         {
#                             "flood_reduction": true,
#                             "metric": 5,
#                             "name": "so-0/0/0.0",
#                             "passive": true,
#                             "priority": 3
#                         }
#                     ],
#                     "stub": {
#                         "default_metric": 200,
#                         "set": true
#                     }
#                 },
#                 {
#                     "area_id": "0.0.0.200",
#                     "interfaces": [
#                         {
#                             "name": "ge-1/1/0.0"
#                         },
#                         {
#                             "name": "ge-2/2/0.0"
#                         }
#                     ]
#                 }
#             ],
#             "router_id": "10.200.16.75"
#         }
#     ]
#

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

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

Ключ Возвращаемое значение Описание
after
словарь
при изменении
Результат вызова модели конфигурации.

Пример:
Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше.
before
словарь
всегда
Конфигурация до вызова модели.

Пример:
Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше.
commands
список / элементы=строка
всегда
Набор команд, отправленных на удалённое устройство.

Пример:
['<nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:ospf3 delete="delete"/> <nc:ospf3> <nc:area> <nc:name>0.0.0.100</nc:name> <nc:interface> <nc:name>so-0/0/0.0</nc:name> <nc:priority>3</nc:priority> <nc:flood-reduction/> <nc:metric>5</nc:metric> <nc:passive/> </nc:interface> <nc:stub> <nc:default-metric>200</nc:default-metric> </nc:stub> </nc:area> <nc:area> <nc:name>0.0.0.200</nc:name> <nc:interface> <nc:name>ge-1/1/0.0</nc:name> </nc:interface> <nc:interface> <nc:name>ge-2/2/0.0</nc:name> </nc:interface> </nc:area> </nc:ospf3> </nc:protocols>", " <nc:routing-options xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:router-id delete="delete"/> <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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/junipernetworks/junos/junos_ospfv3_module.html

Spec-Zone.ru

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