--- --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Drain the node where application pod is scheduled kind: ChaosExperiment metadata: name: node-drain version: 0.1.6 spec: definition: scope: Cluster permissions: - apiGroups: - "" - "batch" - "extensions" - "litmuschaos.io" resources: - "jobs" - "pods" - "pods/eviction" - "daemonsets" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "list" - "get" - "patch" - "update" - "delete" - apiGroups: - "" resources: - "nodes" verbs : - "get" - "list" - "patch" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/node_drain/node_drain_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: LIVENESS_APP_LABEL value: '' - name: APP_NODE value: '' - name: TOTAL_CHAOS_DURATION value: '60' # Period to wait before injection of chaos in sec - name: RAMP_TIME value: '' - name: LIVENESS_APP_NAMESPACE value: '' labels: name: node-drain --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Fillup Ephemeral Storage of a Resource kind: ChaosExperiment metadata: name: disk-fill version: 0.1.6 spec: definition: scope: Cluster permissions: - apiGroups: - "" - "apps" - "batch" - "litmuschaos.io" resources: - "jobs" - "pods" - "pods/exec" - "daemonsets" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "list" - "get" - "patch" - "update" - "delete" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/disk_fill/disk_fill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TARGET_CONTAINER value: '' - name: FILL_PERCENTAGE value: '80' - name: TOTAL_CHAOS_DURATION value: '60' # Period to wait before injection of chaos in sec - name: RAMP_TIME value: '' labels: name: disk-fill --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Injects cpu consumption on pods belonging to an app deployment kind: ChaosExperiment metadata: name: pod-cpu-hog version: 0.1.6 spec: definition: scope: Namespaced permissions: - apiGroups: - "" - "batch" - "litmuschaos.io" resources: - "jobs" - "pods" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "list" - "get" - "patch" - "update" - "delete" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/pod_cpu_hog/pod_cpu_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TARGET_CONTAINER value: '' - name: CPU_CORES value: '1' - name: TOTAL_CHAOS_DURATION value: '60' # in seconds # Period to wait before injection of chaos in sec - name: RAMP_TIME value: '' - name: LIB value: 'litmus' - name: LIB_IMAGE value: 'litmuschaos/app-cpu-stress:latest' labels: name: pod-cpu-hog --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Inject network packet corruption into application pod kind: ChaosExperiment metadata: name: pod-network-corruption version: 0.1.5 spec: definition: scope: Namespaced permissions: - apiGroups: - "" - "batch" - "litmuschaos.io" resources: - "jobs" - "pods" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "delete" - "list" - "patch" - "update" - "get" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/pod_network_corruption/pod_network_corruption_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TARGET_CONTAINER value: '' # provide lib image - name: LIB_IMAGE value: 'gaiaadm/pumba:0.6.5' - name: NETWORK_INTERFACE value: 'eth0' - name: NETWORK_PACKET_CORRUPTION_PERCENTAGE value: '100' #in PERCENTAGE - name: TOTAL_CHAOS_DURATION value: '60' # in seconds # Time period to wait before injection of chaos in sec - name: RAMP_TIME value: '' - name: LIB value: 'pumba' labels: name: pod-network-corruption --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Deletes a pod belonging to a deployment/statefulset/daemonset kind: ChaosExperiment metadata: name: pod-delete version: 0.1.9 spec: definition: scope: Namespaced permissions: - apiGroups: - "" - "apps" - "batch" - "litmuschaos.io" resources: - "deployments" - "jobs" - "pods" - "configmaps" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "list" - "get" - "patch" - "update" - "delete" - apiGroups: - "" resources: - "nodes" verbs : - "get" - "list" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/pod_delete/pod_delete_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TOTAL_CHAOS_DURATION value: '15' # Period to wait before injection of chaos in sec - name: RAMP_TIME value: '' - name: FORCE value: 'true' - name: CHAOS_INTERVAL value: '5' - name: LIB value: '' labels: name: pod-delete --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Injects network packet loss on pods belonging to an app deployment kind: ChaosExperiment metadata: name: pod-network-loss version: 0.1.10 spec: definition: scope: Namespaced permissions: - apiGroups: - "" - "batch" - "litmuschaos.io" resources: - "jobs" - "pods" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "get" - "list" - "patch" - "create" - "update" - "delete" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/pod_network_loss/pod_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TARGET_CONTAINER value: '' # provide lib image - name: LIB_IMAGE value: 'gaiaadm/pumba:0.6.5' - name: NETWORK_INTERFACE value: 'eth0' - name: NETWORK_PACKET_LOSS_PERCENTAGE value: '100' #in PERCENTAGE - name: TOTAL_CHAOS_DURATION value: '60' # in seconds # ime period to wait before injection of chaos in sec - name: RAMP_TIME value: '' - name: LIB value: 'pumba' labels: name: pod-network-loss --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Detaching a persistent disk from a node/instance. Supports only for AWS and GCP kind: ChaosExperiment metadata: name: disk-loss version: 0.1.9 spec: definition: scope: Cluster permissions: - apiGroups: - "" - "batch" - "litmuschaos.io" resources: - "jobs" - "pods" - "secrets" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "list" - "get" - "patch" - "update" - "delete" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/disk_loss/disk_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TOTAL_CHAOS_DURATION value: '15' # Period to wait before injection of chaos in sec - name: RAMP_TIME value: '' - name: APP_CHECK value: 'true' - name: CHAOS_NAMESPACE value: '' # It supports GCP and AWS - name: CLOUD_PLATFORM value: 'GCP' - name: PROJECT_ID value: '' - name: NODE_NAME value: '' - name: DISK_NAME value: '' - name: ZONE_NAME value: '' - name: DEVICE_NAME value: '' labels: name: disk-loss secrets: - name: cloud-secret mountPath: /tmp/ --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Injects network latency on pods belonging to an app deployment kind: ChaosExperiment metadata: name: pod-network-latency version: 0.1.10 spec: definition: scope: Namespaced permissions: - apiGroups: - "" - "batch" - "litmuschaos.io" resources: - "jobs" - "pods" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "list" - "get" - "patch" - "update" - "delete" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/pod_network_latency/pod_network_latency_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TARGET_CONTAINER value: '' - name: NETWORK_INTERFACE value: 'eth0' # provide lib image - name: LIB_IMAGE value: 'gaiaadm/pumba:0.6.5' - name: NETWORK_LATENCY value: '60000' #in ms - name: TOTAL_CHAOS_DURATION value: '60' # in seconds # Time period to wait before injection of chaos in sec - name: RAMP_TIME value: '' - name: LIB value: 'pumba' labels: name: pod-network-latency --- apiVersion: litmuschaos.io/v1alpha1 description: message: | Give a cpu spike on a node belonging to a deployment kind: ChaosExperiment metadata: name: node-cpu-hog version: 0.1.11 spec: definition: scope: Cluster permissions: - apiGroups: - "" - "batch" - "apps" - "litmuschaos.io" resources: - "daemonsets" - "jobs" - "pods" - "pods/exec" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "list" - "get" - "patch" - "update" - "delete" - apiGroups: - "" resources: - "nodes" verbs : - "get" - "list" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/node_cpu_hog/node_cpu_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TOTAL_CHAOS_DURATION value: '60' # Period to wait before injection of chaos in sec - name: RAMP_TIME value: '' - name: PLATFORM value: 'GKE' - name: LIB value: '' labels: name: node-cpu-hog --- apiVersion: litmuschaos.io/v1alpha1 description: message: "Kills a container belonging to an application pod \n" kind: ChaosExperiment metadata: name: container-kill version: 0.1.11 spec: definition: scope: Namespaced permissions: - apiGroups: - "" - "apps" - "batch" - "litmuschaos.io" resources: - "daemonsets" - "jobs" - "pods" - "pods/exec" - "chaosengines" - "chaosexperiments" - "chaosresults" verbs: - "create" - "list" - "get" - "update" - "patch" - "delete" image: "litmuschaos/ansible-runner:latest" args: - -c - ansible-playbook ./experiments/generic/container_kill/container_kill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 command: - /bin/bash env: - name: ANSIBLE_STDOUT_CALLBACK value: 'default' - name: TARGET_CONTAINER value: '' # Period to wait before injection of chaos in sec - name: RAMP_TIME value: '' # It supports pumba and containerd - name: LIB value: 'pumba' # LIB_IMAGE can be - gaiaadm/pumba:0.4.8, gprasath/crictl:ci # For pumba image use: gaiaadm/pumba:0.4.8 # For containerd image use: gprasath/crictl:ci - name: LIB_IMAGE value: 'gaiaadm/pumba:0.4.8' labels: name: container-kill ---