Havana中VM的reboot分析

Havana中VM的reboot分析

ID:37726648

大小:41.50 KB

页数:6页

时间:2019-05-29

Havana中VM的reboot分析_第1页
Havana中VM的reboot分析_第2页
Havana中VM的reboot分析_第3页
Havana中VM的reboot分析_第4页
Havana中VM的reboot分析_第5页
资源描述:

《Havana中VM的reboot分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Havana中VM的reboot分析2013.10.27本文主要是对比OpenStack的E版本和H版本中实例reboot的代码实现过程,从中可以看出OpenStack在各个版本迭代过程中,变得越来越稳定!同时也希望能给还在被Essex的各种bug折磨的童鞋们一点参考。做了注释的地方就是H比E处理得好的方法。Havana中VM的rebootdefreboot(self,context,instance,network_info,reboot_type='SOFT',block_device_info=None,bad_volumes_callback=None):"""Rebootavirt

2、ualmachine,givenaninstancereference."""ifreboot_type=='SOFT':#NOTE(vish):Thiswillattempttodoagracefulshutdown/restart.###此处处理_create_domain()运行时产生的异常#当有异常产生时,设置soft_reboot_success为False,表示softreboot失败,用hardreboot实例,这一点在Essex中是没有的。try:soft_reboot_success=self._soft_reboot(instance)exceptlibvirt.libv

3、irtErrorase:LOG.debug(_("Instancesoftrebootfailed:%s"),e)soft_reboot_success=False#softreboot失败后用hardrebootifsoft_reboot_success:LOG.info(_("Instancesoftrebootedsuccessfully."),instance=instance)returnelse:LOG.warn(_("Failedtosoftrebootinstance.""Tryinghardreboot."),instance=instance)returnself._ha

4、rd_reboot(context,instance,network_info,block_device_info)def_soft_reboot(self,instance):"""Attempttoshutdownandrestarttheinstancegracefully.Weuseshutdownandcreateheresowecanreturniftheguestrespondedandactuallyrebooted.Notethatthismethodonlysucceedsiftheguestrespondstoacpi.Thereforewereturnsuccesso

5、rfailuresowecanfallbacktoahardrebootifnecessary.:returns:Trueiftherebootsucceeded"""dom=self._lookup_by_name(instance["name"])(state,_max_mem,_mem,_cpus,_t)=dom.info()state=LIBVIRT_POWER_STATE[state]old_domid=dom.ID()#NOTE(vish):Thischeckallowsustorebootaninstancethat#isalreadyshutdown.ifstate==pow

6、er_state.RUNNING:dom.shutdown()#shutdown正常关闭虚拟机#NOTE(vish):Thisactuallycouldtakeslightylongerthanthe#FLAGdefinesdependingonhowlongtheget_info#calltakestoreturn.self._prepare_pci_devices_for_use(pci_manager.get_instance_pci_devs(instance))forxinxrange(CONF.libvirt_wait_soft_reboot_seconds):dom=self.

7、_lookup_by_name(instance["name"])(state,_max_mem,_mem,_cpus,_t)=dom.info()state=LIBVIRT_POWER_STATE[state]new_domid=dom.ID()#NOTE(ivoks):BycheckingdomainIDs,wemakesureweare#notrecreatingdomainthat'salreadyr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。