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:
parent
c151dc9cdf
commit
29d1c49518
|
|
@ -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
|
||||
```
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
```
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
```
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
```
|
||||
|
|
@ -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>
|
||||
```
|
||||
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
```
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
```
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
```
|
||||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue