28.3. 工作流和执行故障排除
OpenStack Workflow(mistral)服务将多项 OpenStack 任务组合成工作流。Red Hat OpenStack Platform 使用一组这样的工作流在 director 上执行常见功能,包括裸机节点控制、验证、计划管理和 overcloud 部署。
				例如,在运行 openstack overcloud deploy 命令时,OpenStack Workflow 服务执行两个工作流。第一个工作流上传部署计划:
			
Removing the current plan files Uploading new plan files Started Mistral Workflow. Execution ID: aef1e8c6-a862-42de-8bce-073744ed5e6b Plan updated
Removing the current plan files
Uploading new plan files
Started Mistral Workflow. Execution ID: aef1e8c6-a862-42de-8bce-073744ed5e6b
Plan updated第二个工作流启动 overcloud 部署:
OpenStack Workflow 服务使用以下对象跟踪工作流:
- Actions
- 相关的任务运行时,OpenStack 会执行特定的指令。例如,运行 shell 脚本或执行 HTTP 请求。一些 OpenStack 组件内置有可供 OpenStack Workflow 使用的操作。
- 任务
- 定义要运行的操作以及运行该操作的结果。这些任务通常关联有操作或其他工作流。完成一项任务时,工作流会定向到另一任务,这通常取决于前一任务的成败状况。
- 工作流
- 分组在一起并以特定顺序执行的一组任务。
- 执行
- 定义特定操作、任务或工作流的运行。
OpenStack Workflow 可以提供可靠的执行日志,这有助于识别某些命令失败的问题。例如,如果某一工作流执行失败,您可以确定其故障点。
步骤
- Source - stackrc文件:- source ~/stackrc - $ source ~/stackrc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 列出具有已失败状态 - ERROR的工作流执行记录:- (undercloud) $ openstack workflow execution list | grep "ERROR" - (undercloud) $ openstack workflow execution list | grep "ERROR"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 获取失败工作流执行的 UUID(例如 - dffa96b0-f679-4cd2-a490-4769a3825262)并查看该执行及输出:- (undercloud) $ openstack workflow execution show dffa96b0-f679-4cd2-a490-4769a3825262 (undercloud) $ openstack workflow execution output show dffa96b0-f679-4cd2-a490-4769a3825262 - (undercloud) $ openstack workflow execution show dffa96b0-f679-4cd2-a490-4769a3825262 (undercloud) $ openstack workflow execution output show dffa96b0-f679-4cd2-a490-4769a3825262- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 这些命令返回有关执行中已失败任务的信息。 - openstack workflow execution show命令还会显示用于执行的工作流(例如- tripleo.plan_management.v1.publish_ui_logs_to_swift)。您可以使用以下命令查看完整的工作流定义:- (undercloud) $ openstack workflow definition show tripleo.plan_management.v1.publish_ui_logs_to_swift - (undercloud) $ openstack workflow definition show tripleo.plan_management.v1.publish_ui_logs_to_swift- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 这可用于辨别特定任务在工作流中的位置。 
- 使用类似命令语法查看操作执行及其结果: - (undercloud) $ openstack action execution list (undercloud) $ openstack action execution show 8a68eba3-0fec-4b2a-adc9-5561b007e886 (undercloud) $ openstack action execution output show 8a68eba3-0fec-4b2a-adc9-5561b007e886 - (undercloud) $ openstack action execution list (undercloud) $ openstack action execution show 8a68eba3-0fec-4b2a-adc9-5561b007e886 (undercloud) $ openstack action execution output show 8a68eba3-0fec-4b2a-adc9-5561b007e886- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 这对于识别导致问题的具体操作非常有用。