工单申请云主机
本场景将以提交工单申请云主机为例,使用admin通过工单,结合自定义工单审批过程中涉及到的工单流程变更、删除工单流程等自定义工单审批过程中涉及到的操作介绍。
Note:
若使用工单申请云主机,建议admin将普通项目成员的创建云主机权限(CreateVmInstance)禁用,如Figure 1所示:Figure 1. 禁用创建云主机权限


可通过以下方法进行禁用创建云主机权限:
- 若新创建角色,进入配置角色权限步骤,在权限服务云主机相关接口中进行配置。
- 若已有角色,进入角色详情页的权限内容子页面,选中云主机相关接口,点击操作 > 修改权限配置按钮进行修改。
使用流程如下:
- admin创建工单流程
- John(普通项目成员)提交工单
- Frank(一级审批)通过工单
- 工单流程失效
- admin修改工单流程
- John(普通项目成员)重新提交工单
- 完成审批流程
- admin删除工单审批流程
假定客户场景如下:
上海某公司开发组项目A-SH项目,包括以下成员:Jack(项目负责人)、Tom(项目管理员)、Frank(普通项目成员)、John(普通项目成员)。因项目成员没有创建云主机权限,无法创建云主机,只能通过工单申请的方式创建云主机。
-
admin创建工单流程
admin从主登录界面(http://your_machine_ip:5000/#/login)登录云平台后,在ZStack私有云主菜单,点击高级功能 > 企业管理 > 工单管理 > 流程管理按钮,进入流程管理界面,如Figure 2所示:
Figure 2. 流程管理界面 
在流程管理界面,点击创建工单流程按钮,可参考以下示例输入相应内容:- 名称:输入工单流程名称
- 简介:可选项,可留空不填
- 项目:选择一个项目
- 工单类型:选择一个或多个工单类型,包括:申请云主机、删除云主机、修改云主机配置Note:
- 同一工单流程支持用于多种工单类型(申请云主机、删除云主机、修改云主机配置)。
- 同类型的工单流程只能对应一个工单流程。
- 流程设置:展示工单流程详情初始流程设置界面包括最基本的两个步骤:提交工单--->部署环节,部署环节支持选择admin、项目负责人作为责任人。
- 部署环节:选择部署责任人,支持admin、项目负责人Note: 部署环节不同责任人的区别如下:
- 部署环节为admin时,自定义审批流程中必须添加环节;部署环节为项目负责人时,自定义审批流程中可以不添加环节。
- 申请云主机类型的工单,admin通过并部署云主机,可以通过高级部署按钮,进行高级设置;项目负责人通过工单,部署云主机时,不能进行高级设置。
如果需要添加环节,点击添加环节按钮,进入添加环节界面。可参考以下示例输入相应内容:- 环节名称:输入新增环节的名称
- 上级环节:选择添加环节的位置
- 处理人:选择工单审批处理人。指定项目后,工单流程的处理人将从该项目中选择
Figure 3. 添加环节 
- 点击已添加的工单环节后面的“-”,可删除这条环节。
- 点击添加环节可继续添加审批环节,所有环节添加完成后,点击顶部确定按钮,完成工单流程创建
- 部署环节:选择部署责任人,支持admin、项目负责人
本场景以admin作为部署环节,根据以上创建步骤创建自定义流程为:John(普通项目成员)提交工单---Frank(一级审批)--->Jack(项目负责人审批)--->admin审批。
如Figure 4所示:Figure 4. 创建工单流程 
-
John(普通项目成员)提交工单
John急需一台云主机,因没有创建云主机权限,他决定通过工单审批的方式申请所需的云主机。提交工单的流程如下:
从项目登录界面(http://your_machine_ip:5000/#/project)登录云平台,进入项目,在ZStack私有云主菜单,点击高级功能 > 企业管理 > 工单管理 > 我的工单按钮,在我的工单界面,点击创建工单按钮,可参考以下示例输入相应内容:- 工单信息:设置工单相关基础信息
- 名称:设置工单名称
- 工单类型:选择申请云主机工单类型,支持选择创建KVM/ESX云主机
- 申请人:默认显示工单申请人的用户名
- 申请项目:默认显示项目成员当前进入的项目
- 备注:可选项,可留空不填
- 申请内容:设置云主机申请内容
- 虚拟化技术:支持选择创建KVM/ESX云主机,本场景下选择创建KVM云主机
- 添加方式:选择创建单个或多个云主机
- 云主机名称:设置云主机名称
- 云主机简介:可选项,可留空不填
- 计算规格:选择创建云主机的计算规格
- 镜像:选择创建云主机的镜像
- 网络:选择创建云主机的网络
- 高级:创建云主机时,可对云主机进行高级配置,高级配置均为可选项
如Figure 5所示:Figure 5. 创建工单 

John通过上述流程创建了一个工单:申请云主机,该工单会按照自定义审批流程,首先走到Frank(一级审批),如Figure 6所示:Figure 6. 创建工单完成 
- 工单信息:设置工单相关基础信息
-
Frank(一级审批)通过工单
Frank认为John申请的云主机要求合理,通过审批。
Frank从项目登录界面(http://your_machine_ip:5000/#/project)登录云平台,进入项目,在ZStack私有云主菜单,点击高级功能 > 企业管理 > 工单管理 > 我的审批按钮,在我的审批界面的待办事项子页面,勾选这条工单,点击通过按钮,在弹出的通过工单页面,填写备注信息,点击确定按钮,审批通过该工单,如Figure 7所示: Frank(一级审批)审批完成后,工单将进入已办事项页面,工单流程将进入下一审批环节。Figure 7. Frank通过审批 
-
工单流程失效
工单流程中的某环节审批人被删除或移除项目时,工单流程失效。该项目内所有未走完工单将被驳回。
恰巧,此时Frank离开了这个开发项目,Jack(项目管理员)将Frank从项目移除。此时,工单流程失效。流程失效后,John提交的工单将被驳回;且admin看到工单流程就绪状态将显示为失效,如Figure 8所示: 此时,John重新提交工单会报错,需等admin修改审批流程后,才能重新提交工单。Figure 8. admin-工单流程失效 
-
admin修改工单流程
admin需进入流程管理界面,勾选该项目的工单流程,点击更多操作 > 修改工单流程按钮,如Figure 10所示:
进入修改工单流程后,删除Frank(一级审批),删除后可点击添加环节按钮添加新的环节,本场景仅删除但不添加新流程。admin工单流程修改完成后,点击确定按钮,将保存新的工单流程,此时,admin会看到工单流程就绪状态将变为有效。Figure 10. 修改工单流程 
Note:- 如果修改工单流程前工单流程状态为有效,重新修改工单流程后,所有采用该流程审批将按照新流程重新开始进行。
- 如果修改工单流程前工单流程状态为无效,重新修改工单流程后,原被驳回的工单需要手动重新提交。
-
John(普通项目成员)重新提交工单
因为工单流程中成员被删除导致的John被驳回的工单将进入我的工单的已处理子页面,John需要进入此页面,勾选该工单,点击重新提交按钮,重新提交工单。如Figure 11所示:
Figure 11. John(普通项目成员)重新提交工单 
-
完成审批流程
重新提交工单后,该工单会重新回到已提交页面,并使用新流程重新进行。Jack(项目负责人审批)、admin依次通过审批后,将自动部署John申请的云主机。
admin通过工单后,申请的云主机将自动部署到项目。
审批结束后,工单流程中的处理人支持在工单详情页查看部署日志,若部署失败,请根据部署日志提示排查原因。如Figure 12所示:Figure 12. 查看部署日志 
至此,一套完整的自定义工单审批流程就结束了,John可以自由使用申请到的云主机,当然,这个云主机属于John所在的项目。
- admin删除工单审批流程


