Arnaud:
> Dear Tails,
> 
> I'd like to propose a little improvement to the Tails Builder VM.
> 
> My use-case is that I build Tails locally on my laptop. My concern is a
> little lack of convenience: if ever I forget to close the Tails Builder
> VM (using `rake vm:halt`) after I'm done, the laptop gets stuck at
> shutdown. I can see these log messages:
> 
>     libvirt-guests.sh: Waiting for guest xxx to shut down, 300 seconds left
>     libvirt-guests.sh: Waiting for guest xxx to shut down, 295 seconds left
>     ...

Another way to work around this is to set `SHUTDOWN_TIMEOUT=0` in 
`/etc/default/libvirt-guests`.

> So basically, what happens is that systemd tries to stop libvirt guests,
> by invoking `/etc/init.d/libvirt-guests stop`. This script ends up in
> invoking `virsh shutdown tails-builder-...`. And this command fails.
> 
> This is something you can verify by yourself easily. Launch the VM
> (`rake vm:up`), then try various ways to stop it. Commands that allow to
> stop the VM, from the higher-level to the lower-level, are:
> - OK: rake vm:halt
> - OK: vagrant halt <vm-id>
> - KO: virsh -c qemu:///system shutdown <name>
>
> At the libvirt level, stopping the VM doesn't work. To start with,
> anyone can confirm that, or am I the only one having this behavior ?
> 
> After a bit of digging and experimenting, it turns out that this is not
> a bug, just the expected behavior. It seems that libvirt tries to
> shutdown the VM by speaking to the QEmu Guest Agent, which is not
> installed on the VM. So nothing happens, and the libvirt shutdown script
> gets stuck there, and my laptop doesn't shutdown.
> 
> So !
> 
> I did just that, installed the QEmu guest agent on the VM, enabled it in
> the Vagrantfile, and since then my life is so much better, and my laptop
> shuts down reliably and peacefully. It's a real improvement to me.
> 
> Are you guys interested in enabling that upstream ? Should I open a
> ticket along with the patch ? Or is there some reasons why you didn't
> enable the QEmu guest agent in the first place ?

If the fix I proposed above isn't good enough for you, I suggest you wait and 
return to this issue in a few months -- there's an ongoing rework of how we use 
Vagrant which moves in the direction where each build will start with a 
completely fresh (first boot) builder VM, and whenever a build finishes 
(success or not) the VM is immediately destroyed and undefined. So I think your 
problem will just go away once this work is merged into our main branches. Fair 
enough?

Cheers!

_______________________________________________
Tails-dev mailing list
Tails-dev@boum.org
https://mailman.boum.org/listinfo/tails-dev
To unsubscribe from this list, send an empty email to 
tails-dev-unsubscr...@boum.org.

Reply via email to