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
use docker API #185
Open
bdreisbach
wants to merge
33
commits into
vrnetlab:master
Choose a base branch
from
bdreisbach:topomachine.api
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
use docker API #185
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
So this should hopefully handle a dropped connection quite a bit better in vr-xcon by not repeatedly (busy loop style) trying to read from a dead socket. Instead we close it and can listen for a new connection!
So this feels a little backwards but implementing a hub is just vastly simpler than a learning bridge (well, switch) and I need ethernet segments for emulating internet exchanges etc so here we are.
So that seems backwards but as it turns out the qemu socket listener only listens for IPv4 so we make our lives a lot easier by just resolving IPv4.
In Python 3.6 and newer the order of items in a dict is as the insertion order. In earlier versions it is undefined and becomes sort of random. We avoid that by using OrderedDict which is backwards compatible with 3.5
topomachine should now be able to run vr-xcon hubs based on hub definitions in the hltopo file!
Update README.md
This fixes misalignment of vmx v17.2R1.13 interfaces for xconn
It just echoes the version variable that we extracted from the image filename. This makes it easier to debug the extraction regexp.
Can be two digits in third position and not just one.
qemu only listens on IPv4 so we got to do v4 only!
Add dummy interface to 17.2R1.13
1. some url is written in absolute path, so check if it's relative or not. 2. add version string to local filename. A target file is typically "combined-ext4.img.gz" Signed-off-by: Naoya Kaneko <enukane@glenda9.org>
fix openwrt's download.py: download url and local filename
Sanity checking was a little too strict. This is better and should allow for default config of gitlab.com, which doesn't include port numbers.
jmussmann
pushed a commit
to jmussmann/vrnetlab
that referenced
this pull request
Apr 10, 2024
* sros README: add vsr-i to variants * sros README: added CF disks * minor edits --------- Co-authored-by: Roman Dodin <dodin.roman@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
use the docker python module/API to interact with the docker daemon. this allows you to deploy topologies on a remote docker host.
--dry-run has been removed as i wasnt sure there is value in printing out api commands. i am happy to add it back if preferred.
i wasnt able to find an API option for setting a network alias, so that is missing here.
any feedback is appreciated, specifically related to exception handling(i'm not at all an expert).