关于Python Fault 管理半自动化心得[一]

最近从码农变成了苦逼的 FC

所谓的FC是Fault Coordinator的简称,是负责协调处理Fault相关的角色。FC的所负责的杂事特别多,很多情况是完全重复的机械化劳动。

在做FC的一个职责是为每个 Fault 添加不同分支的改动表格给开发人员,这样保证所有 Fault 影响到的分支都有相关改动。

在公司龟速的网络下,每个分支的创建是相当的折磨人,而且在Fault特别多的情况下,这个工作量巨大,基本上一下午的时间就没有了。同时每个Fault需要FC来帮忙建立一个Jira Issue来让开发人员统计工作,而这个无疑又是手动的劳作。

在万般无奈的情况下,自己开始写Web自动化的工具来帮助半自动化重复的工作。

这个工具的需求已经明确了,就是半自动自己的一些重复劳动。在开始coding之前,需要自己做些相关的使用。

因为自己做的主要操作是和Fault管理系统相关,平时手动的工具是Web 浏览器,所以基本上是与Http打交道的比较多。而能够快速迭代的语言在我看来Python是最合适的。主要原因是相关的库比较全,同时对Http的交互比较好。

在技术方案确定下后,下面开始快速迭代。

在原始的软件工程是瀑布模型,也就是需求->设计->代码->测试->交付,也就是说刚开始很难拿到工具,这个不符合我的情况,我需要快速解决我的痛点。

所以我选择了快速迭代的模型,也就是每次出一个产品,包含我所要的一个功能,然后在使用中还需要加时再重新加。这样能使我从一些体力活中解脱出来。当然快速迭代中是有一个问题就是架构设计可能会变动的比较频繁,这对代码的之后的扩展性不利。所以在快速迭代中一定要考虑架构的稳健性和扩展性,不能写死。同时快速迭代的用户体验非常好,至少我自己拿到后生活轻松了许多。

当选好模型后,我们就开始真正的Coding。

我们需要使用到urlib/urlib2还有Jira的Reset API,这样可以方便地模拟Web相关操作。

在快速迭代时,需要明白用户最痛的点是什么这样工具做出来才有用户使用。而之前最大的痛点在于自己每个Fault创建Jira Issue上。尤其是在Fault特别多的情况下特别明显。自己一上午的时间都花在这个上面。

有了这个基本的痛点后,自己就可开始设计软件基本的架构了。

我们可以看到基本的工具设计如上,其实时序图不是很复杂,所以基本上花了2天的时间从设计到功能实现。

在上图有所谓的Fault File,这个Fault File的格式选择也让我纠结了很久,到底如何选格式呢?后来为了便于EXCEL做图,就选择了csv格式,这样方便在EXCEL打开。而Python有csv相关的处理库,可以很方便地处理数据。

而Jira的Python Reset相当好用,很多Jira相关处理直接用API提供的函数即可。

而自己也实时试用了下,发现十分好用。

至此,第一阶段的迭代就此完成

时间: 2024-08-06 15:58:46

关于Python Fault 管理半自动化心得[一]的相关文章

Fault管理与自动化

Fault管理和自动化,咋一看上去,是两个不想干的事情.但是,却是息息相关. Fault管理有很多工作需要做,很重要的是Release管理,风险管理,进度管理,流程管理.整体是比较繁琐的,而管理的重心是沟通与流程,与各种各样的人沟通.而Fault管理中除了与人沟通之外以及相关流程的制定.监控之外,其他大部分的时间是花在绩效信息汇报.Release信息填写.Fault的相关的流程上操作.而往往这些事情中很多步骤是重复的,可以自动化的.如果自动化后,可以将省下的effort让Fault Manage

kickstart/Anaconda实现Centos主机的半自动化安装

友情提醒:文中的实验环境为vmware workstation 10 + Centos 6.6 X86_64,请谨慎使用文中提及的命令. 内容概括: 1.kickstart/Anaconda简介 2.实验描述及实验环境准备 3.kickstart文件制作 4.启动引导光盘的制作 5.测试安装 一.kickstart/anaconda简介: Anaconda是Red Hat系列linux发行版使用的操作系统安装管理程序.它提供文本.图形安装方式. Anaconda支持的管理模式:安装全新os系统:

使用docker实现半自动化代码自动部署与回滚

最近开发docker的caas平台,目前已经开发完成,在优化性能与套模板.对于docker最近是很好,很多人把docker做为vm来使用,当然作为测试来说是没问题,但我感觉docker本身在做沙箱.自动化部署与回滚方面更适合,下面介绍一下我这里是如何通过docker实现代码半自动化部署. 目前我这里已经实现能结合svn或者git代码库,对node.php.java代码进行半自动化部署,先给大家截图看效果,感觉满意在继续细看. 总界面如下 点击左上角的"新增开放项目"就可以新建立测试,下

半自动化创建CA和申请证书

1 概述 本文之所以称之为半自动化,是因为证书的申请并非日常工作,只是一段时间才需要申请,同时,在创建证书和办法证书的时候,有些参数需要根据用户的需求自己调整,如证书的有效时间,还有,是否给私钥加密等等,因为叫脚本设置为半自动化,手动输入一些参数,到达用户的需求.当然如果环境是固定,参数也是固定,有效时间固定,该脚本配合crontab也可以实现自动化申请和颁发等操作 CA中心又称CA机构,即证书授权中心(Certificate Authority ),或称证书授权机构.本文将介绍通过openss

Centos系统半自动化安装

很多朋友也都使用光盘安装过操作Centos操作系统,光盘启动之后也就会给一个选择界面一步一步的选择好之后就开始正式安装了,如果是安装一台服务器的操作系统,这样也倒好说,如果等着我们安装的是成百上千的时候,还能这样一台的去手动选择第一个台的配置选项吗,很显然这样操作是很愚蠢的,所以我们能否让它按着一个标准划的模板自动化去配置后进行安装了.Centos系列的操作系统的光盘安装管理器anaconda已经给我们提供了这一功能,只是大家没有去做过多的研究罢了,那么今天就带大家来了解一下如何使用anacon

半自动化安装dns

1.  概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的信息.事实上服务器是不能根据www.sunny.com这样的地址找到对应的服务需要需要根据ip来找到对应的服务.那么网络上ip是怎么得到的呢这就要得益于dns服务器的工作.本文将对dns的工作原理dns常见的服务设置进行介绍最后本文将附上一篇dns自动化脚本方便用户快速搭建dns服务器. 2 原理介绍 DNS( Domain Name System)是"域名系统"的英文缩

Linux江湖06:感悟GNU C以及将Vim打造成C/C++的半自动化IDE

C语言在Linux系统中的重要性自然是无与伦比.不可替代,所以我写Linux江湖系列不可能不提C语言.C语言是我的启蒙语言,感谢C语言带领我进入了程序世界.虽然现在不靠它吃饭,但是仍免不了经常和它打交道,特别是在Linux系统下. Linux系统中普遍使用的是GNU-C,这里有一份Gnu-C语言手册.pdf.The GNU C Reference Manual的主页在这里:http://www.gnu.org/software/gnu-c-manual/.C语言的内核极其紧凑,该手册总共只有91

Python+Django+Ansible Playbook自动化运维项目实战

Python+Django+Ansible Playbook自动化运维项目实战网盘地址:https://pan.baidu.com/s/1bZ1Ju0mld3KLZawdxZ7m6Q 密码: 5k9x备用地址(腾讯微云):https://share.weiyun.com/5E7aUWv 密码:wzfdrn 本课程将带你从项目实践角度出发,围绕自动化资产扫描和发现.Ansible自动化任务执行的内容展开,让运维更简单.更高效,Hold住高薪! 适合人群:如果你是一位运维党,对Python运维自动化

UI半自动化实战-从UI入手,新增多条业务数据

背景: 目前的项目中,需要在一个list里边有1000多条数据去测性能,截止目前为止,走正常的业务流程进来的数据只有20条,如何快速的新增1000多条数据呢? 思考: 目前在做UI自动化的测试,Airtest+python    有现成的代码 实践结果:----待改进  思考如何做到全自动化 目前:半自动化   需要手动替换身份证号和姓名 在airtest编辑器中,每次执行完成后,需要手动替换身份证号(网上搜一大堆)和姓名 ,同时在点击运行按钮 __author__ = "ThinkPad&qu