Bug 1156280
Summary: | QEMU fail to synchronize from domain's RTC with 'virsh domtime $domain --sync' | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Sibiao Luo <sluo> | ||||||||||
Component: | qemu-kvm-rhev | Assignee: | Marcelo Tosatti <mtosatti> | ||||||||||
Status: | CLOSED WORKSFORME | QA Contact: | Virtualization Bugs <virt-bugs> | ||||||||||
Severity: | medium | Docs Contact: | |||||||||||
Priority: | medium | ||||||||||||
Version: | 7.1 | CC: | hhuang, juzhang, knoel, mprivozn, rhod, sluo, virt-maint, yvugenfi | ||||||||||
Target Milestone: | rc | ||||||||||||
Target Release: | --- | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2014-11-03 02:51:07 UTC | Type: | Bug | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Bug Depends On: | 1049040, 1071499, 1157918 | ||||||||||||
Bug Blocks: | |||||||||||||
Attachments: |
|
Description
Sibiao Luo
2014-10-24 04:18:22 UTC
Created attachment 950228 [details]
xml-configuration.txt
Created attachment 950229 [details]
win7-64bit-libvirtd.log
Created attachment 950230 [details]
rhel7-libvirtd.log
Also tried the rhel7 guest, please refer to attachment 950230 [details] for libvirt log.
# virsh domtime test --sync
error: internal error: unable to execute QEMU agent command 'guest-set-time': Invalid parameter type for 'time', expected: integer
Best Regards,
sluo
(In reply to Sibiao Luo from comment #0) > Description of problem: > Found this issue when try bug 1102411. > QEMU fail to synchronize from domain's RTC with 'virsh domtime $domain > --sync', it prompt error: internal error: unable to execute QEMU agent > command 'guest-set-time': unknown QEMU command error. > > Version-Release number of selected component (if applicable): > host info: > # uname -r && rpm -q qemu-kvm-rhev > 3.10.0-183.el7.x86_64 > qemu-kvm-rhev-2.1.2-4.el7.x86_64 > guest info: > win7 64bit > qemu-ga-win-7.0-9 > > How reproducible: > 100% > > Steps to Reproduce: > 1.launch a KVM guest with virsh. > # virsh create test.xml > Domain test created from test.xml > 2.install virtagent in guest and make sure the service start. > 3.execute 'virsh domtime $domain --sync' to synchronize from domain's RTC. > # virsh list > Id Name State > ---------------------------------------------------- > 3 test running > # virsh domtime test --sync > error: internal error: unable to execute QEMU agent command > 'guest-set-time': unknown QEMU command error > > Actual results: > after step 3, QEMU fail to synchronize from domain's RTC with 'virsh domtime > $domain --sync', it prompt error: internal error: unable to execute QEMU > agent command 'guest-set-time': unknown QEMU command error. > > Expected results: > It should no any error if synchronize from domain's RTC with 'virsh domtime > $domain --sync'. > vi > > Additional info: > # ps axu | grep qemu-kvm > qemu 5468 129 1.3 2704768 50524 ? Sl 12:17 0:06 > /usr/libexec/qemu-kvm -name test -S -machine > pc-i440fx-rhel7.1.0,accel=kvm,usb=off -m 2000 -realtime mlock=off -smp > 2,sockets=2,cores=1,threads=1 -object > memory-backend-ram,size=1000M,id=ram-node0 -numa > node,nodeid=0,cpus=0,memdev=ram-node0 -object > memory-backend-ram,size=1000M,id=ram-node1 -numa > node,nodeid=1,cpus=1,memdev=ram-node1 -uuid > d1a23b70-ab11-47a1-9ad7-0de528202542 -no-user-config -nodefaults -chardev > socket,id=charmonitor,path=/var/lib/libvirt/qemu/test.monitor,server,nowait > -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown > -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -boot strict=on > -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device > virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive > file=/home/win7-64.qcow2,if=none,id=drive-ide0-0-0,format=qcow2,cache=none > -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 > -netdev tap,fd=23,id=hostnet0 -device > virtio-net-pci,netdev=hostnet0,id=net0,mac=0a:01:38:b6:40:24,bus=pci.0, > addr=0x3 -chardev > socket,id=charchannel0,path=/var/lib/libvirt/qemu/test.agent,server,nowait > -device > virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0, > name=org.qemu.guest_agent.0 -device usb-tablet,id=input0,bus=usb.0,port=2 > -vnc 127.0.0.1:0 -device > qxl-vga,id=video0,ram_size=67108864,vram_size=9437184,bus=pci.0,addr=0x2 > -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -msg timestamp=on This is probably due to an old version of qemu guest agent. Can you update to the newest release? (In reply to Marcelo Tosatti from comment #5) > (In reply to Sibiao Luo from comment #0) > > This is probably due to an old version of qemu guest agent. > > Can you update to the newest release? I just use the latest qemu-ga-win-7.0-9[1] verison. [1] qemu-ga-win package: https://brewweb.devel.redhat.com/packageinfo?packageID=44209 # virsh domtime test --sync error: internal error: unable to execute QEMU agent command 'guest-set-time': unknown QEMU command error Best Regards, sluo Sibiao, Marcelo suggested that with the RHEL7 guest you will try the latest Guest-Agent. Yan, Is the Windows-GA fully in sync with the Linux one? Does it support guest-set-time? Do you know if Libvirt first queries for the GA's capabilities, or does it simply fail upon execution? (In reply to Ronen Hod from comment #8) > Sibiao, > Marcelo suggested that with the RHEL7 guest you will try the latest > Guest-Agent. > > Yan, > Is the Windows-GA fully in sync with the Linux one? Does it support > guest-set-time? Do you know if Libvirt first queries for the GA's > capabilities, or does it simply fail upon execution? Ronen, Qemu-ga Windows build is missing support for the code. I've reopened https://bugzilla.redhat.com/show_bug.cgi?id=1071499 to include the necessary patches. (In reply to Marcelo Tosatti from comment #5) > (In reply to Sibiao Luo from comment #0) > This is probably due to an old version of qemu guest agent. > > Can you update to the newest release? Sibiao Luo, What about RHEL-7 ? The latest version of qemu-guest-agent includes code for 'guest-set-time' without parameters. Fighting with bugzilla and requesting needinfo again. (In reply to Marcelo Tosatti from comment #11) > (In reply to Marcelo Tosatti from comment #5) > > (In reply to Sibiao Luo from comment #0) > > > This is probably due to an old version of qemu guest agent. > > > > Can you update to the newest release? > > Sibiao Luo, > > What about RHEL-7 ? > > The latest version of qemu-guest-agent includes code for 'guest-set-time' > without parameters. See bug 1102411#c21. ######for windows guest: # virsh resume test && virsh domtime test --sync Domain test resumed error: internal error: unable to execute QEMU agent command 'guest-set-time': unknown QEMU command error ######for rhel guest: # virsh domtime test --sync error: internal error: unable to execute QEMU agent command 'guest-set-time': Invalid parameter type for 'time', expected: integer Best Regards, sluo There are three bugs[1] for supporting guest-set-time command in rhel7. [1]Related bugs: 1.virtio-win: Bug 1071499 - qemu guest agent for Windows should support guest-set-time command 2.qemu-kvm: Bug 1093078 - RHEL7.1: backport guest-set-time command to qemu-guest-agent 3.qemu-kvm-rhev: Bug 1157918 - RHEL7.1: backport guest-set-time command to qemu-guest-agent Best Regards, sluo (In reply to Sibiao Luo from comment #15) > There are three bugs[1] for supporting guest-set-time command in rhel7. > > [1]Related bugs: > 1.virtio-win: Bug 1071499 - qemu guest agent for Windows should support > guest-set-time command > 2.qemu-kvm: Bug 1093078 - RHEL7.1: backport guest-set-time command to > qemu-guest-agent Bug 1049040 - (TimeSyncAfterResume) Time sync after resuming from suspend > 3.qemu-kvm-rhev: Bug 1157918 - RHEL7.1: backport guest-set-time command to > qemu-guest-agent Bug 1157918 - (TimeSyncAfterResume) Time sync after resuming from suspend > > Best Regards, > sluo (In reply to Sibiao Luo from comment #14) > (In reply to Marcelo Tosatti from comment #11) > > (In reply to Marcelo Tosatti from comment #5) > > > (In reply to Sibiao Luo from comment #0) > > > > > This is probably due to an old version of qemu guest agent. > > > > > > Can you update to the newest release? > > > > Sibiao Luo, > > > > What about RHEL-7 ? > > > > The latest version of qemu-guest-agent includes code for 'guest-set-time' > > without parameters. > > See bug 1102411#c21. > ######for windows guest: > # virsh resume test && virsh domtime test --sync > Domain test resumed > > error: internal error: unable to execute QEMU agent command > 'guest-set-time': unknown QEMU command error > ######for rhel guest: > # virsh domtime test --sync > error: internal error: unable to execute QEMU agent command > 'guest-set-time': Invalid parameter type for 'time', expected: integer > > Best Regards, > sluo Can you test a recent RHEL 7.1 guest please? Should probably update qemu-guest-agent for RHEL 7.0 as well, thanks. (In reply to Marcelo Tosatti from comment #19) > (In reply to Sibiao Luo from comment #14) > > (In reply to Marcelo Tosatti from comment #11) > > > (In reply to Marcelo Tosatti from comment #5) > > > > (In reply to Sibiao Luo from comment #0) > > > > > > > This is probably due to an old version of qemu guest agent. > > > > > > > > Can you update to the newest release? > > > > > > Sibiao Luo, > > > > > > What about RHEL-7 ? > > > > > > The latest version of qemu-guest-agent includes code for 'guest-set-time' > > > without parameters. > > > > See bug 1102411#c21. > > ######for windows guest: > > # virsh resume test && virsh domtime test --sync > > Domain test resumed > > > > error: internal error: unable to execute QEMU agent command > > 'guest-set-time': unknown QEMU command error > > ######for rhel guest: > > # virsh domtime test --sync > > error: internal error: unable to execute QEMU agent command > > 'guest-set-time': Invalid parameter type for 'time', expected: integer > > > > Best Regards, > > sluo > > Can you test a recent RHEL 7.1 guest please? > > Should probably update qemu-guest-agent for RHEL 7.0 as well, thanks. Retried the qemu-guest-agent-2.1.0-4.el7.x86_64 on rhel7.1 which work well. host info: # uname -r && rpm -q qemu-kvm-rhev 3.10.0-191.el7.x86_64 qemu-kvm-rhev-2.1.2-5.el7.x86_64 guest info: 3.10.0-191.el7.x86_64 qemu-guest-agent-2.1.0-4.el7.x86_64 host ]# virsh create test.xml Domain test created from test.xml host ]# virsh list Id Name State ---------------------------------------------------- 5 test running guest]# systemctl start qemu-guest-agent.service host ]# virsh domtime test --sync host ]# grep guest-set-time /var/log/libvirt/libvirtd.log 2014-10-28 05:47:37.140+0000: 12992: debug : virJSONValueToString:1303 : result={"execute":"guest-set-time"} 2014-10-28 05:47:37.140+0000: 12992: debug : qemuAgentCommand:1104 : Send command '{"execute":"guest-set-time"}' for write, seconds = -2 I will attach the libvirtd log later. Best Regards, sluo Created attachment 951251 [details]
qemu-guest-agent-2.1.0-4-libvirtd.log
(In reply to Ronen Hod from comment #8) > Sibiao, > Marcelo suggested that with the RHEL7 guest you will try the latest > Guest-Agent. > > Yan, > Is the Windows-GA fully in sync with the Linux one? No. > Does it support > guest-set-time? Yes. But it must receive a parameter. > Do you know if Libvirt first queries for the GA's > capabilities, or does it simply fail upon execution? I don't know. (In reply to Yan Vugenfirer from comment #22) > (In reply to Ronen Hod from comment #8) > > Sibiao, > > Marcelo suggested that with the RHEL7 guest you will try the latest > > Guest-Agent. > > > > Yan, > > Is the Windows-GA fully in sync with the Linux one? > > No. > > > Does it support > > guest-set-time? > > Yes. But it must receive a parameter. Does it? I recall I've patched windows-ga on upstream, but I don't know its status in downstream. > > > > Do you know if Libvirt first queries for the GA's > > capabilities, or does it simply fail upon execution? > > I don't know. It does not. Libvirt blindly executes the GA command. Moreover, there's no way to check what commands does qemu-ga support as there's no 'query-commands' in qemu-ga. And even if there was such command, by the time libvirt checks that command and executes the 'guest-set-time' command qemu-ga might be downgraded or something. So there's no guarantee in checking the command availability upfront. (In reply to Sibiao Luo from comment #20) > (In reply to Marcelo Tosatti from comment #19) > > (In reply to Sibiao Luo from comment #14) > > > (In reply to Marcelo Tosatti from comment #11) > > > > (In reply to Marcelo Tosatti from comment #5) > > > > > (In reply to Sibiao Luo from comment #0) > > > > > > > > > This is probably due to an old version of qemu guest agent. > > > > > > > > > > Can you update to the newest release? > > > > > > > > Sibiao Luo, > > > > > > > > What about RHEL-7 ? > > > > > > > > The latest version of qemu-guest-agent includes code for 'guest-set-time' > > > > without parameters. > > > > > > See bug 1102411#c21. > > > ######for windows guest: > > > # virsh resume test && virsh domtime test --sync > > > Domain test resumed > > > > > > error: internal error: unable to execute QEMU agent command > > > 'guest-set-time': unknown QEMU command error > > > ######for rhel guest: > > > # virsh domtime test --sync > > > error: internal error: unable to execute QEMU agent command > > > 'guest-set-time': Invalid parameter type for 'time', expected: integer > > > > > > Best Regards, > > > sluo > > > > Can you test a recent RHEL 7.1 guest please? > > > > Should probably update qemu-guest-agent for RHEL 7.0 as well, thanks. > Retried the qemu-guest-agent-2.1.0-4.el7.x86_64 on rhel7.1 which work well. > > host info: > # uname -r && rpm -q qemu-kvm-rhev > 3.10.0-191.el7.x86_64 > qemu-kvm-rhev-2.1.2-5.el7.x86_64 > guest info: > 3.10.0-191.el7.x86_64 > qemu-guest-agent-2.1.0-4.el7.x86_64 > > host ]# virsh create test.xml > Domain test created from test.xml > host ]# virsh list > Id Name State > ---------------------------------------------------- > 5 test running > > guest]# systemctl start qemu-guest-agent.service > > host ]# virsh domtime test --sync > > host ]# grep guest-set-time /var/log/libvirt/libvirtd.log > 2014-10-28 05:47:37.140+0000: 12992: debug : virJSONValueToString:1303 : > result={"execute":"guest-set-time"} > 2014-10-28 05:47:37.140+0000: 12992: debug : qemuAgentCommand:1104 : Send > command '{"execute":"guest-set-time"}' for write, seconds = -2 > > I will attach the libvirtd log later. > > Best Regards, > sluo Sibiao, Can you close the bug? Please proceed with test for the Windows version at https://bugzilla.redhat.com/show_bug.cgi?id=1071499 (In reply to Marcelo Tosatti from comment #24) > (In reply to Sibiao Luo from comment #20) > > (In reply to Marcelo Tosatti from comment #19) > > > (In reply to Sibiao Luo from comment #14) > > > > (In reply to Marcelo Tosatti from comment #11) > > > > > (In reply to Marcelo Tosatti from comment #5) > > > > > > (In reply to Sibiao Luo from comment #0) > > > > > > > > > > > This is probably due to an old version of qemu guest agent. > > > > > > > > > > > > Can you update to the newest release? > > > > > > > > > > Sibiao Luo, > > > > > > > > > > What about RHEL-7 ? > > > > > > > > > > The latest version of qemu-guest-agent includes code for 'guest-set-time' > > > > > without parameters. > > > > > > > > See bug 1102411#c21. > > > > ######for windows guest: > > > > # virsh resume test && virsh domtime test --sync > > > > Domain test resumed > > > > > > > > error: internal error: unable to execute QEMU agent command > > > > 'guest-set-time': unknown QEMU command error > > > > ######for rhel guest: > > > > # virsh domtime test --sync > > > > error: internal error: unable to execute QEMU agent command > > > > 'guest-set-time': Invalid parameter type for 'time', expected: integer > > > > > > > > Best Regards, > > > > sluo > > > > > > Can you test a recent RHEL 7.1 guest please? > > > > > > Should probably update qemu-guest-agent for RHEL 7.0 as well, thanks. > > Retried the qemu-guest-agent-2.1.0-4.el7.x86_64 on rhel7.1 which work well. > > > > host info: > > # uname -r && rpm -q qemu-kvm-rhev > > 3.10.0-191.el7.x86_64 > > qemu-kvm-rhev-2.1.2-5.el7.x86_64 > > guest info: > > 3.10.0-191.el7.x86_64 > > qemu-guest-agent-2.1.0-4.el7.x86_64 > > > > host ]# virsh create test.xml > > Domain test created from test.xml > > host ]# virsh list > > Id Name State > > ---------------------------------------------------- > > 5 test running > > > > guest]# systemctl start qemu-guest-agent.service > > > > host ]# virsh domtime test --sync > > > > host ]# grep guest-set-time /var/log/libvirt/libvirtd.log > > 2014-10-28 05:47:37.140+0000: 12992: debug : virJSONValueToString:1303 : > > result={"execute":"guest-set-time"} > > 2014-10-28 05:47:37.140+0000: 12992: debug : qemuAgentCommand:1104 : Send > > command '{"execute":"guest-set-time"}' for write, seconds = -2 > > > > I will attach the libvirtd log later. > > > > Best Regards, > > sluo > > Sibiao, > > Can you close the bug? > > Please proceed with test for the Windows version at > > https://bugzilla.redhat.com/show_bug.cgi?id=1071499 OK, thanks, close it. |