OpenStack新手开发指南.pdf

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenStack新手开发指南.pdf

OpenStack 新手开发指南 目录 1、nova 源码架构介绍 2 1.1、源码的获取 2 1.2、开发环境的搭建 2 1.3、nova 模块调用介绍 6 1.4、nova 源码模块功能介绍 7 2、数据库表结构的扩展 8 2.1、nova 表结构的扩展 8 2.2、keystone 表结构的扩展 10 3、resetful 接口服务的扩展 12 3.1、nova 数据库调用接口服务的扩展 12 3.2、compute 接口的扩展 17 3.3、keystone 接口服务的扩展 20 3.4、基于 openstack 服务、配置架构自定义服务模块 21 4、dashboard 源码介绍 25 4.1 horizon 代码模块介绍 26 4.2 中文化的功能实现 26 4.3 页面按钮的添加 27 4.4 列表中下拉菜单的添加 29 4.5 列表中文字链接的添加 29 1、nova 源码架构介绍 1.1、源码的获取 openstack 的源码可以从安装好的openstack 环境上直接 copy 下来使用,也可以从官网下 载(红帽地址:/repos/openstack/),ubuntu 环境下 openstack 的源码目录为:/usr/share/pyshared/ ,这里面的源码安装好后会被外链到 /usr/lib/python2.7/dist-packages/ ,这是 python2.7 以后的版本的做法,所有的python 项 目都会采取这种存储方式;centos 环境下 openstack 一般会安装 python2.6 的环境,所以 openstack 的源码存储在/usr/lib/python2.6/site-packages/ 。 1.2、开发环境的搭建 第一步、从官网下载 python 安装包(/getit/),如果是openstack 的环境下开发,可以忽略这一步,因为安装openstack 的时候已经自动安装了 python 环境。 第二步、然后安装开发 python 程序的 IDE,python 的程序一般使用 PyDev 作为开发工具, 它可以被集成到 eclipse 和 aptana 等 IDE 中。PyDev 的下载地址: /download.html,aptana 的下载地址:/,当前发布的是 aptana3.0,默认已经集成了 PyDev。当前我使用的是aptana,由于 3.0 使用的面板背景色 是黑色的,我又习惯使用 2.0 的风格怎么办那,3.0 有添加了一个颜色模板的菜单,选择一 下“Aptana Studio 2.x”就可以了,如下图。 第三步、导入 openstack 的项目,打开 IED,在左边的面板空白处右键,左键点击“import” , 如下图: 从弹出的窗口从选择“Existing Folder As New Project” ,导入一个文件夹作为一个工程,如 下图所示: 然后选择一个 openstack 项目,比如我当前选择了 nova 文件夹,起一个工程名,只要自己 好记就行,下边的单选框可以不用选,点击完成就行了,如下图: 导入进来的 nova 目录结构如下图: 1.3、nova 模块调用介绍 nova-api :起到Cloud Controller 的作用,主要为所有的API 查询提供了一个接口(比如 Openstack API ,EC2 API),引发多数业务流程的活动(如运行一个实例),并实施一些 政策(主要是配额检查)。 nova-schedule :接受一个消息队列的虚拟实例请求,通过算法决定该请求应该在那台主机 上运行,这个算法可以由我们指定。即起到调度器(Scheduler )的作用. nova-compute:是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理着虚拟 机实例的生命周期。该模块内部非常复杂,基本原理是简单的,就是接受来自队列的动作然 后执行一些列的系统操作(如启动一个 KVM 实例),并且更新数据库的状态。 nova-network :该守护进程跟 nova-compute and nova-volume 2 个模块的功能是相似的。 接受来自队列的任务,然后执行相应的任务对网络进行操作(比如:安装网桥接口和改变 iptable 规则) Queue:为各个模块之间的通信提供起到一个集线器的作用,即数据交换中心。目前是采用 RabbitMQ ,理论上是可以采用任何的基于 python ampqlib 的AMPQ message queue 。 SQL database: 存储云基

您可能关注的文档

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档