-
Notifications
You must be signed in to change notification settings - Fork 74
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
VSOCK interface #969
VSOCK interface #969
Conversation
c5feeb2
to
85a53ec
Compare
The vsock facilitates communication between virtual machines and the host they are running on independent of virtual machine network configuration. Vsock Context Identifier is used to define the "address" of the vsock, e.g. when you have multiple running VMs with open vsocks, you are able identify each vsock from the host's point of view.
vsock_assign_automatically.webm
vsock_assign_manually.webm
vsock_running.webm |
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.
Wow, we really need to do something about "general" being a place to shove things. I still don't understand the difference between "general" and "hypervisor details" either.
Can we work on fixing this (outside of this PR) as soon as possible? It's really beyond the point of being a scaling problem.
OK, now back to this PR: I have no idea what this is or what it is supposed to be used for. Please explain why and how someone would want and use this. ("To enable vsock" is not an answer. It would need to cover an actual task someone would want to do and/or solve a problem that someone has.)
Marking as "request changes", as we'll need to figure out what this is and (at least) change the messaging around it.
Generally, it's about setting up communication between the VM and host without having to setup the whole networking stack. SSH
Communication between custom programs
Another big reason for vsock is network file system.
|
So in summary, vsock tries to achieve the same functionality which you can already achieve by normal VM's networking (establishing connection between a host and VM ). But configuring VM's networking is quite complex and hard to maintain, while vsocks are simple to configure. |
05871e5
to
3ac7124
Compare
79b7044
to
bd3dd59
Compare
Fixed the last debian-testing flake, it should be green now |
@KKoukiou mind givind it code-review? |
All tests green |
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.
Thanks! Unfortunately there's a pixel test conflict. Code-wise this is mostly good, but I have some concerns about "selling" (explaining) this feature to users. Some documentation pointers about how to use it would really be nice. Like, some example how to SSH into a VM with a vsock.
3506499
to
61b2fd8
Compare
3e65a8d
to
9aab55d
Compare
Oh, the tests will probably fail. Retracting review from @martinpitt until I fix them. But it's ready for design review from @garrett |
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.
ee5bbcd
to
db9e532
Compare
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.
Thanks for solving the spinner problem.
Ideally, it'd check the checkbox when you click on the disabled number input and make cancel disabled whent he buttons are disabled too. But this is good enough and I'm going on PTO and I don't want to hold this up any longer. If you want to address those in follow-ups, that would be nice.
👍 Thanks! Looks good!
dfb4a5d
to
acc01c3
Compare
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.
Thanks for the updates! This is that →← close from perfection. But let's let the current test run finish, to check for green-ness.
The vsock facilitates communication between virtual machines and the host they are running on independent of virtual machine network configuration. Fixes https://issues.redhat.com/browse/COCKPIT-894
Cheers! Code changes LGTM, nice to split it out into a helper and re-use it. Tests are still failing, once they get green, I'm happy! |
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.
Dakujem!
Vsock device support
Virtual socket support enables communication between the host and guest over a socket. Cockpit Machines now has support for setting up such a device.
The user can choose to configure a custom identifier, or let have it assigned automatically upon a VM's boot. The identifier is used by the host to uniquely identify vsock of a specific guest.
Please note that vsock still requires special vsock-aware software (e.g. socat) to communicate over the socket.