netapp.ontap.na_ontap_bgp_peer_group module – NetApp ONTAP module to create, modify or delete bgp peer group.

Note

This module is part of the netapp.ontap collection (version 22.13.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install netapp.ontap. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: netapp.ontap.na_ontap_bgp_peer_group.

New in netapp.ontap 22.0.0

Synopsis

  • Create, modify or delete bgp peer group.

Requirements

The below requirements are needed on the host that executes this module.

  • Ansible 2.9 or later - 2.12 or later is recommended.

  • Python3 - 3.9 or later is recommended.

  • When using ZAPI, netapp-lib 2018.11.13 or later (install using ‘pip install netapp-lib’), netapp-lib 2020.3.12 is strongly recommended as it provides better error reporting for connection issues.

  • A physical or virtual clustered Data ONTAP system, the modules support Data ONTAP 9.1 and onward, REST support requires ONTAP 9.6 or later.

Parameters

Parameter

Comments

cert_filepath

string

added in netapp.ontap 20.6.0

path to SSL client cert file (.pem).

not supported with python 2.6.

feature_flags

dictionary

added in netapp.ontap 20.5.0

Enable or disable a new feature.

This can be used to enable an experimental feature or disable a new feature that breaks backward compatibility.

Supported keys and values are subject to change without notice. Unknown keys are ignored.

force_ontap_version

string

added in netapp.ontap 21.23.0

Override the cluster ONTAP version when using REST.

The behavior is undefined if the version does not match the target cluster.

This is provided as a work-around when the cluster version cannot be read because of permission issues. See https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues.

This should be in the form 9.10 or 9.10.1 with each element being an integer number.

from_name

string

Name of the existing BGP peer group to be renamed to name.

hostname

string / required

The hostname or IP address of the ONTAP instance.

http_port

integer

Override the default port (80 or 443) with this port

https

boolean

Enable and disable https.

Ignored when using REST as only https is supported.

Ignored when using SSL certificate authentication as it requires SSL.

Choices:

  • false ← (default)

  • true

ipspace

string

IPSpace name, cannot be modified after creation.

key_filepath

string

added in netapp.ontap 20.6.0

path to SSL client key file.

local

dictionary

Information describing the local interface that is being used to peer with a router using BGP.

When creating BGP peer group, an existing BGP interface is used by specifying the interface, or create a new one by specifying the port and IP address.

Cannot be modified after creation.

interface

dictionary

An existing BGP interface.

If interface not found, module will try to create BGP interface using local.ip and local.port.

name

string

BGP interface name.

ip

dictionary

IP information, requird to create a new interface.

address

string

IPv4 or IPv6 address, example 10.10.10.7.

netmask

string

Input as netmask length (16) or IPv4 mask (255.255.0.0).

For IPv6, the default value is 64 with a valid range of 1 to 127.

port

dictionary

Port and node information, required to create a new interface.

name

string

Port name.

node

dictionary

Name of node on which the port is located.

name

string

Node name

name

string / required

Name of the BGP peer group.

password

aliases: pass

string

Password for the specified user.

peer

dictionary

Information describing the router to peer with

address

string

Peer router address.

asn

integer

Autonomous system number of peer.

Cannot be modified after creation.

state

string

Create or delete BGP peer group.

Choices:

  • "present" ← (default)

  • "absent"

use_peer_as_next_hop

boolean

added in netapp.ontap 22.12.0

Specifies whether the peer group uses the peer address as a next hop route.

This field requires ONTAP version 9.9 or later.

Choices:

  • false

  • true

use_rest

string

This module only supports REST.

always – will always use the REST API. A warning is issued if the module does not support REST.

Default: "always"

username

aliases: user

string

This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required.

For more information, please read the documentation https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/.

Two authentication methods are supported

  1. basic authentication, using username and password,

  2. SSL certificate authentication, using a ssl client cert file, and optionally a private key file.

To use a certificate, the certificate must have been installed in the ONTAP cluster, and cert authentication must have been enabled.

validate_certs

boolean

If set to no, the SSL certificates will not be validated.

This should only set to False used on personally controlled sites using self-signed certificates.

Choices:

  • false

  • true ← (default)

Notes

Note

  • The modules prefixed with na_ontap are built to support the ONTAP storage platform.

  • https is enabled by default and recommended. To enable http on the cluster you must run the following commands ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

Examples

- name: Create BGP peer group with existing bgp interface bgp_lif.
  netapp.ontap.na_ontap_bgp_peer_group:
    name: peer_group
    ipspace: Default
    local:
      interface:
        name: bgp_lif
    peer:
      address: 10.10.10.19
      asn: 65501
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: "{{ validate_certs }}"

- name: Create new BGP interface new_bgp_lif and BGP peer group peer_group_1.
  netapp.ontap.na_ontap_bgp_peer_group:
    name: peer_group_1
    ipspace: Default
    local:
      interface:
        name: new_bgp_lif
      ip:
        address: 10.10.10.20
        netmask: 24
      port:
        name: e0a
        node:
          name: ontap98-01
    peer:
      address: 10.10.10.20
      asn: 65500
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: "{{ validate_certs }}"

  # this will create bgp interface with random name.
- name: Create BGP interface without interface name and BGP peer group peer_group_2.
  netapp.ontap.na_ontap_bgp_peer_group:
    name: peer_group_2
    ipspace: Default
    local:
      ip:
        address: 10.10.10.22
        netmask: 24
      port:
        name: e0a
        node:
          name: ontap98-01
    peer:
      address: 10.10.10.22
      asn: 65512
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: "{{ validate_certs }}"

- name: Modify peer address.
  netapp.ontap.na_ontap_bgp_peer_group:
    name: peer_group_2
    ipspace: Default
    peer:
      address: 10.10.55.22
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: "{{ validate_certs }}"

- name: Rename BGP peer group name and modify peer address.
  netapp.ontap.na_ontap_bgp_peer_group:
    from_name: peer_group_2
    name: new_peer_group
    ipspace: Default
    peer:
      address: 10.10.55.40
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: "{{ validate_certs }}"

- name: Delete BGP peer group.
  netapp.ontap.na_ontap_bgp_peer_group:
    name: new_peer_group
    ipspace: Default
    state: absent
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: "{{ validate_certs }}"

Authors

  • NetApp Ansible Team (@carchi8py)