Re: VM won't do autostart - help needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Tue, Feb 18, 2020 at 12:03 AM Michal Privoznik <mprivozn@xxxxxxxxxx> wrote:
On 2/17/20 8:20 PM, Yuri Weinstein wrote:
> Thanks Michal!
>
> See comments in line
>
> On Mon, Feb 17, 2020 at 9:23 AM Michal Privoznik <mprivozn@xxxxxxxxxx
> <mailto:mprivozn@xxxxxxxxxx>> wrote:
>
>     On 2/16/20 10:20 PM, Yuri Weinstein wrote:
>      > I used to have QEMU/KVM and Virtual Machine Manager running on
>     ubuntu
>      > 16.04 and used to start my VM from crontab as:
>      >
>      > @reboot sleep 30 && virsh start WINDOWS10
>
>     Libvirt has an autostart feature, which can start your domain on the
>     first time libvirtd is started (i.e. during boot).
>
>     virsh autostart WINDOWS10
>
>      >
>      > After upgrading to ubuntu 18.04 this stopped working, with error:
>      >
>      > error: failed to get domain 'WINDOWS10'
>      > error: Domain not found: no domain with matching name 'WINDOWS10'
>      >
>      > Running command as "virsh start WINDOWS10" works fine.
>      >
>
>     This is probably because cron doesn't run the command as root and hence
>     the virsh is no longer connecting to 'qemu:///system' but
>     'qemu:///session'. Change it to:
>
>     virsh -c qemu:///system start WINDOWS10
>
>
> I managed to force austart via Startup App as:
> sh -c "sleep 30 && /usr/bin/virsh start WINDOWS10"
>
> See your point about using root and/or 'qemu:///system' and will try it.
>
>
>     But I suggest using the autostart feature instead.
>
>
> This is the main issue - it does not work! :(  Tried via command line and UI
> You can see =>
> Autostart:      enable
>
> How can this be fixed and/or troubleshooted?

Oh, I've completely missed that. Sorry. What is your libvirt version?
Since v5.9.0 libvirt will autostart domains exactly once for every boot
of the host. I mean, when libvirtd is started it will check if
/var/run/libvirt/qemu/autostarted file exists and if it doesn't, it will
autostart all qemu domains with autostart enabled. If the file does
exist then no autostart is attempted.

My version show:
 virsh version
Compiled against library: libvirt 4.0.0
Using library: libvirt 4.0.0
Using API: QEMU 4.0.0
Running hypervisor: QEMU 2.11.1

Is it right?  I thought my system is up to date.
 

This usually works as expected - when host boots and starts libvirtd
service all domains are autostarted. And if libvirtd is restarted
afterwards no autostart is happening. If host reboots, /var/run should
be purged and the file with it. Therefore, autostart will be run after
reboot again.

Under what connection does your domain live? qemu:///system or
qemu:///session? Because if it is the latter then this won't work -
session daemon is not started automatically. However, if you are using
socket activated system daemon, then the daemon is not started on the
boot only on its first use and therefore autostart will be delayed until
then.

Michal

I can do 

virsh -c qemu:///system
and list --all shows my domains
 (virsh -c qemu:///session won't do it)

So I guess under qemu:///system


[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux