Skip to content

Commit

Permalink
Release 0.46 notes (#1623)
Browse files Browse the repository at this point in the history
* added c9s image

* added release notes
  • Loading branch information
hellt committed Oct 8, 2023
1 parent c8d72d5 commit aee34c8
Show file tree
Hide file tree
Showing 6 changed files with 99 additions and 7 deletions.
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,15 @@ site:
docker run -it --rm -p 8000:8000 -v $(CURDIR):/docs squidfunk/mkdocs-material:$(MKDOCS_VER)

# serve the site locally using mkdocs-material insiders container
.PHONY: serve-insiders
serve-docs:
.PHONY: serve-docs-full
serve-docs-full:
docker run -it --rm -p 8001:8000 -v $(CURDIR):/docs ghcr.io/srl-labs/mkdocs-material-insiders:$(MKDOCS_INS_VER)

# serve the site locally using mkdocs-material insiders container and dirty-reload
# in this mode navigation might not update properly, but the content will be updated
# if nav is not updated, re-run the target.
.PHONY: serve-insiders-dirty
serve-insiders-dirty:
.PHONY: serve-docs
serve-docs:
docker run -it --rm -p 8001:8000 -v $(CURDIR):/docs ghcr.io/srl-labs/mkdocs-material-insiders:$(MKDOCS_INS_VER) serve -a 0.0.0.0:8000 --dirtyreload

.PHONY: htmltest
Expand Down
2 changes: 2 additions & 0 deletions docs/manual/clabernetes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ status: new

Love containerlab? Want containerlab, just distributed in a kubernetes cluster? Enter [**clabernetes**](https://github.com/srl-labs/clabernetes/) or simply **c9s**.

![Clabernetes](https://gitlab.com/rdodin/pics/-/wikis/uploads/9d8c5abcb8db2c80811635d928aa98df/c9s_logo1_border_2.webp){ align=left width="300" }

<figure markdown>
![pic](https://gitlab.com/rdodin/pics/-/wikis/uploads/4fdd35b5f4553d766216a4bda2b9a20c/geogebra-export.svg#only-light)
![pic](https://gitlab.com/rdodin/pics/-/wikis/uploads/a139e454c70614298f5bf5b86fe1eeb0/geogebra-export-darkbg.svg#only-dark)
Expand Down
2 changes: 2 additions & 0 deletions docs/manual/topo-def-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ In comparison to the veth type, no bridge or other namespace is required to be r
The `host-interface` parameter defines the name of the veth interface in the host's network namespace.

###### vxlan

The vxlan type results in a vxlan tunnel interface that is created in the host namespace and subsequently pushed into the nodes network namespace.

```yaml
Expand All @@ -258,6 +259,7 @@ The vxlan type results in a vxlan tunnel interface that is created in the host n
```

###### vxlan-stitched

The vxlan-stitched type results in a veth pair linking the host namespace and the nodes namespace and a vxlan tunnel that also terminates in the host namespace.
In addition to these interfaces, tc rules are being provisioned to stitch the vxlan tunnel and the host based veth interface together.

Expand Down
6 changes: 3 additions & 3 deletions docs/rn/0.45.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ Now @steiler enhanced this functionality by making sure that if a user provides

## Miscellaneous

* #1571 - ansible proxy variable is added to containerlab produced ansible inventory
* #1592 - ca cert and node certs now have a default country code set to US
* #1583 - default link MTU is now fixed to be 9500 again
* ansible proxy variable is added to containerlab produced ansible inventory #1571
* ca cert and node certs now have a default country code set to US #1592
* default link MTU is now fixed to be 9500 again #1583

## Patches

Expand Down
87 changes: 87 additions & 0 deletions docs/rn/0.46.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Release 0.46

:material-calendar: 2023-10-08 · :material-list-status: [Full Changelog](https://github.com/srl-labs/containerlab/releases)

## Declarative VXLAN links handling

In #1532 @steiler added a couple of new link types - `vxlan` and `vxlan-stitch` that allow users to declaratively define VXLAN links between nodes.

Our [Clabernetes](../manual/clabernetes/index.md) project will use the `vxlan-stitch` link type to declaratively define links between network elements on different worker nodes.

!!!note
The default vxlan port is `14789`.

=== "vxlan"
The `vxlan` link type creates a VXLAN link in the host network namespace and moves it to the node's netns as if this link belongs to the node itself.

```yaml
name: vxlan-embed

topology:
nodes:
srl1:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux

links:
- type: vxlan
endpoint:
node: srl1
interface: e1-1
mac: 02:00:00:00:00:04
remote: 172.20.25.22 #(1)!
vni: 100
udp-port: 14788
```

1. The remote IP address must exist in the host network namespace.

=== "vxlan-stitch"
The `vxlan-stitch` mode creates vxlan link in the host netns, but contrary to `vxlan` link type it doesn't move the link to the node's netns; instead it creates a veth link between the node and the host, and uses tc redirect rules to stitch the veth link to the vxlan link.

This is exactly the same approach as used by the [`tools vxlan create`](../cmd/tools/vxlan/create.md) command.

```yaml
name: vxlan-stitch

topology:
nodes:
srl1:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux

links:
- type: vxlan-stitch
endpoint:
node: srl1
interface: e1-1
mac: 02:00:00:00:00:04
remote: 172.20.25.22 #(1)!
vni: 100
udp-port: 14788
```

1. The remote IP address must exist in the host network namespace.

## Containerlab on Apple M1/M2

Systems that requires specific x86 CPU flags or nested virtualization may be launched with a UTM/Qemu VM as documented in the newly added [Apple MacOS and ARM chapter](../install.md#arm).

We prepared the UTM image with containerlab installed to make it easier to get started running CPU-picky systems on Apple M1/M2.

## Stdin topologies

Now when #1621 is merged, you can pass the topology definition via stdin. This opens up a lot of possibilities for automation and integration with other tools. Most common use case is to use `curl` to fetch a remote topology and immediately pass it to containerlab.

For example, this is how you can spin up a topology with a single [SR Linux](../manual/kinds/srl.md) node whenver you need it:

```bash
curl -sL srlinux.dev/clab-srl | clab dep -c -t -
```

Couple that with containerlab' ability to use env variables in the topology file and you have a clever way to spin up parametrized topologies with a single command:

```bash
curl -sL srlinux.dev/clab-srl | \
SRL_VERSION=23.3.3 SRL_TYPE=ixrd2l clab dep -c -t -
```
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ nav:
- 5-stage Clos topology: lab-examples/templated02.md
- RARE/freeRtr: lab-examples/rare-freertr.md
- Release notes:
- "0.46": rn/0.46.md
- "0.45": rn/0.45.md
- "0.44": rn/0.44.md
- "0.43": rn/0.43.md
Expand Down

0 comments on commit aee34c8

Please sign in to comment.