一种Ansible剧本编写方法、装置和电子设备制造方法及图纸

技术编号:25184586 阅读:45 留言:0更新日期:2020-08-07 21:12
本发明专利技术公开了一种Ansible剧本编写方法、装置和电子设备,方法包括:将Ansible剧本编写中使用的多个模块的模块名称以及参数信息存入数据库;利用加载的浏览器插件读取所述数据库中的模块名称以及参数信息,根据读取的模块名称以及参数信息生成交互式图表后展现在页面上;接收对页面上展现的交互式图表的元素的编辑指令,并根据编辑完成后触发的剧本生成请求,生成剧本。本发明专利技术实施例提供了基于可视化页面编写剧本的方案,使得运维人员不需要关注Ansible剧本复杂格式要求及相关代码,大大降低了掌握Ansible剧本编写的难度,有利于提高运维效率。

【技术实现步骤摘要】
一种Ansible剧本编写方法、装置和电子设备
本专利技术涉及网络运维
,具体涉及一种Ansible剧本编写方法、装置和电子设备。
技术介绍
Ansible是自动化运维工具,用于配置管理和应用部署,即在管理主机上操作一些命令就能在节点主机上进行相应的动作。由Python语言编写,由模块组成,模块即执行动作的实体,Ansible默认提供了核心模块、自定义模块等供使用,在Ansible上都是靠着相应的模块执行动作,比如拷贝copy模块、执行command模块、shell模块、文件file模块等。在Linux中,可以通过ansible-doc-l命令查看到当前Ansible都支持哪些模块,通过ansible-doc-s模块名可以查看该模块有哪些参数可以使用。Playbook是Ansible用于配置、部署和管理托管主机的命令和工作机制。通过读取预先编写好由一个或多个“play”组成的Playbook文件实现批量管理,Playbook可以理解为按一定条件组成的Ansible任务集,play的主要功能在于将事先归并为一组的主机装扮成事先通过Ansible中的任务定义好的角色,从根本上来讲,所谓任务无非是调用Ansible的一个模块(module)。Playbook的字面意思即剧本,Playbook可以反复使用编写的代码,可以放到不同的机器上,像函数一样最大化的利用代码,在使用Ansible的过程中,处理的大部分操作都是在编写Playbook。由上可知,Playbook的编写是运维人员必须掌握的技能之一。但是,现有技术中部分运维人员对Ansible工具了解不深,编写剧本困难,影响了运维工作顺利开展。
技术实现思路
本专利技术提供了一种Ansible剧本编写方法、装置和电子设备,通过利用浏览器插件生成交互式图表,将剧本编写过程在页面展现出来,使得运维人员不需要关注剧本复杂格式要求及相关代码,只需要通过可视化的界面元素进行编辑即可,大大降低了掌握Ansible剧本编写的难度,有利于提高运维效率。根据本申请的一个方面,提供了一种Ansible剧本编写方法,包括:将Ansible剧本编写中使用的多个模块的模块名称以及参数信息存入数据库;利用加载的浏览器插件读取所述数据库中的模块名称以及参数信息,根据读取的模块名称以及参数信息生成交互式图表后展现在页面上;接收对所述页面上展现的所述交互式图表的元素的编辑指令,并根据编辑完成后触发的剧本生成请求,生成剧本。可选地,所述将Ansible剧本编写中使用的多个模块的模块名称以及参数信息存入数据库包括:将Ansible剧本编写中使用的多个模块划分成若干个分组,获取各分组中的模块的模块名称以及参数信息,将获取的信息存入关系数据库。可选地,所述根据读取的所述模块名称以及所述参数信息生成交互式图表包括:根据读取的各分组中的模块的所述模块名称以及参数信息,生成包含分组元素的交互式图表后展现在页面上,其中,分组元素与分组对应,分组包括命令管理分组、文件管理分组、系统管理分组、网络工具分组、逻辑管理分组以及辅助模块分组;各所述分组元素中包括一个或多个模块元素。可选地,所述接收对所述页面上展现的所述交互式图表的元素的编辑指令包括:接收对所述模块元素的拖拽指令并记录拖拽指令的先后顺序,将所述拖拽指令的先后顺序作为生成的剧本中对应模块的执行顺序,其中所述模块元素位于所述页面上展现的所述交互式图表中的模块区;根据所述拖拽指令将选择的所述模块元素移动至所述交互式图表中的工作区,接收对所述交互式图表中的参数区内与所述模块元素对应的参数信息的输入指令,以及,接收对所述工作区内所述模块元素间的连线指令,根据所述连线指令在选择的模块元素间添加连线。可选地,所述接收对所述页面上展现的所述交互式图表的元素的编辑指令还包括:接收对所述交互式图表中添加条件模块元素的拖拽指令,根据所述拖拽指令将所述添加条件模块元素移动至所述工作区内指示条件判断的模块元素的下方,根据接收的所述连线指令将所述添加条件模块元素与所述指示条件判断的模块元素用连线连接并为所述添加条件模块元素设置两个条件分支连线,接收在所述参数区内的所述指示条件判断的模块元素对应的参数信息处输入的判断条件内容;以及,接收将满足判断条件内容时对应执行的模块元素拖拽至条件分支连线的目的端的拖拽指令,根据所述拖拽指令将所述模块元素移动至条件分支连线的目的端。根据本申请的另一个方面,提供了一种Ansible剧本编写装置,包括:数据处理单元,用于将Ansible剧本编写中使用的多个模块的模块名称以及参数信息存入数据库;页面展现单元,用于利用加载的浏览器插件读取所述数据库中的模块名称以及参数信息,根据读取的所述模块名称以及参数信息生成交互式图表后展现在页面上;剧本生成单元,用于接收对所述页面上展现的所述交互式图表的元素的编辑指令,并根据编辑完成后触发的剧本生成请求,生成剧本。可选地,所述数据处理单元,用于将Ansible剧本编写中使用的多个模块划分成若干个分组,获取各分组中的模块的所述模块名称以及参数信息,将获取的信息存入关系数据库。可选地,所述页面展现单元,具体用于根据读取的各分组中的模块的所述模块名称以及参数信息,生成包含分组元素的所述交互式图表后展现在页面上,其中,分组元素与分组对应,分组包括命令管理分组、文件管理分组、系统管理分组、网络工具分组、逻辑管理分组以及辅助模块分组;各分组元素中包括一个或多个模块元素。可选地,所述剧本生成单元,具体用于接收对所述模块元素的拖拽指令并记录拖拽指令的先后顺序,将所述拖拽指令的先后顺序作为生成的剧本中对应模块的执行顺序,其中所述模块元素位于所述页面上展现的所述交互式图表中的模块区;根据所述拖拽指令将选择的模块元素移动至交互式图表中的工作区,接收对所述交互式图表中的参数区内与模块元素对应的参数信息的输入指令,以及,接收对所述工作区内模块元素间的连线指令,根据连线指令在选择的模块元素间添加连线。根据本申请的再一个方面,提供了一种电子设备,电子设备包括:存储器和处理器,所述存储器和所述处理器之间通过内部总线通讯连接,所述存储器存储有能够被所述处理器执行的程序指令,所述程序指令被所述处理器执行时能够实现本申请一个方面所述的方法。应用本专利技术实施例的Ansible剧本编写方法、装置和电子设备,将Ansible剧本编写中使用的多个模块的信息存入数据库,利用加载的浏览器插件读取数据库中的信息并生成交互式图表后展现在页面上;后续接收对页面上展现的交互式图表的元素的编辑指令,即可根据编辑完成后触发的剧本生成请求,自动生成剧本。由此,使运维人员不需要关注剧本自身复杂的格式要求、相关代码和各模块包含哪些参数,只需要对可视化的界面元素进行编辑,比如在页面上拉取模块组成一个完整的流程,填写各模块参数即可由后台代码自动生成剧本(即Playbook),大本文档来自技高网
...

【技术保护点】
1.一种Ansible剧本编写方法,其特征在于,包括:/n将Ansible剧本编写中使用的多个模块的模块名称以及参数信息存入数据库;/n利用加载的浏览器插件读取所述数据库中的模块名称以及参数信息,根据读取的所述模块名称以及参数信息生成交互式图表后展现在页面上;/n接收对所述页面上展现的所述交互式图表的元素的编辑指令,并根据编辑完成后触发的剧本生成请求,生成剧本。/n

【技术特征摘要】
1.一种Ansible剧本编写方法,其特征在于,包括:
将Ansible剧本编写中使用的多个模块的模块名称以及参数信息存入数据库;
利用加载的浏览器插件读取所述数据库中的模块名称以及参数信息,根据读取的所述模块名称以及参数信息生成交互式图表后展现在页面上;
接收对所述页面上展现的所述交互式图表的元素的编辑指令,并根据编辑完成后触发的剧本生成请求,生成剧本。


2.根据权利要求1所述的方法,其特征在于,所述将Ansible剧本编写中使用的多个模块的模块名称以及参数信息存入数据库包括:
将Ansible剧本编写中使用的多个模块划分成若干个分组,获取各分组中的模块的模块名称以及参数信息,将获取的信息存入关系数据库。


3.根据权利要求2所述的方法,其特征在于,所述根据读取的所述模块名称以及所述参数信息生成交互式图表包括:
根据读取的各分组中的模块的所述模块名称以及参数信息,生成包含分组元素的交互式图表后展现在页面上,
其中,分组元素与分组对应,分组包括命令管理分组、文件管理分组、系统管理分组、网络工具分组、逻辑管理分组以及辅助模块分组;
各所述分组元素中包括一个或多个模块元素。


4.根据权利要求3所述的方法,其特征在于,所述接收对所述页面上展现的所述交互式图表的元素的编辑指令包括:
接收对所述模块元素的拖拽指令并记录拖拽指令的先后顺序,将所述拖拽指令的先后顺序作为生成的剧本中对应模块的执行顺序,其中所述模块元素位于所述页面上展现的所述交互式图表中的模块区;
根据所述拖拽指令将选择的所述模块元素移动至所述交互式图表中的工作区,
接收对所述交互式图表中的参数区内与所述模块元素对应的参数信息的输入指令,
以及,接收对所述工作区内所述模块元素间的连线指令,根据所述连线指令在选择的模块元素间添加连线。


5.根据权利要求4所述的方法,其特征在于,所述接收对所述页面上展现的所述交互式图表的元素的编辑指令还包括:
接收对所述交互式图表中添加条件模块元素的拖拽指令,根据所述拖拽指令将所述添加条件模块元素移动至所述工作区内指示条件判断的模块元素的下方,
根据接收的所述连线指令将所述添加条件模块元素与所述指示条件判断的模块元素用连线连接并为所述添加条件模...

【专利技术属性】
技术研发人员:张宁
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1