CN114936166A - SAI Thrift自动化测试框架的构建方法 - Google Patents

SAI Thrift自动化测试框架的构建方法 Download PDF

Info

Publication number
CN114936166A
CN114936166A CN202210709625.XA CN202210709625A CN114936166A CN 114936166 A CN114936166 A CN 114936166A CN 202210709625 A CN202210709625 A CN 202210709625A CN 114936166 A CN114936166 A CN 114936166A
Authority
CN
China
Prior art keywords
sai
container
network equipment
network device
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210709625.XA
Other languages
English (en)
Inventor
邢家茂
李贯中
张振
张海涛
胡守强
彭泽
陈清华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Clounix Technology Ltd
Original Assignee
Hangzhou Clounix Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Clounix Technology Ltd filed Critical Hangzhou Clounix Technology Ltd
Priority to CN202210709625.XA priority Critical patent/CN114936166A/zh
Publication of CN114936166A publication Critical patent/CN114936166A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种SAI Thrift自动化测试框架的构建方法,包含如下步骤:选取一网络设备,将网络设备定义为测试服务器,在网络设备上配置最小化系统;对最小化系统内的上层应用容器进行裁剪,仅保留基础容器,用于作为网络设备的接口;对最小化系统进行初始化处理;根据网络设备的端口资源的划分,完成网络设备的多PTF容器的安装。本发明提供的网络设备作为多PTF容器承载服务器的方案,可保证SAI THRIFT测试的稳定性,可有效提高SAI工程开发和SAI THRIFT测试效率,在实际应用中具有重要意义。

Description

SAI Thrift自动化测试框架的构建方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种SAI Thrift自动化测试框架的构建方法。
背景技术
Thrift是一个跨语言跨平台的服务部署框架,通过接口定义语言来定义RPC的接口和数据类型,再通过Thrift编译器生成不同的语言代码(支持C++、Java、Python、PHP、Ruby、Erlang等语言),并由生成的代码负责RPC协议层和传输层的实现。RPC(RemoteProcedure Call)是一种远程调用协议,简单地说就是能使应用像调用本地方法一样的调用远程的过程或服务,可以应用在分布式服务、分布式计算、远程服务调用等许多场景。
SAI Thrift 是一套基于Thrift技术的SAI功能测试框架,如图1所示,由一台服务器(Test Machine)和一台被测设备(DUT, Device Under Test)组成,服务器的网卡与被测设备的网络端口直连。DUT作为SAI Thrift测试Server的角色,服务器Test Machine作为SAI Thrift 测试的Client角色。在被测设备Switch上运行SAI Server Container,也称为Thrift Test Server;使用一台安装多INTF网卡的服务器作为Test Machine,也称为SAIThrift Test Client,服务器接口与被测试设备存在物理连接;在SAI Thrift TestClient上执行测试PTF脚本,测试被测设备的功能和性能。当前测试设备与测试服务器,使用了多个网络端口互联,以进行设备的功能测试。Test Machine服务器先远程调用DUT上的SAI对外接口,进行Device的配置;Test Machine服务器再构造组装报文,通过网卡发送到DUT;之后检查网卡是否收到的来自DUT的报文,若收到报文则进一步检查报文格式是否符合预期,以达到DUT报文转发功能测试的目的。
在SAI Thrift的应用实践中,有些测试用例需要较多的网络端口,这对TestMachine提出了多网卡和多端口的要求。Test Machine通常使用服务器充当,多网卡的需求引入了服务器高成本的问题。SAI THRIFT测试对网络端口资源是独占的模式,也即充分利用了服务器的网络资源,浪费了服务器的计算和存储资源。
发明内容
根据本发明实施例,提供了一种SAI Thrift自动化测试框架的构建方法,包含如下步骤:
选取一网络设备,将网络设备定义为测试服务器,在网络设备上配置最小化系统;
对最小化系统内的上层应用容器进行裁剪,仅保留基础容器,用于作为网络设备的接口;
对最小化系统进行初始化处理;
根据网络设备的端口资源的划分,完成网络设备的多PTF容器的安装。
进一步,最小化的系统为开源的SONiC系统。
进一步,最小化系统还可以为私有的网络系统。
进一步,上层应用容器包含:dhcp-relay容器、pmon容器、snmp容器、lldp容器、bgp容器以及teamd容器。
进一步,基础容器包含:syncd容器、swss容器以及database容器。
进一步,对最小化系统进行初始化处理包含如下子步骤;
关闭最小化系统内的主动发包服务;
待基础容器启动完成后,关闭网络设备的所有端口的vlan检查;
初始化ACL资源,创建几条ACL规则,匹配SAI Thrift测试涉及到的报文类型,将网络设备ingress方向收到的报文都送交CPU处理;
初始化统计资源,创建统计计数器,为各个ACL规则绑定统计。
进一步,根据网络设备的端口资源的划分,完成网络设备的多PTF容器的安装具体为:
根据网络设备的端口资源的划分,安装PTF容器;
设置网络设备的端口属性,进行环境的初始化;
完成网络设备的多PTF容器的安装。
根据本发明实施例的SAI Thrift自动化测试框架的构建方法,本发明提供的网络设备作为多PTF容器承载服务器的方案,可保证SAI THRIFT测试的稳定性,可有效提高SAI工程开发和SAI THRIFT测试效率,在实际应用中具有重要意义。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并 且意图在于提供要求保护的技术的进一步说明。
附图说明
图1为现有技术当中SAI Thrift测试拓扑连接的示意图。
图2为根据本发明实施例的SAI THRIFT测试框架的示意图。
图3为根据本发明实施例的定制化网络设备的情况的示意图。
图4为根据本发明实施例的SONiC最小系统的示意图。
图5为根据本发明实施例的网络设备的多PTF安装步骤流程图。
图6为根据本发明实施例的SAI Thrift自动化测试框架的构建方法的流程图。
图7为根据本发明实施例的SAI Thrift自动化测试框架的构建方法的子步骤流程图。
具体实施方式
以下将结合附图,详细描述本发明的优选实施例,对本发明做进一步阐述。
首先,将结合图2~6描述根据本发明实施例的SAI Thrift自动化测试框架的构建方法,可在一台测试服务器上同时支持多个SAI THRIFT Client测试容器实例,形成多个独立的SAI THRIFT开发测试环境,其应用场景很广。
如图2~6所示,本发明实施例的SAI Thrift自动化测试框架的构建方法,具有如下步骤:
如图6所示,在S1中,选取一网络设备,将网络设备定义为测试服务器,在网络设备上配置最小化系统,最小化的系统为开源的SONiC系统,还可以为私有的网络系统。在本实施例中,通过充分利用网络设备网络端口丰富的特性,同时提高计算和存储的配置,以适配支持多SAI THRIFT Client测试实例的需求。
如图3所示,针对常规网络设备的资源特性,对作为PTF服务器的网络设备特进行定制化实现。运算能力:配置高算力的处理器,提升运算能力;同时采用定制的软件最小系统,取消无用的其他功能,将计算能力解放出来,给予PTF 容器 预留使用。存储能力:增加内存的配置,同时配置大存储,或者外接大容量固态硬盘,或大容量存储卡资源。网络能力:将网络接口资源逻辑划分,划分为固定的组,各个组之间网络转发业务隔离。
如图6所示,在S2中,对最小化系统内的上层应用容器进行裁剪,仅保留基础容器,用于作为网络设备的接口。在本实施例中,上层应用容器包含:dhcp-relay容器、pmon容器、snmp容器、lldp容器、bgp容器以及teamd容器;基础容器包含:syncd容器、swss容器以及database容器。
如图6所示,在S3中,对最小化系统进行初始化处理。
进一步,如图7所示,对最小化系统进行初始化处理包含如下子步骤;
如图7所示,在S31中,关闭最小化系统内的主动发包服务。
如图7所示,在S32中,待基础容器启动完成后,关闭网络设备的所有端口的vlan检查。
如图7所示,在S33中,初始化ACL资源,创建几条ACL规则,匹配SAI Thrift测试涉及到的报文类型,将网络设备ingress方向收到的报文都送交CPU处理。
如图7所示,在S34中,初始化统计资源,创建统计计数器,为各个ACL规则绑定统计。
如图6所示,在S4中,根据网络设备的端口资源的划分,完成网络设备的多PTF容器的安装。进一步,在本实施例中,根据网络设备的端口资源的划分,完成网络设备的多PTF容器的安装具体为:根据网络设备的端口资源的划分,安装PTF容器;设置网络设备的端口属性,进行环境的初始化;完成网络设备的多PTF容器的安装。
以上,参照图2~7描述了根据本发明实施例的SAI Thrift自动化测试框架的构建方法,本发明提供的网络设备作为多PTF容器承载服务器的方案,可保证SAI THRIFT测试的稳定性,可有效提高SAI工程开发和SAI THRIFT测试效率,在实际应用中具有重要意义。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包含……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (7)

1.一种SAI Thrift自动化测试框架的构建方法,其特征在于,包含如下步骤:
选取一网络设备,将所述网络设备定义为测试服务器,在所述网络设备上配置最小化系统;
对所述最小化系统内的上层应用容器进行裁剪,仅保留基础容器,用于作为所述网络设备的接口;
对所述最小化系统进行初始化处理;
根据所述网络设备的端口资源的划分,完成所述网络设备的多PTF容器的安装。
2.如权利要求1所述SAI Thrift自动化测试框架的构建方法,其特征在于,所述最小化的系统为开源的SONiC系统。
3.如权利要求2所述SAI Thrift自动化测试框架的构建方法,其特征在于,所述最小化系统还可以为私有的网络系统。
4.如权利要求1所述SAI Thrift自动化测试框架的构建方法,其特征在于,所述上层应用容器包含:dhcp-relay容器、pmon容器、snmp容器、lldp容器、bgp容器以及teamd容器。
5.如权利要求1或4所述SAI Thrift自动化测试框架的构建方法,其特征在于,所述基础容器包含:syncd容器、swss容器以及database容器。
6.如权利要求2所述SAI Thrift自动化测试框架的构建方法,其特征在于,对所述最小化系统进行初始化处理包含如下子步骤;
关闭所述最小化系统内的主动发包服务;
待所述基础容器启动完成后,关闭所述网络设备的所有端口的vlan检查;
初始化ACL资源,创建几条ACL规则,匹配SAI Thrift测试涉及到的报文类型,将所述网络设备ingress方向收到的报文都送交CPU处理;
初始化统计资源,创建统计计数器,为各个所述ACL规则绑定统计。
7.如权利要求1所述SAI Thrift自动化测试框架的构建方法,其特征在于,根据所述网络设备的端口资源的划分,完成所述网络设备的多PTF容器的安装具体为:
根据所述网络设备的端口资源的划分,安装PTF容器;
设置所述网络设备的端口属性,进行环境的初始化;
完成所述网络设备的多PTF容器的安装。
CN202210709625.XA 2022-06-22 2022-06-22 SAI Thrift自动化测试框架的构建方法 Pending CN114936166A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210709625.XA CN114936166A (zh) 2022-06-22 2022-06-22 SAI Thrift自动化测试框架的构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210709625.XA CN114936166A (zh) 2022-06-22 2022-06-22 SAI Thrift自动化测试框架的构建方法

Publications (1)

Publication Number Publication Date
CN114936166A true CN114936166A (zh) 2022-08-23

Family

ID=82867604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210709625.XA Pending CN114936166A (zh) 2022-06-22 2022-06-22 SAI Thrift自动化测试框架的构建方法

Country Status (1)

Country Link
CN (1) CN114936166A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529262A (zh) * 2022-09-16 2022-12-27 杭州云合智网技术有限公司 一种sai thrift中acl命中确认方法、装置、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529262A (zh) * 2022-09-16 2022-12-27 杭州云合智网技术有限公司 一种sai thrift中acl命中确认方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US10462000B2 (en) Micro-services for configuring switches
CN114208124A (zh) 用于在虚拟机和容器上选择性地实现服务的系统和方法
US8635316B2 (en) System and method for automatic configuration and management of home network devices
US7522904B1 (en) Customer premises equipment alternate path architecture for configuration and troubleshooting
CN107222324B (zh) 网络服务的业务配置方法和装置
WO2019127418A1 (zh) 网络服务管理方法、相关装置及系统
EP4270204A1 (en) Multi-cloud interface adaptation method and system based on micro-service, and storage medium
CN111245634B (zh) 一种虚拟化管理方法及装置
Carrega et al. A middleware for mobile edge computing
CN112398936B (zh) 一种基于Kubernetes的多网卡容器实现方法及系统
CN113141405B (zh) 服务访问方法、中间件系统、电子设备和存储介质
CN108696523B (zh) 一种通话服务的响应方法及设备
CN109787864A (zh) 一种基于Netperf的网络自动测试方法、装置、终端及存储介质
CN114936166A (zh) SAI Thrift自动化测试框架的构建方法
US20220350637A1 (en) Virtual machine deployment method and related apparatus
CN112217845B (zh) 一种基于Netconf协议的数据传输方法及相关设备
CN105245379A (zh) 一种模拟snmp网元进行网管系统测试方法及装置
CN115248692A (zh) 一种支持多种深度学习框架模型云端部署的装置及方法
CN113904926A (zh) 预启动执行环境检查方法、系统、终端及存储介质
CN111970158B (zh) 边缘接入的处理系统、方法、装置及设备
EP3972196A1 (en) Virtual network function (vnf) deployment method and apparatus
CN113360386A (zh) 交换芯片驱动测试方法、装置、电子设备和存储介质
US20200344144A1 (en) Testing virtualized network functions
US7194534B2 (en) Display of phones on a map of a network
CN107404410B (zh) 一种云环境下构建虚拟网络功能平台的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: 3 / F, 665 Zhangjiang Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant after: Yunhe Zhiwang (Shanghai) Technology Co.,Ltd.

Address before: 311203 floor 12, building 2, Purple Orange International Center, No. 39, Jincheng Road, Xiaoshan District, Hangzhou, Zhejiang Province

Applicant before: Hangzhou yunhezhi Network Technology Co.,Ltd.

Country or region before: China

CB02 Change of applicant information