sfctl chaos schedulesfctl chaos schedule

获取和设置 Chaos Schedule。Get and set the chaos schedule.

命令Commands

CommandCommand 说明Description
getget 获取定义何时以及如何运行 Chaos 的 Chaos Schedule。Get the Chaos Schedule defining when and how to run Chaos.
setset 设置 Chaos 使用的计划。Set the schedule used by Chaos.

sfctl chaos schedule getsfctl chaos schedule get

获取定义何时以及如何运行 Chaos 的 Chaos Schedule。Get the Chaos Schedule defining when and how to run Chaos.

获取正在使用的 Chaos Schedule 版本以及定义何时以及如何运行 Chaos 的 Chaos Schedule。Gets the version of the Chaos Schedule in use and the Chaos Schedule that defines when and how to run Chaos.

参数Arguments

参数Argument 说明Description
--timeout -t--timeout -t 执行操作的服务器超时,以秒为单位。The server timeout for performing the operation in seconds. 此超时指定客户端可以等待请求的操作完成的持续时间。This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. 此参数的默认值为 60 秒。The default value for this parameter is 60 seconds. 默认值: 60。Default: 60.

全局参数Global Arguments

参数Argument 说明Description
--debug--debug 提高日志记录详细程度以显示所有调试日志。Increase logging verbosity to show all debug logs.
--help -h--help -h 显示此帮助消息并退出。Show this help message and exit.
--output -o--output -o 输出格式。Output format. 允许的值: json、jsonc、table、tsv。Allowed values: json, jsonc, table, tsv. 默认值: json。Default: json.
--query--query JMESPath 查询字符串。JMESPath query string. 有关详细信息和示例,请参阅 http://jmespath.org/。See http://jmespath.org/ for more information and examples.
--verbose--verbose 提高日志记录详细程度。Increase logging verbosity. 使用 --debug 获取完整的调试日志。Use --debug for full debug logs.

sfctl chaos schedule setsfctl chaos schedule set

设置 Chaos 使用的计划。Set the schedule used by Chaos.

Chaos 将自动基于 Chaos Schedule 来计划运行。Chaos will automatically schedule runs based on the Chaos Schedule. 如果提供的版本与服务器上的版本匹配,则将更新 Chaos Schedule。The Chaos Schedule will be updated if the provided version matches the version on the server. 更新 Chaos Schedule 时,服务器上的版本将递增 1。When updating the Chaos Schedule, the version on the server is incremented by 1. 在达到较大数字后,服务器上的版本将自动换回 0。The version on the server will wrap back to 0 after reaching a large number. 如果在进行此调用时正在运行 Chaos,则此调用将失败。If Chaos is running when this call is made, the call will fail.

参数Arguments

参数Argument 说明Description
--chaos-parameters-dictionary--chaos-parameters-dictionary 一个 JSON 编码列表,表示字符串名称到 Jobs 要使用的 ChaosParameters 的映射。JSON encoded list representing a mapping of string names to ChaosParameters to be used by Jobs.
--expiry-date-utc--expiry-date-utc 停止使用 Schedule 来计划 Chaos 的日期和时间。The date and time for when to stop using the Schedule to schedule Chaos. 默认值: 9999-12-31T23:59:59.999Z。Default: 9999-12-31T23:59:59.999Z.
--jobs--jobs ChaosScheduleJobs 的 JSON 编码列表,表示何时运行 Chaos 以及使用哪些参数运行 Chaos。JSON encoded list of ChaosScheduleJobs representing when to run Chaos and with what parameters to run Chaos with.
--start-date-utc--start-date-utc 开始使用 Schedule 来计划 Chaos 的日期和时间。The date and time for when to start using the Schedule to schedule Chaos. 默认值: 1601-01-01T00:00:00.000Z。Default: 1601-01-01T00:00:00.000Z.
--timeout -t--timeout -t 默认值: 60。Default: 60.
--version--version Schedule 的版本号。The version number of the Schedule.

全局参数Global Arguments

参数Argument 说明Description
--debug--debug 提高日志记录详细程度以显示所有调试日志。Increase logging verbosity to show all debug logs.
--help -h--help -h 显示此帮助消息并退出。Show this help message and exit.
--output -o--output -o 输出格式。Output format. 允许的值: json、jsonc、table、tsv。Allowed values: json, jsonc, table, tsv. 默认值: json。Default: json.
--query--query JMESPath 查询字符串。JMESPath query string. 有关详细信息和示例,请参阅 http://jmespath.org/。See http://jmespath.org/ for more information and examples.
--verbose--verbose 提高日志记录详细程度。Increase logging verbosity. 使用 --debug 获取完整的调试日志。Use --debug for full debug logs.

示例Examples

以下命令设置一个计划(假定当前计划的版本为 0),该计划于 2016 年 1 月 1 日开始,于 2038 年 1 月 1 日过期,每周 7 天、每天 24 小时运行 Chaos。The following command sets a schedule (assuming the current schedule has version 0) that starts on 2016-01-01 and expires on 2038-01-01 that runs Chaos 24 hours of the day, 7 days a week. Chaos 将被计划于该时间内在群集上运行。Chaos will be scheduled on the cluster for that time.

sfctl chaos schedule set --version 0 --start-date-utc "2016-01-01T00:00:00.000Z" --expiry-date-utc "2038-01-01T00:00:00.000Z"
    --chaos-parameters-dictionary
    [
    {
        "Key":"adhoc",
        "Value":{
            "MaxConcurrentFaults":3,
            "EnableMoveReplicaFaults":true,
            "ChaosTargetFilter":{
                "NodeTypeInclusionList":[
                "N0010Ref",
                "N0020Ref",
                "N0030Ref",
                "N0040Ref",
                "N0050Ref"
                ]
            },
            "MaxClusterStabilizationTimeoutInSeconds":60,
            "WaitTimeBetweenIterationsInSeconds":15,
            "WaitTimeBetweenFaultsInSeconds":30,
            "TimeToRunInSeconds":"600",
            "Context":{
                "Map":{
                "test":"value"
                }
            },
            "ClusterHealthPolicy":{
                "MaxPercentUnhealthyNodes":0,
                "ConsiderWarningAsError":true,
                "MaxPercentUnhealthyApplications":0
            }
        }
    }
    ]
    --jobs
    [
    {
        "ChaosParameters":"adhoc",
        "Days":{
            "Sunday":true,
            "Monday":true,
            "Tuesday":true,
            "Wednesday":true,
            "Thursday":true,
            "Friday":true,
            "Saturday":true
        },
        "Times":[
            {
                "StartTime":{
                "Hour":0,
                "Minute":0
                },
                "EndTime":{
                "Hour":23,
                "Minute":59
                }
            }
        ]
    }
    ]

后续步骤Next steps