-
I assumed this would be a better place to ask than to open an issue (though it may result in a feature request): What I'm trying to achieve is to create a virtual copy of my physical spine/leaf setup which we use in our data centers. Creating the cEOS containers and the links between them is easy with containerlab (thank you! this is so much easier to use than docker-topo). However, I'd like to add all server/customer facing ports of all switches to these containers as well, so that I can run ansible playbooks for provisioning and changing configurations on them. As far as I can tell, there's no way of adding all these ports without linking them to some other port. And that would make the setup needlessly complex. I'd like to be able to have these ports available on the switches, even though there's not a device connected to them. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
a perfect place for questions, you are right. in cEOS (and other containerized NOSes to my knowledge) you have to have a present interface for NOS to create a matching interface. There is not way around this, it seems. What you can do, though, is to shunt those interfaces, making them dummy. A common thing would be to create a dummy linux bridge, which you can call topology:
nodes:
ceos1:
ceos2:
br-dummy:
kind: bridge
links:
- endpoints: ["ceos1:eth1", "ceos2:eth1"]
- endpoints: ["ceos1:eth2", "br-dummy:ceos1-eth2"]
- endpoints: ["ceos1:eth3", "br-dummy:ceos1-eth3"]
- endpoints: ["ceos1:eth4", "br-dummy:ceos1-eth4"] that adds some text in your clab file, but it effectively solves the issue with ports being created by cEOS and available for config. Will that work for you? |
Beta Was this translation helpful? Give feedback.
-
Thanks for the suggestion. I tried creating a bridge in linux (
Do I need to create the dummy interfaces as well? Or is there something else I'm forgetting? |
Beta Was this translation helpful? Give feedback.
-
No, you're doing all good, it's just that you're a hitting a regression
introduced in 0.13.0
It's been fixed, but not released yet
The workaround is to define your bridge interface first in the endpoint
section and then the CEOS
…On Thu, 22 Apr 2021 at 14:38, Teun Vink ***@***.***> wrote:
Thanks for the suggestion. I tried creating a bridge in linux (brctl
addbr br-dummy) and testing the config you mentioned above, but I still
fail to deploy the lab:
INFO[0008] Creating virtual wire: ceos1:eth1 <--> ceos2:eth1
INFO[0008] Creating virtual wire: ceos1:eth2 <--> br-dummy:ceos1-eth2
INFO[0008] Creating virtual wire: ceos1:eth4 <--> br-dummy:ceos1-eth4
INFO[0008] Creating virtual wire: ceos1:eth3 <--> br-dummy:ceos1-eth3
ERRO[0008] could not lookup "ceos1": Link not found
ERRO[0008] could not lookup "ceos1": Link not found
ERRO[0008] could not lookup "ceos1": Link not found
Do I need to create the dummy interfaces as well? Or is there something
else I'm forgetting?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#395 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLKV5NM2KP2EIL2KBBICSTTKAKETANCNFSM43LCOP6Q>
.
|
Beta Was this translation helpful? Give feedback.
a perfect place for questions, you are right.
in cEOS (and other containerized NOSes to my knowledge) you have to have a present interface for NOS to create a matching interface. There is not way around this, it seems.
What you can do, though, is to shunt those interfaces, making them dummy. A common thing would be to create a dummy linux bridge, which you can call
br-dummy
and then define your topology smth like that: