Josh Harshman created CLOUDSTACK-8978:
-----------------------------------------

             Summary: Make use of Hyper-V clock on KVM node
                 Key: CLOUDSTACK-8978
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8978
             Project: CloudStack
          Issue Type: Improvement
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: KVM
    Affects Versions: 4.5.2
         Environment: Ubuntu 14.04 LTS
            Reporter: Josh Harshman
            Priority: Minor


Currently, for any windows guest OS, we set RTC for the clock source.  This 
seems to contribute to clock-drift issues leading to BSODs on Windows Server 
2008 R2 Guests.

I believe a possible improvement would be to set Windows guests to use the 
hyper-v clock.  To do this we will need CloudStack to generate the appropriate 
Libvirt XML which would look somewhat like the following:
 <features>  
  <hyperv>  
   <relaxed state='on'/>  
   <vapic state='on'/>  
   <spinlocks state='on' retries='8191'/>  
  </hyperv>  
 <features/>  
 <clock ...>  
  <timer name='hypervclock' present='yes'/>  
 </clock>  

I believe the following code snippet from LibvirtComputingResource.java could 
be a starting place to implement this.

        if (vmTO.getOs().startsWith("Windows")) {
            clock.setClockOffset(ClockDef.ClockOffset.LOCALTIME);
            clock.setTimer("rtc", "catchup", null);

Let me know what you all think about this change.
Is there a better place / way to implement this?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to