NOTE:本文以 CVP dovetail的0.6版本为例来讲解dovetail项目的使用,随着dovetail版本的升级使用的命令和配置会有所改变。(2017年9月8日)
修改1:0.6版本升级到0.9,部分内容作出更新(2017年11月13日)
摘要:本文主要介绍如何使用OPNFV的Dovetail项目进行NFV基础设施NFVI&VIM的测试。
OPNFV的CVP(Compliance Verification Program)一致性认证项目
1.Dovetail 安装
dovetail 可以运行在实体机(bare metal),可以运行在虚拟机中。dovetail可以使用源码来安装也可以使用docker环境,建议使用docker来安装。为了环境部署方便以及更快的熟悉该项目,本文采用 docker 环境来安装和使用 dovetail 。
1.1 准备相应的测试代码
由于dovetail测试项目需要使用OPNFV中的其他测试项目代码,因此还需要functest、yardstick等项目。
1 | docker pull opnfv/dovetail:cvp.0.6.0 |
dovetail可以在离线环境下进行测试,前提是需要先保存以上的docker镜像。
1 | docker save -o dovetail.tar opnfv/dovetail:cvp.0.6.0 opnfv/functest:cvp.0.5.0 \ |
1.2 配置 dovetail 运行环境
首先创建一个dovetail的相关文件存放的目录${DOVETAIL_HOME}/pre_config
,这里以/root/dovetail
为例
1 | export DOVETAIL_HOME=/home/dovetail |
将之前的镜像文件保存在pre_config
目录下,并在该目录下创建env_config.sh
文件,并填入一下内容。需要指出的是dovetail CVP中不在需要INSTALL_IP
之类的参数,相关警告可以忽略,详见
https://jira.opnfv.org/browse/DOVETAIL-371
1 | Project-level authentication scope (name or ID), recommend admin project. |
导入该环境变量
1 | source env_config.sh |
1.3 运行 dovetail 容器
1 | docker run --privileged=true -it \ |
上述命令中-v $DOVETAIL_HOME:$DOVETAIL_HOME
是指明host与container之间目录映射,此处不一致会导致后续的测试结果存储出现问题。在后续拍错时可以使用docker inspect dovetail
命令检查容器的相关配置。运行完成后会直接进入到dovetail容器中.
为了方便的看清目录和文件,增加一些配置
1 | alias l='ls -CF' |
2. 执行测试
2.1 简单用例测试
使用命令查看有哪些dovetail测试例
1 | dovetail list |
运行 dovetail 测试
当dovetail正式版本发布时使用下列命令执行整个测试
1 | dovetail run --testsuite CVP_1_0_0 --testarea ipv6 --debug | tee test.txt |
目前dovetail测试版本使用下列命令执行测试
1 | dovetail run -d --testsuite proposed_tests --testarea ha --offline | tee $DOVETAIL_HOME/test.txt-20170912_0954-HA |
testarea
指明测试域,在dovetail容器的conf
目录中dovetail.yml
可以查看相关测试域
testarea_supported:
- defcore
- example
- ha
- ipv6
- sdnvpn
- vping
- resiliency
- tempest
或者使用dovetail list proposed_tests
命令来查看有哪些testarea
和具体的testarea
下包含的测试例是什么。
2.2 其他测试配置文件
2.2.1 HA测试配置
HA测试的配置文件为${DOVETAIL_HOME}/pre_config/pod.yaml
,可以参考dovetail/userconfig/pod.yaml.sample
配置内容如下,只需要列出HA的控制节点
1 | nodes: |
需要注意的是节点的名字必须是node1
、node2
格式,主要是该项测试调用了functest的相关测试,而functest做了相关配置要求,IP地址为测试机能够访问节点的IP,HA测试会需要ssh登录到节点中关闭/重启openstack的nova、glance等相应服务,也需要提供能够访问其他节点的密匙文件。
2.2.2 tempest测试配置
配置文件需要存放在$DOVETAIL_HOME/pre_config/tempest_conf.yaml
,依据待测环境配置相应的信息。
1 | validation: |
测试过程中使用的是cirros的镜像,cirros的初始账户为:cirros,设置登录超时时间,设置计算节点个数,对于compass的环境新添加的系统云盘名称为vdb因此需要指定(默认为vdc)。
3. 测试结果
dovetail的测试结果存放在$DOVETAIL_HOME/results
目录下,具体的每个测试域也有对应的详细存储结果目录。如IPv6测试详细结果存放在ipv6_logs/dovetail.ipv6.tcXXX.log
,可以查看执行失败的原因。
参考链接