Note

Ce plugin fait partie du programme junipernetworks.junos collection (version 1.3.0).

Pour l'installer, utilisez : ansible-galaxy collection install junipernetworks.junos.

Pour l'utiliser dans un playbook, spécifiez : junipernetworks.junos.junos_lag_interfaces.

Nouveau dans la version 1.0.0 : de junipernetworks.junos

  • Synopsis
  • Exigences
  • Paramètres
  • Notes
  • Exemples
  • Valeurs de retour

Synopsis

  • Ce module gère les propriétés du groupe d'agrégation de liens sur les appareils Juniper JUNOS.

Note

Ce module a un correspondant plugin d'action.

Exigences

Les exigences ci-dessous sont nécessaires sur l'hôte qui exécute ce module.

  • ncclient (>=v0.6.4)

Paramètres

Paramètre Choix/par défaut Commentaires
configliste / elements=dictionnaire Une liste de configurations de groupes d'agrégation de liens.
protection_liaisonbooléen
    Choix :

  • pas de
  • oui
Cette option booléenne indique si la protection des liens doit être activée pour l'interface LAG. Si la valeur est True la protection de lien est activée sur le LAG et si la valeur est False la protection de liaison est désactivée.
membresliste / elements=dictionnaire Liste des interfaces membres du groupe d'agrégation de liens. La valeur peut être une interface unique ou une liste d'interfaces.
type_lienchaîne de caractères
    Choix :

  • primaire
  • de secours
La valeur de cette option configure le lien membre comme étant soit primary ou backup. Valeur primary configure l'interface primaire pour le mode de protection de lien et backup configure l'interface de secours pour le mode de protection de liaison.
membrechaîne de caractères Nom de l'interface membre.
modechaîne de caractères
    Choix :

  • actif
  • passif
Mode LAG. Une valeur de passive activera LACP en mode passive mode c'est-à-dire qu'il répondra aux paquets LACP et aux active configure la liaison pour initier la transmission des paquets LACP.
nomchaîne de caractères / obligatoire Nom du groupe d'agrégation de liens (LAG).
running_configchaîne de caractères Cette option est utilisée uniquement avec l'état analysé.La valeur de cette option doit être la sortie reçue du dispositif Junos en exécutant la commande show interfaces.l'état analysé lit la configuration de running_config et la transforme en données structurées Ansible selon l'argspec du module de ressources et la valeur est ensuite retournée dans l'option analysé dans le résultat
étatchaîne de caractères
    Choix :

  • fusionné
  • a remplacé
  • remplacé
  • supprimé
  • rassemblé
  • rendu
  • analysé
L'état de la configuration après l'achèvement du module

Notes

Note

  • Ce module nécessite que le service système netconf soit activé sur le périphérique distant géré.
  • Testé contre vSRX JUNOS version 18.4R1.
  • Ce module fonctionne avec la connexion netconf. Voir les options de la plate-forme Junos OS.

Exemples

# Using merged# Before state:# -------------# [email protected]# show interfaces# ge-0/0/1 {#    description "Ansible configured interface 1";#    ether-options {#        802.3ad ae0;#    }# }# ge-0/0/2 {#    description "Ansible configured interface 2";#    ether-options {#        802.3ad ae0;#    }# }# ae0 {#     description "lag interface";# }# ae1 {#     description "lag interface 1";# }-name:"Delete LAG attributes of given interfaces (Note: This won't delete the interface itself)"junipernetworks.junos.junos_lag_interfaces:config:-name: ae0
    -name: ae1
    state: deleted

# After state:# -------------# [email protected]# show interfaces# ge-0/0/1 {#    description "Ansible configured interface 1";# }# ge-0/0/2 {#    description "Ansible configured interface 2";# }# Using merged# Before state:# -------------# [email protected]# show interfaces# ge-0/0/1 {#    description "Ansible configured interface 1";# }# ge-0/0/2 {#    description "Ansible configured interface 2";# }-name: Merge provided configuration with device configuration
  junipernetworks.junos.junos_lag_interfaces:config:-name: ae0
      members:-member: ge-0/0/1
        link_type: primary
      -member: ge-0/0/2
        link_type: backup
    state: merged

# After state:# -------------# [email protected]# show interfaces# ge-0/0/1 {#    description "Ansible configured interface 1";#    ether-options {#        802.3ad {#            ae0;#            primary;#        }#    }# }# ge-0/0/2 {#    description "Ansible configured interface 2";#    ether-options {#        802.3ad {#            ae0;#            backup;#        }#    }# }# Using merged# Before state:# -------------# [email protected]# show interfaces# ge-0/0/1 {#    description "Ansible configured interface 1";#    ether-options {#        802.3ad ae0;#    }# }# ge-0/0/2 {#    description "Ansible configured interface 2";#    ether-options {#        802.3ad ae0;#    }# }# ae0 {#     description "lag interface";# }# ae3 {#     description "lag interface 3";# }-name: Overrides all device LAG configuration with provided configuration
  junipernetworks.junos.junos_lag_interfaces:config:-name: ae0
      members:-member: ge-0/0/2
    -name: ae1
      members:-member: ge-0/0/1
      mode: passive
    state: overridden

# After state:# -------------# [email protected]# show interfaces# ge-0/0/1 {#    description "Ansible configured interface 1";#    ether-options {#        802.3ad ae1;#    }# }# ge-0/0/2 {#    description "Ansible configured interface 2";#    ether-options {#        802.3ad ae0;#    }# }# ae0 {#     description "lag interface";# }# ae1 {#    aggregated-ether-options {#        lacp {#            active;#        }#    }# }# Using merged# Before state:# -------------# [email protected]# show interfaces# ge-0/0/1 {#    description "Ansible configured interface 1";# }# ge-0/0/2 {#    description "Ansible configured interface 2";# }# ge-0/0/3 {#    description "Ansible configured interface 3";# }-name: Replace device LAG configuration with provided configuration
  junipernetworks.junos.junos_lag_interfaces:config:-name: ae0
      members:-member: ge-0/0/1
      mode: active
    state: replaced

# After state:# -------------# [email protected]# show interfaces# ge-0/0/1 {#    description "Ansible configured interface 1";#    ether-options {#        802.3ad ae0;#    }# }# ge-0/0/2 {#    description "Ansible configured interface 2";# }# ae0 {#    aggregated-ether-options {#        lacp {#            active;#        }#    }# }# ge-0/0/3 {#    description "Ansible configured interface 3";# }# Using gathered# Before state:# ------------## [email protected]# show interfaces# ge-0/0/1 {#     ether-options {#         802.3ad ae1;#     }# }# ge-0/0/2 {#     ether-options {#         802.3ad ae1;#     }# }# ge-0/0/3 {#     ether-options {#         802.3ad {#             ae2;#             primary;#         }#     }# }# ge-0/0/4 {#     ether-options {#         802.3ad {#             ae2;#             backup;#         }#     }# }# ge-1/0/0 {#     unit 0 {#         family inet {#             address 192.168.100.1/24;#             address 10.200.16.20/24;#         }#         family inet6;#     }# }# ge-2/0/0 {#     unit 0 {#         family inet {#             address 192.168.100.2/24;#             address 10.200.16.21/24;#         }#         family inet6;#     }# }# ge-3/0/0 {#     unit 0 {#         family inet {#             address 192.168.100.3/24;#             address 10.200.16.22/24;#         }#         family inet6;#     }# }# ae1 {#     description "Configured by Ansible";#     aggregated-ether-options {#         lacp {#             active;#         }#     }# }# ae2 {#     description "Configured by Ansible";#     aggregated-ether-options {#         link-protection;#         lacp {#             passive;#         }#     }# }# em1 {#     description TEST;# }# fxp0 {#     description ANSIBLE;#     speed 1g;#     link-mode automatic;#     unit 0 {#         family inet {#             address 10.8.38.38/24;#         }#     }# }-name: Gather junos lag interfaces as in given arguments
  junipernetworks.junos.junos_lag_interfaces:state: gathered
# Task Output (redacted)# -----------------------## "gathered": [#         {#             "members": [#                 {#                     "member": "ge-0/0/1"#                 },#                 {#                     "member": "ge-0/0/2"#                 }#             ],#             "mode": "active",#             "name": "ae1"#         },#         {#             "link_protection": true,#             "members": [#                 {#                     "link_type": "primary",#                     "member": "ge-0/0/3"#                 },#                 {#                     "link_type": "backup",#                     "member": "ge-0/0/4"#                 }#             ],#             "mode": "passive",#             "name": "ae2"#         }#     ]# After state:# ------------## [email protected]# show interfaces# ge-0/0/1 {#     ether-options {#         802.3ad ae1;#     }# }# ge-0/0/2 {#     ether-options {#         802.3ad ae1;#     }# }# ge-0/0/3 {#     ether-options {#         802.3ad {#             ae2;#             primary;#         }#     }# }# ge-0/0/4 {#     ether-options {#         802.3ad {#             ae2;#             backup;#         }#     }# }# ge-1/0/0 {#     unit 0 {#         family inet {#             address 192.168.100.1/24;#             address 10.200.16.20/24;#         }#         family inet6;#     }# }# ge-2/0/0 {#     unit 0 {#         family inet {#             address 192.168.100.2/24;#             address 10.200.16.21/24;#         }#         family inet6;#     }# }# ge-3/0/0 {#     unit 0 {#         family inet {#             address 192.168.100.3/24;#             address 10.200.16.22/24;#         }#         family inet6;#     }# }# ae1 {#     description "Configured by Ansible";#     aggregated-ether-options {#         lacp {#             active;#         }#     }# }# ae2 {#     description "Configured by Ansible";#     aggregated-ether-options {#         link-protection;#         lacp {#             passive;#         }#     }# }# em1 {#     description TEST;# }# fxp0 {#     description ANSIBLE;#     speed 1g;#     link-mode automatic;#     unit 0 {#         family inet {#             address 10.8.38.38/24;#         }#     }# }# Using parsed# parsed.cfg# ------------## # #     # #         #             ge-0/0/1#             #                 #                     ae1#                 #             #         #         #             ge-0/0/2#             #                 #                     ae1#                 #             #         #         #             ge-0/0/3#             #                 #                     ae2#                     #                 #             #         #         #             ge-0/0/4#             #                 #                     ae2#                     #                 #             #         #         #             ge-1/0/0#             #                 0#                 #                     #                         
# 192.168.100.1/24#
#
# 10.200.16.20/24#
# # # # # # # # ge-2/0/0# # 0# # #
# 192.168.100.2/24#
#
# 10.200.16.21/24#
# # # # # # # # ge-3/0/0# # 0# # #
# 192.168.100.3/24#
#
# 10.200.16.22/24#
# # # # # # # # ae1# Configured by Ansible# # # # # # # # ae2# Configured by Ansible# # # # # # # # # # em1# TEST# # # fxp0# ANSIBLE# 1g# automatic# # 0# # #
# 10.8.38.38/24#
# # # # # # # # - name: Convert interfaces config to argspec without connecting to the appliance# junipernetworks.junos.junos_lag_interfaces:# running_config: "{{ lookup('file', './parsed.cfg') }}"# state: parsed# Task Output (redacted)# -----------------------# "parsed": [# {# "members": [# {# "member": "ge-0/0/1"# },# {# "member": "ge-0/0/2"# }# ],# "mode": "active",# "name": "ae1"# },# {# "link_protection": true,# "members": [# {# "link_type": "primary",# "member": "ge-0/0/3"# },# {# "link_type": "backup",# "member": "ge-0/0/4"# }# ],# "mode": "passive",# "name": "ae2"# }# ]# Using rendered-name: Render platform specific xml from task input using rendered state junipernetworks.junos.junos_lag_interfaces:config:-name: ae1 members:-member: ge-0/0/1 -member: ge-0/0/2 mode: active -name: ae2 link_protection:truemembers:-member: ge-0/0/3 link_type: primary -member: ge-0/0/4 link_type: backup mode: passive # Task Output (redacted)# -----------------------# "rendered": "# xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"># # ae1# # # # # # # # ge-0/0/1# # # ae1# # # # # ge-0/0/2# # # ae1# # # # # ae2# # # # # # # # # ge-0/0/3# # # ae2# # # # # # ge-0/0/4# # # ae2# # # # # "

Valeurs de retour

Les valeurs de retour courantes sont documentées ici, les champs suivants sont uniques à ce module :

Clé Renvoyé Description
aprèsliste / elements=chaîne lorsque modifié La configuration sous forme de données structurées après l'achèvement du module.
Exemple : La configuration retournée sera toujours dans le même format des paramètres ci-dessus.
avantliste / elements=chaîne toujours La configuration sous forme de données structurées avant l'invocation du module.
Exemple : La configuration retournée sera toujours dans le même format des paramètres ci-dessus.
xmlliste / elements=chaîne toujours L'ensemble des données utiles xml rpc poussées vers le périphérique distant.
Exemple :[' ae1 ge-0/0/1 ae1 ge-0/0/2 ae1 ae2 ge-0/0/3 ae2 ge-0/0/4 ae2 ', 'xml 2', 'xml 3']

Auteurs

  • Ganesh Nalawade (@ganeshrn)