Feature/multiserver plugin#3421
Conversation
ipspace
left a comment
There was a problem hiding this comment.
Super-awesome-job!!! Thanks a million.
Tons of comments (as you expected ;). Some of them are just suggestions or pointers to existing helper functions, in other cases I think we can make the whole thing a lot more streamlined with significant rewrites.
|
|
||
| The plugin automatically copies all required files into each server directory — no extra bundling step is needed. | ||
|
|
||
| **Step 2: Copy server directories to remote hosts** (e.g. via rsync): |
There was a problem hiding this comment.
We might want to automate that in the future, but this is definitely more than good enough for version 1
There was a problem hiding this comment.
Yeah currently i mostly do it externally automated. So an extra custom script.
|
I guess about 99% of them are valid 😁 |
Refactor & review-response changelogclab.yml generation
Data types
Servers as a dictionary
CLI hooks for VXLAN setup/teardown
Single-server
|
|
A few quick thoughts -- more details after I implement the hooks this needs and we rebase it.
Will cherry-pick this change into a new PR. Don't want to have this hidden in a large blob of unrelated code.
👍
👍
That's a huge can of worms. We need the absolute paths in the snapshot and in the Ansible inventory. I think it would be best to have a plugin hook executed very early in "netlab up" so it can adjust the topology data and recreate the snapshot and Ansible inventory before "netlab up" does some real work.
It's resolved from the current installation path in make_paths_absolute
Unless you install netlab as root on lab VMs and in virtual environment on your local machine.
Agreed. That whole thing has to be solved in a different way. |
Reference: #3420
Summary
This PR adds the
multiserverplugin to distribute a single Netlab topology across multiple physical servers.Sadly for now containerlab-provider only.
Key Details
netsim/extra/multiserver/and doesn't modify any core Netlab engine logic.clab.ymlandnetlab.snapshot.pickle.sudo netlab up --snapshot -vvwithout needing custom CLI options.For the test-files I am not sure if they make any sense. But they show at least it does not interfere with the normal netlab workflow.
Explanations on how it works can be found in
docs/plugins/multiserver.md.