opnfv/functest-vnfOPNFV Functest VNF 镜像是基于 OPNFV(开放平台网络功能虚拟化)项目的 Functest 测试框架构建的专用容器镜像,旨在为虚拟网络功能(VNF)提供标准化的功能验证环境。该镜像集成了 Functest 框架的 VNF 测试套件、自动化测试工具及报告生成模块,可直接部署于容器化环境中,用于验证 VNF 的功能正确性、合规性及与 NFV 基础设施的兼容性。
镜像可通过 OPNFV 官方仓库或 Docker Hub 获取(需提前申请访问权限):
bash# 从 OPNFV 仓库拉取(示例) docker pull opnfv/functest-vnf:latest # 从 Docker Hub 拉取(若已同步) docker pull docker.io/opnfv/functest-vnf:latest
bashdocker run -it --rm \ --name functest-vnf \ opnfv/functest-vnf:latest
默认执行基础 VNF 功能测试套件,测试报告生成于容器内 /opt/functest/reports 目录。
bashdocker run -it --rm \ --name functest-vnf \ -v /local/reports:/opt/functest/reports \ # 挂载本地目录保存报告 opnfv/functest-vnf:latest
通过环境变量自定义测试参数:
bashdocker run -it --rm \ --name functest-vnf \ -v /local/reports:/opt/functest/reports \ -e TEST_SUITE="advanced" \ # 指定高级测试套件 -e TARGET_VNF="192.168.1.100" \ # 目标 VNF 的管理 IP -e LOG_LEVEL="DEBUG" \ # 日志级别(DEBUG/INFO/WARN/ERROR) opnfv/functest-vnf:latest
容器支持通过环境变量或配置文件(挂载 /opt/functest/config 目录)自定义测试行为,关键参数如下:
| 参数名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
TEST_SUITE | 指定测试套件 | basic | basic(基础功能)、advanced(高级功能)、custom(自定义) |
TARGET_VNF | 目标 VNF 的管理 IP 或访问 URL | 无(必填) | 例如 192.168.1.100 或 [***] |
VNF_CREDENTIALS | 目标 VNF 的认证信息(格式:user:pass) | 无(若 VNF 需认证则必填) | - |
LOG_LEVEL | 日志输出级别 | INFO | DEBUG、INFO、WARN、ERROR |
REPORT_FORMAT | 测试报告格式 | html | html、json、xml |
REPORT_PATH | 容器内报告生成路径 | /opt/functest/reports | 需与挂载目录对应 |
TIMEOUT | 单测试用例超时时间(秒) | 300 | 整数(如 600) |
适用于需要与外部服务(如测试结果数据库)集成的场景,示例 docker-compose.yml:
yamlversion: '3' services: functest-vnf: image: opnfv/functest-vnf:latest container_name: functest-vnf volumes: - ./local-reports:/opt/functest/reports # 本地报告目录 - ./custom-tests:/opt/functest/custom # 挂载自定义测试用例 environment: - TEST_SUITE=custom - TARGET_VNF=192.168.1.100 - VNF_CREDENTIALS=admin:password123 - LOG_LEVEL=DEBUG - DB_HOST=test-db # 测试结果数据库地址(关联下方 db 服务) depends_on: - db db: image: postgres:14 container_name: test-db environment: - POSTGRES_DB=functest - POSTGRES_USER=testuser - POSTGRES_PASSWORD=testpass volumes: - db-data:/var/lib/postgresql/data volumes: db-data:
用户可通过挂载自定义测试脚本至容器 /opt/functest/custom 目录,并设置 TEST_SUITE=custom 启用。脚本需符合 Functest 测试用例规范(如 Python 脚本,继承 FunctestCase 基类)。
若需与 OPNFV 控制器(如 OpenStack、Kubernetes)联动,需在运行容器时挂载基础设施认证配置文件(如 OpenStack clouds.yaml):
bashdocker run -it --rm \ -v /local/clouds.yaml:/opt/functest/config/clouds.yaml \ -e OS_CLOUD=default \ # 指定 OpenStack 云环境名称 opnfv/functest-vnf:latest
--cpus、--memory 参数限制);manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务