OpenStack
文章平均质量分 89
Openstack源码分析及实战应用
self-motivation
专注LINUX系统与性能分析优化
展开
-
openstack源码分析(一)------------如何入手
我们都知道openstack项目由很多子项目构成,如负责计算的Nova;负责存储的Swift,Cinder,Glance;负责网络的Neutron;负责安全的keystone等等。这么多子项目如何入手,确实是一个问题。快速浏览一下下载下来的每个子项目的源码目录,发现都有一个setup.py和setup.cfg文件。看一下setup.py的内容,发现都是一样的。都是利用setup原创 2017-01-04 22:07:38 · 3805 阅读 · 0 评论 -
horizon创建网络前端代码分析
Openstack需要提供一个简洁方便,用户友好的控制界面给最终的用户和开发者,让他们能够浏览并操作属于自己的计算资源,这就是openstack的控制面板(Dashboard)项目 --------------Horizon. Horizon采取的Django框架,简单地说,它就是个单纯地基于Django的网站。Django是一种流行的基于Python语言的开源Web应用框架,Horizon原创 2017-02-26 22:21:41 · 1106 阅读 · 0 评论 -
neutron典型组网应用(一)--------实现同一租户的不同子网三层互通
应用场景:在基于vlan的组网中,同一租户A的2个不同子网(vlan2(192.1.1.1/24),vlan3(193.1.1.1/24))需要三层互通,但是另外一个租户B(vlan4(192.1.1.1/24),vlan5(193.1.1.1/24))的地址和A地址重叠,也需要三层互通。但是不同租户A,B间需要三层隔离。A租户的网络拓扑如下: 直接想到的做法可能原创 2017-02-26 12:06:29 · 1751 阅读 · 0 评论 -
openstack neutron使用中遇到的问题总结
这篇文章将会持续更新,分享使用neutron过程中遇到的那些问题。问题一:搭建了控制和计算节点2台虚拟机环境,每台机器上都启动了linux bridge agent,但是通过openstack network agent list命令只能看到计算节点的linux bridge agent.分析:有了前面neutron源码的分析积累,我们知道linux bridge原创 2017-02-15 23:15:46 · 3154 阅读 · 0 评论 -
nova-api源码分析(一)--------创建虚机流程
和前面分析neutron restful API的流程类似:http://blog.csdn.net/happyanger6/article/details/54586463.我们可以分析nova-api的restful API的创建流程。这里简单回顾一下neutron api的处理流程图:和neutron一样,nova-api也是基于/etc/nova/paste-api构建。其原创 2017-02-27 23:12:06 · 1400 阅读 · 0 评论 -
OpenStack基础之stevedore
利用python语言的特性,运行时动态载入代码变得更加容易.很多python应用程序利用这样的特性在运行时发现和载入所谓的"插件",使得自己更易于扩展.python库stevedore就是在Setuptools的entry points基础上,构造了一层抽象层,使开发者可以更容易地在运行时发现和载入插件. stevedore的代码库在https://github.com/openstac原创 2017-01-31 17:26:30 · 2009 阅读 · 0 评论 -
openstack Neutron源码分析(三)------linuxbridge-agent
直接从源码开始分析neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py:common_config.init(sys.argv[1:]) common_config.setup_logging() try: interface_mappings = n_原创 2017-02-13 23:23:39 · 2529 阅读 · 0 评论 -
Openstack基础之oslo.messaging
oslo.messaging oslo.messaging库为OpenStack各个项目使用RPC和事件通知(Event Notification)提供了一套统一的接口.代码库位于https://github.com/openstack/oslo.messaging,项目主页为https://launchapd.net/oslo.messaging,参考文档在http://docs.open原创 2017-01-30 11:49:28 · 3535 阅读 · 0 评论 -
Openstack基础之oslo(一)
OpenStack通用库(Oslo)包含了众多不需要重复发明的"轮子".当开发者觉得现有的代码中有适合被其他OpenStack项目共用的部分时,就可以申请把这些能用的代码放入oslo-incubator代码库中进行"孵化". 当oslo-incubator中的某部分代码让社区觉得已经足够成熟可以毕业后,其代码开发维护者可以提出毕业申请.毕业后的代码会成为一个单独的OpenStack项目,原创 2017-01-29 19:13:02 · 5299 阅读 · 1 评论 -
openstack基础之eventlet
eventlet是一个可以改变你代码运行方式的python并发网络库,同时不改变你编写代码的方式.它使用高度可扩展的非阻塞I/O,epoll或者kqueue,libevent.协程保证开发者使用类似线程的方式来编写非阻塞程序,同时保证了非阻塞I/O的好处.内含事件驱动,意味着你可以很容易在python解释器中使用它,或者在大程序的某一部分使用它.很容易开始使用eventlet,也容原创 2017-01-28 22:20:28 · 3461 阅读 · 0 评论 -
OpenStack基础之Kombu
前面在分析OpenStack的rpc源码时,知道rpc是通过消息队列实现的,其中相关的消息队列操作主要是使用的oslo_messaging库。而这个库进行消息的处理是对kombu开源库的封装。kombu是一个Python的消息库,关于更详细的介绍可以参考之前翻译的文章:http://blog.csdn.net/happyanger6/article/details/51439624原创 2017-01-26 23:14:21 · 2846 阅读 · 0 评论 -
openstack neutron源码分析(四)--------port的创建流程
我们知道nova在创建虚拟机时,会为虚拟机创建port,流程图如下:前面分析neutron wsgi的文章中有介绍一次restful api的详细请求,可以回顾下:http://blog.csdn.net/happyanger6/article/details/545864631.nova发送的port创建请求会以json格式携带关于compute node主机名,创建的网原创 2017-02-20 23:10:38 · 5316 阅读 · 0 评论 -
OpenStack源码分析 Neutron源码分析(一)-----------Restful API篇
OpenStack的大部分组件都由2部分核心功能构成,一方面通过WSGI应用对外提供Restful API的接口;另一方面通过某种消息队列(通常为RabbitMQ)实现RPC,方便插件侧和agent间相互调用。因而准备通过2篇文章分别分析下Neutron这2部分功能实现的源码,由于水平有限,有错误或不对之处,欢迎批评指正。首先,先分析WSGI应用的实现。 由前面的文章http原创 2017-01-17 22:47:16 · 12508 阅读 · 6 评论 -
Openstack源码分析 Neutron源码分析(二)-------------rpc篇
上一篇分析了neutron wsgi应用的源码,这一篇分析另外一部分核心功能,rpc篇。还是上篇的代码,启动完wsgi后,启动rpc_workers。neutron/server/wsgi_eventlet.py:def eventlet_wsgi_server(): neutron_api = service.serve_wsgi(service.NeutronApi原创 2017-01-21 12:46:18 · 4028 阅读 · 4 评论 -
openstack基础之python WSGI,paste,Routes,webob
wsgi是在PEP333中定义的:PEP: 333Title:Python Web Server Gateway Interface v1.0Author:Phillip J. Eby Discussions-To:Python Web-SIG web-sig at python.org >Status:F原创 2017-01-15 23:11:20 · 6526 阅读 · 1 评论 -
Openstack学习(一)---------------网络服务Neutron
网络服务概览openstack网络(neutron)允许你创建和连接其它openstack服务管理的网络接口设备。通过实现不同的插件来适应不同的网络设备和软件,提供了灵活的openstack架构和部署。它由以下2个组件构成:neutron-server接受API请求并将请求路由给适当的openstack网络插件来执行实际的操作。Openstack网络插件和代理原创 2017-01-11 22:14:38 · 3320 阅读 · 0 评论 -
tcpdump实战-----------抓取vlan中的arp报文
组网图:配置信息:# ip --s link12: br1: mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 0a:4c:c7:ba:a1:49 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors原创 2017-03-26 23:53:45 · 7894 阅读 · 0 评论