自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nova源码分析--创建虚拟机(7)

文件./nova/virt/libvirt/driver.py中spawn()函数负责创建和启动虚拟机,代码如下: def spawn(self, context, instance, image_meta, injected_files, admin_password, network_info=None, block_device_info=None):...

2018-12-11 16:52:30 417

原创 nova源码分析--创建虚拟机(6)

继续分析文件./nova/conductor/api.py中的类ComputeTaskAPI中schedule_and_build_instances()函数,该函数挑选出物理节点后,再对请求条件做一系列的检测,然后给所有选中的物理节点发送一个rpc调用,代码如下: self.compute_rpcapi.build_and_run_instance( ...

2018-12-11 11:14:58 321

原创 nova源码分析--rpc(3)

客户端的代码最终调用文件./oslo_messaging/transport.py中类Transport的_send()函数发送调用请求,代码如下: def _send(self, target, ctxt, message, wait_for_reply=None, timeout=None, retry=None): if not tar...

2018-12-10 14:34:59 212

原创 nova源码分析--rpc(2)

schedule_and_build_instances()函数对应的服务端的代码在文件nova/conductor/manager.py中的类ComputeTaskManager中,现在分析一下类ComputeTaskManager中的函数如何成为服务端的函数。在文件./nova/cmd/conductor.py中定义了一个main()函数,这个函数在和在./nova/cmd/目录中其它的文...

2018-12-10 11:23:57 190

原创 nova源码分析--rpc(1)

nova中的虚拟机调度采用RPC机制,现在分析一下这部分代码的实现。self.compute_task_api.schedule_and_build_instances函数的定义在nova/conductor/api.py中的类ComputeTaskAPI中,代码如下: def schedule_and_build_instances(self, context, build_re...

2018-12-07 17:16:50 255

原创 nova源码分析--创建虚拟机(5)

self.compute_task_api.schedule_and_build_instances函数的定义在nova/conductor/api.py中的类ComputeTaskAPI中,代码如下: def schedule_and_build_instances(self, context, build_requests, ...

2018-12-07 15:41:45 868

原创 nova源码分析--创建虚拟机(4)

继续分析nova/compute/api.py文件中类API的_create_instance()函数,代码如下: base_options, max_net_count, key_pair, security_groups = \ self._validate_and_build_base_options( ...

2018-12-04 15:12:23 1073

翻译 nova源码分析--创建虚拟机(0)

以下内容来自OpenStack官方文档。在命令行创建虚拟机的命令如下:openstack server create (--image <image> | --image-property <key=value> | --volume <volume>) --flavor <flavor> [--security-g...

2018-11-22 15:29:07 470

原创 nova源码分析--创建虚拟机(3)

接上一篇文章继续分析文件nova/compute/api.py文件中的类API中的create()函数。 @hooks.add_hook("create_instance") def create(self, context, instance_type, image_href, kernel_id=None, ramdisk_id=None, ...

2018-11-21 15:34:56 385

原创 nova源码分析--创建虚拟机(2)

接上一篇文章继续分析文件nova/api/openstack/compute/servers.py中类ServersController中的create()函数。 self._create_by_func_list(server_dict, create_kwargs, body) availability_zone = create_kwargs.pop("...

2018-11-20 17:16:54 507

原创 nova源码分析--创建虚拟机(1)

运行在控制节点上的nova服务接收到创建虚拟机的请求后,最终会调用问价nova/api/openstack/compute/servers.py中类ServersController的create(self, req, body)函数。参数 req和 body是http请求传递过来的,可以通过Openstack的日志服务oslo_log来打印,打印的结果如下所示。req的值Accept:...

2018-11-20 15:25:34 606

原创 nova源码分析--API(2)

/etc/nova/api-paste.ini文件中的定义了以下三个composite:[composite:osapi_compute]use = call:nova.api.openstack.urlmap:urlmap_factory/: oscomputeversions# v21 is an exactly feature match for v2, except it ha...

2018-11-14 11:17:50 656

原创 nova源码分析--API(1)

pike版的nova/cmd/api.py代码如下import sysfrom oslo_log import log as loggingfrom oslo_reports import guru_meditation_report as gmrimport nova.conffrom nova import configfrom nova import exception...

2018-11-13 16:56:35 640

原创 nova源码分析--入口函数

寻找Nova的入口函数,Nova的代码一部分部署上控制节点上,一部分部署在计算节点上在centos上以包的方式安装时,控制节点安装完成后执行以下命令启动服务:systemctl start openstack-nova-api.service openstack-nova-cert.service                        openstack-nova-console...

2018-11-13 10:14:05 683

空空如也

空空如也

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

TA关注的人

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