工单申请云主机

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


可通过以下方法进行禁用创建云主机权限:
  • 若新创建角色,进入配置角色权限步骤,在权限服务云主机相关接口中进行配置。
  • 若已有角色,进入角色详情页的权限内容子页面,选中云主机相关接口,点击操作 > 修改权限配置按钮进行修改。
使用流程如下:
  1. admin创建工单流程
  2. John(普通项目成员)提交工单
  3. Frank(一级审批)通过工单
  4. 工单流程失效
  5. admin修改工单流程
  6. John(普通项目成员)重新提交工单
  7. 完成审批流程
  8. admin删除工单审批流程

假定客户场景如下:

上海某公司开发组项目A-SH项目,包括以下成员:Jack(项目负责人)、Tom(项目管理员)、Frank(普通项目成员)、John(普通项目成员)。因项目成员没有创建云主机权限,无法创建云主机,只能通过工单申请的方式创建云主机。

  1. admin创建工单流程
    admin从主登录界面(http://your_machine_ip:5000/#/login)登录云平台后,在ZStack私有云主菜单,点击高级功能 > 企业管理 > 工单管理 > 流程管理按钮,进入流程管理界面,如Figure 2所示:
    Figure 2. 流程管理界面


    流程管理界面,点击创建工单流程按钮,可参考以下示例输入相应内容:
    • 名称:输入工单流程名称
    • 简介:可选项,可留空不填
    • 项目:选择一个项目
    • 工单类型:选择一个或多个工单类型,包括:申请云主机、删除云主机、修改云主机配置
      Note:
      • 同一工单流程支持用于多种工单类型(申请云主机、删除云主机、修改云主机配置)。
      • 同类型的工单流程只能对应一个工单流程。
    • 流程设置:展示工单流程详情
      初始流程设置界面包括最基本的两个步骤:提交工单--->部署环节,部署环节支持选择admin、项目负责人作为责任人。
      • 部署环节:选择部署责任人,支持admin、项目负责人
        Note: 部署环节不同责任人的区别如下:
        • 部署环节为admin时,自定义审批流程中必须添加环节;部署环节为项目负责人时,自定义审批流程中可以不添加环节。
        • 申请云主机类型的工单,admin通过并部署云主机,可以通过高级部署按钮,进行高级设置;项目负责人通过工单,部署云主机时,不能进行高级设置。
      如果需要添加环节,点击添加环节按钮,进入添加环节界面。可参考以下示例输入相应内容:
      • 环节名称:输入新增环节的名称
      • 上级环节:选择添加环节的位置
      • 处理人:选择工单审批处理人。指定项目后,工单流程的处理人将从该项目中选择
      点击右下角确定按钮,完成添加环节。如Figure 3所示:
      Figure 3. 添加环节


      • 点击已添加的工单环节后面的“-”,可删除这条环节。
      • 点击添加环节可继续添加审批环节,所有环节添加完成后,点击顶部确定按钮,完成工单流程创建

    本场景以admin作为部署环节,根据以上创建步骤创建自定义流程为:John(普通项目成员)提交工单---Frank(一级审批)--->Jack(项目负责人审批)--->admin审批。

    Figure 4所示:
    Figure 4. 创建工单流程


  2. John(普通项目成员)提交工单

    John急需一台云主机,因没有创建云主机权限,他决定通过工单审批的方式申请所需的云主机。提交工单的流程如下:

    从项目登录界面(http://your_machine_ip:5000/#/project)登录云平台,进入项目,在ZStack私有云主菜单,点击高级功能 > 企业管理 > 工单管理 > 我的工单按钮,在我的工单界面,点击创建工单按钮,可参考以下示例输入相应内容:
    • 工单信息:设置工单相关基础信息
      • 名称:设置工单名称
      • 工单类型:选择申请云主机工单类型,支持选择创建KVM/ESX云主机
      • 申请人:默认显示工单申请人的用户名
      • 申请项目:默认显示项目成员当前进入的项目
      • 备注:可选项,可留空不填
    • 申请内容:设置云主机申请内容
      • 虚拟化技术:支持选择创建KVM/ESX云主机,本场景下选择创建KVM云主机
      • 添加方式:选择创建单个或多个云主机
      • 云主机名称:设置云主机名称
      • 云主机简介:可选项,可留空不填
      • 计算规格:选择创建云主机的计算规格
      • 镜像:选择创建云主机的镜像
      • 网络:选择创建云主机的网络
      • 高级:创建云主机时,可对云主机进行高级配置,高级配置均为可选项
    Figure 5所示:
    Figure 5. 创建工单




    John通过上述流程创建了一个工单:申请云主机,该工单会按照自定义审批流程,首先走到Frank(一级审批),如Figure 6所示:
    Figure 6. 创建工单完成


  3. Frank(一级审批)通过工单

    Frank认为John申请的云主机要求合理,通过审批。

    Frank从项目登录界面(http://your_machine_ip:5000/#/project)登录云平台,进入项目,在ZStack私有云主菜单,点击高级功能 > 企业管理 > 工单管理 > 我的审批按钮,在我的审批界面的待办事项子页面,勾选这条工单,点击通过按钮,在弹出的通过工单页面,填写备注信息,点击确定按钮,审批通过该工单,如Figure 7所示:
    Figure 7. Frank通过审批


    Frank(一级审批)审批完成后,工单将进入已办事项页面,工单流程将进入下一审批环节。
  4. 工单流程失效

    工单流程中的某环节审批人被删除或移除项目时,工单流程失效。该项目内所有未走完工单将被驳回。

    恰巧,此时Frank离开了这个开发项目,Jack(项目管理员)将Frank从项目移除。此时,工单流程失效。流程失效后,John提交的工单将被驳回;且admin看到工单流程就绪状态将显示为失效,如Figure 8所示:
    Figure 8. admin-工单流程失效


    此时,John重新提交工单会报错,需等admin修改审批流程后,才能重新提交工单。
  5. admin修改工单流程
    admin进入流程管理界面,点击流程名称进入详情页,可查看失效环节,如Figure 9所示:
    Figure 9. 查看失效环节


    admin需进入流程管理界面,勾选该项目的工单流程,点击更多操作 > 修改工单流程按钮,如Figure 10所示:
    Figure 10. 修改工单流程


    进入修改工单流程后,删除Frank(一级审批),删除后可点击添加环节按钮添加新的环节,本场景仅删除但不添加新流程。admin工单流程修改完成后,点击确定按钮,将保存新的工单流程,此时,admin会看到工单流程就绪状态将变为有效
    Note:
    • 如果修改工单流程前工单流程状态为有效,重新修改工单流程后,所有采用该流程审批将按照新流程重新开始进行。
    • 如果修改工单流程前工单流程状态为无效,重新修改工单流程后,原被驳回的工单需要手动重新提交。
  6. John(普通项目成员)重新提交工单
    因为工单流程中成员被删除导致的John被驳回的工单将进入我的工单已处理子页面,John需要进入此页面,勾选该工单,点击重新提交按钮,重新提交工单。如Figure 11所示:
    Figure 11. John(普通项目成员)重新提交工单


  7. 完成审批流程

    重新提交工单后,该工单会重新回到已提交页面,并使用新流程重新进行。Jack(项目负责人审批)、admin依次通过审批后,将自动部署John申请的云主机。

    admin通过工单后,申请的云主机将自动部署到项目。

    审批结束后,工单流程中的处理人支持在工单详情页查看部署日志,若部署失败,请根据部署日志提示排查原因。如Figure 12所示:
    Figure 12. 查看部署日志


    至此,一套完整的自定义工单审批流程就结束了,John可以自由使用申请到的云主机,当然,这个云主机属于John所在的项目。

  8. admin删除工单审批流程

    此外,自定义工单审批流程中还会遇到admin删除工单审批流程的场景。

    如果工单未完成时,admin删除了工单审批流程,使用此流程的项目将使用默认流程(提交->admin),所有正在使用此流程的工单 将按默认流程重新提交。如Figure 13所示:
    Figure 13. 删除工单流程


    John根据工单流程,又重新提交了一个工单,但工单还没走完时,admin进入流程管理界面,删除了John所在项目的工单流程,John的工单将自动使用默认流程(提交->admin)重新提交,如Figure 14所示:
    Figure 14. John工单按默认流程重新提交