一、工具背景

背景:容灾自动化测试工具开箱即用能力优化;

需求:自动生成容灾测试用例;

实现目标:

  1. 在k8s的集群模式下,通过自定义的配置文件信息(核心业务pod名称)获取所有要搜索的业务pod、业务节点、管理节点、业务进程。
  2. 获取到业务pod、业务节点、管理节点、业务进程的配置数据。
  3. 根据容灾工具配置的18种容灾测试模型自动生成所有核心业务pod、业务节点、管理节点、业务进程的yaml容灾用例。

二、设计思路

在这里插入图片描述


三、代码实现

在这里插入图片描述

执行文件

#获取业务pod、业务节点、管理节点、业务进程的配置信息。
get_describe_Info.py / print_describe_info.py

#生成业务pod、业务节点、管理节点、业务进程的 yaml 容灾用例。
main.py

#格式化 Yaml Package。
delete_Yaml_file.py

依赖文件

#调用 Model Package 中的代码。
print_model.py

#开发提供的文档,内容包括 podname(节点名)、processname(进程名)、grade(等级)。
podname-processname.txt

#获取的业务pod、业务节点、管理节点的配置信息。
pod_describe.ini / node_descirbe.ini

依赖文件夹

#根据容灾模型生成 yaml 容灾用例的代码。
Model Package

#各个容灾模型对应的 yaml 格式。
Model_Yaml Package

#存储生成的 yaml 容灾用例。
Yaml Package

四、使用方法

安装

#在Linux环境下,要有Kubernetes(k8s)环境
自行安装k8s
​
#使用命令导入工具的zip包
rz
​
#解压zip包
unzip 包名

使用

#1.进入到容灾自动化测试工具的目录下
cd pythonProject/容灾自动化测试工具/#2.执行获取配置信息的操作,执行成功后会有.ini文件生成
python print_describe_info.py
​
#3.执行main.py生成yaml容灾用例
python main.py
​
#4.格式化Yaml Package
python delete_Yaml_file.py

五、注意事项

1. podname-processname.txt 格式

  • 按行输入
  • 内容为podname、processname、grade
  • 各字段间用逗号划分

2. 注意执行顺序

#首先获取配置文件信息
python print_describe_info.py

#获取配置信息后才能执行
python main.py

#更新数据之前,格式化Yaml
python delete_file.py 

在腾讯云实习独自完成的第一个需求。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐