将OpenStack Mistral工作流转换为StackStorm Orquesta工作流的工具
项目描述
orquestaconvert
将Mistral工作流转换为Orquesta工作流
用法
入门指南
脚本会自动设置一个virtualenv
(如果不存在),其中包含运行所需的所有依赖项。
只需第一次运行命令,所有设置都会为你完成
git clone https://github.com/EncoreTechnologies/orquestaconvert.git
cd orquestaconvert
./bin/orquestaconvert.sh --help
orquestaconvert.sh
- 转换单个工作流并将其打印到标准输出
您必须指定一个或多个要转换的工作流YAML文件作为脚本的最后一个参数。
还有一些您可以使用选项
-e <type>
- 插入新表达式(例如when
子句中的任务转换)时使用的表达式类型(YAQL或Jinja)--force
- 强制脚本转换并打印工作流,即使它未成功验证Orquesta YAML模式。--validate
- 仅运行脚本的验证部分,对于使用--force
部分转换工作流然后手动完成转换的情况非常有用。
示例
转换单个工作流
使用 Jinja 表达式(默认)在任务转换条件中,将nasa_apod_twitter_post.yaml
工作流从 Mistral 转换为 Orquesta。
./bin/orquestaconvert.sh ./tests/fixtures/mistral/nasa_apod_twitter_post.yaml
转换工作流,输出 YAQL 表达式
使用 YAQL 表达式为新任务转换条件转换工作流,并跳过 Orquesta 工作流验证。请注意,这可能会生成既不是有效 Mistral 也不是有效 Orquesta 工作流的工作流。
./bin/orquestaconvert.sh -e yaql --force ./tests/fixtures/mistral/nasa_apod_twitter_post.yaml
验证 Orquesta 工作流
在文件上运行 Orquesta YAML 架构验证。验证成功时返回 0,验证失败时返回非零值。还可以使用--verbose
选项明确打印文件的验证结果。
./bin/orquestaconvert.sh --validate ./tests/fixtures/orquesta/nasa_apod_twitter_post.yaml
orquestaconvert-pack.sh
- 转换包中的所有 Mistral 工作流
此脚本扫描包中的所有操作元数据文件,并尝试使用orquestaconvert.sh
脚本将所有 Mistral 工作流转换为 Orquesta,并/或使用该脚本验证包中的所有 Orquesta 工作流。此脚本将所有未识别的参数传递给orquestaconvert.sh
,因此您可以使用该脚本对单个工作流执行的所有操作,都可以通过使用此脚本来对整个包执行。
您必须从包的基本目录运行此命令,或者您必须使用--actions-dir
选项指定包含操作元数据文件的目录。
支持的选项包括
--list-workflows <type>
- 列出指定类型的所有工作流(必须是 ActionChain 的action-chain
,Mistral 的mistral-v2
,或者 Orquesta 工作流的orquesta
或orchestra
)--actions-dir <dir>
- 指定要扫描和转换的目录
示例
转换包中的所有工作流
尝试使用 Jinja 表达式(默认)在新任务转换中转换所有工作流从 Mistral 到 Orquesta。
./bin/orquestaconvert-pack.sh
列出包中的 Mistral 工作流
列出剩余的 Mistral 工作流。
./bin/orquestaconvert-pack.sh --list-workflows mistral-v2
转换包中的所有工作流,输出 YAQL 表达式
将mypack/actions
中的所有 Mistral 工作流(在生成任务转换条件时使用 YAQL 表达式)转换为 Orquesta 并跳过验证。请注意,使用此选项可能会创建既不是有效 Mistral 也不是有效 Orquesta 工作流的工作流。
./bin/orquestaconvert-pack.sh --expressions yaql --force --action-dir mypack/actions
验证包中的所有 Orquesta 工作流
明确打印所有 Orquesta 工作流的验证结果。
./bin/orquestaconvert-pack.sh --validate --verbose
特性
- 将
direct
Mistral 工作流转换为 Orquesta 工作流(通用结构) - 处理
input
、output
、tasks
- 对于每个任务,都转换了
action
、input
、publish
、on-success
、on-error
和on-complete
- 转换简单的 Jinja 和 YAQL 表达式
- 转换 Jinja 和 YAQL 表达式中的
task()
、st2kv
、_.xxx
/$.xxx
等 - 转换
with-items
和concurrency
属性 - 转换大多数
retry
属性,包括continue-on
和简单的break-on
表达式
限制
- 不转换
{% %}
Jinja 表达式 - 不转换复杂的 Jinja / YAQL 表达式
- 不转换
reverse
类型的工作流 - 不转换工作簿(同一文件中的多个工作流)
- 不转换对非本地任务的
task('xxx')
引用,当前任务始终假定。 - 不转换具有
output-on-error
段的工作流 - 不转换如果任务包含以下属性之一的工作流
keep-result
pause-before
safe-rerun
target
timeout
wait-after
wait-before
工作流程
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
orquestaconvert-0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56e65b2149cfde1259eb84768418c70750b31f75f75da9d83abd72b250c9bc75 |
|
MD5 | b733b71906e478db26395bd3f969eb0b |
|
BLAKE2b-256 | 206f0da278e6e894f5ed53a87464943eda05789bfbf2bc81a9fba07e6cb7b6e9 |
orquestaconvert-0.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b005be7424c2870971f9930fcfc0df1239fd17db914dfafda70ad1f6c1b622f8 |
|
MD5 | 46a9970a2d5077598854f6a8c2b960bf |
|
BLAKE2b-256 | 2920896d51000de77d11a6509f9a3cf72964e70abb84f7f1e4d6c3052dd52be6 |