-
Notifications
You must be signed in to change notification settings - Fork 8
(architecture): add Fabric Management page #71
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
base: master
Are you sure you want to change the base?
Conversation
🚀 Deployed on https://preview-71--hedgehog-docs.netlify.app |
d74cb91
to
92c9af4
Compare
92c9af4
to
c5b059c
Compare
c5b059c
to
25c0ab0
Compare
this looks good @pau-hedgehog, my only concern is that I feel there's a big overlap between the first section in this PR and what you previously added in the architecture overview section, and I wonder whether we should just collapse the two sections into one. That being said, having more documentation is never a bad thing, so I'm not against adding this if you / other people feel that they're better kept separate. |
I support adding it. I can see that a user might say, what happens when I do X, Y or Z. They would have those questions answered in the Fabric Management Workflow. |
3aa7d55
to
84a529a
Compare
84a529a
to
6c99034
Compare
I've made some amendments to try to make both @edipascale and @mrbojangles3 happy ;) |
6c99034
to
88b640e
Compare
44fe910
to
77b16ea
Compare
77b16ea
to
103bfe4
Compare
103bfe4
to
857ac1d
Compare
Signed-off-by: Pau Capdevila <[email protected]>
Signed-off-by: Pau Capdevila <[email protected]>
Signed-off-by: Pau Capdevila <[email protected]>
Signed-off-by: Pau Capdevila <[email protected]>
Signed-off-by: Pau Capdevila <[email protected]>
Signed-off-by: Pau Capdevila <[email protected]>
857ac1d
to
cc32af6
Compare
Signed-off-by: Pau Capdevila <[email protected]>
fc41353
to
7c25e26
Compare
Signed-off-by: Pau Capdevila <[email protected]>
I note this PR has been open for a while, what's the status? Is it still pending reviews from the three of us? 🙈 |
I addressed all comments a few weeks ago. But I understand we have more pressing priorities. Thus I didn't chase anyone |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice document!
My high-level comment would be that it's not super-clear how it relates to the “Architecture” section, as it's somewhat of a mix of an architectural-ish description of the management processes and a command reference, with an intro and some headings that might make one believe it will be some user guide to manage the Fabric.
Just to be clear, I do agree your page is in the right section 🙂, but I'd try to rework it a little bit to orient it even more towards the architecture-description aspect, not sure how, maybe by making clear you introduce the different “actors” from your first Mermaid diagram, and explaining their different interactions - and keep the “reference” parts to a minimum. Maybe run your doc through some LLM, to see if it's got some useful input?
|
||
This section focuses on operational aspects of Hedgehog Fabric, explaining available tools and typical workflows for administrators. It builds upon the architectural concepts explained in the [Overview](overview.md). | ||
|
||
The installation of a Hedgehog Fabric deployment is carried out using Fabricator (hhfab CLI). Once deployed, ongoing operations are managed via the [Kubernetes](https://kubernetes.io) CLI, [`kubectl`](https://kubernetes.io/docs/reference/kubectl/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The installation of a Hedgehog Fabric deployment is carried out using Fabricator (hhfab CLI). Once deployed, ongoing operations are managed via the [Kubernetes](https://kubernetes.io) CLI, [`kubectl`](https://kubernetes.io/docs/reference/kubectl/). | |
The installation of a Hedgehog Fabric deployment is carried out using Fabricator (`hhfab` CLI). Once deployed, ongoing operations are managed via the [Kubernetes](https://kubernetes.io) CLI, [`kubectl`](https://kubernetes.io/docs/reference/kubectl/). |
For consistency with kubectl formatting.
- **Uses [`kubectl`](https://kubernetes.io/docs/reference/kubectl/) and `kubectl fabric`** to interact with the Kubernetes API for fabric resource management. | ||
- Can use their **own `kubectl` installation** or the one pre-installed on the control node as part of [k3s](https://k3s.io). | ||
|
||
### Kubernetes API Server (K8S) | ||
- Part of [Kubernetes](https://kubernetes.io). | ||
- Manages Fabric Custom Resources (CRs) and interacts with the **Fabric Controller**. | ||
|
||
### kubectl & kubectl fabric | ||
- [`kubectl`](https://kubernetes.io/docs/reference/kubectl/) is the standard CLI tool for [Kubernetes](https://kubernetes.io). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: I wouldn't keep all the web links to kubectl, k3s, Kubernetes this far down in the document, I find them more distracting than useful. Having them mentioned at the top is enough. Seeing the link to “k3s”, I'd rather expect it to link to a section of our docs that tells how k3s is used and what for, rather than to redirect me to the k3s website.
- **vpc** – Manage VPCs: create, attach, peer, or wipe all related resources | ||
- **switch** – Manage switches: get IP, SSH, serial, reboot, reinstall | ||
- **connection** – View connections: management, fabric, vpc-loopback | ||
- **switchgroup** – Create SwitchGroups | ||
- **external** – Manage external BGP peers and VPC peering | ||
- **wiring** – Export fabric wiring diagrams | ||
- **inspect** – Inspect and troubleshoot fabric resources: | ||
- `fabric` – Overview of control nodes and switches | ||
- `switch`, `port` – Status, counters, and usage | ||
- `server`, `connection` – VPC/external attachments and link details | ||
- `vpc` – Subnet attachments and reachability | ||
- `bgp`, `lldp` – Neighbor status checks | ||
- `ip`, `mac` – Lookup usage across the fabric | ||
- `access` – Check reachability between VPCs, servers, and IPs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a mix between the architectural description (rest of the doc) and a command reference. Do we need these here to understand the operational aspects? Should it link to a command reference instead?
@@ -0,0 +1,127 @@ | |||
# Fabric Management | |||
|
|||
This section focuses on operational aspects of Hedgehog Fabric, explaining available tools and typical workflows for administrators. It builds upon the architectural concepts explained in the [Overview](overview.md). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it's about operational aspects and typical workflows, then why is this located in the “Architecture” section, and not in “Use guides” for example?
### Fabricator | ||
- Using the **hhfab** CLI you can **SSH** the control node and use **K9s** or **kubectl** and **kubectl fabric** to manage or monitor Fabric API objects. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need for a list?
### Fabricator | |
- Using the **hhfab** CLI you can **SSH** the control node and use **K9s** or **kubectl** and **kubectl fabric** to manage or monitor Fabric API objects. | |
### Fabricator | |
Using the **hhfab** CLI you can **SSH** the control node and use **K9s** or **kubectl** and **kubectl fabric** to manage or monitor Fabric API objects. |
### K9s | ||
- K9s is a terminal based Kubernetes UI that provides visibility and control over Kubernetes resources, allowing you to manage pods, nodes, services, logs, and Fabric resources efficiently. It includes some helper plugins: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It includes some helper plugins
I'd mention they're specific to the Open Network Fabric (to make it explicit it's not some random plug-ins available on the web that we've only packaged).
- **Power Reset** Perform a power reset on a fabric switch in the NOS | ||
- **Reinstall** – Reinstall a fabric switch | ||
|
||
--- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Why the rule?)
|
||
- **User Responsibilities:** | ||
- Define Fabric Custom Resources (CRs) in YAML. | ||
- Commit and push these CRs to a [Git repository](https://git-scm.com) for version control and collaboration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need to provide a link for Git? 😄
FC -->|Watches CRs| K8S | ||
``` | ||
|
||
--- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(why the rule?)
|
||
--- | ||
|
||
## GitOps Integration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might deserve a one-line transition to better tie it to the rest of the document? I don't know, maybe something like: “Given that the Fabric configuration heavily relies on Custom Definitions, users often rely on Git-centric workflows to manage them. GitOps is ...”
No description provided.