dellemc.enterprise_sonic.sonic_vrfs module – Manage VRFs and associate VRFs to interfaces such as, Eth, LAG, VLAN, and loopback
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_vrfs.
New in dellemc.enterprise_sonic 1.0.0
Synopsis
Manages VRF and VRF interface attributes in Enterprise SONiC Distribution by Dell Technologies.
Parameters
Parameter |
Comments |
|---|---|
A list of VRF configurations. |
|
Holds a dictionary mapping of list of interfaces linked to a VRF interface. |
|
List of interface names that are linked to a specific VRF interface. |
|
The name of the physical interface. |
|
The name of the VRF interface. |
|
The state of the configuration after module completion. Choices:
|
Notes
Note
Tested against Enterprise SONiC Distribution by Dell Technologies.
Supports
check_mode.This module does not support the deletion of mgmt VRF. Deletion of mgmt VRF can be done using the “sonic_config” resource module as shown in “playbooks/common_examples/mgmt_vrf_off.yaml”. It can also be done using the SONiC CLI or by using a standalone REST API.
Examples
# Using "deleted" state
#
# Before state:
# -------------
#
# show ip vrf
# VRF-NAME INTERFACES
# ----------------------------------------------------------------
# Vrfcheck1
# Vrfcheck2
# Vrfcheck3 Eth1/3
# Eth1/14
# Eth1/16
# Eth1/17
# Vrfcheck4 Eth1/5
# Eth1/6
#
- name: Configuring vrf deleted state
dellemc.enterprise_sonic.sonic_vrfs:
config:
- name: Vrfcheck4
members:
interfaces:
- name: Eth1/6
- name: Vrfcheck3
members:
interfaces:
- name: Eth1/3
- name: Eth1/14
state: deleted
#
# After state:
# ------------
#
# show ip vrf
# VRF-NAME INTERFACES
# ----------------------------------------------------------------
# Vrfcheck1
# Vrfcheck2
# Vrfcheck3 Eth1/16
# Eth1/17
# Vrfcheck4 Eth1/5
#
#
# Using "merged" state
#
# Before state:
# -------------
#
# show ip vrf
# VRF-NAME INTERFACES
# ----------------------------------------------------------------
# Vrfcheck1
# Vrfcheck2
# Vrfcheck3 Eth1/16
# Eth1/17
# Vrfcheck4
#
- name: Configuring vrf merged state
dellemc.enterprise_sonic.sonic_vrfs:
config:
- name: Vrfcheck4
members:
interfaces:
- name: Eth1/5
- name: Eth1/6
- name: Vrfcheck3
members:
interfaces:
- name: Eth1/3
- name: Eth1/14
state: merged
#
# After state:
# ------------
#
# show ip vrf
# VRF-NAME INTERFACES
# ----------------------------------------------------------------
# Vrfcheck1
# Vrfcheck2
# Vrfcheck3 Eth1/3
# Eth1/14
# Eth1/16
# Eth1/17
# Vrfcheck4 Eth1/5
# Eth1/6
#
# Using "overridden" state
#
# Before state:
# -------------
#
# show ip vrf
# VRF-NAME INTERFACES
# ----------------------------------------------------------------
# Vrfcheck1
# Vrfcheck2
# Vrfcheck3 Eth1/7
# Eth1/8
#
- name: Overridden VRF configuration
dellemc.enterprise_sonic.sonic_vrfs:
sonic_vrfs:
config:
- name: Vrfcheck1
members:
interfaces:
- name: Eth1/3
- name: Eth1/14
- name: Vrfcheck3
members:
interfaces:
- name: Eth1/5
- name: Eth1/6
state: overridden
#
# After state:
# ------------
#
# show ip vrf
# VRF-NAME INTERFACES
# ----------------------------------------------------------------
# Vrfcheck1 Eth1/3
# Eth1/14
# Vrfcheck2
# Vrfcheck3 Eth1/5
# Eth1/6
#
# Using "replaced" state
#
# Before state:
# -------------
#
# show ip vrf
# VRF-NAME INTERFACES
# ----------------------------------------------------------------
# Vrfcheck1 Eth1/3
# Vrfcheck2
# Vrfcheck3 Eth1/5
# Eth1/6
#
- name: Replace VRF configuration
dellemc.enterprise_sonic.sonic_vrfs:
sonic_vrfs:
config:
- name: Vrfcheck1
members:
interfaces:
- name: Eth1/3
- name: Eth1/14
- name: Vrfcheck3
members:
interfaces:
- name: Eth1/5
- name: Eth1/6
state: replaced
#
# After state:
# ------------
#
# show ip vrf
# VRF-NAME INTERFACES
# ----------------------------------------------------------------
# Vrfcheck1 Eth1/3
# Eth1/14
# Vrfcheck2
# Vrfcheck3 Eth1/5
# Eth1/6
#
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
The resulting configuration module invocation. Returned: when changed Sample: |
|
The configuration prior to the module invocation. Returned: always Sample: |
|
The set of commands pushed to the remote device. Returned: always Sample: |