OpenStack源码系列---neutron-server】的更多相关文章

OpenStack源码实际上是比较规范的,但是对刚刚接触到源代码的人来说,却感觉有点混乱.我刚开始的时候也常常搞乱,比如service.Service类继承自openstack.common.service.Service类,有个openstack.common.service.Services类,有个openstack.common.service.Launcher类,有个openstack.common.service.ServiceLauncher类,有个openstack.common.…
在看过了nova模块的源码之后,再去看OpenStack其它模块的源码会轻松很多,因为框架也是大同小异的.自四月份开通博客写了几篇文章后,真心觉得写篇技术文章如果要把前前后后牵扯到的其它技术内容都做介绍实在是太费精力了,如果是为自己日后复习则也没必要,因此这篇neutron-server启动流程的文章,我感觉懒得啰嗦了,直接展示一下源码流程吧,若有误导之处,请您谅解并欢迎指正. neutron-server的main函数如下图: main中调用了/usr/lib/python2.7/dist-p…
原文:https://blog.csdn.net/happyanger6/article/details/54586463 首先,先分析WSGI应用的实现. 由前面的文章http://blog.csdn.net/happyanger6/article/details/54518491可知,WSGI应用的构建过程主要就是通过paste库的loadapp加载,因此核心就是分析这个过程.我们从neutron-server的起始代码开始逐步分析. neutron-server的入口是: neutron/…
nova-conductor启动的也是一个rpc server,代码框架和nova-compute类似,所以我也懒得再详细分析一遍服务启动的过程.nova-api那篇文章的最后我说"cctxt.cast将请求发送到消息队列",可是发送到哪个队列呢,哪个模块又来接收这个消息呢?我也看了网上的一些源码分析文章,可能是源代码版本不一样,感觉和我看的Juno版本的流程对不上,而这里有一篇文章Data flow of openstack request,正好和我看Juno版代码了解的流程一致.…
近一年来我负责公司云点的自动化部署工作,包括公司自有云平台方案.XenServer.vSphere.Ovirt和OpenStack的自动化安装部署,目前已经到了OpenStack这一部分.自动化部署首先需要确定某种部署方案,然后通过远程管理卡将服务器设置成从PXE启动并启动服务器,服务器再将系统镜像和其它安装脚本下载到服务器进行系统的安装和应用的部署.其中部署方案的确定需要我们对各种不同云平台的网络和存储都要了解,最好能进行不同方案的比较分析再决定使用哪种方案. XenServer集群方案的实现…
nova-compute运行的节点为计算节点,虚拟机运行于计算节点上.例如对于创建虚拟机请求,nova-api接收到客户端请求后,经过nova-scheduler调度器调度,再将请求发送给某个选定的nova-compute节点,nova-compute模块经过一系列的动作之后将命令下发到真正的hypervisor进行虚拟机的创建.这篇文章,我们将分析nova-compute关键的代码流程及类关系. 我们看一下nova-compute的main函数: 在main函数中,调用service.Serv…
1 关于该项目 本项目使用在线绘图工具web sequencediagrams完成,目标是图形化OpenStack的所有操作流程,通过操作序列图能快速学习Openstack的工作原理,理清各个组件的关系,运维人员也能根据操作序列图进行更精确的故障定位和排查. 注意,该操作序列图基于L版OpenStack源码,未来版本的操作可能会有变化,请以最新版的源码为准,该项目提供的序列图仅供参考. 2 OpenStack基础 2.1 OpenStack组件介绍 OpenStack是一个IaaS层的云计算平台…
Netty作为一个Java生态中的网络组件有着举足轻重的位置,各种开源中间件都使用Netty进行网络通信,比如Dubbo.RocketMQ.可以说Netty是对Java NIO的封装,比如ByteBuf.channel等的封装让网络编程更简单. 在介绍Netty服务器启动之前需要简单了解两件事: reactor线程模型 linux中的IO多路复用 reactor线程模型 关于reactor线程模型请参考这篇文章,通过不同的配置Netty可以实现对应的三种reactor线程模型 reactor单线…
hbase源码系列(十一)Put.Delete在服务端是如何处理?    在讲完之后HFile和HLog之后,今天我想分享是Put在Region Server经历些了什么?相信前面看了<HTable探秘>的朋友都会有印象,没看过的建议回去先看看,Put是通过MultiServerCallable来提交的多个Put,好,我们就先去这个类吧,在call方法里面,我们找到了这句. responseProto = getStub().multi(controller, requestProto); 它…
hbase源码系列(九)StoreFile存储格式    从这一章开始要讲Region Server这块的了,但是在讲Region Server这块之前得讲一下StoreFile,否则后面的不好讲下去,这块是基础,Region Sever上面的操作,大部分都是基于它来进行的. HFile概述 HFile是HBase中实际存数据的文件,为HBase提供高效快速的数据访问.它是基于Hadoop的TFile,模仿Google Bigtable 架构中的SSTable格式.文件格式如下: 文件是变长的,…