dellemc.enterprise_sonic.sonic_fbs_interfaces module – Manage flow based services (FBS) interfaces configuration on SONiC

Note

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

New in dellemc.enterprise_sonic 4.0.0

Synopsis

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

Parameters

Parameter

Comments

config

list / elements=dictionary

FBS interfaces configuration

egress_policies

dictionary

Egress policies configuration for the interface

qos

dictionary

QoS policy

policy_name

string

Name of QoS policy

ingress_policies

dictionary

Ingress policies configuration for the interface

forwarding

dictionary

Forwarding policy

policy_name

string

Name of forwarding policy

monitoring

dictionary

Monitoring policy

policy_name

string

Name of monitoring policy

qos

dictionary

QoS policy

policy_name

string

Name of QoS policy

name

string / required

Name of interface

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 interface Eth 1/5 | grep service-policy
# (No 'service-policy' configuration present)

- name: Merge FBS interfaces configuration
  dellemc.enterprise_sonic.sonic_fbs_interfaces:
    config:
      - name: Eth1/5
        ingress_policies:
          forwarding:
            policy_name: fwd_policy
          monitoring:
            policy_name: monitoring_policy
          qos:
            policy_name: qos_policy
        egress_policies:
          qos:
            policy_name: qos_policy
    state: merged

# After state:
# ------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# service-policy type qos in qos_policy
# service-policy type monitoring in monitoring_policy
# service-policy type forwarding in fwd_policy
# service-policy type qos out qos_policy


# Using "replaced" state
#
# Before state:
# -------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# service-policy type qos in qos_policy
# service-policy type monitoring in monitoring_policy
# service-policy type forwarding in fwd_policy
# service-policy type qos out qos_policy
# sonic# show running-configuration interface Eth 1/7 | grep service-policy
# service-policy type qos out qos_policy

- name: Replace FBS interfaces configuration
  dellemc.enterprise_sonic.sonic_fbs_interfaces:
    config:
      - name: Eth1/5
        ingress_policies:
          forwarding:
            policy_name: fwd_policy
    state: replaced

# After state:
# ------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# service-policy type forwarding in fwd_policy
# sonic# show running-configuration interface Eth 1/7 | grep service-policy
# service-policy type qos out qos_policy


# Using "overridden" state
#
# Before state:
# -------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# service-policy type qos in qos_policy
# service-policy type monitoring in monitoring_policy
# service-policy type forwarding in fwd_policy
# service-policy type qos out qos_policy

- name: Override FBS interfaces configuration
  dellemc.enterprise_sonic.sonic_fbs_interfaces:
    config:
      - name: Eth1/7
        egress_policies:
          qos:
            policy_name: qos_policy
    state: overridden

# After state:
# ------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# (No 'service-policy' configuration present)
# sonic# show running-configuration interface Eth 1/7 | grep service-policy
# service-policy type qos out qos_policy


# Using "deleted" state
#
# Before state:
# -------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# service-policy type qos in qos_policy
# service-policy type monitoring in monitoring_policy
# service-policy type forwarding in fwd_policy
# service-policy type qos out qos_policy

- name: Delete FBS interfaces configuration
  dellemc.enterprise_sonic.sonic_fbs_interfaces:
    config:
      - name: Eth1/5
        ingress_policies:
          forwarding:
            policy_name: fwd_policy
          monitoring:
            policy_name: monitoring_policy
    state: deleted

# After state:
# ------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# service-policy type qos in qos_policy
# service-policy type qos out qos_policy


# Using "deleted" state
#
# Before state:
# -------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# service-policy type qos in qos_policy
# service-policy type monitoring in monitoring_policy
# service-policy type forwarding in fwd_policy
# service-policy type qos out qos_policy
# sonic# show running-configuration interface Eth 1/7 | grep service-policy
# service-policy type qos out qos_policy

- name: Delete all FBS interfaces configuration
  dellemc.enterprise_sonic.sonic_fbs_interfaces:
    config:
    state: deleted

# After state:
# ------------
#
# sonic# show running-configuration interface Eth 1/5 | grep service-policy
# (No 'service-policy' configuration present)
# sonic# show running-configuration interface Eth 1/7 | grep service-policy
# (No 'service-policy' configuration present)

Return Values

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

Key

Description

after

list / elements=string

The resulting configuration from module invocation.

Returned: when changed

after_generated

list / elements=string

The generated configuration from module invocation.

Returned: when check_mode

before

list / elements=string

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)