-
Install containerlab on your machine.
containerlab and cEOS do not work with cgroupsv2 enabled! This is tracked in this upstream issue. Switch back to cgroupsv1 with the following kernel parametersystemd.unified_cgroup_hierarchy=0
.Use
ceos:4.28.0F
if you have cgroupsv2 enabled on your system. -
Use the following config to get two cEOS containers running.
name: gosdn-arista-base-topo
mgmt:
network: gosdn-dev-net
topology:
kinds:
ceos:
image: registry.code.fbi.h-da.de/danet/gosdn/ceos:latest
nodes:
ceos0:
kind: ceos
ceos1a:
kind: ceos
links:
- endpoints: ["ceos0:eth1", "ceos1a:eth1"]
-
Run
containerlab deploy --topo development.clab.yaml
to deploy andcontainerlab destroy --topo development.clab.yaml
to destroy the stack. -
You should now start the controller and init the gosdn-cli with
./gosdnc --controller 127.0.0.1:55055 init
. -
Add a new device with
./gosdnc dev create -a 172.20.20.2:6030 -u admin -p admin --name='test-ceos-1'
and remember the UUID of the device.
➜ gosdnc dev list
INFO[0000] OND 1: name: dev1, uuid: 5fb6e872-220d-492d-bf92-0d63a84d9841
- Test if you can get the hostname of the device via gNMI.
➜ gosdnc dev get 5fb6e872-220d-492d-bf92-0d63a84d9841 /system/config/hostname
INFO[0000] timestamp:1643195928009506201 ond:{id:"5fb6e872-220d-492d-bf92-0d63a84d9841" name:"dev1" device:{timestamp:1643195928009490650 update:{path:{element:"system" element:"config" element:"hostname"} val:{string_val:"ceos1a"}}}} <nil>
- You can also use gnmic to debug issues with cEOS.
gnmic -a 172.20.20.2:6030 -u admin -p admin --insecure capabilities