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,可以查看执行失败的原因。
参考链接
 
        