dellemc.enterprise_sonic.sonic_fbs_groups module – Manage flow based services (FBS) groups configuration on SONiC

Note

This module is part of the dellemc.enterprise_sonic collection (version 3.2.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 dellemc.enterprise_sonic.

To use it in a playbook, specify: dellemc.enterprise_sonic.sonic_fbs_groups.

New in dellemc.enterprise_sonic 3.1.0

Synopsis

  • This module provides configuration management of FBS groups for devices running SONiC

Parameters

Parameter

Comments

config

dictionary

FBS groups configuration

next_hop_groups

list / elements=dictionary

Next-hop groups configuration

group_description

string

Description of next-hop group

group_name

string / required

Name of next-hop group

group_type

string

Type of next-hop group

The group type is required for merged, replaced, and overridden states.

Choices:

  • "ipv4"

  • "ipv6"

next_hops

list / elements=dictionary

Next-hops configuration for forwarding

entry_id

integer / required

Entry ID, range 1-65535

ip_address

string

Forwarding IP address

The IP address is required for merged, replaced, and overridden states.

next_hop_type

string

Type of next-hop

Choices:

  • "non_recursive"

  • "overlay"

  • "recursive"

vrf

string

Forwarding network instance

threshold_down

integer

Specifies the threshold value equal to or below for a next-hop to not be considered forwardable

Range 0-127

threshold_type must be configured.

threshold_type

string

Type of threshold

Deletion of threshold_type will delete threshold_up and threshold_down.

Choices:

  • "count"

  • "percentage"

threshold_up

integer

Specifies the minimum threshold value for a next-hop group to be considered forwardable

Range 1-128

threshold_type must be configured.

replication_groups

list / elements=dictionary

Replication groups configuration

group_description

string

Description of replication group

group_name

string / required

Name of replication group

group_type

string

Type of replication group

The group type is required for merged, replaced, and overridden states.

Choices:

  • "ipv4"

  • "ipv6"

next_hops

list / elements=dictionary

Next-hops configuration for forwarding

entry_id

integer / required

Entry ID, range 1-65535

ip_address

string

Forwarding IP address

The IP address is required for merged, replaced, and overridden states.

next_hop_type

string

Type of next-hop

Choices:

  • "non_recursive"

  • "overlay"

  • "recursive"

single_copy

boolean

Enable/disable single path to create copy

Choices:

  • false

  • true

vrf

string

Forwarding network instance

state

string

The state of the configuration after module completion

Choices:

  • "merged" ← (default)

  • "deleted"

  • "replaced"

  • "overridden"

Notes

Note

  • Tested against Enterprise SONiC Distribution by Dell Technologies.

  • Supports check_mode.

Examples

# Using "merged" state
#
# Before state:
# -------------
#
# sonic# show running-configuration pbf next-hop-group
# (No 'pbf next-hop-group' configuration present)
# sonic# show running-configuration pbf replication-group
# (No 'pbf replication-group' configuration present)

- name: Merge FBS groups configuration
  dellemc.enterprise_sonic.sonic_fbs_groups:
    config:
      next_hop_groups:
        - group_name: hop1
          group_description: abc
          group_type: ipv4
          threshold_type: count
          threshold_up: 15
          threshold_down: 5
          next_hops:
            - entry_id: 1
              ip_address: 1.1.1.1
              vrf: VrfReg1
              next_hop_type: non_recursive
      replication_groups:
        - group_name: rep1
          group_description: xyz
          group_type: ipv6
          next_hops:
            - entry_id: 2
              ip_address: 1::1
              vrf: VrfReg2
              next_hop_type: overlay
              single_copy: true
    state: merged

# After state:
# ------------
#
# sonic# show running-configuration pbf next-hop-group
# !
# pbf next-hop-group hop1 type ip
#   description abc
#   threshold type count up 15 down 5
#   entry 1 next-hop 1.1.1.1 vrf VrfReg1 non-recursive
# !
# sonic# show running-configuration pbf replication-group
# !
# pbf replication-group rep1 type ipv6
#   description xyz
#   entry 2 next-hop 1::1 vrf VrfReg2 overlay single-copy
# !


# Using "replaced" state
#
# Before state:
# -------------
#
# sonic# show running-configuration pbf next-hop-group
# !
# pbf next-hop-group hop1 type ip
#   description abc
#   threshold type count up 15 down 5
#   entry 1 next-hop 1.1.1.1 vrf VrfReg1 non-recursive
# !
# pbf next-hop-group hop2 type ipv6
#   description abc
#   entry 5 next-hop 3::3 vrf default non-recursive
# !
# sonic# show running-configuration pbf replication-group
# !
# pbf replication-group rep1 type ipv6
#   description xyz
#   entry 2 next-hop 1::1 vrf VrfReg2 overlay single-copy
# !

- name: Replace FBS groups configuration
  dellemc.enterprise_sonic.sonic_fbs_groups:
    config:
      next_hop_groups:
        - group_name: hop2
          group_description: xyz
          group_type: ipv4
          next_hops:
            - entry_id: 1
              ip_address: 1.1.1.1
              vrf: VrfReg1
              next_hop_type: recursive
    state: replaced

# After state:
# ------------
#
# sonic# show running-configuration pbf next-hop-group
# !
# pbf next-hop-group hop1 type ip
#   description abc
#   threshold type count up 15 down 5
#   entry 1 next-hop 1.1.1.1 vrf VrfReg1 non-recursive
# !
# pbf next-hop-group hop2 type ipv4
#   description xyz
#   entry 1 next-hop 1.1.1.1 vrf VrfReg1 recursive
# !
# sonic# show running-configuration pbf replication-group
# !
# pbf replication-group rep1 type ipv6
#   description xyz
#   entry 2 next-hop 1::1 vrf VrfReg2 overlay single-copy
# !


# Using "overridden" state
#
# Before state:
# -------------
#
# sonic# show running-configuration pbf next-hop-group
# !
# pbf next-hop-group hop1 type ip
#   description abc
#   entry 1 next-hop 1.1.1.1 vrf VrfReg1 non-recursive
# !
# sonic# show running-configuration pbf replication-group
# !
# pbf replication-group rep1 type ipv6
#   description xyz
#   entry 2 next-hop 1::1 vrf VrfReg2 overlay single-copy
# !

- name: Override FBS groups configuration
  dellemc.enterprise_sonic.sonic_fbs_groups:
    config:
      next_hop_groups:
        - group_name: hop1
          group_description: abc
          group_type: ipv4
    state: overridden

# After state:
# ------------
#
# sonic# show running-configuration pbf next-hop-group
# !
# pbf next-hop-group hop1 type ip
#   description abc
# !
# sonic# show running-configuration pbf replication-group
# (No 'pbf replication-group' configuration present)


# Using "deleted" state
#
# Before state:
# -------------
#
# sonic# show running-configuration pbf next-hop-group
# !
# pbf next-hop-group hop1 type ip
#   description abc
#   entry 1 next-hop 1.1.1.1 vrf VrfReg1 non-recursive
# !
# sonic# show running-configuration pbf replication-group
# !
# pbf replication-group rep1 type ipv6
#   description xyz
#   entry 2 next-hop 1::1 vrf VrfReg2 overlay single-copy
# !

- name: Delete FBS groups configuration
  dellemc.enterprise_sonic.sonic_fbs_groups:
    config:
      next_hop_groups:
        - group_name: hop1
          group_description: abc
      replication_groups:
        - group_name: rep1
          next_hops:
            - entry_id: 2
    state: deleted

# After state:
# ------------
#
# sonic# show running-configuration pbf next-hop-group
# !
# pbf next-hop-group hop1 type ip
#   entry 1 next-hop 1.1.1.1 vrf VrfReg1 non-recursive
# !
# sonic# show running-configuration pbf replication-group
# !
# pbf replication-group rep1 type ipv6
#   description xyz
# !


# Using "deleted" state
#
# Before state:
# -------------
#
# sonic# show running-configuration pbf next-hop-group
# !
# pbf next-hop-group hop1 type ip
#   entry 1 next-hop 1.1.1.1 vrf VrfReg1 non-recursive
# !
# sonic# show running-configuration pbf replication-group
# !
# pbf replication-group rep1 type ipv6
#   description xyz
# !

- name: Delete FBS groups configuration
  dellemc.enterprise_sonic.sonic_fbs_groups:
    config:
    state: deleted

# After state:
# ------------
#
# sonic# show running-configuration pbf next-hop-group
# (No 'pbf next-hop-group' configuration present)
# sonic# show running-configuration pbf replication-group
# (No 'pbf replication-group' configuration present)

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

after

dictionary

The resulting configuration module invocation.

Returned: when changed

after(generated)

dictionary

The generated configuration from module invocation.

Returned: when check_mode

before

dictionary

The configuration prior to the module invocation.

Returned: always

commands

list / elements=string

The set of commands pushed to the remote device.

Returned: always

Sample: ["command 1", "command 2", "command 3"]

Authors

    1. Talabi (@stalabi1)