Currently, the usual way to communicate with VM instances in the cloud from outside is ssh. This is okay for most uses, but a) does not work when you mess up with the guest's ability to network and b) requires a free floating IP.
I wonder if, for qemu/kvm instances, it would be possible to use virtio-serial possibilities : from the guest, it is seen as a serial port, and from the outside, it is seen as a UNIX socket, or as something else. It is fast, as it does not go through virtualization and device drivers.
Maybe that exists already, or people are already working on it. Maybe that's what they already use for the "console" in the cloud dashboard (or do they use VNC?). I did not investigate much yet. That seems to be a complicated hackweek project, so perharps it will not get past the investigation phase.
If it succeeds, it will have an immediate appication for SLEnkins cloud backend (virtio already works for the local backend).
This project is part of:
Hack Week 12 Hack Week 14
Activity
Comments
-
over 8 years ago by ebischoff | Reply
OK, first results. I have been able to create a virtio channel in a cloud instance. It is commanded by a new setting in the cloud flavour,
hw_channel:enabled
set toTrue
or toFalse
.Now a few problems remain:
- unicity: choose the name of the UNIX domain socket outside of the VM so each instance has its own
- housekeeping: remove the socket when instance goes down
- communication: how to communicate with the socket, given that the socket is on the compute node and the program wanting to use it is likely to be outside of the cloud
The third problem might be solved by using socat running in background or a handmade proxy (testbus approach). Or by not using UNIX domain sockets :-) but e.g. TCP sockets. This needs investigation and will be next step.
I'll create a project in gitlab to save my code and document my findings.
-
over 8 years ago by e_bischoff | Reply
I made it listen on a TCP port. Now I need to forward somehow this port to the outside.
Similar Projects
This project is one of its kind!