API Reference
chaos-mesh.org/v1alpha1
Package v1alpha1 contains API Schema definitions for the chaosmesh v1alpha1 API group
AWSChaos
AWSChaos is the Schema for the awschaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
AWSChaosAction (string)
AWSChaosAction represents the chaos action about aws.
AWSChaosSpec
AWSChaosSpec is the content of the specification for an AWSChaos
Field | Description |
---|---|
|
Action defines the specific aws chaos action. Supported action: ec2-stop / ec2-restart / detach-volume Default action: ec2-stop |
|
Duration represents the duration of the chaos action. |
|
SecretName defines the name of kubernetes secret. |
|
|
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
AWSChaosStatus
AWSChaosStatus represents the status of an AWSChaos
Field | Description |
---|---|
|
AWSSelector
Field | Description |
---|---|
|
Endpoint indicates the endpoint of the aws server. Just used it in test now. |
|
AWSRegion defines the region of aws. |
|
Ec2Instance indicates the ID of the ec2 instance. |
|
EbsVolume indicates the ID of the EBS volume. Needed in detach-volume. |
|
DeviceName indicates the name of the device. Needed in detach-volume. |
AttrOverrideSpec
AttrOverrideSpec represents an override of attribution
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AzureChaos
AzureChaos is the Schema for the azurechaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
AzureChaosAction (string)
AzureChaosAction represents the chaos action about azure.
AzureChaosSpec
AzureChaosSpec is the content of the specification for an AzureChaos
Field | Description |
---|---|
|
Action defines the specific azure chaos action. Supported action: vm-stop / vm-restart / disk-detach Default action: vm-stop |
|
Duration represents the duration of the chaos action. |
|
AzureChaosStatus
AzureChaosStatus represents the status of an AzureChaos
Field | Description |
---|---|
|
AzureSelector
Field | Description |
---|---|
|
SubscriptionID defines the id of Azure subscription. |
|
ResourceGroupName defines the name of ResourceGroup |
|
VMName defines the name of Virtual Machine |
|
DiskName indicates the name of the disk. Needed in disk-detach. |
|
LUN indicates the Logical Unit Number of the data disk. Needed in disk-detach. |
|
SecretName defines the name of kubernetes secret. It is used for Azure credentials. |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
BandwidthSpec
BandwidthSpec defines detail of bandwidth limit.
Field | Description |
---|---|
|
Rate is the speed knob. Allows bit, kbit, mbit, gbit, tbit, bps, kbps, mbps, gbps, tbps unit. bps means bytes per second. |
|
Limit is the number of bytes that can be queued waiting for tokens to become available. |
|
Buffer is the maximum amount of bytes that tokens can be available for instantaneously. |
|
Peakrate is the maximum depletion rate of the bucket. The peakrate does not need to be set, it is only necessary if perfect millisecond timescale shaping is required. |
|
Minburst specifies the size of the peakrate bucket. For perfect accuracy, should be set to the MTU of the interface. If a peakrate is needed, but some burstiness is acceptable, this size can be raised. A 3000 byte minburst allows around 3mbit/s of peakrate, given 1000 byte packets. |
BlockChaos
BlockChaos is the Schema for the blockchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
BlockChaosAction (string)
BlockChaosSpec
BlockChaosSpec is the content of the specification for a BlockChaos
Field | Description |
---|---|
|
Action defines the specific block chaos action. Supported action: delay |
|
Delay defines the delay distribution. |
|
|
|
Duration represents the duration of the chaos action. |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
BlockChaosStatus
BlockChaosStatus represents the status of a BlockChaos
Field | Description |
---|---|
|
|
|
InjectionIds always specifies the number of injected chaos action |
BlockDelaySpec
BlockDelaySpec describes the block delay specification
Field | Description |
---|---|
|
Latency defines the latency of every io request. |
|
|
|
CPUStressor
CPUStressor defines how to stress CPU out
Field | Description |
---|---|
|
|
|
Load specifies P percent loading per CPU worker. 0 is effectively a sleep (no load) and 100 is full loading. |
|
extend stress-ng options |
ChainDirection (string)
ChainDirection represents the direction of chain
ChaosCondition
Field | Description |
---|---|
|
|
|
|
|
ChaosConditionType (string)
ChaosOnlyScheduleSpec
ChaosOnlyScheduleSpec is very similar with ScheduleSpec, but it could not schedule Workflow because we could not resolve nested CRD now
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
ChaosStatus
Field | Description |
---|---|
|
Conditions represents the current global condition of the chaos |
|
Experiment records the last experiment state. |
CidrAndPort
CidrAndPort represents CIDR and port pair
Field | Description |
---|---|
|
|
|
ClockSpec
Field | Description |
---|---|
|
the pid of target program. |
|
specifies the length of time offset. |
|
the identifier of the particular clock on which to act. More clock description in linux kernel can be found in man page of clock_getres, clock_gettime, clock_settime. Muti clock ids should be split with "," |
ConcurrencyPolicy (string)
ConditionalBranch
Field | Description |
---|---|
|
Target is the name of other template, if expression is evaluated as true, this template will be spawned. |
|
Expression is the expression for this conditional branch, expected type of result is boolean. If expression is empty, this branch will always be selected/the template will be spawned. |
ConditionalBranchStatus
Field | Description |
---|---|
|
|
|
ConditionalBranchesStatus
Field | Description |
---|---|
|
|
|
ContainerNodeVolumePathSelector
ContainerNodeVolumePathSelector is the selector to select a node and a PV on it
Field | Description |
---|---|
|
|
|
ContainerSelector
Field | Description |
---|---|
|
|
|
ContainerNames indicates list of the name of affected container. If not set, the first container will be injected |
CorruptSpec
CorruptSpec defines detail of a corrupt action
Field | Description |
---|---|
|
|
|
DNSChaos
DNSChaos is the Schema for the networkchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a pod chaos experiment |
|
Most recently observed status of the chaos experiment about pods |
DNSChaosSpec
DNSChaosSpec defines the desired state of DNSChaos
Field | Description |
---|---|
|
Action defines the specific DNS chaos action. Supported action: error, random Default action: error |
|
|
|
Duration represents the duration of the chaos action |
|
Choose which domain names to take effect, support the placeholder ? and wildcard , or the Specified domain name. Note: 1. The wildcard * must be at the end of the string. For example, chaos-.org is invalid. 2. if the patterns is empty, will take effect on all the domain names. For example: The value is ["google.com", "github.*", "chaos-mes?.org"], will take effect on "google.com", "github.com" and "chaos-mesh.org" |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
DNSChaosStatus
DNSChaosStatus defines the observed state of DNSChaos
Field | Description |
---|---|
|
DelaySpec
DelaySpec defines detail of a delay action
Field | Description |
---|---|
|
|
|
|
|
|
|
DesiredPhase (string)
Direction (string)
Direction represents traffic direction from source to target, it could be netem, delay, loss, duplicate, corrupt or partition, check comments below for detail direction flow.
DiskFileSpec
Field | Description |
---|---|
|
specifies how many units of data will write into the file path. support unit: c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024, GB=1000*1000*1000, G=1024*1024*1024 BYTES. example : 1M |
512kB |
|
DiskFillSpec
Field | Description |
---|---|
|
|
|
fill disk by fallocate |
DiskPayloadSpec
Field | Description |
---|---|
|
|
|
specifies the number of process work on writing, default 1, only 1-255 is valid value |
DuplicateSpec
DuplicateSpec defines detail of a duplicate action
Field | Description |
---|---|
|
|
|
EmbedChaos
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EmbedStatusCheck
Field | Description |
---|---|
|
ExpInfo
Field | Description |
---|---|
|
the experiment ID |
|
the subAction, generate automatically |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExperimentStatus
Field | Description |
---|---|
|
|
|
Records are used to track the running status |
FailKernRequest
FailKernRequest defines the injection conditions
Field | Description |
---|---|
|
FailType indicates what to fail, can be set to '0' / '1' / '2' If |
|
Headers indicates the appropriate kernel headers you need. Eg: "linux/mmzone.h", "linux/blkdev.h" and so on |
|
Callchain indicate a special call chain, such as: ext4_mount → mount_subtree → … → should_failslab With an optional set of predicates and an optional set of parameters, which used with predicates. You can read call chan and predicate examples from https://github.com/chaos-mesh/bpfki/tree/develop/examples to learn more. If no special call chain, just keep Callchain empty, which means it will fail at any call chain with slab alloc (eg: kmalloc). |
|
Probability indicates the fails with probability. If you want 1%, please set this field with 1. |
|
Times indicates the max times of fails. |
FileAppendSpec
Field | Description |
---|---|
|
FileName is the name of the file to be created, modified, deleted, renamed, or appended. |
|
Data is the data for append. |
|
Count is the number of times to append the data. |
FileCreateSpec
Field | Description |
---|---|
|
FileName is the name of the file to be created, modified, deleted, renamed, or appended. |
|
DirName is the directory name to create or delete. |
FileDeleteSpec
Field | Description |
---|---|
|
FileName is the name of the file to be created, modified, deleted, renamed, or appended. |
|
DirName is the directory name to create or delete. |
FileModifyPrivilegeSpec
Field | Description |
---|---|
|
FileName is the name of the file to be created, modified, deleted, renamed, or appended. |
|
Privilege is the file privilege to be set. |
FileRenameSpec
Field | Description |
---|---|
|
SourceFile is the name need to be renamed. |
|
DestFile is the name to be renamed. |
FileReplaceSpec
Field | Description |
---|---|
|
FileName is the name of the file to be created, modified, deleted, renamed, or appended. |
|
OriginStr is the origin string of the file. |
|
DestStr is the destination string of the file. |
|
Line is the line number of the file to be replaced. |
FileType (string)
FileType represents type of file
FillingType (string)
FillingType represents type of data is filled for incorrectness
Filter
Filter represents a filter of IOChaos action, which will define the scope of an IOChaosAction
Field | Description |
---|---|
|
Path represents a glob of injecting path |
|
Methods represents the method that the action will inject in |
|
Percent represents the percent probability of injecting this action |
Frame
Frame defines the function signature and predicate in function’s body
Field | Description |
---|---|
|
Funcname can be find from kernel source or |
|
Parameters is used with predicate, for example, if you want to inject slab error in |
|
Predicate will access the arguments of this Frame, example with Parameters’s, you can set it to |
GCPChaos
GCPChaos is the Schema for the gcpchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
GCPChaosAction (string)
GCPChaosAction represents the chaos action about gcp.
GCPChaosSpec
GCPChaosSpec is the content of the specification for a GCPChaos
Field | Description |
---|---|
|
Action defines the specific gcp chaos action. Supported action: node-stop / node-reset / disk-loss Default action: node-stop |
|
Duration represents the duration of the chaos action. |
|
SecretName defines the name of kubernetes secret. It is used for GCP credentials. |
|
|
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
GCPChaosStatus
GCPChaosStatus represents the status of a GCPChaos
Field | Description |
---|---|
|
|
|
The attached disk info strings. Needed in disk-loss. |
GCPSelector
Field | Description |
---|---|
|
Project defines the ID of gcp project. |
|
Zone defines the zone of gcp project. |
|
Instance defines the name of the instance |
|
The device name of disks to detach. Needed in disk-loss. |
GenericSelectorSpec
GenericSelectorSpec defines some selectors to select objects.
Field | Description |
---|---|
|
Namespaces is a set of namespace to which objects belong. |
|
Map of string keys and values that can be used to select objects. A selector based on fields. |
|
Map of string keys and values that can be used to select objects. A selector based on labels. |
|
a slice of label selector expressions that can be used to select objects. A list of selectors based on set-based label expressions. |
|
Map of string keys and values that can be used to select objects. A selector based on annotations. |
HTTPAbortSpec
Field | Description |
---|---|
|
HTTPChaos
HTTPChaos is the Schema for the HTTPchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
HTTPChaosSpec
Field | Description |
---|---|
|
|
|
Target is the object to be selected and injected. |
|
|
|
Port represents the target port to be proxy of. |
|
Path is a rule to select target by uri path in http request. |
|
Method is a rule to select target by http method in request. |
|
Code is a rule to select target by http status code in response. |
|
RequestHeaders is a rule to select target by http headers in request. The key-value pairs represent header name and header value pairs. |
|
ResponseHeaders is a rule to select target by http headers in response. The key-value pairs represent header name and header value pairs. |
|
TLS is the tls config, will override PodHttpChaos if there are multiple HTTPChaos experiments are applied |
|
Duration represents the duration of the chaos action. |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
HTTPChaosStatus
Field | Description |
---|---|
|
|
|
Instances always specifies podhttpchaos generation or empty |
HTTPCommonSpec
Field | Description |
---|---|
|
Composed with one of the port of HTTP connection, we will only attack HTTP connection with port inside proxy_ports |
|
HTTP target: Request or Response |
|
The TCP port that the target service listens on |
|
Match path of Uri with wildcard matches |
|
HTTP method |
|
Code is a rule to select target by http status code in response |
HTTPConfigSpec
Field | Description |
---|---|
|
The config file path |
HTTPCriteria
Field | Description |
---|---|
|
StatusCode defines the expected http status code for the request. A statusCode string could be a single code (e.g. 200), or an inclusive range (e.g. 200-400, both |
HTTPDelaySpec
Field | Description |
---|---|
|
|
|
Delay represents the delay of the target request/response |
HTTPRequestMethod (string)
HTTPRequestSpec
used for HTTP request, now only support GET
Field | Description |
---|---|
|
Request to send" |
|
Enable connection pool |
|
The number of requests to send |
HTTPStatusCheck
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
Criteria defines how to determine the result of the status check. |
IOChaos
IOChaos is the Schema for the iochaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
IOChaosAction
IOChaosAction defines a possible action of IOChaos
Field | Description |
---|---|
|
|
|
|
|
Faults represents the fault to inject |
|
Latency represents the latency to inject |
|
AttrOverride represents the attribution to override |
|
MistakeSpec represents the mistake to inject |
|
Source represents the source of current rules |
IOChaosSpec
IOChaosSpec defines the desired state of IOChaos
Field | Description |
---|---|
|
|
|
Action defines the specific pod chaos action. Supported action: latency / fault / attrOverride / mistake |
|
Delay defines the value of I/O chaos action delay. A delay string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". |
|
Errno defines the error code that returned by I/O action. refer to: https://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html |
|
Attr defines the overrided attribution |
|
Mistake defines what types of incorrectness are injected to IO operations |
|
Path defines the path of files for injecting I/O chaos action. |
|
Methods defines the I/O methods for injecting I/O chaos action. default: all I/O methods. |
|
Percent defines the percentage of injection errors and provides a number from 0-100. default: 100. |
|
VolumePath represents the mount path of injected volume |
|
Duration represents the duration of the chaos action. It is required when the action is |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
IOChaosStatus
IOChaosStatus defines the observed state of IOChaos
Field | Description |
---|---|
|
|
|
Instances always specifies podiochaos generation or empty |
IOChaosType (string)
IOChaosType represents the type of IOChaos Action
IPSetType (string)
IPSetType represents the type of IP set
IoFault
IoFault represents the fault to inject and their weight
Field | Description |
---|---|
|
|
|
IoMethod (string)
JVMChaos
JVMChaos is the Schema for the jvmchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
JVMChaosAction (string)
JVMChaosAction represents the chaos action about jvm
JVMChaosSpec
JVMChaosSpec defines the desired state of JVMChaos
Field | Description |
---|---|
|
|
|
Duration represents the duration of the chaos action |
|
Action defines the specific jvm chaos action. Supported action: latency;return;exception;stress;gc;ruleData |
|
JVMParameter represents the detail about jvm chaos action definition |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
JVMChaosStatus
JVMChaosStatus defines the observed state of JVMChaos
Field | Description |
---|---|
|
JVMClassMethodSpec
JVMClassMethodSpec is the specification for class and method
Field | Description |
---|---|
|
Java class |
|
the method in Java class |
JVMCommonSpec
JVMCommonSpec is the common specification for JVMChaos
Field | Description |
---|---|
|
the port of agent server, default 9277 |
|
the pid of Java process which needs to attach |
JVMExceptionSpec
Field | Description |
---|---|
|
|
|
|
|
the exception which needs to throw for action |
JVMGCSpec
Field | Description |
---|---|
|
JVMLatencySpec
Field | Description |
---|---|
|
|
|
|
|
the latency duration for action 'latency', unit ms |
JVMMySQLSpec
JVMMySQLSpec is the specification of MySQL fault injection in JVM only when SQL match the Database, Table and SQLType, JVMChaos mesh will inject fault for examle: SQL is "select * from test.t1", only when Database == "test" || Database == "") && (Table == "t1" || Table == "") && (SQLType == "select" || SQLType == "" is true, JVMChaos will inject fault
Field | Description |
---|---|
|
the version of mysql-connector-java, only support 5.X.X(set to "5") and 8.X.X(set to "8") now |
|
the match database default value is "", means match all database |
|
the match table default value is "", means match all table |
|
the match sql type default value is "", means match all SQL type. The value can be 'select', 'insert', 'update', 'delete', 'replace'. |
JVMParameter
JVMParameter represents the detail about jvm chaos action definition
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
byteman rule name, should be unique, and will generate one if not set |
|
the return value for action 'return' |
|
the exception which needs to throw for action |
|
the latency duration for action 'latency', unit ms or the latency duration in action |
|
the byteman rule’s data for action 'ruleData' |
JVMReturnSpec
Field | Description |
---|---|
|
|
|
|
|
the return value for action 'return' |
JVMRuleDataSpec
Field | Description |
---|---|
|
|
|
RuleData used to save the rule file’s data, will use it when recover |
JVMStressCfgSpec
JVMStressSpec is the specification for stress
Field | Description |
---|---|
|
the CPU core number needs to use, only set it when action is stress |
|
the memory type needs to locate, only set it when action is stress, the value can be 'stack' or 'heap' |
JVMStressSpec
Field | Description |
---|---|
|
|
|
the CPU core number need to use, only set it when action is stress |
|
the memory type need to locate, only set it when action is stress, the value can be 'stack' or 'heap' |
KafkaCommonSpec
Field | Description |
---|---|
|
The topic to attack |
|
The host of kafka server |
|
The port of kafka server |
|
The username of kafka client |
|
The password of kafka client |
KafkaFillSpec
Field | Description |
---|---|
|
|
|
The size of each message |
|
The max bytes to fill |
|
The command to reload kafka config |
KafkaFloodSpec
Field | Description |
---|---|
|
|
|
The size of each message |
|
The number of worker threads |
KafkaIOSpec
Field | Description |
---|---|
|
The topic to attack |
|
The path of server config |
|
Make kafka cluster non-readable |
|
Make kafka cluster non-writable |
KernelChaos
KernelChaos is the Schema for the kernelchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a kernel chaos experiment |
|
Most recently observed status of the kernel chaos experiment |
KernelChaosSpec
KernelChaosSpec defines the desired state of KernelChaos
Field | Description |
---|---|
|
|
|
FailKernRequest defines the request of kernel injection |
|
Duration represents the duration of the chaos action |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
KernelChaosStatus
KernelChaosStatus defines the observed state of KernelChaos
Field | Description |
---|---|
|
LossSpec
LossSpec defines detail of a loss action
Field | Description |
---|---|
|
|
|
MemoryStressor
MemoryStressor defines how to stress memory out
Field | Description |
---|---|
|
|
|
Size specifies N bytes consumed per vm worker, default is the total available memory. One can specify the size as % of total available memory or in units of B, KB/KiB, MB/MiB, GB/GiB, TB/TiB. |
|
OOMScoreAdj sets the oom_score_adj of the stress process. See |
|
extend stress-ng options |
MistakeSpec
MistakeSpec represents one type of mistake
Field | Description |
---|---|
|
Filling determines what is filled in the mistake data. |
|
There will be [1, MaxOccurrences] segments of wrong data. |
|
Max length of each wrong data segment in bytes |
NetworkBandwidthSpec
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NetworkChaos
NetworkChaos is the Schema for the networkchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a pod chaos experiment |
|
Most recently observed status of the chaos experiment about pods |
NetworkChaosAction (string)
NetworkChaosAction represents the chaos action about network.
NetworkChaosSpec
NetworkChaosSpec defines the desired state of NetworkChaos
Field | Description |
---|---|
|
|
|
Action defines the specific network chaos action. Supported action: partition, netem, delay, loss, duplicate, corrupt Default action: delay |
|
Device represents the network device to be affected. |
|
Duration represents the duration of the chaos action |
|
TcParameter represents the traffic control definition |
|
Direction represents the direction, this applies on netem and network partition action |
|
Target represents network target, this applies on netem and network partition action |
|
TargetDevice represents the network device to be affected in target scope. |
|
ExternalTargets represents network targets outside k8s |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
NetworkChaosStatus
NetworkChaosStatus defines the observed state of NetworkChaos
Field | Description |
---|---|
|
|
|
Instances always specifies podnetworkchaos generation or empty |
NetworkCommonSpec
Field | Description |
---|---|
|
correlation is percentage (10 is 10%) |
|
the network interface to impact |
|
only impact egress traffic from these source ports, use a ',' to separate or to indicate the range, such as 80, 8001:8010. it can only be used in conjunction with -p tcp or -p udp |
|
only impact egress traffic to these destination ports, use a ',' to separate or to indicate the range, such as 80, 8001:8010. it can only be used in conjunction with -p tcp or -p udp |
|
only impact egress traffic to these IP addresses |
|
only impact traffic using this IP protocol, supported: tcp, udp, icmp, all |
|
only impact traffic to these hostnames |
NetworkCorruptSpec
Field | Description |
---|---|
|
|
|
percentage of packets to corrupt (10 is 10%) |
NetworkDNSSpec
Field | Description |
---|---|
|
update the DNS server in /etc/resolv.conf with this value |
|
map specified host to this IP address |
|
map this host to specified IP |
NetworkDelaySpec
Field | Description |
---|---|
|
|
|
jitter time, time units: ns, us (or µs), ms, s, m, h. |
|
delay egress time, time units: ns, us (or µs), ms, s, m, h. |
|
only the packet which match the tcp flag can be accepted, others will be dropped. only set when the IPProtocol is tcp, used for partition. |
NetworkDownSpec
Field | Description |
---|---|
|
The network interface to impact |
|
NIC down time, time units: ns, us (or µs), ms, s, m, h. |
NetworkDuplicateSpec
Field | Description |
---|---|
|
|
|
percentage of packets to duplicate (10 is 10%) |
NetworkFloodSpec
Field | Description |
---|---|
|
The speed of network traffic, allows bps, kbps, mbps, gbps, tbps unit. bps means bytes per second |
|
Generate traffic to this IP address |
|
Generate traffic to this port on the IP address |
|
The number of iperf parallel client threads to run |
|
The number of seconds to run the iperf test |
NetworkLossSpec
Field | Description |
---|---|
|
|
|
percentage of packets to loss (10 is 10%) |
NetworkPartitionSpec
Field | Description |
---|---|
|
the network interface to impact |
|
only impact traffic to these hostnames |
|
only impact egress traffic to these IP addresses |
|
specifies the partition direction, values can be 'from', 'to'. 'from' means packets coming from the 'IPAddress' or 'Hostname' and going to your server, 'to' means packets originating from your server and going to the 'IPAddress' or 'Hostname'. |
|
only impact egress traffic to these IP addresses |
|
only the packet which match the tcp flag can be accepted, others will be dropped. only set when the IPProtocol is tcp, used for partition. |
PMJVMMySQLSpec
Field | Description |
---|---|
|
|
|
|
|
The exception which needs to throw for action |
|
The latency duration for action 'latency' or the latency duration in action |
Phase (string)
PhysicalMachine
PhysicalMachine is the Schema for the physical machine API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a physical machine |
PhysicalMachineChaos
PhysicalMachineChaos is the Schema for the physical machine chaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
Spec defines the behavior of a physical machine chaos experiment |
|
|
Most recently observed status of the chaos experiment |
PhysicalMachineChaosSpec
PhysicalMachineChaosSpec defines the desired state of PhysicalMachineChaos
Field | Description |
---|---|
|
|
|
|
|
ExpInfo string |
|
Duration represents the duration of the chaos action |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
PhysicalMachineChaosStatus
PhysicalMachineChaosStatus defines the observed state of PhysicalMachineChaos
Field | Description |
---|---|
|
PhysicalMachineSelector
Field | Description |
---|---|
|
DEPRECATED: Use Selector instead. Only one of Address and Selector could be specified. |
|
Selector is used to select physical machines that are used to inject chaos action. |
|
Mode defines the mode to run chaos action. Supported mode: one / all / fixed / fixed-percent / random-max-percent |
|
Value is required when the mode is set to |
PhysicalMachineSelectorSpec
PhysicalMachineSelectorSpec defines some selectors to select objects. If the all selectors are empty, all objects will be used in chaos experiment.
Field | Description |
---|---|
|
|
|
PhysicalMachines is a map of string keys and a set values that used to select physical machines. The key defines the namespace which physical machine belong, and each value is a set of physical machine names. |
PhysicalMachineSpec
PhysicalMachineSpec defines the desired state of PhysicalMachine
Field | Description |
---|---|
|
Address represents the address of the physical machine |
PodChaos
PodChaos is the control script`s spec.
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a pod chaos experiment |
|
Most recently observed status of the chaos experiment about pods |
PodChaosAction (string)
PodChaosAction represents the chaos action about pods.
PodChaosSpec
PodChaosSpec defines the attributes that a user creates on a chaos experiment about pods.
Field | Description |
---|---|
|
|
|
Action defines the specific pod chaos action. Supported action: pod-kill / pod-failure / container-kill Default action: pod-kill |
|
Duration represents the duration of the chaos action. It is required when the action is |
|
GracePeriod is used in pod-kill action. It represents the duration in seconds before the pod should be deleted. Value must be non-negative integer. The default value is zero that indicates delete immediately. |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
PodChaosStatus
PodChaosStatus represents the current status of the chaos experiment about pods.
Field | Description |
---|---|
|
PodHttpChaos
PodHttpChaos is the Schema for the podhttpchaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
PodHttpChaosActions
PodHttpChaosActions defines possible actions of HttpChaos.
Field | Description |
---|---|
|
Abort is a rule to abort a http session. |
|
Delay represents the delay of the target request/response. A duration string is a possibly unsigned sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". |
|
Replace is a rule to replace some contents in target. |
|
Patch is a rule to patch some contents in target. |
PodHttpChaosBaseRule
PodHttpChaosBaseRule defines the injection rule without source and port.
Field | Description |
---|---|
|
Target is the object to be selected and injected, <Request |
Response>. |
|
Selector contains the rules to select target. |
|
PodHttpChaosPatchActions
PodHttpChaosPatchActions defines possible patch-actions of HttpChaos.
Field | Description |
---|---|
Body is a rule to patch message body of target. |
|
|
Queries is a rule to append uri queries of target(Request only). For example: |
|
Headers is a rule to append http headers of target. For example: |
PodHttpChaosPatchBodyAction
PodHttpChaosPatchBodyAction defines patch body action of HttpChaos.
Field | Description |
---|---|
|
Type represents the patch type, only support |
|
Value is the patch contents. |
PodHttpChaosReplaceActions
PodHttpChaosReplaceActions defines possible replace-actions of HttpChaos.
Field | Description |
---|---|
|
Path is rule to to replace uri path in http request. |
|
Method is a rule to replace http method in request. |
|
Code is a rule to replace http status code in response. |
|
Body is a rule to replace http message body in target. |
|
Queries is a rule to replace uri queries in http request. For example, with value |
|
Headers is a rule to replace http headers of target. The key-value pairs represent header name and header value pairs. |
PodHttpChaosRule
PodHttpChaosRule defines the injection rule for http.
Field | Description |
---|---|
|
|
|
Source represents the source of current rules |
|
Port represents the target port to be proxy of. |
PodHttpChaosSelector
Field | Description |
---|---|
|
Port is a rule to select server listening on specific port. |
|
Path is a rule to select target by uri path in http request. |
|
Method is a rule to select target by http method in request. |
|
Code is a rule to select target by http status code in response. |
|
RequestHeaders is a rule to select target by http headers in request. The key-value pairs represent header name and header value pairs. |
|
ResponseHeaders is a rule to select target by http headers in response. The key-value pairs represent header name and header value pairs. |
PodHttpChaosSpec
PodHttpChaosSpec defines the desired state of PodHttpChaos.
Field | Description |
---|---|
|
Rules are a list of injection rule for http request. |
|
TLS is the tls config, will be override if there are multiple HTTPChaos experiments are applied |
PodHttpChaosStatus
PodHttpChaosStatus defines the actual state of PodHttpChaos.
Field | Description |
---|---|
|
Pid represents a running tproxy process id. |
|
StartTime represents the start time of a tproxy process. |
|
|
|
PodHttpChaosTLS
PodHttpChaosTLS contains the tls config for HTTPChaos
Field | Description |
---|---|
|
SecretName represents the name of required secret resource |
|
SecretNamespace represents the namespace of required secret resource |
|
CertName represents the data name of cert file in secret, |
|
KeyName represents the data name of key file in secret, |
|
CAName represents the data name of ca file in secret, |
PodHttpChaosTarget (string)
PodHttpChaosTarget represents the type of an HttpChaos Action
PodIOChaos
PodIOChaos is the Schema for the podiochaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
PodIOChaosSpec
PodIOChaosSpec defines the desired state of IOChaos
Field | Description |
---|---|
|
VolumeMountPath represents the target mount path It must be a root of mount path now. TODO: search the mount parent of any path automatically. TODO: support multiple different volume mount path in one pod |
|
TODO: support multiple different container to inject in one pod |
|
Actions are a list of IOChaos actions |
PodIOChaosStatus
Field | Description |
---|---|
|
Pid represents a running toda process id |
|
StartTime represents the start time of a toda process |
|
|
|
PodNetworkChaos
PodNetworkChaos is the Schema for the PodNetworkChaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a pod chaos experiment |
|
Most recently observed status of the chaos experiment about pods |
PodNetworkChaosSpec
PodNetworkChaosSpec defines the desired state of PodNetworkChaos
Field | Description |
---|---|
|
The ipset on the pod |
|
The iptables rules on the pod |
|
The tc rules on the pod |
PodNetworkChaosStatus
PodNetworkChaosStatus defines the observed state of PodNetworkChaos
Field | Description |
---|---|
|
|
|
PodSelector
Field | Description |
---|---|
|
Selector is used to select pods that are used to inject chaos action. |
|
Mode defines the mode to run chaos action. Supported mode: one / all / fixed / fixed-percent / random-max-percent |
|
Value is required when the mode is set to |
PodSelectorSpec
PodSelectorSpec defines the some selectors to select objects. If the all selectors are empty, all objects will be used in chaos experiment.
Field | Description |
---|---|
|
|
|
Nodes is a set of node name and objects must belong to these nodes. |
|
Pods is a map of string keys and a set values that used to select pods. The key defines the namespace which pods belong, and the each values is a set of pod names. |
|
Map of string keys and values that can be used to select nodes. Selector which must match a node’s labels, and objects must belong to these selected nodes. |
|
PodPhaseSelectors is a set of condition of a pod at the current time. supported value: Pending / Running / Succeeded / Failed / Unknown |
ProcessSpec
Field | Description |
---|---|
|
the process name or the process ID |
|
the signal number to send |
|
the command to be run when recovering experiment |
RateSpec
RateSpec defines details of rate limit.
Field | Description |
---|---|
|
Rate is the speed knob. Allows bit, kbit, mbit, gbit, tbit, bps, kbps, mbps, gbps, tbps unit. bps means bytes per second. |
RawIPSet
RawIPSet represents an ipset on specific pod
Field | Description |
---|---|
|
The name of ipset |
|
|
|
The contents of ipset. Only available when IPSetType is NetIPSet. |
|
The contents of ipset. Only available when IPSetType is NetPortIPSet. |
|
The contents of ipset. Only available when IPSetType is SetIPSet. |
|
The name and namespace of the source network chaos |
RawIptables
RawIptables represents the iptables rules on specific pod
Field | Description |
---|---|
|
The name of iptables chain |
|
The name of related ipset |
|
The block direction of this iptables rule |
|
Device represents the network device to be affected. |
|
RawRuleSource
RawRuleSource represents the name and namespace of the source network chaos
Field | Description |
---|---|
|
RawTrafficControl
RawTrafficControl represents the traffic control chaos on specific pod
Field | Description |
---|---|
|
The type of traffic control |
|
|
|
The name of target ipset |
|
The name and namespace of the source network chaos |
|
Device represents the network device to be affected. |
Record
Field | Description |
---|---|
|
|
|
|
|
|
|
InjectedCount is a counter to record the sum of successful injections |
|
RecoveredCount is a counter to record the sum of successful recoveries |
|
Events are the essential details about the injections and recoveries |
RecordEvent
Field | Description |
---|---|
|
Type means the stage of this event |
|
Operation represents the operation we are doing, when we crate this event |
|
Message is the detail message, e.g. the reason why we failed to inject the chaos |
|
Timestamp is time when we create this event |
RecordEventOperation (string)
RecordEventType (string)
RedisCacheLimitSpec
Field | Description |
---|---|
|
|
|
The size of |
|
Specifies maxmemory as a percentage of the original value |
RedisCommonSpec
Field | Description |
---|---|
|
The adress of Redis server |
|
The password of Redis server |
RedisExpirationSpec
Field | Description |
---|---|
|
|
|
The expiration of the keys |
|
The keys to be expired |
|
Additional options for |
RedisPenetrationSpec
Field | Description |
---|---|
|
|
|
The number of requests to be sent |
RedisSentinelRestartSpec
Field | Description |
---|---|
|
|
|
The path of Sentinel conf |
|
The control flag determines whether to flush config |
|
The path of |
RedisSentinelStopSpec
Field | Description |
---|---|
|
|
|
The path of Sentinel conf |
|
The control flag determines whether to flush config |
|
The path of |
RemoteCluster
RemoteCluster defines a remote cluster
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
RemoteClusterCondition
Field | Description |
---|---|
|
|
|
RemoteClusterConditionType (string)
RemoteClusterKubeConfig
RemoteClusterKubeConfig refers to a secret by which we’ll use to connect remote cluster
Field | Description |
---|---|
|
RemoteClusterSecretRef
RemoteClusterSecretRef refers to a secret in any namespaces
Field | Description |
---|---|
|
|
|
|
|
RemoteClusterSpec
RemoteClusterSpec defines the specification of a remote cluster
Field | Description |
---|---|
|
|
|
|
|
|
|
RemoteClusterStatus
Field | Description |
---|---|
|
|
|
Conditions represents the current condition of the remote cluster |
|
ReorderSpec
ReorderSpec defines details of packet reorder.
Field | Description |
---|---|
|
|
|
|
|
Schedule
Schedule is the cronly schedule object
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
ScheduleItem
Field | Description |
---|---|
|
|
|
ScheduleSpec
ScheduleSpec is the specification of a schedule object
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
ScheduleStatus
ScheduleStatus is the status of a schedule object
Field | Description |
---|---|
|
|
|
ScheduleTemplateType (string)
SelectorMode (string)
SelectorMode represents the mode to run chaos action.
StatusCheck
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a status check |
|
Most recently observed status of status check |
StatusCheckCondition
Field | Description |
---|---|
|
|
|
|
|
|
|
StatusCheckConditionType (string)
StatusCheckMode (string)
StatusCheckOutcome (string)
StatusCheckReason (string)
StatusCheckRecord
Field | Description |
---|---|
|
|
|
StatusCheckSpec
Field | Description |
---|---|
|
Mode defines the execution mode of the status check. Support type: Synchronous / Continuous |
|
Type defines the specific status check type. Support type: HTTP |
|
Duration defines the duration of the whole status check if the number of failed execution does not exceed the failure threshold. Duration is available to both |
|
TimeoutSeconds defines the number of seconds after which an execution of status check times out. |
|
IntervalSeconds defines how often (in seconds) to perform an execution of status check. |
|
FailureThreshold defines the minimum consecutive failure for the status check to be considered failed. |
|
SuccessThreshold defines the minimum consecutive successes for the status check to be considered successful. SuccessThreshold only works for |
|
RecordsHistoryLimit defines the number of record to retain. |
|
StatusCheckStatus
Field | Description |
---|---|
|
StartTime represents time when the status check started to execute. |
|
CompletionTime represents time when the status check was completed. |
|
Count represents the total number of the status check executed. |
|
Conditions represents the latest available observations of a StatusCheck’s current state. |
|
Records contains the history of the execution of StatusCheck. |
StatusCheckType (string)
StressCPUSpec
Field | Description |
---|---|
|
specifies P percent loading per CPU worker. 0 is effectively a sleep (no load) and 100 is full loading. |
|
specifies N workers to apply the stressor. |
|
extend stress-ng options |
StressChaos
StressChaos is the Schema for the stresschaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a time chaos experiment |
|
Most recently observed status of the time chaos experiment |
StressChaosSpec
StressChaosSpec defines the desired state of StressChaos
Field | Description |
---|---|
|
|
|
Stressors defines plenty of stressors supported to stress system components out. You can use one or more of them to make up various kinds of stresses. At least one of the stressors should be specified. |
|
StressngStressors defines plenty of stressors just like |
|
Duration represents the duration of the chaos action |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
StressChaosStatus
StressChaosStatus defines the observed state of StressChaos
Field | Description |
---|---|
|
|
|
Instances always specifies stressing instances |
StressInstance
StressInstance is an instance generates stresses
Field | Description |
---|---|
|
UID is the stress-ng identifier |
|
MemoryUID is the memStress identifier |
|
StartTime specifies when the stress-ng starts |
|
MemoryStartTime specifies when the memStress starts |
StressMemorySpec
Field | Description |
---|---|
|
specifies N bytes consumed per vm worker, default is the total available memory. One can specify the size as % of total available memory or in units of B, KB/KiB, MB/MiB, GB/GiB, TB/TiB.. |
|
extend stress-ng options |
Stressor
Stressor defines common configurations of a stressor
Field | Description |
---|---|
|
Workers specifies N workers to apply the stressor. Maximum 8192 workers can run by stress-ng |
Stressors
Stressors defines plenty of stressors supported to stress system components out. You can use one or more of them to make up various kinds of stresses
Field | Description |
---|---|
|
MemoryStressor stresses virtual memory out |
|
CPUStressor stresses CPU out |
Task
Field | Description |
---|---|
|
Container is the main container image to run in the pod |
|
Volumes is a list of volumes that can be mounted by containers in a template. |
TcParameter
TcParameter represents the parameters for a traffic control chaos
Field | Description |
---|---|
|
Delay represents the detail about delay action |
|
Loss represents the detail about loss action |
|
DuplicateSpec represents the detail about loss action |
|
Corrupt represents the detail about corrupt action |
|
Bandwidth represents the detail about bandwidth control action |
|
Rate represents the detail about rate control action |
TcType (string)
TcType the type of traffic control
Template
Field | Description |
---|---|
|
|
|
|
|
|
|
Task describes the behavior of the custom task. Only used when Type is TypeTask. |
|
Children describes the children steps of serial or parallel node. Only used when Type is TypeSerial or TypeParallel. |
|
ConditionalBranches describes the conditional branches of custom tasks. Only used when Type is TypeTask. |
|
EmbedChaos describe the chaos to be injected with chaos nodes. Only used when Type is Type<Something>Chaos. |
|
Schedule describe the Schedule(describing scheduled chaos) to be injected with chaos nodes. Only used when Type is TypeSchedule. |
|
StatusCheck describe the behavior of StatusCheck. Only used when Type is TypeStatusCheck. |
|
AbortWithStatusCheck describe whether to abort the workflow when the failure threshold of StatusCheck is exceeded. Only used when Type is TypeStatusCheck. |
TemplateType (string)
TimeChaos
TimeChaos is the Schema for the timechaos API
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a time chaos experiment |
|
Most recently observed status of the time chaos experiment |
TimeChaosSpec
TimeChaosSpec defines the desired state of TimeChaos
Field | Description |
---|---|
|
|
|
TimeOffset defines the delta time of injected program. It’s a possibly signed sequence of decimal numbers, such as "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". |
|
ClockIds defines all affected clock id All available options are ["CLOCK_REALTIME","CLOCK_MONOTONIC","CLOCK_PROCESS_CPUTIME_ID","CLOCK_THREAD_CPUTIME_ID", "CLOCK_MONOTONIC_RAW","CLOCK_REALTIME_COARSE","CLOCK_MONOTONIC_COARSE","CLOCK_BOOTTIME","CLOCK_REALTIME_ALARM", "CLOCK_BOOTTIME_ALARM"] Default value is ["CLOCK_REALTIME"] |
|
Duration represents the duration of the chaos action |
|
RemoteCluster represents the remote cluster where the chaos will be deployed |
TimeChaosStatus
TimeChaosStatus defines the observed state of TimeChaos
Field | Description |
---|---|
|
Timespec
Timespec represents a time
Field | Description |
---|---|
|
|
|
UserDefinedSpec
Field | Description |
---|---|
|
The command to be executed when attack |
|
The command to be executed when recover |
VMSpec
Field | Description |
---|---|
|
The name of the VM to be injected |
Workflow
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a workflow |
|
Most recently observed status of the workflow |
WorkflowCondition
Field | Description |
---|---|
|
|
|
|
|
WorkflowConditionType (string)
WorkflowNode
Field | Description |
---|---|
|
|
|
|
|
|
|
Refer to Kubernetes API documentation for fields of |
|
Spec defines the behavior of a node of workflow |
|
Most recently observed status of the workflow node |
WorkflowNodeCondition
Field | Description |
---|---|
|
|
|
WorkflowNodeConditionType (string)
WorkflowNodeSpec
Field | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StatusCheck describe the behavior of StatusCheck. Only used when Type is TypeStatusCheck. |
|
AbortWithStatusCheck describe whether to abort the workflow when the failure threshold of StatusCheck is exceeded. Only used when Type is TypeStatusCheck. |
WorkflowNodeStatus
Field | Description |
---|---|
|
ChaosResource refs to the real chaos CR object. |
|
ConditionalBranchesStatus records the evaluation result of each ConditionalBranch |
|
ActiveChildren means the created children node |
|
Children is necessary for representing the order when replicated child template references by parent template. |
|
Represents the latest available observations of a workflow node’s current state. |
WorkflowSpec
Field | Description |
---|---|
|
|
|
WorkflowStatus
Field | Description |
---|---|
|
|
|
|
|
|
|
Represents the latest available observations of a workflow’s current state. |