Skip to content

chore: deprecate collapsed-core topology #158

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/architecture/fabric.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ The Hedgehog Fabric currently supports two underlay network topologies.

### Collapsed Core

!!! warning
Collapsed Core is deprecated starting from 25.03 release and will be removed in a future releases. It'll be replaced
by a new mesh topology that will work in a similar way to the spine-leaf topology but with leaf switches directly
connected to each other.

A collapsed core topology is just a pair of switches connected in a MCLAG configuration with no other network elements.
All workloads attach to these two switches.

Expand Down
28 changes: 14 additions & 14 deletions docs/install-upgrade/config.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Fabric Configuration
## Overview
The `fab.yaml` file is the configuration file for the fabric. It supplies
the configuration of the users, their credentials, logging, telemetry, and
other non wiring related settings. The `fab.yaml` file is composed of multiple
YAML objects inside of a single file. Per the YAML spec 3 hyphens (`---`) on
a single line separate the end of one object from the beginning of the next.
There are two YAML objects in the `fab.yaml` file. For more information about
the configuration of the users, their credentials, logging, telemetry, and
other non wiring related settings. The `fab.yaml` file is composed of multiple
YAML objects inside of a single file. Per the YAML spec 3 hyphens (`---`) on
a single line separate the end of one object from the beginning of the next.
There are two YAML objects in the `fab.yaml` file. For more information about
how to use `hhfab init`, run `hhfab init --help`.

## HHFAB workflow
Expand Down Expand Up @@ -35,7 +35,7 @@ The following example outlines a comprehensive Fabricator configuration. You
can find further configuration details in the Fabricator [API
Reference](../reference/fab-api.md).

``` { .yaml .annotate title="fab.yaml" linenums="1"}
``` { .yaml .annotate title="fab.yaml" linenums="1"}
apiVersion: fabricator.githedgehog.com/v1beta1
kind: Fabricator
metadata:
Expand All @@ -57,7 +57,7 @@ spec:
- "ssh-ed25519 key..." # generate ssh key with ssh-keygen

fabric:
mode: spine-leaf # "spine-leaf" or "collapsed-core"
mode: spine-leaf # "spine-leaf" or "collapsed-core" (deprecated)
includeONIE: true
defaultSwitchUsers:
admin: # at least one user with name 'admin' and role 'admin'
Expand Down Expand Up @@ -109,15 +109,15 @@ spec:
### Configure Control Node and Switch Users

#### Control Node Users
Configuring control node and switch users is done either passing
`--default-password-hash` to `hhfab init` or editing the resulting `fab.yaml`
Configuring control node and switch users is done either passing
`--default-password-hash` to `hhfab init` or editing the resulting `fab.yaml`
file emitted by `hhfab init`. The default username on the control node is
`core`.

#### Switch Users
There are two users on the switches, `admin` and `operator`. The `operator` user has
read-only access to `sonic-cli` command on the switches. The `admin` user has
broad administrative power on the switch.
broad administrative power on the switch.
To avoid conflicts, do not use the following usernames: `operator`,`hhagent`,`netops`.

### NTP and DHCP
Expand All @@ -126,17 +126,17 @@ The control node runs a DHCP server on the management network. See the [example
file](#complete-example-file).

### Control Node
The control node is the host that manages all the switches, runs k3s, and serves images.
The **management** interface is for the control node to manage the fabric
switches, *not* end-user management of the control node. For end-user
The control node is the host that manages all the switches, runs k3s, and serves images.
The **management** interface is for the control node to manage the fabric
switches, *not* end-user management of the control node. For end-user
management of the control node specify the **external** interface name.

### Telemetry

There is an option to enable [Grafana
Alloy](https://grafana.com/docs/alloy/latest/) on all switches to forward metrics and logs to the configured targets using
[Prometheus Remote-Write
API](https://prometheus.io/docs/specs/prw/remote_write_spec/) and Loki API. Metrics includes port speeds, counters,
API](https://prometheus.io/docs/specs/prw/remote_write_spec/) and Loki API. Metrics includes port speeds, counters,
errors, operational status, transceivers, fans, power supplies, temperature
sensors, BGP neighbors, LLDP neighbors, and more. Logs include Hedgehog agent
logs. Modify the URL as needed, instead of `/api/v1/push` it could be
Expand Down
2 changes: 1 addition & 1 deletion docs/vlab/demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ You can find instructions on how to setup VLAB in the [Overview](overview.md) an
## Default topology

The default topology is Spine-Leaf with 2 spines, 2 MCLAG leaves, 2 ESLAG leaves and 1 non-MCLAG leaf. Optionally, you can choose to run
the default Collapsed Core topology using flag `--fabric-mode collapsed-core` (or `-m collapsed-core`) which only
the default Collapsed Core topology (deprecated) using flag `--fabric-mode collapsed-core` (or `-m collapsed-core`) which only
consists of 2 switches.

For more details on customizing topologies see the [Running VLAB](running.md) section.
Expand Down
4 changes: 2 additions & 2 deletions docs/vlab/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ The following packages needs to be installed: `qemu-kvm socat`. Docker is also r
into the OCI registry.

By default, the VLAB topology is Spine-Leaf with 2 spines, 2 MCLAG leaves and 1 non-MCLAG leaf. Optionally, you can
choose to run the default Collapsed Core topology using flag `--fabric-mode collapsed-core` (or `-m collapsed-core`)
which only consists of 2 switches.
choose to run the default Collapsed Core topology (deprecated) using flag `--fabric-mode collapsed-core`
(or `-m collapsed-core`) which only consists of 2 switches.

You can calculate the system requirements based on the allocated resources to the VMs using the following table:

Expand Down
5 changes: 5 additions & 0 deletions docs/vlab/running.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,11 @@ You can jump [to the instructions](#build-the-installer-and-start-vlab) to start

### Collapsed Core

!!! warning
Collapsed Core is deprecated starting from 25.03 release and will be removed in a future releases. It'll be replaced
by a new mesh topology that will work in a similar way to the spine-leaf topology but with leaf switches directly
connected to each other.

If a Collapsed Core topology is desired, after the `hhfab init --dev` step, edit the resulting `fab.yaml` file and change the `mode: spine-leaf` to `mode: collapsed-core`:

```console
Expand Down