python openstack开发_openstack开发环境与代码测试
一、openstack单组件开发环境
1、Python虚拟环境搭建
主要参考文献:
说明:Python虚拟环境主要是一个与系统中Python第三方库相对应的隔离环境,可以在这个虚拟环境中安装程序及依赖库而不会对系统中的库产生影响。所以,我们可以先搭建Python虚拟环境,然后将openstack的组件安装到虚拟环境中,在虚拟环境中进行开发和测试!
安装:
yum install python-virtualenv #centos系统下
或
pip install virtualenv #使用pip工具安装
创建和使用虚拟环境:
virtualenv virtenv #创建虚拟环境,virtenv为虚拟环境目录
source virtenv/bin/activate #启动虚拟环境,命令行提示符会多出"(virtenv)"表示进入虚拟环境
pip install ... #在虚拟环境中安装程序...
deactivate #退出虚拟环境
虚拟环境目录:
共包含bin、include、lib、lib64,全部都是对/usr目录下对应文件夹的虚拟映射。
注意事项:
Python可执行文件头#!后如果列出具体的Python路径,则指明了某个环境,如果要让其可以跨虚拟环境,则可以指定为#!/usr/bin/env python
2、openstack单组件开发环境具体搭建步骤
1)使用git clone 下载源码库
2)在源码库目录中建立Python虚拟环境
3)注意修改组件的配置文件,将可执行脚本拷贝到虚拟环境的bin目录中
4)安装组件依赖及组件
pip install -r requirements.txt
pipinstall -r test-requirements.txt
cp 源码库中组件源代码 虚拟环境site-packages目录 #或者使用python setup.py ...安装组件
5)运行组件源代码中已有的单元测试案例,另外还可以自己编写测试案例
python -m testtools.run xxx
说明:以上步骤基本遵循openstack官方文档和代码的说明,具体细节有所差异,在openstack的每个组件的开发者文档(http://docs.openstack.org/developer/openstack-projects.html)中均有说明如何搭建开发环境和做测试,openstack实际上已经将以上步骤写成脚本,可以直接运行,但是考虑到网络下载的原因,所以采用以上分步进行的方式,方便差错。官方在这方面的主要说明文献:https://wiki.openstack.org/wiki/Testing#Unit_Tests (其中使用了tox测试工具,tox可以将工程和指定依赖包部署到虚拟环境中并运行你设置的所有测试案例,相当于模拟了工程实际部署后的测试情况,主要参考文献:https://testrun.org/tox/latest/index.html )
二、openstack集成开发环境
1、使用packstack或devstack部署完整的openstack平台环境
2、openstack集成测试
2.1 推荐方法
1)将待测试组件的可执行启动脚本拷贝到组件虚拟环境的bin目录下
2)停掉平台中原来运行的待测试组件
3)进入组件虚拟环境,执行待测组件的启动脚本,此时可以在终端运行虚拟环境中的待测组件程序
4)在平台中进行操作和测试
2.2 粗糙方法
利用软连接将系统原来的模块替换成自己开发的模块。其中,后台服务模块如nova、cinder、glance等都可以直接使用,但是前端如xxxclient及openstack-dashboard则不能使用(本人亲测时出现模块导入问题!)。
说明:基本参考了openstack官方的方案,官方文档中这部分主要说明: https://wiki.openstack.org/wiki/Testing#IntegrationTests ( 其中主要使用了DevStack进行openstack的安装,然后在实际运行环境中进行代码的测试!)
python openstack开发_openstack开发环境与代码测试相关推荐
- 遨博协作机器人ROS开发 - ROS Melodic环境搭建与测试
目录 一.简介 二.环境版本 三.ROS环境搭建 1. 系统安装 2. 更新镜像源 3. 安装ROS 四.AUBO E系列机械臂ROS环境 1. 依赖环境的安装 2. 下载并编译AUBO ROS 3. ...
- ionic+angularjs开发hybrid App(环境配置+创建测试项目)
本文使用的系统是win10 因为后期需要使用nodejs 所以先把node装好 https://nodejs.org/download/ 下载JDK并配置Java运行环境 http://www.ora ...
- YOLO3 + Python 基础教程(一):环境搭建与测试
一.所需要的库文件以及Python版本 Python 3.7 + 开发环境 TensorFlow-gpu 2.6.0 OpenCV-Python 4.5.3+ win10 Microsoft Visu ...
- python软件包自带的集成开发环境-Python的10大集成开发环境和代码编辑器(指南)...
使用IDLE或者Python Shell来编写Python是非常适合于简单程序的,但是这些工具往往将大型的编程项目变成一个个充满绝望和沮丧的"坑".使用一款集成开发环境甚至是一款好 ...
- python自带的集成开发环境是什么-Python的10大集成开发环境和代码编辑器(指南)...
使用IDLE或者Python Shell来编写Python是非常适合于简单程序的,但是这些工具往往将大型的编程项目变成一个个充满绝望和沮丧的"坑".使用一款集成开发环境甚至是一款好 ...
- code vs 集成tfs_10大Python集成开发环境和代码编辑器
支持Python的通用编辑器和集成开发环境 Eclipse + PyDev 类别:集成开发环境 网址:www.eclipse.org Python工具:PyDev, www.pydev.org 优点: ...
- Python的10大集成开发环境和代码编辑器(指南)
分享一篇文章,原文链接:Python IDEs and Code Editors (Guide). 使用IDLE或者Python Shell来编写Python是非常适合于简单程序的,但是这些工具往往将 ...
- Python+微信小程序开发(二)代码构成和宿主环境
一.小程序代码构成 在上一篇文章中,我们通过开发者工具载入模板快速创建了一个QuickStart项目.这个项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的 ...
- openstack二次开发:Python API
2019独角兽企业重金招聘Python工程师标准>>> 作 为 OpenStack 用户或管理员,您常常需要编写脚本来自动化常见任务.除了 REST 和命令行接口之外,OpenSta ...
最新文章
- 《数据库原理与应用》(第三版)第2章 数据模型与数据库结构 习题参考答案
- 线性回归(y=ax+b)
- 人体姿态估计算法之open pose
- webpack轻松入门教程
- mysql explain 派生表_MySQL的Explain命令
- http respose status code (记)
- 大家一起来谈论C#的前途
- oracle数据库connectionstring,oracle数据库 connectionstring
- 西门子PLC控制器家族产品汇总
- 三星s9 android 版本,三星S9+官方台版安卓9固件rom升级更新包:BRI-G965FXXU7CSJ1
- 单片机C语言程序设计心得,单片机心得体会4篇
- 继电保护整定值计算软件_继电保护整定计算软件功能介绍
- 安卓开发—Android基础
- 开源的免费听音乐程序
- Python实现淘宝卖家价格分析,淘宝卖家必会的操作!
- 英语表达的收集类游戏
- Hrbust 1849 商品中心【贪心+思维+并查集】好题!好题!
- 每周好书推荐《那些古怪又令人忧心的问题》
- 相机的硬件接口以及传输协议介绍
- 吐血整理 | 据说这里有一份关于BAT的 “宝藏级” 面试记录终于可以看了!
热门文章
- 智伴机器人班尼怎么联网_智伴机器人班尼说明书 PDF高清电子版
- 王者荣耀4月3号服务器维护,王者荣耀新英雄云中君上线 体验服4月3日更新公告...
- Ext.ux.data.PagingMemoryProxy,用于本地数据前台分页,用法都是我一点点试出来的,不是网上粘贴来复制去的东西
- CSDN文章打包下载
- Android LayoutInflater.from(context).inflate()方法的作用
- 首页html代码的head和/head之间的内容
- 解决Failed to load D:\Android-Studio\sdk\build-tools\26.0.1\lib\dx.jar
- iMeta|同济大学朱瑞新团队靶向基石菌种可恢复非酒精性脂肪肝中失调的产丁酸菌...
- 西游趣记-我不想养马,我想当老大
- 三八节特辑|向“乘风破浪”的能力开放女神们致敬