自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 OpenStack之Nova分析——Nova Scheduler调度算法

上篇文章介绍了Nova Scheduler服务的启动流程,我们知道Nova Scheduler服务作为一个调度者,其核心便是调度算法。这篇文章我们就来分析一下Nova Scheduler服务的调度算法吧。在配置文件中,调度算法默认的驱动类是FilterScheduler,该类位于nova/nova/scheduler/filter_scheduler.py中。其算法的原理是比较简单的,就是“过

2015-01-28 16:14:34 7424

原创 OpenStack之Nova分析——Nova Scheduler服务启动

在继续介绍Nova虚拟机创建过程之前,我们来穿插一个很重要的内容,这就是Nova组件的“大脑”——Nova Scheduler(调度器)。它是我们后续分析虚拟机创建的基础。这个子服务的作用前面已经介绍过,从其名称也可以看出该子服务就是负责调度各子服务工作的。Nova Scheduler属于RPC服务(至于什么是RPC服务可以关注我之前的文章),这篇文章我们先来分析一下Nova Schedule

2015-01-27 16:16:00 4489

原创 OpenStack之Nova分析——创建虚拟机(四)

上篇文章我们分析完了_validate_and_provision_instance方法,回到_create_instance方法,我们来回顾一下这个方法class API(base.Base): def _create_instance(self,context,instance_type, ...): .

2015-01-27 15:01:00 1441

原创 OpenStack之Nova分析——创建虚拟机(三)

继续上篇文章谈到的_get_project_quotas方法,进入这个方法。def get_project_quotas(self, context, resources, project_id, quota_class=None, defaults=True, usages=T

2015-01-23 16:38:11 1348

原创 OpenStack之Nova分析——创建虚拟机(二)

接着上篇文章,我们来继续分析_create_instance方法。这个方法定义在nova/nova/compute/api.py中。class API(base.Base): def _create_instance(self,context,instance_type, ...): ... #验证

2015-01-22 10:11:11 1722

原创 OpenStack之Nova分析——创建虚拟机(一)

上篇文章主要介绍了Nova API的启动流程,这篇文章我们来分析一下一个虚拟机的创建产生过程是怎样的。由前一篇文章的分析,我们知道,处理HTTP请求的核心工作实际上都在底层的Controller对象中定义完成。Resource对象只是在Controller的基础上完成的封装,用来实现数据的序列化和反序列化。Controller类中,处理虚拟机创建请求的方法是create,该方法最终调用了Com

2015-01-20 16:04:55 3751

原创 OpenStack之Nova分析——Nova API服务

Nova是OpenStack中最核心的组件,可以说OpenStack中的其它组件都是为Nova服务的。所以Nova也是OpenStack最复杂的组件。Nova服务由多个子服务组成,这些子服务通过RPC实现通信,而其它组件(如glance等)是通过Nova对外提供的API,实际上就是RESTful API,实现与Nova的通信。所以可以看到,前面提到的OpenStack应用的两种通信方式(RPC、R

2015-01-19 15:51:01 2465 1

转载 OpenStack Eventlet分析(二)

转自http://blog.csdn.net/gaoxingnengjisuan/article/details/12914831上一篇博客OpenStack-Eventlet分析(1)以eventlet库中的spawn函数为代表,详细的介绍了spawn函数的运行过程。最终的重点是在hubs用来进行调度的一面,而hubs关于网络的一面还没有涉及。然而,上一篇只专注于每一行代码的执行流程了,

2015-01-19 14:44:58 652

转载 OpenStack Eventlet分析(一)

转自http://blog.csdn.net/gaoxingnengjisuan/article/details/12913275本来打算总结一下eventlet在OpenStack中的应用,正巧在网上找到几篇别人已经总结好的资料,而且总结的很好,这里直接转载过来。同时也向作者表示感谢。    Eventlet库在OpenStack服务中上镜率很高,尤其是在服务的多线程和WSGI Se

2015-01-19 14:34:23 825

原创 OpenStack之RESTful API调用(二)

接着上面的文章,我们继续来谈

2015-01-17 20:45:27 2146

原创 OpenStack之RESTful API调用(一)

前面两篇文章分析了OpenStack同一组件下不同模块之间的通信方式——RPC。这篇文章我们来继续看一下OpenStack中的另一种通信方式——RESTful API。在OpenStack中,RESTful API用于不同组件之间的通信。先来简单的了解一下REST吧。REST构建于HTTP协议之上,遵循并扩展和规范了传统HTTP协议中的标准方法,以下是RESTful API定义的标准方法:

2015-01-16 09:03:00 4091

原创 OpenStack之RPC调用(二)

我们接着上篇博文,下面来分析一下客户端4. 客户端:向主题服务器发送RPC请求主题消费者创建完成后,客户端就可以向RabbitMQ服务器发送RPC请求了。还是先来看一下client.pyclinet.py

2015-01-14 16:59:23 1281

原创 OpenStack之RPC调用(一)

众所周知,OpenStack的通信方式有两种,一种是基于HTTP协议的RESTFul API方式,另一种则是RPC调用。两种通信方式的应用场景有所不同,在OpenStack中,前者主要用于各组件之间的通信(如nova与glance的通信),而后者则用于同一组件中各个不同模块之间的通信(如nova组件中nova-compute与nova-scheduler的通信)。关于OpenStack

2015-01-13 09:00:35 5869 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除