voltha/voltha-onosVoltha旨在在传统和下一代接入网络设备之上提供一层抽象,用于控制和管理。其最初专注于PON(GPON、EPON、NG PON 2),但目标是扩展到最终覆盖其他接入技术(xDSL、Docsis、G.FAST、专用以太网、固定无线)。
Voltha的核心概念:
接入网络空间的控制和管理非常混乱。每种接入技术都带来了自己的协议集,此外,厂商对相同标准有自己的解释/扩展。更复杂的是,这些特定于厂商和技术的差异渗透到服务提供商的集中式OSS系统中,造成了许多效率低下的问题。
理想情况下,相同接入技术的所有厂商设备应提供相同的控制和管理接口。此外,跨技术应具有更高的协同效应。在等待厂商统一的过程中,Voltha通过将差异限制在接入局部并将其隐藏在OSS堆栈的上层之外,朝着这个方向提供了一个增量改进。
虽然我们仍处于开发的早期阶段,您可以查看BUILD.md文件,了解如何构建、运行、测试等。
欢迎各种大小的贡献。小的贡献和错误修复始终以拉取请求的形式受到欢迎。对于较大的工作,最好与现有开发人员联系,了解最需要帮助的地方,并确保您的解决方案与Voltha的总体理念兼容。
首先,请根据OpenCord WIKI安装开发环境。 接下来,在shell环境中:
bashsource env.sh; # source环境设置并创建虚拟环境 make utest-with-coverage; # 执行带覆盖率报告的单元测试
核心的新单元测试可以用nosetest框架编写,位于
每个适配器的单元测试通过适配器目录下的test.mk 子make文件来发现。例如:
Makefile# voltha/adapters/my_new_adapter/test.mk .PHONY test test: @echo "Testing my amazing new adapter" @./my_test_harness
Voltha的测试框架将执行子make文件中的第一个目标作为单元测试函数。它可以包含所需的多个依赖项,例如使用不同的Python测试框架(pytest、unittest、tox)甚至其他语言(go、rust、php)。
为了使适配器的测试覆盖率被报告,请确保测试工具生成junit xml格式的覆盖率报告。大多数测试工具可以轻松生成此报告格式。如果按照Jenkins配置将报告文件命名为junit-report.xml,Jenkins Job将拾取您的覆盖率报告。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务