Python中文网

编程书籍推荐:深度实践OpenStack:基于Python的OpenStack组件开发,由机械工业出版社2018-04-01月出版,本书发行作者信息: 喻涛 田亮 等 著此次为第1次发行, 国际标准书号为:9787111590774,品牌为机工出版, 这本书采用平装开本为16开,附件信息:未知,纸张采为胶版纸,全书共有328页字数万 字,值得推荐的Python Book。

此书内容摘要

全书共分八部分,按预备篇(第1、2章)、Python篇(第3、4章)、开发基础(第5、6、7章)、Horizon开发篇(第8、9章)、Nova开发篇(第10章)、Neutron开发篇(第11章)、测试篇(第12章)和扩展篇(附录A~D)的顺序,循序渐进地对OpenStack展开深度剖析。零基础入门,全方位涵盖了OpenStack的基础知识,同时结合大量企业内部资料和实践案例,适合作为OpenStack初学者及相关开发人员的参考资料。

关于此书作者

暂无.

编辑们的推荐

暂无.

深度实践OpenStack:基于Python的OpenStack组件开发图书的目录

目录?Contents

前言
第1章OpenStack企业工程师的成长
及工作介绍 1
1.1Horizon界面工程师的工作内容 1
1.2Neutron网络工程师的工作内容 2
1.3Nova资深工程师的工作内容 3
1.4本章小结 5
第2章开发环境的搭建 6
2.1Windows开发环境的搭建 6
2.1.1Git的安装 6
2.1.2JDK的安装与配置 12
2.1.3Python的安装与配置 15
2.1.4PyCharm的安装与配置 19
2.2Linux开发环境的搭建 24
2.2.1Vim编辑器 24
2.2.2PyCharm编辑器 25
2.3Eclipse开发环境的搭建 26
2.3.1安装Eclipse的PyDev插件 26
2.3.2安装Eclipse的EGit插件 26
2.4Launchpad账号 26
2.4.1Launchpad账号注册 26
2.4.2上传SSH keys 27
2.4.3补充相关账号与信息 30
2.5Git的使用 32
2.5.1设置Git全局配置 32
2.5.2安装git-review 工具并验证 33
2.5.3提交代码步骤 33
2.5.4Git管理流程图 35
2.6本章小结 35
第3章Python语言基础 36
3.1Python概述 36
3.2Python基础 37
3.2.1编码 37
3.2.2缩进与分隔 37
3.2.3命名规范 38
3.2.4注释 39
3.2.5执行 39
3.2.6代码的调试 40
3.2.7帮助的使用 41
3.3Python数据类型 42
3.3.1变量 42
3.3.2数字与表达式 44
3.3.3字符串和列表 45
3.3.4元组 49
3.3.5字典 50
3.3.6其他类型 50
3.4流程控制 51
3.4.1if语句 51
3.4.2while循环 52
3.4.3for循环 53
3.4.4continue和break 53
3.4.5异常处理 53
3.4.6else的特殊用法 54
3.5函数 55
3.5.1函数基础 55
3.5.2函数参数 55
3.5.3函数体和返回值 57
3.5.4再论类型和循环 58
3.5.5生成器 60
3.5.6可调用的变量 62
3.5.7变量作用域 63
3.6本章小结 64
第4章Python模块 65
4.1 SQLAlchemy 65
4.1.1安装 SQLAlchemy 65
4.1.2使用 SQLAlchemy对数据库操作 65
4.1.3使用 ORM 67
4.1.4完整示例 69
4.2logging模块 70
4.2.1logging的使用 70
4.2.2若干重要的概念 71
4.2.3logging工作流程 73
4.2.4日志配置 74
4.3Eventlet 77
4.3.1greenlet 77
4.3.2GreenThread 78
4.4WSGI 81
4.4.1RESTful API介绍 81
4.4.2WSGI简介 82
4.4.3简单的WSGI 83
4.4.4运行WSGI服务 84
4.4.5Middleware 86
4.5PasteDeploy 87
4.5.1PasteDeploy安装 87
4.5.2Paste配置文件 87
4.5.3改进WSGI 89
4.6WebOb 90
4.6.1Python装饰器说明 90
4.6.2简单示例 91
4.6.3添加自己的中间件 91
4.6.4其他特性 92
4.7routes模块 92
4.7.1routes模块概述 92
4.7.2使用示例 93
4.8综合实例 94
4.9本章小结 98
第5章RabbitMQ 99
5.1RabbitMQ简介 99
5.2RabbitMQ流程 101
5.2.1单向发送消息 101
5.2.2队列 103
5.2.3交换 106
5.2.4路由 109
5.2.5主题 111
5.2.6RPC调用 114
5.3RabbitMQ 持久化 119
5.4本章小结 120
第6章DevStack 121
6.1DevStack介绍 121
6.2操作系统的安装与配置 121
6.2.1VMware虚拟机的配置 121
6.2.2系统配置 123
6.3环境准备与配置 126
6.3.1DevStack准备 126
6.3.2配置local.conf文件 127
6.4安装DevStack 128
6.5环境验证 128
6.5.1登录验证 128
6.5.2创建网络 130
6.5.3创建实例 132
6.5.4验证实例网络 134
6.5.5OpenStack版本 136
6.6错误分析 136
6.6.1日志目录 136
6.6.2使用Git下载代码出错 137
6.6.3网络配置错误 137
6.6.4重新部署 137
6.7本章小结 138
第7章开发小试 139
7.1screen简介 139
7.1.1screen的进入 139
7.1.2screen的使用 140
7.1.3screen的退出 142
7.2API调试 142
7.2.1API 142
7.2.2RESTClient工具 145
7.2.3Curl实验 151
7.2.4错误分析 155
7.3OpenStack界面主题的修改 157
7.3.1替换logo 157
7.3.2修改样式 159
7.4本章小结 164
第8章Django框架 165
8.1安装Django 165
8.2Django的架构 169
8.3创建项目 170
8.3.1Django管理工具 171
8.3.2测试站点 172
8.3.3增加一个APP 174
8.4使用数据库 176
8.4.1连接数据库 176
8.4.2创立模型 177
8.4.3显示记录 179
8.5模板 180
8.5.1使用模板 180
8.5.2流程分析 182
8.5.3使用循环 182
8.5.4模板继承 184
8.6表单 185
8.6.1提交表单(GET方法) 185
8.6.2提交表单(POST方法) 186
8.7存储数据 187
8.8表单对象 188
8.9admin管理 190
8.9.1默认管理 190
8.9.2复杂的模型 191
8.9.3自定义页面 192
8.9.4Inline显示 193
8.9.5列表页的显示 194
8.10错误分析 196
8.11本章小结 198
第9章Dashboard的开发 199
9.1Dashboard概述 199
9.2源码解析 200
9.2.1UI整体结构 200
9.2.2初识Dashboard 201
9.2.3项目结构 203
9.3自定义Dashboard和Panel 207
9.3.1手工启动Dashboard工程 207
9.3.2创建Dashboard 207
9.3.3创建mypanel 208
9.3.4编写代码 209
9.3.5验证代码 215
9.4复杂的action table 217
9.4.1定义view 217
9.4.2增加URL 219
9.4.3定义action 220
9.4.4测试 220
9.5Horizon开发相关内容 222
9.5.1汉化 222
9.5.2workflows 222
9.5.3JavaScript 224
9.6错误分析 225
9.7本章小结 227
第10章Nova组件 228
10.1组件介绍 228
10.1.1OpenStack的版本 228
10.1.2组件的组成 228
10.1.3组件之间的关系 229
10.1.4API的使用 230
10.2虚拟创建过程详解 230
10.3Nova源码分析 233
10.3.1目录结构 233
10.3.2重要目录详解 236
10.4Nova调用关系分析 240
10.4.1创建虚拟机过程源码追溯 240
10.4.2创建虚拟机过程调用流程函数分析 241
10.4.3Nova和AMQP的关系 243
10.5开始实践 246
10.6API V2.1说明 248
10.6.1compatibility 249
10.6.2Validation 249
10.6.3Microversion 249
10.7编码 251
10.7.1示例编码 251
10.7.2官方代码参考 252
10.7.3Nova代码实现示例 258
10.8调试并修复nova-compute的所有协程卡住的问题 262
10.9本章小结 269
第11章Neutron组件 270
11.1Neutron基础 270
11.1.1服务及组件介绍 270
11.1.2Neutron架构 271
11.1.3Neutron抽象出的概念 272
11.1.4Linux网络基础 272
11.2实例网络详解 273
11.2.1硬件配置及网络拓扑 273
11.2.2各个节点服务关系及说明 274
11.2.3场景举例 277
11.3Neutron的源码分析 282
11.3.1目录结构 283
11.3.2重要目录详解 285
11.3.3 Neutron启动分析 288
11.4Neutron组件扩展 293
11.4.1编写代码 293
11.4.2重启服务 295
11.4.3测试 296
11.5本章小结 297
第12章测试技术 298
12.1OpenStack测试基础 298
12.2单元测试 299
12.3集成测试 301
12.4本章小结 303
附录AMitaka国内代码贡献 304
附录BNewton新特性 307
附录COcata版本新特性 309
附录DGit代码管理命令 314

部分内容试读

Preface 前言为什么写这本书从2010年7月至今,OpenStack已经发布了15个版本,并成为云计算基础架构(IaaS)的事实标准。目前OpenStack也被国内企业接受,包括中国移动通信集团公司、中国电信集团公司、中国银联股份有限公司、中国国电集团公司等都在直接或间接使用OpenStack。
随着云的普及,越来越多的业务部署并运行在OpenStack云中,原生的OpenStack的界面及功能已经远远不能满足需求,有规模的企业寻求定制自己的OpenStack,其中包括界面的定制、计算和网络等功能的增强等。而与OpenStack相关的创业公司经过几年的发展,都已经有了自己成熟的产品,这些公司如今不再为温饱而四处奔波,也已经从“卖人”转向出售自有产品。随着OpenStack创业公司规模不断扩大,原有人员远远不能满足需求,熟悉OpenStack开发的人员更是难寻,除了在“云圈子”寻找人才外,很大一部分是从Java、C++等专业人才中进行招聘,这些新人进入公司后,经过一段时间的培训,才能逐渐进入OpenStack开发的角色。
缺少OpenStack开发人员的原因主要有以下几方面。
1)开发人员首先要熟悉Linux操作系统,然后要熟悉OpenStack的相关概念,同时需要具有OpenStack相关安装部署经验。
2)开发人员要有良好的英文基础,能够看懂官方的英文文档。
3)OpenStack的开发语言为Python,很多高校没有开设相关课程,需要开发人员自己学习。
4)开源软件需要用到很多开源工具,包括Git、Curl、Jenkins等,这些工具都需要开发人员掌握。
这些条件和要求整合到一起,难度就陡然增加了,一名普通计算机专业的本科毕业生要从事OpenStack开发相关工作,至少要在OpenStack的开发企业中培训学习3个月左右;而一个云计算的开发企业,每次招收的毕业生、培养的新人是有限的,加在一起不超过千人,这些人员远远不能满足市场的需求。由此看来,OpenStack开发人员还是非常紧缺的,其待遇也是很不错的。
本书的主要内容和特色本书是根据北京海云捷迅科技有限公司内部培训教程重新整理编辑而成,内容包括Python语言基础及开发优化的原则和OpenStack组件及开发方面的知识,是一本系统、全面、讲解深入的开发类书籍,值得所有Python和OpenStack从业人员学习参考。本书特色如下:
1)有针对性地讲解了与OpenStack相关的Python专业知识。
2)全方位涵盖了OpenStack的技术知识,包括DevStack、开发基础、API调用、源码及结构分析、功能扩展等。
3)堪称零基础入门。本书包含详尽的操作步骤,还有详细图示操作指引及错误分析,带领读者步入OpenStack开发的殿堂。
4)第一次公开OpenStack开发企业内部资料——工程师的成长资料及资深工程师的日常工作记录,极具参考价值。
本书的知识体系全书共分八个部分:
第一部分(第1、2章):首先以若干名企业内部OpenStack开发人员的成长历程为例,讲解OpenStack开发人员应具备的知识体系;然后讲解了基本开发环境的搭建。
第二部分(第3、4章):不同于市面上的Python教材,本书以企业内部教程为主线,从企业应用角度讲解Python基础知识、优化原则和OpenStack中Python相关的模块知识。
第三部分(第5~7章):讲述了消息队列、DevStack开发环境及开发的相关知识,其中包含一些基本概念和技巧,是OpenStack开发人员必须掌握的入门知识。
第四部分(第8、9章):本部分首先用很多实例讲解了Horizon的开发框架Django,然后讲了Horizon界面结构,分析了Horizon的源代码,最后用示例完成Horizon的开发测试过程。
第五部分(第10章):本部分首先详述了Nova启动实例的流程,接着分析了Nova的源码,最后用示例讲述了微模块的开发过程。
第六部分(第11章):本部分首先讲述了OpenStack的部署拓扑和实例的数据流向分析,接着对Neutron的启动流程进行了跟踪分析,最后扩展了Neutron的extensions模块并测试其功能。
第七部分(第12章):本部分主要讲述了OpenStack测试的相关内容,包含开发人员个人的单元测试和团队的模块集成测试技术,为代码整合打好基础。
第八部分(附录A~D):首先附录A讲述了国内企业对OpenStack社区的贡献;附录B、C分别对OpenStack的Newton和 Ocata版本新特性进行了说明;附录D列举出Git代码管理命令供读者参考,希望可以为读者指明学习的方向。
本书面向的读者本书适用于想从事OpenStack开发及深入学习OpenStack的相关人员。本书也可以作为OpenStack的培训教材。
如何阅读本书OpenStack强调实践,希望读者能够把书中的示例代码都手动输入一遍,在输入运行代码的过程中可能会出现输入错误、语法错误等,读者可以自己尝试独立解决相关问题,逐渐增加自己的编程经验。
一定要去阅读和分析官方的源码,然后自己尝试去修改源码,只有这样才能锻炼自己的开发能力,逐步成为优秀的OpenStack开发人员。
致谢本书参考了部分官方文档以及北京海云捷迅科技有限公司的内部资料,得到了该公司周征晟、张加龙、叶东灿、郭姗、伍军、徐奡等开发人员的大力支持;还要感谢北京海云捷迅科技有限公司的张征宇和李华,在他们的大力支持下本书才得以完成。
感谢云技术社区创始人肖力老师,是肖老师推荐了华章分社杨福川副主编,还要感谢出版社其他工作人员,有了他们的共同努力,本书才得以正式出版。
由于编撰时间有限,加上OpenStack博大精深,版本更迭较快,文中有失效或分析不对的地方还请读者批评指正。

关于此书评价

暂无.

书摘内容

暂无.

深度实践OpenStack:基于Python的OpenStack组件开发最新最全的试读、书评、目录、简介信息由Python中文网整理提供。