hi, 

This is xuesong from libvirt-QE, which is the feature owner of stable guest ABI 
in rhel7.
I met one issue, but didn't know whether it is one bug or not, since in Guest 
ABI , some aspects belong to "a host-side configuration parameter".
So, would you please kindly help to check it? Thanks.

Description
While check the guest clock ABI stability, some scenario fails.

version
kernel-3.8.0-0.43.el7.x86_64
qemu-kvm-1.3.0-6.el7.x86_64
libvirt-1.0.3-1.el7.x86_64

reproduced
100%

Steps
1. prepare migration env on two hosts.

2. prepare one guest with the parallel.
......
<clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup' track='guest'>
      <catchup threshold='123' slew='120' limit='10000'/>
    </timer>
    <timer name='pit' tickpolicy='delay'/>
  </clock>
....

3. start and dumpxml this gust
# virsh start mig
Domain mig started
# virsh dumpxml mig > mig.xml

4. Change "localtime" to "utc" in the generated xml "mig.xml".
......
<clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup' track='guest'>
      <catchup threshold='123' slew='120' limit='10000'/>
    </timer>
    <timer name='pit' tickpolicy='delay'/>
  </clock>
....

5. migration with the modified xml is successfully.------------------it is 
issue, should prompt error message.
# virsh migrate --live --xml mig.xml mig qemu+ssh://{$target host IP}/system 



6. run step3 again, then change timer name "pit" to "platform". Note, maker 
sure only one change point in the xml. then migration with the modified xml. 
----------------this result is as expect
# virsh migrate mig --live  --xml mig.xml qemu+ssh://10.66.83.38/system
error: unsupported configuration: Target timer platform does not match source 
pit

7. run step3 again, then delete timer name "pit". Note, maker sure only one 
change point in the xml. then migration with the modified 
xml.-----------------the result is as expect
#virsh migrate mig --live  --xml mig.xml qemu+ssh://10.66.83.38/system
error: unsupported configuration: Target domain timers do not match source

8. run step3 again, then change timer track from "guest" to "wall". Note, maker 
sure only one change point in the xml. then migration with the modified xml.
The migration is 
succssful.------------------------------------------------------------------------------------------------------------------it
 is issue, should prompt error message.
# virsh migrate --live --xml mig.xml mig qemu+ssh://{$target host IP}/system 

9. run step3 again, then change timer tickpolicy from "catchup" to "delay". 
Note, maker sure only one change point in the xml. then migration with the 
modified xml.
The migration is 
succssful.------------------------------------------------------------------------------------------------------------------it
 is issue, should prompt error message.
# virsh migrate --live --xml mig.xml mig qemu+ssh://{$target host IP}/system 


Actual result
The result in step 6 and 7 is as expected, the result of step 5, 8 and 9 is 
wrong.

Expect result
The clock element stability in step 5, 8 and 9 need to be check before 
migration. 

Addtional info:

Below is all checks about clock in upstream 1.0.4 maint branch:
In timer check 
Function virDomainTimerDefCheckABIStability only check

1.NAME :src->name != dst->name
2.PRESENT :src->present != dst->present)
3.FREQUENCY :src->name == VIR_DOMAIN_TIMER_NAME_TSC) {
                if (src->frequency != dst->frequency)
             }

4.MODE src->mode != dst->mode

And in another function , check
timer's numbers
5.NUMBERS : src->clock.ntimers != dst->clock.ntimers




Best Regards,
Zhang Xuesong
IRC: xuzhang
internal phone: 88393

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to