Skip to content

Commit

Permalink
Docs update for A3
Browse files Browse the repository at this point in the history
  • Loading branch information
Frostman committed Jan 22, 2024
1 parent 4a66107 commit d85430f
Show file tree
Hide file tree
Showing 9 changed files with 108 additions and 5 deletions.
7 changes: 7 additions & 0 deletions docs/getting-started/download.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,10 @@ curl -fsSL https://i.hhdev.io/oras | bash
```

Currently only Linux x86 is supported for running `hhfab`.

## Next steps

* [Concepts](../concepts/overview.md)
* [Virtual LAB](../vlab/overview.md)
* [Installation](../install-upgrade/overview.md)
* [User guide](../user-guide/overview.md)
1 change: 1 addition & 0 deletions docs/install-upgrade/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ nav:
- Supported Devices: supported-devices.md
- System Requirements: requirements.md
- Build Wiring Diagram: build-wiring.md
- Fabric Configuration: config.md
- ONiE Update (prepare switch): onie-update.md
- ...
12 changes: 12 additions & 0 deletions docs/install-upgrade/config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Fabric Configuration

* `--fabric-mode <mode-name` (`collapsed-core` or `spine-leaf`) - Fabric mode to use, default is `spine-leaf`; in case
of `collapsed-core` mode, there will be no VXLAN configured and only 2 switches will be used
* `--ntp-servers <servers>`- Comma-separated list of NTP servers to use, default is
`time.cloudflare.com,time1.google.com,time2.google.com,time3.google.com,time4.google.com`, it'll be used for both
control nodes and switches
* `--dhcpd <mode-name>` (`isc` or `hedgehog`) - DHCP server to use, default is `isc`; `hedgehog` DHCP server enables
use of on-demand DHCP for multiple IPv4/VLAN namespaces and overlapping IP ranges as well as adds DHCP leases
into the Fabric API

You can find more information about using `hhfab init` in the help message by running it with `--help` flag.
1 change: 1 addition & 0 deletions docs/install-upgrade/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Main steps to install Fabric are:

1. Install `hhfab` on the machines with access to internet
1. [Prepare Wiring Diagram](./build-wiring.md)
1. [Select Fabric Configuration](./config.md)
1. [Build Control Node configuration and installer](#build-control-node-configuration-and-installer)
1. [Install Control Node](#install-control-node)
1. Install Flatcar Linux on the Control Node
Expand Down
37 changes: 37 additions & 0 deletions docs/release-notes/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# Release notes

## Alpha-3

### SONiC support

Broadcom Enterprise SONiC 4.2.0 (previously 4.1.1)

### Multiple IPv4 namespaces

* Support for multiple overlapping IPv4 addresses in the Fabric
* Integrated with on-demand DHCP Service (see below)
* All IPv4 addresses within a given VPC must be unique
* Only VPCs with non-overlapping IPv4 subnets can peer within the Fabric
* An external NAT device is required for peering of VPCs with overlapping subnets

### Hedgehog Fabric DHCP and IPAM Service

* Custom DHCP server executing in the controllers
* Multiple IPv4 namespaces with overlapping subnets
* Multiple VLAN namespaces with overlapping VLAN ranges
* DHCP leases exposed through the Fabric API
* Available for VLAB as well as the Fabric

### Hedgehog Fabric NTP Service

* Custom NTP servers at the controller
* Switches automatically configured to use control node as NTP server
* NTP servers can be configured to sync to external time/NTP server

### StaticExternal connections

* Directly connect external infrastructure services (such as NTP, DHCP, DNS) to the Fabric
* No BGP is required, just automatically configured static routes

### DHCP Relay to 3rd party DHCP service
Support for 3rd party DHCP server (DHCP Relay config) through the API


## Alpha-2

### Controller
Expand Down
33 changes: 31 additions & 2 deletions docs/user-guide/connections.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,9 +183,38 @@ spec:
port: s5248-01/Ethernet0
```
## External
## Connecting Fabric to outside world
Connection to the external systems, e.g. edge/provider routers.
Provides connectivity to the outside world, e.g. internet, other networks or some other systems such as DHCP, NTP, LMA,
AAA services.
### StaticExternal
Simple way to connect things like DHCP server directly to the Fabric by connecting it to specific switch ports.
```yaml
apiVersion: wiring.githedgehog.com/v1alpha2
kind: Connection
metadata:
name: third-party-dhcp-server--static-external--s5248-04
namespace: default
spec:
staticExternal:
link:
switch:
port: s5248-04/Ethernet1 # switch port to use
ip: 172.30.50.5/24 # IP address that will be assigned to the switch port
vlan: 1005 # Optional VLAN ID to use for the switch port, if 0 - no VLAN is configured
subnets: # List of subnets that will be routed to the switch port using static routes and next hop
- 10.99.0.1/24
- 10.199.0.100/32
nextHop: 172.30.50.1 # Next hop IP address that will be used when configuring static routes for the "subnets" list
```
### External
Connection to the external systems, e.g. edge/provider routers using BGP peering and configuring Inbound/Outbound
communities as well as granularly controlling what's getting advertised and which routes are accepted.
```yaml
apiVersion: wiring.githedgehog.com/v1alpha2
Expand Down
11 changes: 8 additions & 3 deletions docs/user-guide/vpcs.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,18 @@ spec:
ipv4Namespace: default # Limits to which subnets could be used by VPC to guarantee non-overlapping IPv4 ranges
vlanNamespace: default # Limits to which switches VPC could be attached to guarantee non-overlapping VLANs
subnets:
default: # Each subnet is named
dhcp: # On-demand DHCP server
enable: true
default: # Each subnet is named, "default" subnet isn't required, but actively used by CLI
dhcp:
enable: true # On-demand DHCP server
range: # Optionally, start/end range could be specified
start: 10.10.1.10
subnet: 10.10.1.0/24 # User-defined subnet from ipv4 namespace
vlan: "1001" # User-defined VLAN from vlan namespace
thrird-party-dhcp: # Another subnet
dhcp:
relay: 10.99.0.100/24 # Use third-party DHCP server (DHCP relay configuration), access to it could be enabled using StaticExternal connection
subnet: "10.10.2.0/24"
vlan: "1002"
another-subnet: # Minimal configuration is just a name, subnet and VLAN
subnet: 10.10.100.0/24
vlan: "1100"
Expand Down
4 changes: 4 additions & 0 deletions docs/vlab/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,7 @@ ubuntu@docs:~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
```

## Next steps

* [Running VLAB](./running.md)
7 changes: 7 additions & 0 deletions docs/vlab/running.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ ubuntu@docs:~$ hhfab init -p vlab --mclag-leafs-count 4 --orphan-leafs-count 2
01:21:53 INF Initialized preset=vlab fabricMode=spine-leaf config=.hhfab/config.yaml wiring=.hhfab/wiring.yaml
```

Additionally, you can do extra Fabric configuration using flags on `init` command or by passing config file, more
information about it is available in the [Fabric Configuration](../install-upgrade/config.md) section.

Once you have initialized the VLAB you need to download all artifacts and build the installer using `hhfab build`
command. It will automatically download all required artifacts from the OCI registry and build the installer as well as
all other prerequisites for running the VLAB.
Expand Down Expand Up @@ -304,3 +307,7 @@ default 6h12m
## Reset VLAB

To reset VLAB and start over just remove the `.hhfab` directory and run `hhfab init` again.

## Next steps

* [Running Demo](./demo.md)

0 comments on commit d85430f

Please sign in to comment.