chore(concepts): adding experiment and result schema details (#3226)

* chore(concepts): adding experiment schema details

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>

* chore(result): adding chaosresult examples

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>

* chore(probe): updating probe docs

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
This commit is contained in:
Shubham Chaudhary 2021-10-01 16:46:32 +05:30 committed by GitHub
parent c151dc9cdf
commit 29d1c49518
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 4089 additions and 821 deletions

View File

@ -0,0 +1,498 @@
It contains component details provided at `spec.definition` inside chaosexperiment
??? info "View the component specification schema"
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.image</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the image to run the ChaosExperiment </td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type: string)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i> (refer Notes)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.image</code> allows the developers to specify their experiment images. Typically set to the Litmus <code>go-runner</code> or the <code>ansible-runner</code>. This feature of the experiment enables BYOC (BringYourOwnChaos), where developers can implement their own variants of a standard chaos experiment</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.imagePullPolicy</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag that helps the developers to specify imagePullPolicy for the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><code>IfNotPresent</code>, <code>Always</code> (type: string)</td>
</tr>
<tr>
<th>Default</th>
<td><code>Always</code></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.imagePullPolicy</code> allows developers to specify the pull policy for ChaosExperiment image. Set to <code>Always</code> during debug/test</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.args</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the entrypoint for the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type:list of string)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.args</code> specifies the entrypoint for the ChaosExperiment. It depends on the language used in the experiment. For litmus-go the <code>.spec.definition.args</code> contains a single binary of all experiments and managed via <code>-name</code> flag to indicate experiment to run(<code>-name (exp-name)</code>).</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.command</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the shell on which the ChaosExperiment will execute</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type: list of string).</td>
</tr>
<tr>
<th>Default</th>
<td><code>/bin/bash</code></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.command</code> specifies the shell used to run the experiment <code>/bin/bash</code> is the most common shell to be used.</td>
</tr>
</table>
## Image
It allows the developers to specify their experiment images. Typically set to the Litmus go-runner or the ansible-runner. This feature of the experiment enables BYOC (BringYourOwnChaos), where developers can implement their own variants of a standard chaos experiment. It can be tuned via `image` field.
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-experiment/experiment-component/image.yaml yaml)
```yaml
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
# image of the chaosexperiment
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
```
## ImagePullPolicy
It allows developers to specify the pull policy for ChaosExperiment image. Set to Always during debug/test. It can be tuned via `imagePullPolicy` field.
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-experiment/experiment-component/imagePullPolicy.yaml yaml)
```yaml
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
# imagePullPolicy of the chaosexperiment
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
```
## Args
It specifies the entrypoint for the ChaosExperiment. It depends on the language used in the experiment. For litmus-go the .spec.definition.args contains a single binary of all experiments and managed via -name flag to indicate experiment to run(-name (exp-name)). It can be tuned via `args` field.
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-experiment/experiment-component/args.yaml yaml)
```yaml
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
# it contains args of the experiment
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
```
## Command
It specifies the shell used to run the experiment /bin/bash is the most common shell to be used. It can be tuned via `command` field.
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-experiment/experiment-component/command.yaml yaml)
```yaml
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
# it contains command of the experiment
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
```

View File

@ -4,423 +4,30 @@ Granular definition of chaos intent specified via image, librar, necessary permi
This section describes the fields in the ChaosExperiment and the possible values that can be set against the same.
### Scope Specification
??? info "View the scope schema"
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.scope</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the scope of the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><code>Namespaced</code>, <code>Cluster</code></td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i> (depends on experiment type)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.scope</code> specifies the scope of the experiment. It can be <code>Namespaced</code> scope for pod level experiments and <code>Cluster</code> for the experiments having a cluster wide impact.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.permissions</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the minimum permission to run the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type: list)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.permissions</code> specify the minimum permission that is required to run the ChaosExperiment. It also helps to estimate the blast radius for the ChaosExperiment.</td>
</tr>
</table>
### Component Specification
??? info "View the component schema"
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.image</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the image to run the ChaosExperiment </td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type: string)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i> (refer Notes)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.image</code> allows the developers to specify their experiment images. Typically set to the Litmus <code>go-runner</code> or the <code>ansible-runner</code>. This feature of the experiment enables BYOC (BringYourOwnChaos), where developers can implement their own variants of a standard chaos experiment</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.imagePullPolicy</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag that helps the developers to specify imagePullPolicy for the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><code>IfNotPresent</code>, <code>Always</code> (type: string)</td>
</tr>
<tr>
<th>Default</th>
<td><code>Always</code></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.imagePullPolicy</code> allows developers to specify the pull policy for ChaosExperiment image. Set to <code>Always</code> during debug/test</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.args</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the entrypoint for the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type:list of string)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.args</code> specifies the entrypoint for the ChaosExperiment. It depends on the language used in the experiment. For litmus-go the <code>.spec.definition.args</code> contains a single binary of all experiments and managed via <code>-name</code> flag to indicate experiment to run(<code>-name (exp-name)</code>).</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.command</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the shell on which the ChaosExperiment will execute</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type: list of string).</td>
</tr>
<tr>
<th>Default</th>
<td><code>/bin/bash</code></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.command</code> specifies the shell used to run the experiment <code>/bin/bash</code> is the most common shell to be used.</td>
</tr>
</table>
### Experiment Tunables Specification
??? info "View the experiment tunables"
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.env</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify env used for ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type: {name: string, value: string})</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.env</code> specifies the array of tunables passed to the experiment pods as environment variables. It is used to manage the experiment execution. We can set the default values for all the variables (tunable) here which can be overridden by ChaosEngine from <code>.spec.experiments[].spec.components.env</code> if required. To know about the variables that need to be overridden check the list of "mandatory" & "optional" env for an experiment as provided within the respective experiment documentation.</td>
</tr>
</table>
### Configuration Specification
??? info "View the configuration schema"
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.securityContext.containerSecurityContext.privileged</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the security context for the ChaosExperiment pod</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>true, false</i> (type:bool)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.securityContext.containerSecurityContext.privileged</code> specify the securityContext params to the experiment container.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.labels</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the label for the ChaosPod</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined<i> (type:map[string]string)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.labels</code> allow developers to specify the ChaosPod label for an experiment. </td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.securityContext.podSecurityContext</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify security context for ChaosPod</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined<i> (type:corev1.PodSecurityContext)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.securityContext.podSecurityContext</code> allows the developers to specify the security context for the ChaosPod which applies to all containers inside the Pod.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.configMaps</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the configmap for ChaosPod</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined<i></td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.configMaps</code> allows the developers to mount the ConfigMap volume into the experiment pod.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.secrets</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the secrets for ChaosPod</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined<i></td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.secrets</code> specify the secret data to be passed for the ChaosPod. The secrets typically contains confidential information like credentials.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.experimentAnnotations</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the custom annotation to the ChaosPod</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined<i> (type:map[string]string)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.experimentAnnotations</code> allows the developer to specify the Custom annotation for the chaos pod.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.hostFileVolumes</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the host file volumes to the ChaosPod</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined<i> (type:map[string]string)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.hostFileVolumes</code> allows the developer to specify the host file volumes to the ChaosPod.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.hostPID</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the host PID for the ChaosPod</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>true, false</i> (type:bool)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.hostPID</code> allows the developer to specify the host PID for the ChaosPod. </td>
</tr>
</table>
<table>
<tr>
<th> Field Name </th>
<th> Description </th>
<th> User Guide </th>
</tr>
<tr>
<td> Scope Specification </td>
<td> It defines scope of the chaosexperiment </td>
<td> <a href="/litmus/experiments/concepts/chaos-resources/chaos-experiment/scope-specification">Scope Specifications</a> </td>
</tr>
<tr>
<td> Component Specification </td>
<td> It defines component details of the chaosexperiment </td>
<td> <a href="/litmus/experiments/concepts/chaos-resources/chaos-experiment/component-specification">Component Specifications</a> </td>
</tr>
<tr>
<td> Experiment Tunables Specification </td>
<td> It defines tunables of the chaosexperiment </td>
<td> <a href="/litmus/experiments/concepts/chaos-resources/chaos-experiment/experiment-tunable-specification">Experiment Tunables Specification</a> </td>
</tr>
<tr>
<td> Configuration Specification </td>
<td> It defines configuration details of the chaosexperiment </td>
<td> <a href="/litmus/experiments/concepts/chaos-resources/chaos-experiment/configuration-specification">Configuration Specification</a> </td>
</tr>
</table>

View File

@ -0,0 +1,87 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
# it contains args of the experiment
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,87 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
# it contains command of the experiment
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,87 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
# image of the chaosexperiment
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,87 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
# imagePullPolicy of the chaosexperiment
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,89 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
# it contains configmaps details
configMaps:
- name: experiment-data
mountPath: "/mnt"
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,89 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
# it contains container security context
securityContext:
containerSecurityContext:
privileged: true
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,88 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
# it contains experiment annotations
experimentAnnotations:
context: chaos
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,90 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
# it contains host file volumes
hostFileVolumes:
- name: socket file
mountPath: "/var/run/docker.sock"
nodePath: "/var/run/docker.sock"
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,87 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
# it allows hostPID
hostPID: true
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,86 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
# it contains experiment labels
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,89 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
# it contains pod security context
securityContext:
podSecurityContext:
allowPrivilegeEscalation: true
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,89 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
# it contains secret details
secret:
- name: auth-credentials
mountPath: "/tmp"
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,87 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
# permissions for the chaosexperiment
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,87 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
# scope of the chaosexperiment
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,123 @@
It contains the array of tunables passed to the experiment pods as environment variables. It is used to manage the experiment execution. We can set the default values for all the variables (tunable) here which can be overridden by ChaosEngine from `.spec.experiments[].spec.components.env` if required. To know about the variables that need to be overridden check the list of "mandatory" & "optional" env for an experiment as provided within the respective experiment documentation. It can be provided at `spec.definition.env` inside chaosexperiment.
??? info "View the experiment tunables specification"
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.env</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify env used for ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type: {name: string, value: string})</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td> The <code>.spec.definition.env</code> specifies the array of tunables passed to the experiment pods as environment variables. It is used to manage the experiment execution. We can set the default values for all the variables (tunable) here which can be overridden by ChaosEngine from <code>.spec.experiments[].spec.components.env</code> if required. To know about the variables that need to be overridden check the list of "mandatory" & "optional" env for an experiment as provided within the respective experiment documentation.</td>
</tr>
</table>
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-experiment/experiment-tunable/env.yaml yaml)
```yaml
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
# permissions for the chaosexperiment
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
# it contains experiment tunables
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
```

View File

@ -0,0 +1,88 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
# permissions for the chaosexperiment
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
# it contains experiment tunables
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@ -0,0 +1,251 @@
It contains scope and permissions details provided at `spec.definition.scope` and `spec.definition.permissions` respectively inside chaosexperiment.
??? info "View the scope specification schema"
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.scope</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the scope of the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><code>Namespaced</code>, <code>Cluster</code></td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i> (depends on experiment type)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.scope</code> specifies the scope of the experiment. It can be <code>Namespaced</code> scope for pod level experiments and <code>Cluster</code> for the experiments having a cluster wide impact.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.definition.permissions</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to specify the minimum permission to run the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>user-defined</i> (type: list)</td>
</tr>
<tr>
<th>Default</th>
<td><i>n/a</i></td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.definition.permissions</code> specify the minimum permission that is required to run the ChaosExperiment. It also helps to estimate the blast radius for the ChaosExperiment.</td>
</tr>
</table>
## Experiment Scope
It specifies the scope of the experiment. It can be `Namespaced` scope for pod level experiments and `Cluster` for the experiments having a cluster wide impact. It can be tuned via `scope` field.
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-experiment/experiment-scope/scope.yaml yaml)
```yaml
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
# scope of the chaosexperiment
scope: Namespaced
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
```
## Experiment Permissions
It specify the minimum permission that is required to run the ChaosExperiment. It also helps to estimate the blast radius for the ChaosExperiment. It can be tuned via `permissions` field.
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-experiment/experiment-scope/permissions.yaml yaml)
```yaml
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a deployment/statefulset/daemonset
kind: ChaosExperiment
metadata:
name: pod-delete
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
# permissions for the chaosexperiment
permissions:
- apiGroups:
- ""
- "apps"
- "apps.openshift.io"
- "argoproj.io"
- "batch"
- "litmuschaos.io"
resources:
- "deployments"
- "jobs"
- "pods"
- "pods/log"
- "replicationcontrollers"
- "deployments"
- "statefulsets"
- "daemonsets"
- "replicasets"
- "deploymentconfigs"
- "rollouts"
- "pods/exec"
- "events"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "list"
- "get"
- "patch"
- "update"
- "delete"
- "deletecollection"
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name pod-delete
command:
- /bin/bash
env:
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: RAMP_TIME
value: ''
- name: FORCE
value: 'true'
- name: CHAOS_INTERVAL
value: '5'
- name: PODS_AFFECTED_PERC
value: ''
- name: LIB
value: 'litmus'
- name: TARGET_PODS
value: ''
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
labels:
name: pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
```

View File

@ -4,329 +4,25 @@ Hold engine reference, experiment state, verdict(on complete), salient applicati
This section describes the fields in the ChaosResult and the possible values that can be set against the same.
### Component Details
??? info "View the components schema"
<table>
<tr>
<th>Field</th>
<td><code>.spec.engine</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to hold the ChaosEngine name for the experiment</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td>n/a (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.engine<code> holds the engine name for the current course of the experiment.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.experiment</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to hold the ChaosExperiment name which induces chaos.</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td>n/a (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.experiment</code> holds the ChaosExperiment name for the current course of the experiment.</td>
</tr>
</table>
### Status Details
??? info "View the status schema"
<table>
<tr>
<th>Field</th>
<td><code>.status.experimentStatus.failstep</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the failure step of the ChaosExperiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>n/a<i>(type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.experimentStatus.failstep</code> Show the step at which the experiment failed. It helps in faster debugging of failures in the experiment execution.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.experimentStatus.phase</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the current phase of the experiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Running,Completed,Aborted</i> (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.experimentStatus.phase</code> shows the current phase in which the experiment is. It gets updated as the experiment proceeds.If the experiment is aborted then the status will be Aborted.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.experimentStatus.probesuccesspercentage</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the probe success percentage</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>1 to 100</i> (type: int)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.experimentStatus.probesuccesspercentage</code> shows the probe success percentage which is a ratio of successful checks v/s total probes.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.experimentStatus.verdict</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the verdict of the experiment.</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Pass,Fail,Stopped</i> (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.experimentStatus.verdict</code> shows the verdict of the experiment. It is <code>Awaited</code> when the experiment is in progress and ends up with Pass or Fail according to the experiment result.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.history.passedRuns</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains cumulative passed run count</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td> ANY NON NEGATIVE INTEGER </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.passedRuns</code> contains cumulative passed run counts for a specific ChaosResult.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.history.failedRuns</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains cumulative failed run count</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td> ANY NON NEGATIVE INTEGER </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.failedRuns</code> contains cumulative failed run counts for a specific ChaosResult.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.history.stoppedRuns</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains cumulative stopped run count</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td> ANY NON NEGATIVE INTEGER </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.stoppedRuns</code> contains cumulative stopped run counts for a specific ChaosResult.</td>
</tr>
</table>
### Probe Details
??? info "View the probe schema"
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.name</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the name of probe used in the experiment</td>
</tr>
<tr>
<th>Type</th>
<td>Mandatory</td>
</tr>
<tr>
<th>Range</th>
<td><i>n/a</i> n/a (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.name</code> shows the name of the probe used in the experiment.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.status.continuous</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the result of probe in continuous mode</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Passed,Better Luck Next Time</i> (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.status.continuous</code> helps to get the result of the probe in the continuous mode. The httpProbe is better used in the Continuous mode.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.status.postchaos</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the probe result post chaos</td>
</tr>
<tr>
<th>Type</th>
<td>Optional</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Passed,Better Luck Next Time</i> (type:map[string]string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.status.postchaos</code> shows the result of probe setup in EOT mode executed at the End of Test as a post-chaos check. </td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.status.prechaos</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the probe result pre chaos</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Passed,Better Luck Next Time</i> (type:string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.status.prechaos</code> shows the result of probe setup in SOT mode executed at the Start of Test as a pre-chaos check.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.type</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the type of probe used</td>
</tr>
<tr>
<th>Range</th>
<td>
<i>HTTPProbe,K8sProbe,CmdProbe</i>(type:string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.type</code> shows the type of probe used.</td>
</tr>
</table>
<table>
<tr>
<th> Field Name </th>
<th> Description </th>
<th> User Guide </th>
</tr>
<tr>
<td> Spec Specification </td>
<td> It defines spec details of the chaosresult </td>
<td> <a href="/litmus/experiments/concepts/chaos-resources/chaos-result/spec-specification">Spec Specification</a> </td>
</tr>
<tr>
<td> Status Specification </td>
<td> It defines status details of the chaosresult </td>
<td> <a href="/litmus/experiments/concepts/chaos-resources/chaos-result/status-specification">Status Specification</a> </td>
</tr>
<tr>
<td> Probe Specification </td>
<td> It defines component details of the chaosresult </td>
<td> <a href="/litmus/experiments/concepts/chaos-resources/chaos-result/probe-specification">Probe Specification</a> </td>
</tr>
</table>

View File

@ -0,0 +1,59 @@
Name: engine-nginx-pod-delete
Namespace: default
Labels: app.kubernetes.io/component=experiment-job
app.kubernetes.io/part-of=litmus
app.kubernetes.io/version=1.13.8
chaosUID=aa0a0084-f20f-4294-a879-d6df9aba6f9b
controller-uid=6943c955-0154-4542-8745-de991eb47c61
job-name=pod-delete-w4p5op
name=engine-nginx-pod-delete
Annotations: <none>
API Version: litmuschaos.io/v1alpha1
Kind: ChaosResult
Metadata:
Creation Timestamp: 2021-09-29T13:28:59Z
Generation: 6
Resource Version: 66788
Self Link: /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/engine-nginx-pod-delete
UID: fe7f01c8-8118-4761-8ff9-0a87824d863f
Spec:
Engine: engine-nginx
Experiment: pod-delete
Status:
Experiment Status:
Fail Step: N/A
Phase: Completed
Probe Success Percentage: 100
Verdict: Pass
History:
Failed Runs: 1
Passed Runs: 1
Stopped Runs: 0
Targets:
Chaos Status: targeted
Kind: deployment
Name: hello
Probe Status:
# name of probe
Name: check-frontend-access-url
# status of probe
Status:
Continuous: Passed 👍 #Continuous
# type of probe
Type: HTTPProbe
# name of probe
Name: check-app-cluster-cr-status
# status of probe
Status:
Post Chaos: Passed 👍 #EoT
# type of probe
Type: K8sProbe
# name of probe
Name: check-database-integrity
# status of probe
Status:
Post Chaos: Passed 👍 #Edge
Pre Chaos: Passed 👍
# type of probe
Type: CmdProbe
Events: <none>

View File

@ -0,0 +1,170 @@
It contains probe details provided at `status.probeStatus` inside chaosresult. It contains following fields:
- `name`: Flag to show the name of probe used in the experiment
- `type`: Flag to show the type of probe used
- `status.continuous`: Flag to show the result of probe in continuous mode
- `status.prechaos`: Flag to show the result of probe in pre chaos
- `status.postchaos`: Flag to show the result of probe in post chaos
??? info "View the probe schema"
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.name</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the name of probe used in the experiment</td>
</tr>
<tr>
<th>Range</th>
<td><i>n/a</i> n/a (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.name</code> shows the name of the probe used in the experiment.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.type</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the type of probe used</td>
</tr>
<tr>
<th>Range</th>
<td>
<i>HTTPProbe,K8sProbe,CmdProbe</i>(type:string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.type</code> shows the type of probe used.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.status.continuous</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the result of probe in continuous mode</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Passed,Better Luck Next Time</i> (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.status.continuous</code> helps to get the result of the probe in the continuous mode. The httpProbe is better used in the Continuous mode.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.status.postchaos</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the probe result post chaos</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Passed,Better Luck Next Time</i> (type:map[string]string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.status.postchaos</code> shows the result of probe setup in EOT mode executed at the End of Test as a post-chaos check. </td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.probestatus.status.prechaos</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the probe result pre chaos</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Passed,Better Luck Next Time</i> (type:string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.probestatus.status.prechaos</code> shows the result of probe setup in SOT mode executed at the Start of Test as a pre-chaos check.</td>
</tr>
</table>
view the sample example:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-result/probe-details/probe.out yaml)
```yaml
Name: engine-nginx-pod-delete
Namespace: default
Labels: app.kubernetes.io/component=experiment-job
app.kubernetes.io/part-of=litmus
app.kubernetes.io/version=1.13.8
chaosUID=aa0a0084-f20f-4294-a879-d6df9aba6f9b
controller-uid=6943c955-0154-4542-8745-de991eb47c61
job-name=pod-delete-w4p5op
name=engine-nginx-pod-delete
Annotations: <none>
API Version: litmuschaos.io/v1alpha1
Kind: ChaosResult
Metadata:
Creation Timestamp: 2021-09-29T13:28:59Z
Generation: 6
Resource Version: 66788
Self Link: /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/engine-nginx-pod-delete
UID: fe7f01c8-8118-4761-8ff9-0a87824d863f
Spec:
Engine: engine-nginx
Experiment: pod-delete
Status:
Experiment Status:
Fail Step: N/A
Phase: Completed
Probe Success Percentage: 100
Verdict: Pass
History:
Failed Runs: 1
Passed Runs: 1
Stopped Runs: 0
Targets:
Chaos Status: targeted
Kind: deployment
Name: hello
Probe Status:
# name of probe
Name: check-frontend-access-url
# status of probe
Status:
Continuous: Passed 👍 #Continuous
# type of probe
Type: HTTPProbe
# name of probe
Name: check-app-cluster-cr-status
# status of probe
Status:
Post Chaos: Passed 👍 #EoT
# type of probe
Type: K8sProbe
# name of probe
Name: check-database-integrity
# status of probe
Status:
Post Chaos: Passed 👍 #Edge
Pre Chaos: Passed 👍
# type of probe
Type: CmdProbe
Events: <none>
```

View File

@ -0,0 +1,85 @@
It contains spec details provided at `spec` inside chaosresult. The name of chaosengine and chaosexperiment are present at `spec.engine` and `spec.experiment` respectively.
??? info "View the spec details schema"
<table>
<tr>
<th>Field</th>
<td><code>.spec.engine</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to hold the ChaosEngine name for the experiment</td>
</tr>
<tr>
<th>Range</th>
<td>n/a (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.engine<code> holds the engine name for the current course of the experiment.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.spec.experiment</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to hold the ChaosExperiment name which induces chaos.</td>
</tr>
<tr>
<th>Range</th>
<td>n/a (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.spec.experiment</code> holds the ChaosExperiment name for the current course of the experiment.</td>
</tr>
</table>
view the sample chaosresult:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-result/spec/spec.out yaml)
```yaml
Name: engine-nginx-pod-delete
Namespace: default
Labels: app.kubernetes.io/component=experiment-job
app.kubernetes.io/part-of=litmus
app.kubernetes.io/version=1.13.8
chaosUID=aa0a0084-f20f-4294-a879-d6df9aba6f9b
controller-uid=6943c955-0154-4542-8745-de991eb47c61
job-name=pod-delete-w4p5op
name=engine-nginx-pod-delete
Annotations: <none>
API Version: litmuschaos.io/v1alpha1
Kind: ChaosResult
Metadata:
Creation Timestamp: 2021-09-29T13:28:59Z
Generation: 6
Resource Version: 66788
Self Link: /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/engine-nginx-pod-delete
UID: fe7f01c8-8118-4761-8ff9-0a87824d863f
Spec:
# name of the chaosengine
Engine: engine-nginx
# name of the chaosexperiment
Experiment: pod-delete
Status:
Experiment Status:
Fail Step: N/A
Phase: Completed
Probe Success Percentage: 100
Verdict: Pass
History:
Failed Runs: 1
Passed Runs: 1
Stopped Runs: 0
Targets:
Chaos Status: targeted
Kind: deployment
Name: hello
Events: <none>
```

View File

@ -0,0 +1,52 @@
Name: engine-nginx-pod-delete
Namespace: default
Labels: app.kubernetes.io/component=experiment-job
app.kubernetes.io/part-of=litmus
app.kubernetes.io/version=1.13.8
chaosUID=aa0a0084-f20f-4294-a879-d6df9aba6f9b
controller-uid=6943c955-0154-4542-8745-de991eb47c61
job-name=pod-delete-w4p5op
name=engine-nginx-pod-delete
Annotations: <none>
API Version: litmuschaos.io/v1alpha1
Kind: ChaosResult
Metadata:
Creation Timestamp: 2021-09-29T13:28:59Z
Generation: 6
Resource Version: 66788
Self Link: /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/engine-nginx-pod-delete
UID: fe7f01c8-8118-4761-8ff9-0a87824d863f
Spec:
# name of the chaosengine
Engine: engine-nginx
# name of the chaosexperiment
Experiment: pod-delete
Status:
Experiment Status:
Fail Step: N/A
Phase: Completed
Probe Success Percentage: 100
Verdict: Pass
History:
Failed Runs: 1
Passed Runs: 1
Stopped Runs: 0
Targets:
Chaos Status: targeted
Kind: deployment
Name: hello
Probe Status:
Name: check-frontend-access-url
Status:
Continuous: Passed 👍 #Continuous
Type: HTTPProbe
Name: check-app-cluster-cr-status
Status:
Post Chaos: Passed 👍 #EoT
Type: K8sProbe
Name: check-database-integrity
Status:
Post Chaos: Passed 👍 #Edge
Pre Chaos: Passed 👍
Type: CmdProbe
Events: <none>

View File

@ -0,0 +1,309 @@
It contains status details provided at `status` inside chaosresult.
## Experiment Status
It contains experiment status provided at `status.experimentStatus` inside chaosresult. It contains following fields:
- `failStep`: Flag to show the failure step of the ChaosExperiment
- `phase`: Flag to show the current phase of the experiment
- `probesuccesspercentage`: Flag to show the probe success percentage
- `verdict`: Flag to show the verdict of the experiment
??? info "View the experiment status"
<table>
<tr>
<th>Field</th>
<td><code>.status.experimentStatus.failstep</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the failure step of the ChaosExperiment</td>
</tr>
<tr>
<th>Range</th>
<td><i>n/a<i>(type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.experimentStatus.failstep</code> Show the step at which the experiment failed. It helps in faster debugging of failures in the experiment execution.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.experimentStatus.phase</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the current phase of the experiment</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Running,Completed,Aborted</i> (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.experimentStatus.phase</code> shows the current phase in which the experiment is. It gets updated as the experiment proceeds.If the experiment is aborted then the status will be Aborted.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.experimentStatus.probesuccesspercentage</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the probe success percentage</td>
</tr>
<tr>
<th>Range</th>
<td><i>1 to 100</i> (type: int)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.experimentStatus.probesuccesspercentage</code> shows the probe success percentage which is a ratio of successful checks v/s total probes.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.experimentStatus.verdict</code></td>
</tr>
<tr>
<th>Description</th>
<td>Flag to show the verdict of the experiment.</td>
</tr>
<tr>
<th>Range</th>
<td><i>Awaited,Pass,Fail,Stopped</i> (type: string)</td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.experimentStatus.verdict</code> shows the verdict of the experiment. It is <code>Awaited</code> when the experiment is in progress and ends up with Pass or Fail according to the experiment result.</td>
</tr>
</table>
view the sample example:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-result/status/experiment-status.out yaml)
```yaml
Name: engine-nginx-pod-delete
Namespace: default
Labels: app.kubernetes.io/component=experiment-job
app.kubernetes.io/part-of=litmus
app.kubernetes.io/version=1.13.8
chaosUID=aa0a0084-f20f-4294-a879-d6df9aba6f9b
controller-uid=6943c955-0154-4542-8745-de991eb47c61
job-name=pod-delete-w4p5op
name=engine-nginx-pod-delete
Annotations: <none>
API Version: litmuschaos.io/v1alpha1
Kind: ChaosResult
Metadata:
Creation Timestamp: 2021-09-29T13:28:59Z
Generation: 6
Resource Version: 66788
Self Link: /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/engine-nginx-pod-delete
UID: fe7f01c8-8118-4761-8ff9-0a87824d863f
Spec:
Engine: engine-nginx
Experiment: pod-delete
Status:
Experiment Status:
# step on which experiment fails
Fail Step: N/A
# phase of the chaos result
Phase: Completed
# Success Percentage of the litmus probes
Probe Success Percentage: 100
# Verdict of the chaos result
Verdict: Pass
History:
Failed Runs: 1
Passed Runs: 1
Stopped Runs: 0
Targets:
Chaos Status: targeted
Kind: deployment
Name: hello
Events: <none>
```
## Result History
It contains history of experiment runs present at `status.history`. It contains following fields:
- `passedRuns`: It contains cumulative passed run count
- `failedRuns`: It contains cumulative failed run count
- `stoppedRuns`: It contains cumulative stopped run count
- `targets.name`: It contains name of target application
- `target.kind`: It contains kinds of target application
- `target.chaosStatus`: It contains chaos status
??? info "View the history details"
<table>
<tr>
<th>Field</th>
<td><code>.status.history.passedRuns</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains cumulative passed run count</td>
</tr>
<tr>
<th>Range</th>
<td> ANY NON NEGATIVE INTEGER </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.passedRuns</code> contains cumulative passed run counts for a specific ChaosResult.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.history.failedRuns</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains cumulative failed run count</td>
</tr>
<tr>
<th>Range</th>
<td> ANY NON NEGATIVE INTEGER </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.failedRuns</code> contains cumulative failed run counts for a specific ChaosResult.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.history.stoppedRuns</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains cumulative stopped run count</td>
</tr>
<tr>
<th>Range</th>
<td> ANY NON NEGATIVE INTEGER </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.stoppedRuns</code> contains cumulative stopped run counts for a specific ChaosResult.</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.history.targets.name</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains name of the target application</td>
</tr>
<tr>
<th>Range</th>
<td> string </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.targets.name</code> contains name of the target application</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.history.targets.kind</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains kind of the target application</td>
</tr>
<tr>
<th>Range</th>
<td> string </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.targets.kind</code> contains kind of the target application</td>
</tr>
</table>
<table>
<tr>
<th>Field</th>
<td><code>.status.history.targets.chaosStatus</code></td>
</tr>
<tr>
<th>Description</th>
<td>It contains status of the chaos</td>
</tr>
<tr>
<th>Range</th>
<td> targeted, injected, reverted </td>
</tr>
<tr>
<th>Notes</th>
<td>The <code>.status.history.targets.chaosStatus</code> contains status of the chaos</td>
</tr>
</table>
view the sample example:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/chaos-result/status/history.out yaml)
```yaml
Name: engine-nginx-pod-delete
Namespace: default
Labels: app.kubernetes.io/component=experiment-job
app.kubernetes.io/part-of=litmus
app.kubernetes.io/version=1.13.8
chaosUID=aa0a0084-f20f-4294-a879-d6df9aba6f9b
controller-uid=6943c955-0154-4542-8745-de991eb47c61
job-name=pod-delete-w4p5op
name=engine-nginx-pod-delete
Annotations: <none>
API Version: litmuschaos.io/v1alpha1
Kind: ChaosResult
Metadata:
Creation Timestamp: 2021-09-29T13:28:59Z
Generation: 6
Resource Version: 66788
Self Link: /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/engine-nginx-pod-delete
UID: fe7f01c8-8118-4761-8ff9-0a87824d863f
Spec:
Engine: engine-nginx
Experiment: pod-delete
Status:
Experiment Status:
Fail Step: N/A
Phase: Completed
Probe Success Percentage: 100
Verdict: Pass
History:
# fail experiment run count
Failed Runs: 1
# passed experiment run count
Passed Runs: 1
# stopped experiment run count
Stopped Runs: 0
Targets:
# status of the chaos
Chaos Status: targeted
# kind of the application
Kind: deployment
# name of the application
Name: hello
Events: <none>
```

View File

@ -0,0 +1,40 @@
Name: engine-nginx-pod-delete
Namespace: default
Labels: app.kubernetes.io/component=experiment-job
app.kubernetes.io/part-of=litmus
app.kubernetes.io/version=1.13.8
chaosUID=aa0a0084-f20f-4294-a879-d6df9aba6f9b
controller-uid=6943c955-0154-4542-8745-de991eb47c61
job-name=pod-delete-w4p5op
name=engine-nginx-pod-delete
Annotations: <none>
API Version: litmuschaos.io/v1alpha1
Kind: ChaosResult
Metadata:
Creation Timestamp: 2021-09-29T13:28:59Z
Generation: 6
Resource Version: 66788
Self Link: /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/engine-nginx-pod-delete
UID: fe7f01c8-8118-4761-8ff9-0a87824d863f
Spec:
Engine: engine-nginx
Experiment: pod-delete
Status:
Experiment Status:
# step on which experiment fails
Fail Step: N/A
# phase of the chaos result
Phase: Completed
# Success Percentage of the litmus probes
Probe Success Percentage: 100
# Verdict of the chaos result
Verdict: Pass
History:
Failed Runs: 1
Passed Runs: 1
Stopped Runs: 0
Targets:
Chaos Status: targeted
Kind: deployment
Name: hello
Events: <none>

View File

@ -0,0 +1,42 @@
Name: engine-nginx-pod-delete
Namespace: default
Labels: app.kubernetes.io/component=experiment-job
app.kubernetes.io/part-of=litmus
app.kubernetes.io/version=1.13.8
chaosUID=aa0a0084-f20f-4294-a879-d6df9aba6f9b
controller-uid=6943c955-0154-4542-8745-de991eb47c61
job-name=pod-delete-w4p5op
name=engine-nginx-pod-delete
Annotations: <none>
API Version: litmuschaos.io/v1alpha1
Kind: ChaosResult
Metadata:
Creation Timestamp: 2021-09-29T13:28:59Z
Generation: 6
Resource Version: 66788
Self Link: /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/engine-nginx-pod-delete
UID: fe7f01c8-8118-4761-8ff9-0a87824d863f
Spec:
Engine: engine-nginx
Experiment: pod-delete
Status:
Experiment Status:
Fail Step: N/A
Phase: Completed
Probe Success Percentage: 100
Verdict: Pass
History:
# fail experiment run count
Failed Runs: 1
# passed experiment run count
Passed Runs: 1
# stopped experiment run count
Stopped Runs: 0
Targets:
# status of the chaos
Chaos Status: targeted
# kind of the application
Kind: deployment
# name of the application
Name: hello
Events: <none>

View File

@ -9,23 +9,28 @@ Litmus probes are pluggable checks that can be defined within the ChaosEngine fo
<th>User Guide</th>
</tr>
<tr>
<td>Command Probe</td>
<td>It defines the command probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/cmdProbe">Command Probe</a></td>
<td>Command Probe</td>
<td>It defines the command probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/cmdProbe">Command Probe</a></td>
</tr>
<tr>
<td>HTTP Probe</td>
<td>It defines the http probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/httpProbe">HTTP Probe</a></td>
<tr>
<td>HTTP Probe</td>
<td>It defines the http probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/httpProbe">HTTP Probe</a></td>
</tr>
<tr>
<td>K8S Probe</td>
<td>It defines the k8s probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/k8sProbe">K8S Probe</a></td>
<tr>
<td>K8S Probe</td>
<td>It defines the k8s probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/k8sProbe">K8S Probe</a></td>
</tr>
<tr>
<td>Prometheus Probe</td>
<td>It defines the prometheus probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/promProbe">Prometheus Probe</a></td>
<tr>
<td>Prometheus Probe</td>
<td>It defines the prometheus probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/promProbe">Prometheus Probe</a></td>
</tr>
<tr>
<td>Probe Chaining</td>
<td>It chain the litmus probes</td>
<td><a href="/litmus/experiments/concepts/chaos-resources/probes/probe-chaining">Probe Chaining</a></td>
</tr>
</table>

View File

@ -201,61 +201,3 @@ spec:
stopOnFailure: true
```
### Probe Chaining
Probe chaining enables reuse of probe a result (represented by the template function `{{ .<probeName>.probeArtifact.Register}})` in subsequent "downstream" probes defined in the ChaosEngine.
`Note`: The order of execution of probes in the experiment depends purely on the order in which they are defined in the ChaosEngine.
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/probes/common/probe-chaining.yaml yaml)
```yaml
# chaining enables reuse of probe's result (represented by the template function {{ <probeName>.probeArtifact.Register}})
#-- in subsequent "downstream" probes defined in the ChaosEngine.
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: engine-nginx
spec:
engineState: "active"
appinfo:
appns: "default"
applabel: "app=nginx"
appkind: "deployment"
chaosServiceAccount: pod-delete-sa
experiments:
- name: pod-delete
spec:
probe:
- name: "probe1"
type: "cmdProbe"
cmdProbe/inputs:
command: "<command>"
comparator:
type: "string"
criteria: "equals"
value: "<value-for-criteria-match>"
source: "inline"
mode: "SOT"
runProperties:
probeTimeout: 5
interval: 5
retry: 1
- name: "probe2"
type: "cmdProbe"
cmdProbe/inputs:
## probe1's result being used as one of the args in probe2
command: "<commmand> {{ .probe1.ProbeArtifacts.Register }} <arg2>"
comparator:
type: "string"
criteria: "equals"
value: "<value-for-criteria-match>"
source: "inline"
mode: "SOT"
runProperties:
probeTimeout: 5
interval: 5
retry: 1
```

View File

@ -0,0 +1,55 @@
Probe chaining enables reuse of probe a result (represented by the template function `{{ .<probeName>.probeArtifact.Register}})` in subsequent "downstream" probes defined in the ChaosEngine.
`Note`: The order of execution of probes in the experiment depends purely on the order in which they are defined in the ChaosEngine.
Use the following example to tune this:
[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/concepts/chaos-resources/probes/common/probe-chaining.yaml yaml)
```yaml
# chaining enables reuse of probe's result (represented by the template function {{ <probeName>.probeArtifact.Register}})
#-- in subsequent "downstream" probes defined in the ChaosEngine.
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: engine-nginx
spec:
engineState: "active"
appinfo:
appns: "default"
applabel: "app=nginx"
appkind: "deployment"
chaosServiceAccount: pod-delete-sa
experiments:
- name: pod-delete
spec:
probe:
- name: "probe1"
type: "cmdProbe"
cmdProbe/inputs:
command: "<command>"
comparator:
type: "string"
criteria: "equals"
value: "<value-for-criteria-match>"
source: "inline"
mode: "SOT"
runProperties:
probeTimeout: 5
interval: 5
retry: 1
- name: "probe2"
type: "cmdProbe"
cmdProbe/inputs:
## probe1's result being used as one of the args in probe2
command: "<commmand> {{ .probe1.ProbeArtifacts.Register }} <arg2>"
comparator:
type: "string"
criteria: "equals"
value: "<value-for-criteria-match>"
source: "inline"
mode: "SOT"
runProperties:
probeTimeout: 5
interval: 5
retry: 1
```

View File

@ -142,8 +142,17 @@ nav:
- Runtime Specifications: experiments/concepts/chaos-resources/chaos-engine/runtime-details.md
- Runner Specifications: experiments/concepts/chaos-resources/chaos-engine/runner-components.md
- Experiment Specifications: experiments/concepts/chaos-resources/chaos-engine/experiment-components.md
- ChaosExperiment: experiments/concepts/chaos-resources/chaos-experiment/contents.md
- ChaosResult: experiments/concepts/chaos-resources/chaos-result/contents.md
- ChaosExperiment:
- Contents: experiments/concepts/chaos-resources/chaos-experiment/contents.md
- Scope Specification: experiments/concepts/chaos-resources/chaos-experiment/scope-specification.md
- Component Specification: experiments/concepts/chaos-resources/chaos-experiment/component-specification.md
- Experiment Tunables Specification: experiments/concepts/chaos-resources/chaos-experiment/experiment-tunable-specification.md
- Configuration Specification: experiments/concepts/chaos-resources/chaos-experiment/configuration-specification.md
- ChaosResult:
- Contents: experiments/concepts/chaos-resources/chaos-result/contents.md
- Spec Specification: experiments/concepts/chaos-resources/chaos-result/spec-specification.md
- Status Specification: experiments/concepts/chaos-resources/chaos-result/status-specification.md
- Probe Status: experiments/concepts/chaos-resources/chaos-result/probe-specification.md
- ChaosScheduler:
- Contents: experiments/concepts/chaos-resources/chaos-scheduler/contents.md
- Schedule Once: experiments/concepts/chaos-resources/chaos-scheduler/schedule-once.md
@ -152,10 +161,12 @@ nav:
- Engine Specifications: experiments/concepts/chaos-resources/chaos-scheduler/engine-specification.md
- Probes:
- Contents: experiments/concepts/chaos-resources/probes/contents.md
- Introduction: experiments/concepts/chaos-resources/probes/litmus-probes.md
- Command Probe: experiments/concepts/chaos-resources/probes/cmdProbe.md
- HTTP Probe: experiments/concepts/chaos-resources/probes/httpProbe.md
- K8S Probe: experiments/concepts/chaos-resources/probes/k8sProbe.md
- Prometheus Probe: experiments/concepts/chaos-resources/probes/promProbe.md
- Probe Chaining: experiments/concepts/chaos-resources/probes/probe-chaining.md
- Security: experiments/concepts/psp.md
- AWS IAM Integration: experiments/concepts/awsIamIntegration.md
- Litmus FAQ: