#64 Migrate to qemu session URI
Closed: Fixed 4 years ago by frantisekz. Opened 4 years ago by mvadkert.

Would it be possible, if testcloud would use qemu:///session ? Seems it would solve the onboarding issue for users, who would not need to take additional steps to make qemu working on their localhost:

https://blog.wikichoon.com/2016/01/qemusystem-vs-qemusession.html

We are now hitting this issues with our new users:

https://github.com/psss/tmt/issues/296


Metadata Update from @frantisekz:
- Issue assigned to frantisekz

4 years ago

Just a note, qemu:///session seems to need qemu-bridge-helper (https://jonaspfannschmidt.com/libvirt_session.html) otherwise network doesn't work well.

IMHO qemu session vs system should be configurable.

It is configurable, the --help output just doesn't make it clear and what the default value is:

from cli.py:

    instarg.add_argument("-c",
                         "--connection",
                         default="qemu:///system",
                         help="libvirt connection url to use")
$ testcloud instance --help
usage: testcloud instance [-h] [-c CONNECTION] {list,start,stop,remove,destroy,clean,reboot,create} ...

optional arguments:
  -h, --help            show this help message and exit
  -c CONNECTION, --connection CONNECTION
                        libvirt connection url to use

Similarly, most functions and classes have a connection= option that can be provided.

The question is whether it works, because it's most probably very untested. Another option that can be tried is to set LIBVIRT_DEFAULT_URI=qemu:///session envvar for the testcloud process (or if you import it in python, for your whole python script). Does one of these options help?

Well, i've tried connection=qemu:///session but tmt.testcloud but I didn't receive IP address :/

If you use libvirt with qemu:///session outside of testcloud (e.g. through virt-manager), does your networking work fine in there?

So i've tried gnome-boxes - and I receive IP however I'm not able to ping it from host machine.
That's quite a show stopper :/

Ping doesn't work in session mode, due to how icmp is handled in Linux. It shouldn't be hard to find more details about this. But that doesn't mean networking doesn't work. You just must not test with ping.

Oh, I might have misunderstood. In session mode, you can't ping from the VM guest to the outside (but you can use TCP/IP just fine). If you want to ping from your host machine towards your VM, a) I'm not sure if that's possible in session mode at all (similarly to the outgoing ping), b) or you might need to set up networking in some specific way, and I'm no expert to networking so I can't really help you. That's why I always used system mode, because it just worked better.

It's still possible that session mode is broken in testcloud (@frantisekz @lbrabec can you test?), but when testing this, don't use ping and also try to compare to a session mode e.g. in libvirt, so that we know if this is a testcloud problem or not.

Log in to comment on this ticket.

Metadata
Related Pull Requests
  • #83 Merged 4 years ago