Fabric Shrink/Expand
This section provides a brief overview of how to add or remove switches within the fabric using Hedgehog Fabric API, and how to manage connections between them.
Manipulating API objects is done with the assumption that target devices are correctly cabeled and connected.
This article uses terms that can be found in the Hedgehog Concepts, the User Guide documentation, and the Fabric API reference.
Add a switch to the existing fabric
In order to be added to the Hedgehog Fabric, a switch should have a corresponding Switch
object. An example on how to define
this object is available in the User Guilde.
Note
If theSwitch
will be used in ESLAG
or MCLAG
groups, appropriate groups should exist. Redundancy groups should
be specified in the Switch
object before creation.
After the Switch
object has been created, you can define and create dedicated device Connections
. The types of the
connections may differ based on the Switch
role given to the device. For more details, refer to Connections
section.
Note
If the switch is facing a Control Node Connection on the front-panel port, the switch port should be described in a
Management
connection.
Note
Switch devices should be booted in ONIE
or HONIE
installation mode to install SONiC OS and configure the Fabric
Agent.
Remove a switch from the existing fabric
Before you decommission a switch from the Hedgehog Fabric, several preparation steps are necessary.
Warning
Currently the Wiring
diagram used for initial deployment is saved in
/var/lib/rancher/k3s/server/manifests/hh-wiring.yaml
on the Control
node. Fabric will sustain objects within the
original wiring diagram. In order to remove any object, first remove the dedicated API objects from this file. It is
recommended to reapply hh-wiring.yaml
after changing its internals.
- If the
Switch
is aLeaf
switch (includingMixed
andBorder
leaf configurations), remove allVPCAttachments
bound to all switchesConnections
. - If the
Switch
was used forExternalPeering
, remove allExternalAttachment
objects that are bound to theConnections
of theSwitch
. - Remove all connections of the
Switch
. - At last, remove the
Switch
andAgent
objects.
Created: February 6, 2024