Skip to content
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

Rn 0.14.0 #424

Merged
merged 6 commits into from
May 19, 2021
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
7 changes: 5 additions & 2 deletions docs/manual/conf-artifacts.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ When containerlab deploys a lab it creates a Lab Directory in the **current work
Things like:

* Root CA certificate and node' TLS certificate and private keys
* node config file (if applicable)
* node config file (if applicable and supported by the kind)
* node-specific files and directories that are required to launch the container
* license files if needed

all these artifacts will be available under a Lab Directory.

!!!note
If you configure a node with [`binds`](nodes.md#binds) mounts and the source of the bind is not within the lab directory already, containerlab will copy over the source files/dirs into the lab directory on users behalf.

### Identifying a lab directory
The lab directory name follows the `clab-<lab_name>` template. Thus, if the name of your lab is `srl02` you will find the `clab-srl02` directory created in the current working directory.

Expand All @@ -25,7 +28,7 @@ drwxr-xr-x 3 root root 79 Dec 1 22:11 srl2
The contents of this directory will contain kind-specific files and directories. Containerlab will name directories after the node names and will only created those if they are needed. For instance, by default any node of kind `linux` will not have it's own directory under the Lab Directory.

### Persistance of a lab directory
When a user first deploy a lab, the Lab Directory gets created. Depending on a node's kind, this directory might act as a persistent storage area for a node. A common case is having the configuration file saved when the changes are made to the node via management interfaces.
When a user first deploy a lab, the Lab Directory gets created if it was not present. Depending on a node's kind, this directory might act as a persistent storage area for a node. A common case is having the configuration file saved when the changes are made to the node via management interfaces.

Below is an example of the `srl1` node directory contents. It keeps a directory that is mounted to containers configuration path, as well as stores additional files needed to launch and configure the node.

Expand Down
8 changes: 2 additions & 6 deletions docs/manual/nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,7 @@ docker tag srlinux:20.6.1-286 srlinux:latest
Some containerized NOSes require a license to operate. With `license` property a user sets a path to a license file that a node will use. The license file will then be mounted to the container by the path that is defined by the `kind/type` of the node.

### config
For the specific kinds its possible to pass a path to a config template file that a node will use.

The template engine is [Go template](https://golang.org/pkg/text/template/). The [srlconfig.tpl](https://github.com/srl-labs/containerlab/blob/master/templates/srl/srlconfig.tpl) template is used by default for Nokia SR Linux nodes and can be used to create configuration templates for SR Linux nodes.

Supported for: Nokia SR Linux.
For some kinds its possible to pass a path to a config file that a node will use on start instead of a bare config. Check documentation for a specific kind to see if `config` element is supported.

### binds
In order to expose host files to the containerized nodes a user can leverage the bind mount capability.
Expand Down Expand Up @@ -171,7 +167,7 @@ As a result of such label distribution, node1 will have the following labels:
```bash
label1: node_value1 # most specific label wins
label2: value2 # inherited from defaults section
label2: value3 # inherited from kinds section
label3: value3 # inherited from kinds section
```

### mgmt_ipv4
Expand Down
29 changes: 29 additions & 0 deletions docs/rn/0.14.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Release 0.14.0
:material-calendar: 2021-05-19

## Container runtime support
Michael Kashin (@networkop) delivered a massive infrastructure improvement by adding the foundation that allows containerlab to run on multiple container runtimes such as `containerd`, `podman` and the likes.

For the end users of containerlab that will give more flexibility on platforms selection where containerlab can run.

## Arista `et` interfaces
Steve Ulrich (@sulrich) added support for synchronization the ENV vars passed to cEOS node and the respective container command. This makes it possible to set the cEOS specific env vars and be sure that they will be mirrored in the CMD instruction of the container.

This allowed for users to, for example, overwrite the `INTFTYPE` env var to allow for using `et` interfaces with cEOS. This is documented in the [ceos kind docs](../manual/kinds/ceos.md).


## `nodeDir` path variable
Markus Vahlenkamp (@steiler) added support for `$nodeDir` variable that you can now use in the bind paths. This is useful to simplify the configuration artifacts mapping when they are kept in the node specific directories. Read more on this in the [nodes/binds](../manual/nodes.md#binds) documentation section.

## Improved SR OS (`vr-sros`) boot procedure
With hellt/vrnetlab v0.3.1 we added a hardened process of SR OS boot sequence. Before that fix the vr-sros nodes might get problems in attaching container interfaces in time. Starting with v0.3.1 that issue is no more and vr-sros nodes will wait till the dataplane interfaces will show up in the container namespace.

## Miscellaneous
* [fixed](https://github.com/srl-labs/containerlab/commit/dbbd248591036c1e8263132e35743af2dacc6a4c) bridge attachment issue
* [fixed](https://github.com/srl-labs/containerlab/commit/c1d64ff538aadcabbe1bd5f2920ed40a198177ec) docker repo naming resolution which prevented pulling certainly formatted repositories
* [fixed](https://github.com/srl-labs/containerlab/commit/edc72080eab97aa809485ba4823e570cc5898e17) Arista cEOS configuration regeneration and management interface addressing.
* @networkop added support for predefined mac addresses that containerlab uses for veth interfaces. The MAC OUI is `00:c1:ab` for all containerlab interfaces.
* @networkop added support for max-workers argument for `delete` command.

## New contributors
Thanks to [@sulrich](https://github.com/sulrich), [@blinklet](https://github.com/blinklet) and [@networkop](https://github.com/networkop) for providing some of these enhancements/fixes and joining our [contributors ranks](https://github.com/srl-labs/containerlab/graphs/contributors)!
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ nav:
- BGP VPLS between Nokia and Juniper: lab-examples/bgp-vpls-nok-jun.md
- Multi-node labs: lab-examples/multinode.md
- Release notes:
- 0.14.0: rn/0.14.0.md
- 0.13.0: rn/0.13.0.md
- 0.12.0: rn/0.12.0.md
- 0.11.0: rn/0.11.0.md
Expand Down