-
Notifications
You must be signed in to change notification settings - Fork 72
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
Enable deployment of topologies containing 'none' devices, remove ghosts from links #1659
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your idea to use a hard-coded bridge name won't work with the multilab plugin. Also, the integration tests do not belong to the "initial device configuration" suite. Move them into a new directory (if needed) of the "platform-integration" tree.
624c691
to
61a3b6a
Compare
* Remove links that consist of all 'none' devices
97c4b5d
to
c121931
Compare
Closing as a similar effect can be achieved by using |
Context: #1657
none
devices are useful for validation, but they could also be used to deploy scaled deployments representing 100s of nodes. This PR treats 'none' devices as 'unmanaged' for the purpose ofnetlab up
Modify the node.clone plugin to merge settings from existing nodes, to allow selective override of attributes.
For example: model a switch with 32 servers, but launch only 2 of those as 'linux' containers
Fix
netlab up
for clab topologies containingunmanaged
nodes (thelinks
section would contain semi-connected entries), by removing ghosts from links as well.Test:
netlab up topology/input/unmanaged-device.yml -p clab -v
Handling unmanaged devices could possibly be done in different ways, without removing them from the links.
libvirt
deployment does succeed. For example, we could modify clab.j2 to use Containerlabdummy
devices (https://containerlab.dev/manual/topo-def-file/#dummy)The current output in https://github.com/ipspace/netlab/blob/dev/tests/topology/expected/unmanaged-device.yml is invalid, as there is a link that refers to a non-existent node 'external'