Red Hat Bugzilla – Bug 1046192
Can't set the timer base as localtime once localtime is used in the variable attribute.
Last modified: 2015-03-05 02:29:18 EST
Description of problem: Can't set the timer base as localtime once localtime is used in the variable attribute. Version-Release number of selected component (if applicable): # rpm -qa libvirt qemu-kvm qemu-kvm-1.5.3-30.el7.x86_64 libvirt-1.1.1-16.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.Add the following element in the healthy domian <clock offset='variable' adjustment='3600' basis='localtime'/> 2.# virsh start rhel error: Failed to start domain rhel error: unsupported configuration: unsupported clock basis 'localtime' 3. 3.1In libvirt.org, here's the description "Since 0.9.11 the basis attribute can be either 'utc' (default) or 'localtime'. " 3.2# man qemu-kvm | grep localtime -rtc [base=utc|localtime|date][,clock=host|vm][,driftfix=none|slew] Specify base as "utc" or "localtime" to let the RTC start at the current UTC or local time, respectively. 3.3 change the clock setting as <clock offset='localtime'/>, start the guest. The base is set as localtime in the qemu cml. # ps -aux | grep win| grep rtc ...-rtc base=localtime Actual results: Can't set the timer base as localtime once localtime is used in the variable attribute. Expected results: From step 3, localtime base should be supported. Additional info:
Patch proposed upstream: https://www.redhat.com/archives/libvir-list/2014-February/msg00250.html
I've just pushed patches upstream: commit e505db0f6c26196287524eef214dd90f9c016cbb Author: Michal Privoznik <mprivozn@redhat.com> AuthorDate: Wed Feb 5 15:18:46 2014 +0100 Commit: Michal Privoznik <mprivozn@redhat.com> CommitDate: Thu Feb 6 08:22:22 2014 +0100 qemuxml2argvtest: Test localtime clock basis When trying to introduce a test for previous patch, I've noticed that the command line is constructed using current time. This won't work in our test suite (unless you guys wants to set a specific time prior to each test run :) ). Therefore we need to mock calls to time(2) to return the same value every time it's called. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> commit 51bea5df5d21093bb30e4883aff19f935e811725 Author: Michal Privoznik <mprivozn@redhat.com> AuthorDate: Wed Feb 5 15:30:11 2014 +0100 Commit: Michal Privoznik <mprivozn@redhat.com> CommitDate: Thu Feb 6 07:51:07 2014 +0100 qemuBuildClockArgStr: Allow localtime clock basis https://bugzilla.redhat.com/show_bug.cgi?id=1046192 Commit b8bf79a, which adds clock='variable', forgets to check localtime basis in qemuBuildClockArgStr(). So that localtime basis could not be used. Reported-by: Jincheng Miao <jmiao@redhat.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com> v1.2.1-121-ge505db0
According to https://bugzilla.redhat.com/show_bug.cgi?id=964177#c44 , The basis='localtime' works well in latest libvirt-1.2.7-1.el7. So I change the status to VERIFIED.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0323.html