4

I'm having a problem configuring custom path to qemu-system-x86_64.

$ echo $PATH
/usr/local/TEST:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
$ which qemu-system-x86_64
/usr/local/TEST/qemu-system-x86_64

Seems to work in console. But after restarting libvirt, I can see following errors in syslog:

libvirt version: 2.5.0, package: 3ubuntu5.5~cloud0 (Openstack Ubuntu Testing Bot <openstack-testing-bot@ubuntu.com> Fri, 18 Aug 2017 13:59:48 +0000)    
Cannot check QEMU binary /usr/bin/qemu-system-x86_64: No such file or directory

This causes libvirt to give empty capabilities. Is there any trick to make $PATH work? I don't see any hard-coded paths in source code.

Thank you.

muru
  • 197,895
  • 55
  • 485
  • 740
Seitan
  • 41

1 Answers1

0

Okay, this seems not libvirt related after all.
This is a way systemd works.
Systemd ignores default environment variables. It also ignores /etc/environment settings.
You have to explicitly configure libvirt-bin service file to contain variables you require:

[Service]
Environment="PATH=/usr/local/TEST:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin"

You can also specify default environment file:

[Service]
EnvironmentFile=/etc/environment

Things you learn each day...

Seitan
  • 41