Skip to content

Commit

Permalink
removed containerd runtime (#1527)
Browse files Browse the repository at this point in the history
  • Loading branch information
hellt authored Aug 15, 2023
1 parent f561ea6 commit fa610ec
Show file tree
Hide file tree
Showing 14 changed files with 25 additions and 929 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,6 @@ jobs:
runtime:
- "docker"
- "podman"
# - "containerd"
needs:
- unit-test
- staticcheck
Expand Down Expand Up @@ -309,7 +308,6 @@ jobs:
matrix:
runtime:
- "docker"
# - "containerd"
needs:
- unit-test
- staticcheck
Expand Down
6 changes: 3 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ smoke-tests:
stage: smoke-tests
parallel:
matrix:
- RUNTIME: [docker, containerd]
- RUNTIME: [docker]
tags:
- containerlab
script:
Expand All @@ -51,7 +51,7 @@ srl-tests:
stage: integration-tests
parallel:
matrix:
- RUNTIME: [docker, containerd]
- RUNTIME: [docker]
tags:
- containerlab
script:
Expand All @@ -66,7 +66,7 @@ ceos-tests:
stage: integration-tests
parallel:
matrix:
- RUNTIME: [docker, containerd]
- RUNTIME: [docker]
tags:
- containerlab
script:
Expand Down
5 changes: 2 additions & 3 deletions docs/cmd/deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,12 @@ With `--max-workers` flag, it is possible to limit the number of concurrent work

#### runtime

Containerlab nodes can be started by different runtimes, with `docker` being the default one. Besides that, containerlab has experimental support for `podman`, `containerd`, and `ignite` runtimes.
Containerlab nodes can be started by different runtimes, with `docker` being the default one. Besides that, containerlab has experimental support for `podman`, and `ignite` runtimes.

A global runtime can be selected with a global `--runtime | -r` flag that will select a runtime to use. The possible value are:

* `docker` - default
* `podman` - beta support
* `containerd` - experimental support
* `podman` - experimental support
* `ignite`

#### timeout
Expand Down
5 changes: 2 additions & 3 deletions docs/manual/nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -518,15 +518,14 @@ If you want to completely disable the networking stack on a container, you can u

### runtime

By default containerlab nodes will be started by `docker` container runtime. Besides that, containerlab has experimental support for `podman`, `containerd`, and `ignite` runtimes.
By default containerlab nodes will be started by `docker` container runtime. Besides that, containerlab has experimental support for `podman`, and `ignite` runtimes.

It is possible to specify a global runtime with a global `--runtime` flag, or set the runtime on a per-node basis:

Options for the runtime parameter are:

- `docker`
- `podman`
- `containerd`
- `ignite`

The default runtime can also be influenced via the `CLAB_RUNTIME` environment variable, which takes the same values as mentioned above.
Expand All @@ -535,7 +534,7 @@ The default runtime can also be influenced via the `CLAB_RUNTIME` environment va
# example node definition with per-node runtime definition
my-node:
image: alpine:3
runtime: containerd
runtime: podman
```

### exec
Expand Down
12 changes: 9 additions & 3 deletions docs/rn/0.14.0.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,35 @@
# 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.

Michael Kashin (@networkop) delivered a massive infrastructure improvement by adding the foundation that allows containerlab to run on multiple container runtimes such as `podman`.

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)!

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)!
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ go 1.20
require (
github.com/a8m/envsubst v1.4.2
github.com/awalterschulze/gographviz v2.0.3+incompatible
github.com/containerd/containerd v1.7.3
github.com/containernetworking/cni v1.1.2
github.com/containernetworking/plugins v1.3.0
github.com/containers/common v0.55.3
github.com/containers/podman/v4 v4.6.1
Expand Down Expand Up @@ -58,7 +56,9 @@ require (
github.com/cilium/ebpf v0.10.0 // indirect
github.com/cloudflare/circl v1.3.3 // indirect
github.com/container-orchestrated-devices/container-device-interface v0.5.4 // indirect
github.com/containerd/containerd v1.7.3 // indirect
github.com/containerd/typeurl/v2 v2.1.1 // indirect
github.com/containernetworking/cni v1.1.2 // indirect
github.com/cyberphone/json-canonicalization v0.0.0-20230514072755-504adb8a8af1 // indirect
github.com/go-openapi/analysis v0.21.4 // indirect
github.com/go-openapi/errors v0.20.3 // indirect
Expand Down Expand Up @@ -270,7 +270,7 @@ require (
golang.org/x/net v0.14.0
golang.org/x/oauth2 v0.9.0 // indirect
golang.org/x/sync v0.3.0 // indirect
golang.org/x/text v0.12.0
golang.org/x/text v0.12.0 // indirect
golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.9.3 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
Expand Down
1 change: 0 additions & 1 deletion runtime/all/all.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
package all

import (
_ "github.com/srl-labs/containerlab/runtime/containerd"
_ "github.com/srl-labs/containerlab/runtime/docker"
_ "github.com/srl-labs/containerlab/runtime/ignite"
)
1 change: 0 additions & 1 deletion runtime/all/all_with_podman.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
package all

import (
_ "github.com/srl-labs/containerlab/runtime/containerd"
_ "github.com/srl-labs/containerlab/runtime/docker"
_ "github.com/srl-labs/containerlab/runtime/ignite"
_ "github.com/srl-labs/containerlab/runtime/podman"
Expand Down
Loading

0 comments on commit fa610ec

Please sign in to comment.