On Fri, Dec 13, 2013 at 07:16:22AM -0500, Zhenfeng Wang wrote: > Hi > I met a issue that while shutdown/reboot a guest which was in pmsuspended status with the acpi mode, > the virsh command appears executed successfully, actually, the guest keep in pmsuspended status and > it didn't shutoff the guest.Then I did the upper operation on my physical host, find the host will > be waked up from the pmsuspended stuatus while i type the shutdown button , so maybe that's the expect > result that the guest can't be shutdown successfully in pmsuspended status. So I think it should report > a proper error or wake up the guest while we shutdown a guest which was in pmsuspended status. Since i'm > not sure about this issue, so i hope you give me some advise to decide that whether we have necessary to > track this issue, thanks. > > pkginfo > kernel-3.6.10-4.fc18.x86_64 > libvirt-1.1.4-2.fc21.x86_64 > qemu-1.4.0-5.fc20.x86_64 > > steps > 1.Prepare a running guest > # virsh list --all > Id Name State > ---------------------------------------------------- > 6 rhel7 running > > # vrish dumpxml rhel7 > -- > <pm> > <suspend-to-mem enabled='yes'/> > <suspend-to-disk enabled='yes'/> > </pm> > > -- > <channel type='unix'> > <source mode='bind' path='/var/lib/libvirt/qemu/rhel7.agent'/> > <target type='virtio' name='org.qemu.guest_agent.0'/> > <alias name='channel1'/> > <address type='virtio-serial' controller='0' bus='0' port='1'/> > </channel> > > 2.Install the qemu-guest-agent packet in the guest, then start the qemu-guest-agent service > #systemctl start qemu-guest-agent > > 3.Do the S3 with the guest > # virsh dompmsuspend rhel7 --target mem > Domain rhel7 successfully suspended > # virsh list > Id Name State > ---------------------------------------------------- > 30 rhel7 pmsuspended > This looks ok, I guess the guest is properly pm-suspended, right? > > > 4.Shutdown the guest with acpi, The command also appears executed successfully, actually, it didn't shutoff the guest > I think it shoud report error here if the guest can't be shutdown successfully. > > # virsh shutdown rhel7 --mode acpi > Domain rhel7 is being shutdown > > # echo $? > 0 I suspect you did this *after* you pmsuspended the guest, right? > # virsh list > Id Name State > ---------------------------------------------------- > 30 rhel7 pmsuspended > > Check the libvirtd's log, we can see the following log > 2013-12-13 10:11:46.004+0000: 25134: debug : qemuMonitorJSONIOProcessLine:175 : QEMU_MONITOR_RECV_REPLY: mon=0x7f824800c190 reply={"return": {}, "id": "libvirt-9"} > 2013-12-13 10:11:46.004+0000: 25134: debug : qemuMonitorJSONIOProcessLine:155 : Line [{"timestamp": {"seconds": 1386929506, "microseconds": 3807}, "event": "POWERDOWN"}] > 2013-12-13 10:11:46.004+0000: 25134: debug : virJSONValueFromString:975 : string={"timestamp": {"seconds": 1386929506, "microseconds": 3807}, "event": "POWERDOWN"} > 2013-12-13 10:11:46.005+0000: 25134: debug : qemuMonitorJSONIOProcessLine:170 : QEMU_MONITOR_RECV_EVENT: mon=0x7f824800c190 event={"timestamp": {"seconds": 1386929506, "microseconds": 3807}, "event": "POWERDOWN"} > If my presumptions are true than I must say this works as expected. Let me explain. The thing is that if you issue shutdown --mode acpi, it does the same thing as pressing a hardware poweroff button. Apart from the fact that it only means shutdown and it won't start the domain back. But that doesn't matter. You are sending ACPI event to a domain which is not running, thus it cannot respond to your request. Martin
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list