Spec-Zone.ru › Ansible

junipernetworks.junos.junos_ospfv3 модуль — ресурс OSPFv3

Примечание

Этот модуль является частью коллекции junipernetworks.junos (версии 8.0.0).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install junipernetworks.junos. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.

Чтобы использовать его в книге задач, укажите: junipernetworks.junos.junos_ospfv3.

Новая версия в junipernetworks.junos 1.2.0

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

Обзор

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

Псевдонимы: ospfv3

Требования

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

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

Параметры

Параметр

Комментарии

config

list / elements=dictionary

Список конфигураций процесса OSPFv3.

areas

list / elements=dictionary

Список конфигураций областей OSPFv3.

area_id

string / required

Идентификатор области в виде целого числа или IP-адреса.

area_range

string

Настройка диапазона адресов для области.

interfaces

list / elements=dictionary

Список интерфейсов в этой области.

authentication

dictionary

Укажите тип аутентификации

type

dictionary

Тип используемой аутентификации.

bandwidth_based_metrics

list / elements=dictionary

Укажите список метрик на основе пропускной способности

bandwidth

string

Пропускная способность для применения метрики.

Варианты:

  • "1g"
  • "10g"

metric

integer

Укажите метрику

flood_reduction

boolean

Включить снижение затопления.

Варианты:

  • false
  • true

metric

integer

Метрика, применяемая к интерфейсу.

name

string / required

Имя интерфейса.

passive

boolean

Укажите passive

Варианты:

  • false
  • true

priority

integer

Приоритет для интерфейса.

timers

dictionary

Укажите таймеры

dead_interval

integer

Интервал ожидания (секунды).

hello_interval

integer

Интервал опроса (секунды).

poll_interval

integer

Интервал опроса (секунды).

retransmit_interval

integer

Интервал повторной передачи (секунды).

transit_delay

integer

Задержка транзита (секунды).

stub

dictionary

Настройки для конфигурирования области как заглушки.

default_metric

integer

Метрика для маршрута по умолчанию в этой области.

set

boolean

Настроить область как заглушку.

Варианты:

  • false
  • true

external_preference

integer

Предпочтение внешних маршрутов.

overload

словарь

Указать время для сброса режима перегрузки

timeout

целое число

Время, по истечении которого режим перегрузки сбрасывается (секунды).

preference

целое число

Приоритет внутренних маршрутов.

prefix_export_limit

целое число

Максимальное количество внешних префиксов, которые можно экспортировать.

reference_bandwidth

строка

Пропускная способность для расчёта значений метрики по умолчанию.

Выбор:

  • "1g"
  • "10g"

rfc1583compatibility

булево

Установить совместимость с RFC1583

Выбор:

  • false
  • true

router_id

строка

Идентификатор маршрутизатора OSPFv3.

spf_options

словарь

Настроить параметры для SPF.

delay

целое число

Время ожидания перед запуском SPF (секунды).

holddown

целое число

Время удержания перед запуском SPF (секунды).

rapid_runs

целое число

Максимальное количество быстрых запусков SPF перед удержанием (секунды).

running_config

строка

Этот параметр используется только со state parsed.

Значение этого параметра должно быть результатом вывода от устройства Junos, полученного путём выполнения команды show protocols ospf.

State parsed считывает конфигурацию из running_config параметра и преобразует его в структурированные данные Ansible, согласно argspec модуля ресурса, а значение затем возвращается в parsed ключе результата.

state

строка

Состояние, в котором должна быть оставлена конфигурация.

Выбор:

  • "merged" ← (по умолчанию)
  • "replaced"
  • "overridden"
  • "deleted"
  • "gathered"
  • "rendered"
  • "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
            interfaces:
              - metric: 5
                name: so-0/0/0.0
                priority: 3
              - metric: 6
                name: so-0/0/1.0
                priority: 2
            stub:
              default_metric: 200
              set: true
    state: merged

# Task Output:
# ------------
#
# before: []
#
# commands:
# - <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:metric>5</nc:metric></nc:interface><nc:interface>
#   <nc:name>so-0/0/1.0</nc:name><nc:priority>2</nc:priority><nc:metric>6</nc:metric>
#   </nc:interface><nc:stub><nc:default-metric>200</nc:default-metric></nc:stub></nc:area></nc:ospf3></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:routing-options>
#
# after:
# - areas:
#     - area_id: 0.0.0.100
#       interfaces:
#       - metric: 5
#         name: so-0/0/0.0
#         priority: 3
#       - metric: 6
#         name: so-0/0/1.0
#         priority: 2
#       stub:
#         default_metric: 200
#         set: true
#     router_id: 10.200.16.75

# After state
# -----------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/0.0 {
#         metric 5;
#         priority 3;
#     }
#     interface so-0/0/1.0 {
#         metric 6;
#         priority 2;
#     }
# }
#
# Using replaced
#
# Before state
# ------------
#
# admin# show protocols ospf3
# admin# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/0.0 {
#         metric 5;
#         priority 3;
#     }
#     interface so-0/0/1.0 {
#         metric 6;
#         priority 2;
#     }
# }

- name: Replace existing Junos OSPFv3 config with provided 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

# Task Output:
# ------------
#
# before:
# - areas:
#     - area_id: 0.0.0.100
#       interfaces:
#       - metric: 5
#         name: so-0/0/0.0
#         priority: 3
#       - metric: 6
#         name: so-0/0/1.0
#         priority: 2
#       stub:
#         default_metric: 200
#         set: true
#     router_id: 10.200.16.75
#
# commands:
# - <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 delete="delete">
#   <nc:name>so-0/0/0.0</nc:name></nc:interface></nc:area></nc:ospf3><nc:ospf3>
#   <nc:area><nc:name>0.0.0.100</nc:name><nc:interface><nc:name>so-0/0/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>10.200.16.75</nc:router-id><nc:router-id>10.200.16.75</nc:router-id></nc:routing-options>
#
# after:
# - areas:
#     - area_id: 0.0.0.100
#       interfaces:
#       - metric: 6
#         name: so-0/0/1.0
#         priority: 2
#       - name: so-0/0/0.0
#       stub:
#         default_metric: 200
#         set: true
#     router_id: 10.200.16.75
#
# After state
# -----------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/1.0 {
#         metric 6;
#         priority 2;
#     }
#     interface so-0/0/0.0;
# }
#
# Using overridden
#
# Before state
# ------------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/1.0 {
#         metric 6;
#         priority 2;
#     }
#     interface so-0/0/0.0;
# }

- name: Override runnig OSPFv3 config with provided 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

# Task Output:
# ------------
#
# before:
# - areas:
#     - area_id: 0.0.0.100
#       interfaces:
#       - metric: 6
#         name: so-0/0/1.0
#         priority: 2
#       - name: so-0/0/0.0
#       stub:
#         default_metric: 200
#         set: true
#     router_id: 10.200.16.75
#
# 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>
#
# after:
# - 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 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
# ------------
#
# 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;
# }

- name: Delete OSPFv3 running config.
  junipernetworks.junos.junos_ospfv3:
    config:
    state: deleted

# Task Output:
# ------------
#
# before:
# - 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
#
# commands:
# - <nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
#   <nc:ospf3 delete="delete"/></nc:protocols>
# - <nc:routing-options xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
#   <nc:router-id delete="delete"/></nc:routing-options>
#
# after: []
#
#
# After state
# -----------
#
# admin# show protocols ospf3

# Using gathered
#
# Before state
# ------------
#
# admin# show protocols ospf3
# area 0.0.0.100 {
#     stub default-metric 200;
#     interface so-0/0/0.0 {
#         metric 5;
#         priority 3;
#     }
#     interface so-0/0/1.0 {
#         metric 6;
#         priority 2;
#     }

- name: Gather Junos OSPFv3 running-configuration
  junipernetworks.junos.junos_ospfv3:
    config:
    state: gathered
#
#
# Task Output:
# ------------
#
# gathered:
#
# - areas:
#     - area_id: 0.0.0.100
#       interfaces:
#       - metric: 5
#         name: so-0/0/0.0
#         priority: 3
#       - metric: 6
#         name: so-0/0/1.0
#         priority: 2
#       stub:
#         default_metric: 200
#         set: true
#     router_id: 10.200.16.75

# 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>
#             <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>
# </rpc-reply>


- name: Parsed the ospfv3 config into structured ansible resource facts.
  junipernetworks.junos.junos_ospfv3:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed
#
# Task Output:
# ------------
#
# parsed:
# - 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

# 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
            interfaces:
              - metric: 5
                name: so-0/0/0.0
                priority: 3
              - metric: 6
                name: so-0/0/1.0
                priority: 2
            stub:
              default_metric: 200
              set: true
    state: rendered

# Task Output:
# ------------
#
# 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:metric>5</nc:metric></nc:interface><nc:interface><nc:name>so-0/0/1.0</nc:name>
# <nc:priority>2</nc:priority><nc:metric>6</nc:metric></nc:interface><nc:stub>
# <nc:default-metric>200</nc:default-metric></nc:stub></nc:area></nc:ospf3></nc:protocols>"

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

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

Ключ

Описание

after

словарь

Вызов модуля конфигурации с результатом.

Возвращается: при изменении

Пример: "The configuration returned will always be in the same format\n of the parameters above.\n"

before

словарь

Конфигурация до вызова модуля.

Возвращается: всегда

Пример: "The configuration returned will always be in the same format\n of the parameters above.\n"

commands

список / элементы=строка

Набор команд, отправленных на удаленное устройство.

Возвращается: всегда

Пример: ["<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>", "xml 2", "xml 3"]

gathered

список / элементы=строка

Данные о сетевом ресурсе, собранные с удаленного устройства в виде структурированных данных.

Возвращается: при state равном gathered

Пример: ["This output will always be in the same format as the module argspec.\n"]

parsed

список / элементы=строка

Нативная конфигурация устройства из опции running_config, обработанная в структурированные данные в соответствии с модулем argspec.

Возвращается: при state равном parsed

Пример: ["This output will always be in the same format as the module argspec.\n"]

rendered

список / элементы=строка

Предоставленная конфигурация в задании, преобразованная в нативный формат устройства (офлайн).

Возвращается: при state равном rendered

Пример: ["<nc:protocols xmlns:nc=\"urn:ietf:params:xml:ns:netconf:base:1.0\">"]

Авторы

  • Rohit Thakur (@rohitthakur2590)

Ссылки на коллекцию

  • Система отслеживания ошибок
  • Репозиторий (исходные файлы)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/junipernetworks/junos/junos_ospfv3_module.html

Spec-Zone.ru

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