本文介绍CreateExperiment、UpdateExperiment、ExecuteExperiment接口的入参Definition。
CreateExperiment、UpdateExperiment接口的入参Definition说明
CreateExperiment、UpdateExperiment的入参Definition示例如下:
{
"runMode":"SEQUENCE",
"duration":600,
"flowGroups":
[{
"hosts":["192.168.0.1"],
"flows":
[{
"attack":
{
"appCode":"chaos.cpu.fullload",
"userCheck":true,
"arguments":
{
"cpu_count":"1",
"namespcae":"default"
}
}
}],
"appName":"demo",
"appGroups":["demo-group"]
}]
}
Definition中涉及的参数如下所示。
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
runMode | Enum | 是 | SEQUENCE | 运行模式:
|
duration | Long | 是 | 180 | 自动恢复时间(秒)。 |
flowGroups | List<FlowGropup> | 是 | [{"hosts":["192.168.0.1"],"flows":[{"attack":{"appCode":"chaos.cpu.fullload","userCheck":true,"arguments":{"cpu_count":"1","namespcae":"default"}}}],"appName":"demo","appGroups":["demo-group"]}] | 微流程组。 |
appName | String | 是 | demo | 应用名称。 |
appGroups | List<String> | 是 | ["demo-group"] | 应用分组名称。 |
hosts | List<String> | 是 | ["192.168.0.1"] | 机器列表。 |
flows | List<Flow> | 是 | [{"attack":{"appCode":"chaos.cpu.fullload","userCheck":true,"arguments":{"cpu_count":"1","namespcae":"default"}}}] | 微流程。 |
prepare | List<FlowActicity> | 否 | {"appCode":"chaos.jvm.install","userCheck":true,"arguments":{"process":"java"}} | 准备阶段。 |
appCode | String | 是 | chaos.jvm.install | 小程序编码。 |
activityName | String | 否 | CPU满载 | 小程序名称。 |
userCheck | Boolean | 否 | true | 是否手动推进演练(默认为true)。 |
arguments | Map<String,String> | 否 | {"process":"java"} | 小程序配置参数。 |
attack | FlowInfo | 是 | {"appCode":"chaos.cpu.fullload","userCheck":true,"arguments":{"cpu_count":"1","namespcae":"default"}} | 注入阶段。 |
appCode | String | 是 | chaos.cpu.fullload | 小程序编码。 |
activityName | String | 否 | CPU满载 | 小程序名称。 |
userCheck | Boolean | 否 | true | 是否手动推进演练(默认为true)。 |
arguments | Map<String,String> | 否 | {"cpu_count":"1","namespcae":"default"} | 小程序配置参数。 |
check | List<FlowActicity> | 否 | {"appCode":"mkapp.metric.net.packet.dropped","userCheck":true} | 验证阶段。 |
appCode | String | 是 | "mkapp.metric.net.packet.dropped | 小程序编码。 |
activityName | String | 否 | CPU满载 | 小程序名称。 |
userCheck | Boolean | 否 | true | 是否手动推进演练(默认为true)。 |
arguments | Map<String,String> | 否 | {"cpu_count":"1","namespcae":"default"} | 小程序配置参数。 |
recover | List<FlowActicity> | 否 | {"appCode":"chaos.jvm.uninstall","userCheck":true} | 恢复阶段。 |
appCode | String | 是 | chaos.jvm.uninstall | 小程序编码。 |
activityName | String | 否 | CPU满载 | 小程序名称。 |
userCheck | Boolean | 否 | true | 是否手动推进演练(默认为true)。 |
arguments | Map<String,String> | 否 | {"cpu_count":"1","namespcae":"default"} | 小程序配置参数。 |
groupName | String | 否 | 默认分组1 | 微流程组名称(若不填写会生成默认名称)。 |
ExecuteExperiment接口的入参Definition说明
ExecuteExperiment接口的入参Definition示例如下:
{
"param":
[{
"groupId":"1234567890123456789",
"appName":"ahas-default-node",
"appGroups":["AHAS杭州预发环境"],
"hosts":["192.168.0.205"],
"activityParam":
[{
"flowId":"1234567890123456789",
"appCode":"chaos.cpu.fullload",
"arguments":
{
"cpu_count":"1",
"namespace":"default"
}
}]
}]
}
Definition中涉及的参数说明如下。
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
groupId | String | 是 | 1234567890123456789 | 微流程组ID。 |
appName | String | 否 | demo | 应用名称。 |
appGroups | List<String> | 否 | ["demo-group"] | 应用分组名称。 |
hosts | List<String> | 否 | ["192.168.0.1"] | 机器列表。 |
activieyParam | ActivityRunApiParam | 否 | [{"flowId":"1234567890123456789","appCode":"chaos.cpu.fullload","arguments":{"cpu_count":"1","namespace":"default"}}] | 小程序配置参数。 |
flowId | String | 否 | 1234567890123456789 | 微流程ID。如果不填,默认为修改第一个为微流程。 |
appCode | String | 否 | chaos.cpu.fullload | 小程序编码。 |
arguments | Map<String,String> | 否 | {"cpu_count":"1","namespace":"default"} | 小程序配置参数。 |