Spec-Zone.ru › Ansible 2.11

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

Примечание

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

Для его установки используйте: 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
целое число
Интервал Hello (секунды).
poll_interval
целое число
Интервал опроса (секунды).
retransmit_interval
целое число
Интервал повторной передачи (секунды).
transit_delay
целое число
Задержка транзита (секунды).
stub
словарь
Настройки для конфигурации области как stub.
default_metric
целое число
Метрика для маршрута по умолчанию в этой области.
set
булево
    Варианты:
  • нет
  • да
Настроить область как stub.
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 в соответствии с argspec модуля ресурсов, а затем возвращает её в ключе parsed в результате
state
строка
    Варианты:
  • объединенный ←
  • заменён
  • переопределён
  • удалён
  • собрано
  • отображено
  • разбор
Состояние, в котором должна остаться конфигурация.

Примечания

Примечание

  • Этот модуль требует включения системной службы 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/junipernetworks/junos/junos_ospfv3_module.html

Spec-Zone.ru

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