一、openstack单组件开发环境

1、Python虚拟环境搭建

主要参考文献:

https://virtualenv.pypa.io/en/latest/virtualenv.html

说明: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
pip install -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的安装,然后在实际运行环境中进行代码的测试!)

openstack开发环境与代码测试的更多相关文章

  1. DevStack部署OpenStack开发环境 - 问题总结

    建议在使用DevStack搭建OpenStack开发环境前,先安装好开发工具包组.特别是gcc,主要一定是在yum update -y 之前,否则更新完系统后,在安装开发工具包会出现很多依赖包因为版本 ...

  2. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  3. 使用开源my-deploy工具实现开发环境的代码自动化部署

    @编者按: 由于公司内部存在的开发系统:内网开发--外网预发布--外网生产环境,程序员频繁的更新代码造成运维人员大量时间被占用,于是有了使用该开源工具的部署测试环节.在这里感谢该开源工具的作者,也希望 ...

  4. 最新 obs-studio vs2019 开发环境搭建 代码编译

    距离上一篇文章很久了,重新开始记录 OBS 开发相关情况,第一步就是环境搭建,第二步是构建 OBS-Studio VS 2019 开发环境搭建 下载软件和资源 软件安装没有特别说明的,下载安装即可. ...

  5. ae(ArcEngine) java swing开发入门系列(1):开发环境和代码部署

    前言:做ae开发大部分人都是用C#版,很少用到java版,本系列文章主要介绍java版ae开发的入门,对于ae接口的高级应用,可以看C#版相关文章 开发环境软件: Intellij IDEA 2018 ...

  6. .NET Core windows开发环境 + Git代码控管 + Docker 部署环境搭建

    开发环境准备 下载vs code,.NET Core sdk: https://www.microsoft.com/net/core#windowscmd 目前最新版为code 1.8.1,.NET ...

  7. 1、搭建springMVC开发环境以及HelloWorld测试

    一.下载spring-framework,采用简单的方式: http://repo.springsource.org/libs-release-local/org/springframework/sp ...

  8. XE10 塔建 Android 开发环境 (已测试通过)

    XE10 塔建 Android 开发环境 1. E:\DevCSS\Android\adt-bundle-windows-x86-20131030\adt-bundle-windows-x86-201 ...

  9. 内部开发环境 git代码托管说明

    前言 随着员工的增加 代码的开发版本管理 提上了日程.初步计划: 1 一台机器 192.168.1.240 git代码版本管理 2 运行环境 192.168.1.241 内部开发运行环境 软件工程师 ...

随机推荐

  1. 5337朱荟潼Java实验报告一

    一.实验内容 1.内容一输出“Hello 名”. import java.util.Scanner;public class Hello{public static void main(String[ ...

  2. DPDK网卡绑定

    进入DPDK目录编译环境 # cd ~/DPDK/usertools # ./dpdk-setup.py 注意,setup脚本需要在root权限下运行,并且每次重启电脑,都需要重新插入模块和绑定网卡. ...

  3. Head First Java & 重载 覆盖

  4. T4模板_入门

    T4模板作为VS自带的一套代码生成器,功能有多强大我也不知道,最近查找了一些资料学习一下,做个笔记 更详细的资料参见: MSDN: http://msdn.microsoft.com/zh-cn/li ...

  5. 9th 本周工作量及进度统计

    本周psp C(类别) C(内容) S(开始时间) ST(结束时间) I(中断时间) T(实际时间) 文档 11月10日 Beta发布的评论 20:30 21:18 0:05 43 活动 11月12日 ...

  6. cxVerticalGrid

    cxVerticalGrid can't get values procedure TForm1.Button1Click(Sender: TObject); var i: Integer; lvNa ...

  7. p2 碰撞

    P2可以实现物体碰撞模拟,同时在碰撞过程中派发一些事件实现碰撞检测,将碰撞信息及时反馈,以添加相应的特效. P2中,当两个刚体的最小包围盒AABB发生重叠,碰撞就开始了:然后刚体的形状发生重叠,同时P ...

  8. 第212天:15种CSS居中的方式,最全了

    CSS居中是前端工程师经常要面对的问题,也是基本技能之一.今天有时间把CSS居中的方案整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种.如有漏掉的,还会陆续的补充进来,算做是一个备忘录 ...

  9. POJ2699_The Maximum Number of Strong Kings

    这题目,,,真是...诶.坑了好久. 给一个有向图.U->V表示U可以打败V并得一分. 如果一个人的得分最高,或者他打败所有比自己得分高的人,那么此人就是king. 现在给出每个人的得分,求最多 ...

  10. Python学习---基础篇

    ###打开文件并打印: #!/usr/bin/python3 f = open('F://myproject/test.txt', encoding='utf-8',mode='r') content ...