removes kafka and cassandra experiment charts (#588)

Signed-off-by: neelanjan00 <neelanjan.manna@harness.io>
This commit is contained in:
Neelanjan Manna
2023-02-21 23:41:17 +05:30
committed by GitHub
parent 796ebce0ca
commit fa7dc162a7
48 changed files with 0 additions and 2700 deletions

View File

@@ -10,8 +10,6 @@ Chaos Charts are a groups of categorized chaos experiments, represented as custo
- <b>Generic</b>: It contains chaos to disrupt state of kubernetes resources. i.e, pod-delete - <b>Generic</b>: It contains chaos to disrupt state of kubernetes resources. i.e, pod-delete
- <b>OpenEBS</b>: It contains chaos to disrupt state of OpenEBS control/date plane components. i.e, openebs-target-failure - <b>OpenEBS</b>: It contains chaos to disrupt state of OpenEBS control/date plane components. i.e, openebs-target-failure
- <b>Cassandra</b>: It contains chaos to disrupt state of Cassandra Applications. i.e, cassandra-pod-delete
- <b>Kafka</b>: It contains chaos to disrupt state of Kafka Applications. i.e, kafka-broker-pod-delete
- <b>Coredns</b>: It contains chaos to disrupt state of Coredns pod. i.e, coredns-pod-delete - <b>Coredns</b>: It contains chaos to disrupt state of Coredns pod. i.e, coredns-pod-delete
- <b>Kube-AWS</b>: It contains chaos to disrupt state of AWS resources running part of the kubernetes cluster. i.e, ebs-loss - <b>Kube-AWS</b>: It contains chaos to disrupt state of AWS resources running part of the kubernetes cluster. i.e, ebs-loss
- <b>Kube-Components</b>: It contains chaos to disrupt the state of kubernetes components. i.e, k8-kube-proxy. - <b>Kube-Components</b>: It contains chaos to disrupt the state of kubernetes components. i.e, k8-kube-proxy.

View File

@@ -151,16 +151,6 @@ While Chaos Experiments under the Generic category offer the ability to induce c
<td> Injects faults in OpenEBS tool </td> <td> Injects faults in OpenEBS tool </td>
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/openebs"> OpenEBS experiments</a></td> <td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/openebs"> OpenEBS experiments</a></td>
<tr> <tr>
<tr>
<td> Kafka Experiments </td>
<td> Inject faults in kafka application </td>
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/kafka"> kafka experiments </a></td>
<tr>
<tr>
<td> Cassandra Experiments </td>
<td> Inject faults in cassandra application </td>
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/charts/cassandra"> cassandra experiments </a></td>
<tr>
</table> </table>
### Platform Chaos ### Platform Chaos

View File

@@ -1,47 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2020-04-14T10:28:08Z
name: cassandra-pod-delete
version: 0.1.3
annotations:
categories: Cassandra
vendor: CNCF
support: https://cassandra-slack.herokuapp.com
spec:
displayName: cassandra-pod-delete
categoryDescription: |
This experiment causes (forced/graceful) pod failure of random replicas of an cassandra statefulset.
It tests statefulset sanity (replica availability & uninterrupted service) and recovery workflows of the cassandra pod
keywords:
- Kubernetes
- K8S
- Cassandra
- Pod
platforms:
- GKE
- Konvoy
- Packet(Kubeadm)
- Minikube
- EKS
maturity: alpha
maintainers:
- name: Shubham Chaudhary
email: shubham.chaudhary@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
labels:
app.kubernetes.io/component: chartserviceversion
app.kubernetes.io/version: latest
links:
- name: Source Code
url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/cassandra/pod-delete
- name: Documentation
url: https://litmuschaos.github.io/litmus/experiments/categories/cassandra/cassandra-pod-delete/
- name: Video
url:
icon:
- url:
mediatype: ""
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/cassandra-pod-delete/experiment.yaml

View File

@@ -1,55 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: cassandra-chaos
namespace: default
spec:
appinfo:
appns: 'default'
applabel: 'app=cassandra'
appkind: 'statefulset'
# It can be active/stop
engineState: 'active'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
chaosServiceAccount: cassandra-pod-delete-sa
experiments:
- name: cassandra-pod-delete
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '15'
# set chaos interval (in sec) as desired
- name: CHAOS_INTERVAL
value: '15'
# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'
# provide cassandra service name
# default service: cassandra
- name: CASSANDRA_SVC_NAME
value: 'cassandra'
# provide the keyspace replication factor
- name: KEYSPACE_REPLICATION_FACTOR
value: '3'
# provide cassandra port
# default port: 9042
- name: CASSANDRA_PORT
value: '9042'
# SET THE CASSANDRA_LIVENESS_CHECK
# IT CAN BE `enable` OR `disable`
- name: CASSANDRA_LIVENESS_CHECK
value: ''
## percentage of total pods to target
- name: PODS_AFFECTED_PERC
value: ''

View File

@@ -1,116 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a casandra statefulset
kind: ChaosExperiment
metadata:
name: cassandra-pod-delete
labels:
name: cassandra-pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Create and manage the liveness and target application services
- apiGroups: [""]
resources: ["services"]
verbs: ["create","delete","get","list", "deletecollection"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name cassandra-pod-delete
command:
- /bin/bash
env:
# provide cassandra service name
# default service: cassandra
- name: CASSANDRA_SVC_NAME
value: ''
# provide the keyspace replication factor
- name: KEYSPACE_REPLICATION_FACTOR
value: ''
# provide cassandra port
# default port: 9042
- name: CASSANDRA_PORT
value: '9042'
# provide liveness deployement port
# default port: 8088, It only supports 8088 port
- name: LIVENESS_SVC_PORT
value: '8088'
# provide cassandra liveness image
- name: CASSANDRA_LIVENESS_IMAGE
value: 'litmuschaos/cassandra-client:latest'
- name: TOTAL_CHAOS_DURATION
value: '15'
## percentage of total pods to target
- name: PODS_AFFECTED_PERC
value: ''
- name: CHAOS_INTERVAL
value: '15'
# SET THE CASSANDRA_LIVENESS_CHECK
# IT CAN BE `enable` OR `disable`
- name: CASSANDRA_LIVENESS_CHECK
value: ''
## Period to wait before and after injection of chaos
- name: RAMP_TIME
value: ''
- name: FORCE
value: ''
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
labels:
name: cassandra-pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@@ -1,73 +0,0 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cassandra-pod-delete-sa
namespace: default
labels:
name: cassandra-pod-delete-sa
app.kubernetes.io/part-of: litmus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: cassandra-pod-delete-sa
namespace: default
labels:
name: cassandra-pod-delete-sa
app.kubernetes.io/part-of: litmus
rules:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Create and manage the liveness and target application services
- apiGroups: [""]
resources: ["services"]
verbs: ["create","delete","get","list", "deletecollection"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: cassandra-pod-delete-sa
namespace: default
labels:
name: cassandra-pod-delete-sa
app.kubernetes.io/part-of: litmus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: cassandra-pod-delete-sa
subjects:
- kind: ServiceAccount
name: cassandra-pod-delete-sa
namespace: default

View File

@@ -1,41 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2020-04-14T10:28:08Z
name: cassandra
version: 0.1.3
annotations:
categories: Cassandra
chartDescription: Injects cassandra kubernetes chaos
spec:
displayName: Cassandra Chaos
categoryDescription: >
Cassandra is a free and open-source, distributed, wide column store, NoSQL database management system designed to handle
large amounts of data across many commodity servers, providing high availability with no single point of failure.
It will install all the experiments which can be used to inject chaos into cassandra applications.
experiments:
- cassandra-pod-delete
keywords:
- Kubernetes
- K8S
- Pod
- Cassandra
maintainers:
- name: ksatchit
email: karthik.s@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
links:
- name: Cassandra Website
url: http://cassandra.apache.org/
- name: Source Code
url: https://github.com/apache/cassandra
- name: Cassandra Slack
url: https://cassandra-slack.herokuapp.com
- name: Documentation
url: http://cassandra.apache.org/doc/latest/
icon:
- url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/icons/cassandra.png
mediatype: image/png
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/experiments.yaml

View File

@@ -1,5 +0,0 @@
packageName: cassandra
experiments:
- name: cassandra-pod-delete
CSV: cassandra-pod-delete.chartserviceversion.yaml
desc: "cassandra-pod-delete"

View File

@@ -1,118 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a casandra statefulset
kind: ChaosExperiment
metadata:
name: cassandra-pod-delete
labels:
name: cassandra-pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Create and manage the liveness and target application services
- apiGroups: [""]
resources: ["services"]
verbs: ["create","delete","get","list", "deletecollection"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name cassandra-pod-delete
command:
- /bin/bash
env:
# provide cassandra service name
# default service: cassandra
- name: CASSANDRA_SVC_NAME
value: ''
# provide the keyspace replication factor
- name: KEYSPACE_REPLICATION_FACTOR
value: ''
# provide cassandra port
# default port: 9042
- name: CASSANDRA_PORT
value: '9042'
# provide liveness deployement port
# default port: 8088, It only supports 8088 port
- name: LIVENESS_SVC_PORT
value: '8088'
# provide cassandra liveness image
- name: CASSANDRA_LIVENESS_IMAGE
value: 'litmuschaos/cassandra-client:latest'
- name: TOTAL_CHAOS_DURATION
value: '15'
## percentage of total pods to target
- name: PODS_AFFECTED_PERC
value: ''
- name: CHAOS_INTERVAL
value: '15'
# SET THE CASSANDRA_LIVENESS_CHECK
# IT CAN BE `enable` OR `disable`
- name: CASSANDRA_LIVENESS_CHECK
value: ''
## Period to wait before and after injection of chaos
- name: RAMP_TIME
value: ''
- name: FORCE
value: ''
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
labels:
name: cassandra-pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,244 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deleting a kafka broker pod
kind: ChaosExperiment
metadata:
name: kafka-broker-pod-failure
labels:
name: kafka-broker-pod-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Cluster
permissions:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name kafka-broker-pod-failure
command:
- /bin/bash
env:
- name: KAFKA_KIND
value: 'statefulset'
- name: KAFKA_LIVENESS_STREAM
value: 'enable'
- name: KAFKA_LIVENESS_IMAGE
value: 'litmuschaos/kafka-client:latest'
# Recommended timeout for EKS platform: 60000 ms
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000' #in ms
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: CHAOS_INTERVAL
value: '5'
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
- name: FORCE
value: 'true'
- name: KAFKA_INSTANCE_NAME
value: ''
- name: KAFKA_NAMESPACE
value: ''
- name: KAFKA_LABEL
value: ''
- name: KAFKA_BROKER
value: ''
- name: KAFKA_REPLICATION_FACTOR
value: ''
- name: KAFKA_SERVICE
value: ''
- name: KAFKA_PORT
value: ''
- name: ZOOKEEPER_NAMESPACE
value: ''
- name: ZOOKEEPER_LABEL
value: ''
- name: ZOOKEEPER_SERVICE
value: ''
- name: ZOOKEEPER_PORT
value: ''
labels:
name: kafka-broker-pod-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
---
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Detaching a persistent disk from a node/instance for kafka.
kind: ChaosExperiment
metadata:
name: kafka-broker-disk-failure
labels:
name: kafka-broker-disk-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Cluster
permissions:
- apiGroups:
- ""
- "apps"
- "batch"
- "litmuschaos.io"
resources:
- "statefulsets"
- "secrets"
- "jobs"
- "pods/log"
- "events"
- "pods"
- "pods/exec"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "delete"
- "get"
- "list"
- "patch"
image: "litmuschaos/ansible-runner:latest"
imagePullPolicy: Always
args:
- -c
- ansible-playbook ./experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure-ansible-logic.yml -i /etc/ansible/hosts -vv; exit 0
command:
- /bin/bash
env:
- name: ANSIBLE_STDOUT_CALLBACK
value: 'default'
- name: KAFKA_KIND
value: 'statefulset'
- name: KAFKA_LIVENESS_STREAM
value: 'enabled'
- name: KAFKA_LIVENESS_IMAGE
value: 'litmuschaos/kafka-client:ci'
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000'
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: PROJECT_ID
value: ''
- name: DISK_NAME
value: ''
- name: ZONE_NAME
value: ''
# GKE and AWS supported
- name: CLOUD_PLATFORM
value: 'GKE'
- name: KAFKA_NAMESPACE
value: ''
- name: KAFKA_LABEL
value: ''
- name: KAFKA_BROKER
value: ''
- name: KAFKA_INSTANCE_NAME
value: ''
- name: KAFKA_REPLICATION_FACTOR
value: ''
- name: KAFKA_SERVICE
value: ''
- name: KAFKA_PORT
value: ''
- name: ZOOKEEPER_NAMESPACE
value: ''
- name: ZOOKEEPER_LABEL
value: ''
- name: ZOOKEEPER_SERVICE
value: ''
- name: ZOOKEEPER_PORT
value: ''
labels:
name: kafka-broker-disk-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
secrets:
- name: kafka-broker-disk-failure
mountPath: /tmp/
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -1,81 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: kafka-chaos
namespace: default
spec:
# It can be active/stop
engineState: 'active'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=cp-kafka'
appkind: 'statefulset'
chaosServiceAccount: kafka-broker-disk-failure-sa
experiments:
- name: kafka-broker-disk-failure
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '60'
# choose based on available kafka broker replicas
- name: KAFKA_REPLICATION_FACTOR
value: '3'
# get via 'kubectl get pods --show-labels -n <kafka-namespace>'
- name: KAFKA_LABEL
value: 'app=cp-kafka'
- name: KAFKA_NAMESPACE
value: 'default'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_SERVICE
value: 'kafka-cp-kafka-headless'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_PORT
value: '9092'
# in milliseconds
- name: KAFKA_CONSUMER_TIMEOUT
value: '70000'
# ensure to set the instance name if using KUDO operator
- name: KAFKA_INSTANCE_NAME
value: ''
- name: ZOOKEEPER_NAMESPACE
value: 'default'
# get via 'kubectl get pods --show-labels -n <zk-namespace>'
- name: ZOOKEEPER_LABEL
value: 'app=cp-zookeeper'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_SERVICE
value: 'kafka-cp-zookeeper-headless'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_PORT
value: '2181'
# get from google cloud console or 'gcloud projects list'
- name: PROJECT_ID
value: 'argon-tractor-237811'
# attached to (in use by) node where 'kafka-0' is scheduled
- name: DISK_NAME
value: 'disk-1'
- name: ZONE_NAME
value: 'us-central1-a'
# Uses 'disk-1' attached to the node on which it is scheduled
- name: KAFKA_BROKER
value: 'kafka-0'

View File

@@ -1,118 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Detaching a persistent disk from a node/instance for kafka.
kind: ChaosExperiment
metadata:
name: kafka-broker-disk-failure
labels:
name: kafka-broker-disk-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Cluster
permissions:
- apiGroups:
- ""
- "apps"
- "batch"
- "litmuschaos.io"
resources:
- "statefulsets"
- "secrets"
- "jobs"
- "pods/log"
- "events"
- "pods"
- "pods/exec"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "delete"
- "get"
- "list"
- "patch"
image: "litmuschaos/ansible-runner:latest"
imagePullPolicy: Always
args:
- -c
- ansible-playbook ./experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure-ansible-logic.yml -i /etc/ansible/hosts -vv; exit 0
command:
- /bin/bash
env:
- name: ANSIBLE_STDOUT_CALLBACK
value: 'default'
- name: KAFKA_KIND
value: 'statefulset'
- name: KAFKA_LIVENESS_STREAM
value: 'enabled'
- name: KAFKA_LIVENESS_IMAGE
value: 'litmuschaos/kafka-client:ci'
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000'
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: PROJECT_ID
value: ''
- name: DISK_NAME
value: ''
- name: ZONE_NAME
value: ''
# GKE and AWS supported
- name: CLOUD_PLATFORM
value: 'GKE'
- name: KAFKA_NAMESPACE
value: ''
- name: KAFKA_LABEL
value: ''
- name: KAFKA_BROKER
value: ''
- name: KAFKA_INSTANCE_NAME
value: ''
- name: KAFKA_REPLICATION_FACTOR
value: ''
- name: KAFKA_SERVICE
value: ''
- name: KAFKA_PORT
value: ''
- name: ZOOKEEPER_NAMESPACE
value: ''
- name: ZOOKEEPER_LABEL
value: ''
- name: ZOOKEEPER_SERVICE
value: ''
- name: ZOOKEEPER_PORT
value: ''
labels:
name: kafka-broker-disk-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
secrets:
- name: kafka-broker-disk-failure
mountPath: /tmp/

View File

@@ -1,42 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2019-11-15T10:28:08Z
name: kafka-broker-disk-failure
annotations:
categories: Kafka
vendor: Mayadata
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
spec:
displayName: kafka-broker-disk-failure
categoryDescription: |
Detaching a persistent disk from a node/instance for kafka
keywords:
- Kubernetes
- K8S
- Disk
- Kafka
platforms:
- GKE
- konvoy
maturity: alpha
maintainers:
- name: ksatchit
email: karthik.s@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
labels:
app.kubernetes.io/component: chartserviceversion
app.kubernetes.io/version: latest
links:
- name: Source Code
url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/kafka/kafka-broker-disk-failure
- name: Documentation
url: https://v1-docs.litmuschaos.io/docs/kafka-broker-disk-failure/
- name: Video
url:
icon:
- url:
mediatype: ""
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/kafka-broker-disk-failure/experiment.yaml

View File

@@ -1,38 +0,0 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kafka-broker-disk-failure-sa
namespace: default
labels:
name: kafka-broker-disk-failure-sa
app.kubernetes.io/part-of: litmus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kafka-broker-disk-failure-sa
labels:
name: kafka-broker-disk-failure-sa
app.kubernetes.io/part-of: litmus
rules:
- apiGroups: ["","litmuschaos.io","batch","apps"]
resources: ["pods","jobs","pods/log","events","pods/exec","statefulsets","secrets","chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kafka-broker-disk-failure-sa
labels:
name: kafka-broker-disk-failure-sa
app.kubernetes.io/part-of: litmus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kafka-broker-disk-failure-sa
subjects:
- kind: ServiceAccount
name: kafka-broker-disk-failure-sa
namespace: default

View File

@@ -1,74 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: kafka-chaos
namespace: default
spec:
# It can be active/stop
engineState: 'active'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=cp-kafka'
appkind: 'statefulset'
chaosServiceAccount: kafka-broker-pod-failure-sa
experiments:
- name: kafka-broker-pod-failure
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '60'
# choose based on available kafka broker replicas
- name: KAFKA_REPLICATION_FACTOR
value: '3'
# get via 'kubectl get pods --show-labels -n <kafka-namespace>'
- name: KAFKA_LABEL
value: 'app=cp-kafka'
- name: KAFKA_NAMESPACE
value: 'default'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_SERVICE
value: 'kafka-cp-kafka-headless'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_PORT
value: '9092'
# Recommended timeout for EKS platform: 60000 ms
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000' # in milliseconds
# ensure to set the instance name if using KUDO operator
- name: KAFKA_INSTANCE_NAME
value: ''
- name: ZOOKEEPER_NAMESPACE
value: 'default'
# get via 'kubectl get pods --show-labels -n <zk-namespace>'
- name: ZOOKEEPER_LABEL
value: 'app=cp-zookeeper'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_SERVICE
value: 'kafka-cp-zookeeper-headless'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_PORT
value: '2181'
# set chaos interval (in sec) as desired
- name: CHAOS_INTERVAL
value: '20'
# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'

View File

@@ -1,122 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deleting a kafka broker pod
kind: ChaosExperiment
metadata:
name: kafka-broker-pod-failure
labels:
name: kafka-broker-pod-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Cluster
permissions:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name kafka-broker-pod-failure
command:
- /bin/bash
env:
- name: KAFKA_KIND
value: 'statefulset'
- name: KAFKA_LIVENESS_STREAM
value: 'enable'
- name: KAFKA_LIVENESS_IMAGE
value: 'litmuschaos/kafka-client:latest'
# Recommended timeout for EKS platform: 60000 ms
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000' #in ms
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: CHAOS_INTERVAL
value: '5'
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
- name: FORCE
value: 'true'
- name: KAFKA_INSTANCE_NAME
value: ''
- name: KAFKA_NAMESPACE
value: ''
- name: KAFKA_LABEL
value: ''
- name: KAFKA_BROKER
value: ''
- name: KAFKA_REPLICATION_FACTOR
value: ''
- name: KAFKA_SERVICE
value: ''
- name: KAFKA_PORT
value: ''
- name: ZOOKEEPER_NAMESPACE
value: ''
- name: ZOOKEEPER_LABEL
value: ''
- name: ZOOKEEPER_SERVICE
value: ''
- name: ZOOKEEPER_PORT
value: ''
labels:
name: kafka-broker-pod-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@@ -1,45 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2019-11-15T10:28:08Z
name: kafka-broker-pod-failure
version: 0.1.6
annotations:
categories: Kafka
vendor: Mayadata
repository: https://github.com/litmuschaos/chaos-charts
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
spec:
displayName: kafka-broker-pod-failure
categoryDescription: |
This chaos experiment kills (random or specified) kafka broker pods
keywords:
- Kubernetes
- K8S
- Pod
- Kafka
platforms:
- GKE
- EKS
- konvoy
maturity: alpha
maintainers:
- name: ksatchit
email: karthik.s@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
labels:
app.kubernetes.io/component: chartserviceversion
app.kubernetes.io/version: latest
links:
- name: Source Code
url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/kafka/kafka-broker-pod-failure
- name: Documentation
url: https://litmuschaos.github.io/litmus/experiments/categories/kafka/kafka-broker-pod-failure/
- name: Video
url:
icon:
- url:
mediatype: ""
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/kafka-broker-pod-failure/experiment.yaml

View File

@@ -1,67 +0,0 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kafka-broker-pod-failure-sa
namespace: default
labels:
name: kafka-broker-pod-failure-sa
app.kubernetes.io/part-of: litmus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kafka-broker-pod-failure-sa
labels:
name: kafka-broker-pod-failure-sa
app.kubernetes.io/part-of: litmus
rules:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kafka-broker-pod-failure-sa
labels:
name: kafka-broker-pod-failure-sa
app.kubernetes.io/part-of: litmus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kafka-broker-pod-failure-sa
subjects:
- kind: ServiceAccount
name: kafka-broker-pod-failure-sa
namespace: default

View File

@@ -1,39 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2019-11-13T10:28:08Z
name: kafka
version: 0.1.4
annotations:
categories: Kafka
chartDescription: Injects chaos on kafka components
spec:
displayName: Kafka Chaos
categoryDescription: >
Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, fast,
and runs in production in thousands of companies
experiments:
- kafka-broker-pod-failure
keywords:
- Kubernetes
- K8S
- Kafka
- Disk
- Pod
maintainers:
- name: ksatchit
email: karthik.s@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
links:
- name: Kafka Website
url: http://kafka.apache.org/
- name: Source Code
url: https://github.com/litmuschaos/litmus/tree/master/experiments/kafka
- name: Community Slack
url: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
icon:
- url:
mediatype:
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/experiments.yaml

View File

@@ -1,8 +0,0 @@
packageName: kafka
experiments:
- name: kafka-broker-pod-failure
CSV: kafka-broker-pod-failure.chartserviceversion.yaml
desc: "kafka-broker-pod-failure"
- name: kafka-broker-disk-failure
CSV: kafka-broker-disk-failure.chartserviceversion.yaml
desc: "kafka-broker-disk-failure"

View File

@@ -1,47 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2020-04-14T10:28:08Z
name: cassandra-pod-delete
version: 0.1.3
annotations:
categories: Cassandra
vendor: CNCF
support: https://cassandra-slack.herokuapp.com
spec:
displayName: cassandra-pod-delete
categoryDescription: |
This experiment causes (forced/graceful) pod failure of random replicas of an cassandra statefulset.
It tests statefulset sanity (replica availability & uninterrupted service) and recovery workflows of the cassandra pod
keywords:
- Kubernetes
- K8S
- Cassandra
- Pod
platforms:
- GKE
- Konvoy
- Packet(Kubeadm)
- Minikube
- EKS
maturity: alpha
maintainers:
- name: Shubham Chaudhary
email: shubham.chaudhary@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
labels:
app.kubernetes.io/component: chartserviceversion
app.kubernetes.io/version: latest
links:
- name: Source Code
url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/cassandra/pod-delete
- name: Documentation
url: https://litmuschaos.github.io/litmus/experiments/categories/cassandra/cassandra-pod-delete/
- name: Video
url:
icon:
- url:
mediatype: ""
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/cassandra-pod-delete/experiment.yaml

View File

@@ -1,55 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: cassandra-chaos
namespace: default
spec:
appinfo:
appns: 'default'
applabel: 'app=cassandra'
appkind: 'statefulset'
# It can be active/stop
engineState: 'active'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
chaosServiceAccount: cassandra-pod-delete-sa
experiments:
- name: cassandra-pod-delete
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '15'
# set chaos interval (in sec) as desired
- name: CHAOS_INTERVAL
value: '15'
# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'
# provide cassandra service name
# default service: cassandra
- name: CASSANDRA_SVC_NAME
value: 'cassandra'
# provide the keyspace replication factor
- name: KEYSPACE_REPLICATION_FACTOR
value: '3'
# provide cassandra port
# default port: 9042
- name: CASSANDRA_PORT
value: '9042'
# SET THE CASSANDRA_LIVENESS_CHECK
# IT CAN BE `enable` OR `disable`
- name: CASSANDRA_LIVENESS_CHECK
value: ''
## percentage of total pods to target
- name: PODS_AFFECTED_PERC
value: ''

View File

@@ -1,121 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a casandra statefulset
kind: ChaosExperiment
metadata:
name: cassandra-pod-delete
labels:
name: cassandra-pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Create and manage the liveness and target application services
- apiGroups: [""]
resources: ["services"]
verbs: ["create","delete","get","list", "deletecollection"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name cassandra-pod-delete
command:
- /bin/bash
env:
# provide cassandra service name
# default service: cassandra
- name: CASSANDRA_SVC_NAME
value: ''
# provide the keyspace replication factor
- name: KEYSPACE_REPLICATION_FACTOR
value: ''
# provide cassandra port
# default port: 9042
- name: CASSANDRA_PORT
value: '9042'
# provide liveness deployement port
# default port: 8088, It only supports 8088 port
- name: LIVENESS_SVC_PORT
value: '8088'
# provide cassandra liveness image
- name: CASSANDRA_LIVENESS_IMAGE
value: 'litmuschaos/cassandra-client:latest'
- name: TOTAL_CHAOS_DURATION
value: '15'
## percentage of total pods to target
- name: PODS_AFFECTED_PERC
value: ''
- name: CHAOS_INTERVAL
value: '15'
# SET THE CASSANDRA_LIVENESS_CHECK
# IT CAN BE `enable` OR `disable`
- name: CASSANDRA_LIVENESS_CHECK
value: ''
## Period to wait before and after injection of chaos
- name: RAMP_TIME
value: ''
- name: FORCE
value: ''
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
## env var that describes the library used to execute the chaos
## default: litmus. Supported values: litmus
- name: LIB
value: 'litmus'
labels:
name: cassandra-pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@@ -1,73 +0,0 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cassandra-pod-delete-sa
namespace: default
labels:
name: cassandra-pod-delete-sa
app.kubernetes.io/part-of: litmus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: cassandra-pod-delete-sa
namespace: default
labels:
name: cassandra-pod-delete-sa
app.kubernetes.io/part-of: litmus
rules:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Create and manage the liveness and target application services
- apiGroups: [""]
resources: ["services"]
verbs: ["create","delete","get","list", "deletecollection"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: cassandra-pod-delete-sa
namespace: default
labels:
name: cassandra-pod-delete-sa
app.kubernetes.io/part-of: litmus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: cassandra-pod-delete-sa
subjects:
- kind: ServiceAccount
name: cassandra-pod-delete-sa
namespace: default

View File

@@ -1,42 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2020-04-14T10:28:08Z
name: cassandra
version: 0.1.3
annotations:
categories: Cassandra
chartDescription: Injects cassandra kubernetes chaos
spec:
displayName: Cassandra Chaos
categoryDescription: >
Cassandra is a free and open-source, distributed, wide column store, NoSQL database management system designed to handle
large amounts of data across many commodity servers, providing high availability with no single point of failure.
It will install all the experiments which can be used to inject chaos into cassandra applications.
experiments:
- name: cassandra-pod-delete
description: ""
keywords:
- Kubernetes
- K8S
- Pod
- Cassandra
maintainers:
- name: ksatchit
email: karthik.s@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
links:
- name: Cassandra Website
url: http://cassandra.apache.org/
- name: Source Code
url: https://github.com/apache/cassandra
- name: Cassandra Slack
url: https://cassandra-slack.herokuapp.com
- name: Documentation
url: http://cassandra.apache.org/doc/latest/
icon:
- url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/icons/cassandra.png
mediatype: image/png
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/experiments.yaml

View File

@@ -1,5 +0,0 @@
packageName: cassandra
experiments:
- name: cassandra-pod-delete
CSV: cassandra-pod-delete.chartserviceversion.yaml
desc: "cassandra-pod-delete"

View File

@@ -1,123 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deletes a pod belonging to a casandra statefulset
kind: ChaosExperiment
metadata:
name: cassandra-pod-delete
labels:
name: cassandra-pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Namespaced
permissions:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Create and manage the liveness and target application services
- apiGroups: [""]
resources: ["services"]
verbs: ["create","delete","get","list", "deletecollection"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name cassandra-pod-delete
command:
- /bin/bash
env:
# provide cassandra service name
# default service: cassandra
- name: CASSANDRA_SVC_NAME
value: ''
# provide the keyspace replication factor
- name: KEYSPACE_REPLICATION_FACTOR
value: ''
# provide cassandra port
# default port: 9042
- name: CASSANDRA_PORT
value: '9042'
# provide liveness deployement port
# default port: 8088, It only supports 8088 port
- name: LIVENESS_SVC_PORT
value: '8088'
# provide cassandra liveness image
- name: CASSANDRA_LIVENESS_IMAGE
value: 'litmuschaos/cassandra-client:latest'
- name: TOTAL_CHAOS_DURATION
value: '15'
## percentage of total pods to target
- name: PODS_AFFECTED_PERC
value: ''
- name: CHAOS_INTERVAL
value: '15'
# SET THE CASSANDRA_LIVENESS_CHECK
# IT CAN BE `enable` OR `disable`
- name: CASSANDRA_LIVENESS_CHECK
value: ''
## Period to wait before and after injection of chaos
- name: RAMP_TIME
value: ''
- name: FORCE
value: ''
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
## env var that describes the library used to execute the chaos
## default: litmus. Supported values: litmus
- name: LIB
value: 'litmus'
labels:
name: cassandra-pod-delete
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,249 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Detaching a persistent disk from a node/instance for kafka.
kind: ChaosExperiment
metadata:
name: kafka-broker-disk-failure
labels:
name: kafka-broker-disk-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Cluster
permissions:
- apiGroups:
- ""
- "apps"
- "batch"
- "litmuschaos.io"
resources:
- "statefulsets"
- "secrets"
- "jobs"
- "pods/log"
- "events"
- "pods"
- "pods/exec"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "delete"
- "get"
- "list"
- "patch"
image: "litmuschaos/ansible-runner:latest"
imagePullPolicy: Always
args:
- -c
- ansible-playbook ./experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure-ansible-logic.yml -i /etc/ansible/hosts -vv; exit 0
command:
- /bin/bash
env:
- name: ANSIBLE_STDOUT_CALLBACK
value: 'default'
- name: KAFKA_KIND
value: 'statefulset'
- name: KAFKA_LIVENESS_STREAM
value: 'enabled'
- name: KAFKA_LIVENESS_IMAGE
value: 'litmuschaos/kafka-client:ci'
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000'
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: PROJECT_ID
value: ''
- name: DISK_NAME
value: ''
- name: ZONE_NAME
value: ''
# GKE and AWS supported
- name: CLOUD_PLATFORM
value: 'GKE'
- name: KAFKA_NAMESPACE
value: ''
- name: KAFKA_LABEL
value: ''
- name: KAFKA_BROKER
value: ''
- name: KAFKA_INSTANCE_NAME
value: ''
- name: KAFKA_REPLICATION_FACTOR
value: ''
- name: KAFKA_SERVICE
value: ''
- name: KAFKA_PORT
value: ''
- name: ZOOKEEPER_NAMESPACE
value: ''
- name: ZOOKEEPER_LABEL
value: ''
- name: ZOOKEEPER_SERVICE
value: ''
- name: ZOOKEEPER_PORT
value: ''
labels:
name: kafka-broker-disk-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
secrets:
- name: kafka-broker-disk-failure
mountPath: /tmp/
---
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deleting a kafka broker pod
kind: ChaosExperiment
metadata:
name: kafka-broker-pod-failure
labels:
name: kafka-broker-pod-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Cluster
permissions:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name kafka-broker-pod-failure
command:
- /bin/bash
env:
- name: KAFKA_KIND
value: 'statefulset'
- name: KAFKA_LIVENESS_STREAM
value: 'enable'
- name: KAFKA_LIVENESS_IMAGE
value: 'litmuschaos/kafka-client:latest'
# Recommended timeout for EKS platform: 60000 ms
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000' #in ms
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: CHAOS_INTERVAL
value: '5'
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
- name: FORCE
value: 'true'
- name: KAFKA_INSTANCE_NAME
value: ''
- name: KAFKA_NAMESPACE
value: ''
- name: KAFKA_LABEL
value: ''
- name: KAFKA_BROKER
value: ''
- name: KAFKA_REPLICATION_FACTOR
value: ''
- name: KAFKA_SERVICE
value: ''
- name: KAFKA_PORT
value: ''
- name: ZOOKEEPER_NAMESPACE
value: ''
- name: ZOOKEEPER_LABEL
value: ''
- name: ZOOKEEPER_SERVICE
value: ''
- name: ZOOKEEPER_PORT
value: ''
## env var that describes the library used to execute the chaos
## default: litmus. Supported values: litmus
- name: LIB
value: 'litmus'
labels:
name: kafka-broker-pod-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -1,81 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: kafka-chaos
namespace: default
spec:
# It can be active/stop
engineState: 'active'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=cp-kafka'
appkind: 'statefulset'
chaosServiceAccount: kafka-broker-disk-failure-sa
experiments:
- name: kafka-broker-disk-failure
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '60'
# choose based on available kafka broker replicas
- name: KAFKA_REPLICATION_FACTOR
value: '3'
# get via 'kubectl get pods --show-labels -n <kafka-namespace>'
- name: KAFKA_LABEL
value: 'app=cp-kafka'
- name: KAFKA_NAMESPACE
value: 'default'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_SERVICE
value: 'kafka-cp-kafka-headless'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_PORT
value: '9092'
# in milliseconds
- name: KAFKA_CONSUMER_TIMEOUT
value: '70000'
# ensure to set the instance name if using KUDO operator
- name: KAFKA_INSTANCE_NAME
value: ''
- name: ZOOKEEPER_NAMESPACE
value: 'default'
# get via 'kubectl get pods --show-labels -n <zk-namespace>'
- name: ZOOKEEPER_LABEL
value: 'app=cp-zookeeper'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_SERVICE
value: 'kafka-cp-zookeeper-headless'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_PORT
value: '2181'
# get from google cloud console or 'gcloud projects list'
- name: PROJECT_ID
value: 'argon-tractor-237811'
# attached to (in use by) node where 'kafka-0' is scheduled
- name: DISK_NAME
value: 'disk-1'
- name: ZONE_NAME
value: 'us-central1-a'
# Uses 'disk-1' attached to the node on which it is scheduled
- name: KAFKA_BROKER
value: 'kafka-0'

View File

@@ -1,118 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Detaching a persistent disk from a node/instance for kafka.
kind: ChaosExperiment
metadata:
name: kafka-broker-disk-failure
labels:
name: kafka-broker-disk-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Cluster
permissions:
- apiGroups:
- ""
- "apps"
- "batch"
- "litmuschaos.io"
resources:
- "statefulsets"
- "secrets"
- "jobs"
- "pods/log"
- "events"
- "pods"
- "pods/exec"
- "chaosengines"
- "chaosexperiments"
- "chaosresults"
verbs:
- "create"
- "delete"
- "get"
- "list"
- "patch"
image: "litmuschaos/ansible-runner:latest"
imagePullPolicy: Always
args:
- -c
- ansible-playbook ./experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure-ansible-logic.yml -i /etc/ansible/hosts -vv; exit 0
command:
- /bin/bash
env:
- name: ANSIBLE_STDOUT_CALLBACK
value: 'default'
- name: KAFKA_KIND
value: 'statefulset'
- name: KAFKA_LIVENESS_STREAM
value: 'enabled'
- name: KAFKA_LIVENESS_IMAGE
value: 'litmuschaos/kafka-client:ci'
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000'
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: PROJECT_ID
value: ''
- name: DISK_NAME
value: ''
- name: ZONE_NAME
value: ''
# GKE and AWS supported
- name: CLOUD_PLATFORM
value: 'GKE'
- name: KAFKA_NAMESPACE
value: ''
- name: KAFKA_LABEL
value: ''
- name: KAFKA_BROKER
value: ''
- name: KAFKA_INSTANCE_NAME
value: ''
- name: KAFKA_REPLICATION_FACTOR
value: ''
- name: KAFKA_SERVICE
value: ''
- name: KAFKA_PORT
value: ''
- name: ZOOKEEPER_NAMESPACE
value: ''
- name: ZOOKEEPER_LABEL
value: ''
- name: ZOOKEEPER_SERVICE
value: ''
- name: ZOOKEEPER_PORT
value: ''
labels:
name: kafka-broker-disk-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest
secrets:
- name: kafka-broker-disk-failure
mountPath: /tmp/

View File

@@ -1,42 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2019-11-15T10:28:08Z
name: kafka-broker-disk-failure
annotations:
categories: Kafka
vendor: Mayadata
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
spec:
displayName: kafka-broker-disk-failure
categoryDescription: |
Detaching a persistent disk from a node/instance for kafka
keywords:
- Kubernetes
- K8S
- Disk
- Kafka
platforms:
- GKE
- konvoy
maturity: alpha
maintainers:
- name: ksatchit
email: karthik.s@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
labels:
app.kubernetes.io/component: chartserviceversion
app.kubernetes.io/version: latest
links:
- name: Source Code
url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/kafka/kafka-broker-disk-failure
- name: Documentation
url: https://v1-docs.litmuschaos.io/docs/kafka-broker-disk-failure/
- name: Video
url:
icon:
- url:
mediatype: ""
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/kafka-broker-disk-failure/experiment.yaml

View File

@@ -1,38 +0,0 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kafka-broker-disk-failure-sa
namespace: default
labels:
name: kafka-broker-disk-failure-sa
app.kubernetes.io/part-of: litmus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kafka-broker-disk-failure-sa
labels:
name: kafka-broker-disk-failure-sa
app.kubernetes.io/part-of: litmus
rules:
- apiGroups: ["","litmuschaos.io","batch","apps"]
resources: ["pods","jobs","pods/log","events","pods/exec","statefulsets","secrets","chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kafka-broker-disk-failure-sa
labels:
name: kafka-broker-disk-failure-sa
app.kubernetes.io/part-of: litmus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kafka-broker-disk-failure-sa
subjects:
- kind: ServiceAccount
name: kafka-broker-disk-failure-sa
namespace: default

View File

@@ -1,74 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: kafka-chaos
namespace: default
spec:
# It can be active/stop
engineState: 'active'
#ex. values: ns1:name=percona,ns2:run=nginx
auxiliaryAppInfo: ''
appinfo:
appns: 'default'
applabel: 'app=cp-kafka'
appkind: 'statefulset'
chaosServiceAccount: kafka-broker-pod-failure-sa
experiments:
- name: kafka-broker-pod-failure
spec:
components:
env:
# set chaos duration (in sec) as desired
- name: TOTAL_CHAOS_DURATION
value: '60'
# choose based on available kafka broker replicas
- name: KAFKA_REPLICATION_FACTOR
value: '3'
# get via 'kubectl get pods --show-labels -n <kafka-namespace>'
- name: KAFKA_LABEL
value: 'app=cp-kafka'
- name: KAFKA_NAMESPACE
value: 'default'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_SERVICE
value: 'kafka-cp-kafka-headless'
# get via 'kubectl get svc -n <kafka-namespace>'
- name: KAFKA_PORT
value: '9092'
# Recommended timeout for EKS platform: 60000 ms
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000' # in milliseconds
# ensure to set the instance name if using KUDO operator
- name: KAFKA_INSTANCE_NAME
value: ''
- name: ZOOKEEPER_NAMESPACE
value: 'default'
# get via 'kubectl get pods --show-labels -n <zk-namespace>'
- name: ZOOKEEPER_LABEL
value: 'app=cp-zookeeper'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_SERVICE
value: 'kafka-cp-zookeeper-headless'
# get via 'kubectl get svc -n <zk-namespace>
- name: ZOOKEEPER_PORT
value: '2181'
# set chaos interval (in sec) as desired
- name: CHAOS_INTERVAL
value: '20'
# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'

View File

@@ -1,127 +0,0 @@
apiVersion: litmuschaos.io/v1alpha1
description:
message: |
Deleting a kafka broker pod
kind: ChaosExperiment
metadata:
name: kafka-broker-pod-failure
labels:
name: kafka-broker-pod-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: chaosexperiment
app.kubernetes.io/version: latest
spec:
definition:
scope: Cluster
permissions:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
image: "litmuschaos/go-runner:latest"
imagePullPolicy: Always
args:
- -c
- ./experiments -name kafka-broker-pod-failure
command:
- /bin/bash
env:
- name: KAFKA_KIND
value: 'statefulset'
- name: KAFKA_LIVENESS_STREAM
value: 'enable'
- name: KAFKA_LIVENESS_IMAGE
value: 'litmuschaos/kafka-client:latest'
# Recommended timeout for EKS platform: 60000 ms
- name: KAFKA_CONSUMER_TIMEOUT
value: '30000' #in ms
- name: TOTAL_CHAOS_DURATION
value: '15'
- name: CHAOS_INTERVAL
value: '5'
## it defines the sequence of chaos execution for multiple target pods
## supported values: serial, parallel
- name: SEQUENCE
value: 'parallel'
- name: FORCE
value: 'true'
- name: KAFKA_INSTANCE_NAME
value: ''
- name: KAFKA_NAMESPACE
value: ''
- name: KAFKA_LABEL
value: ''
- name: KAFKA_BROKER
value: ''
- name: KAFKA_REPLICATION_FACTOR
value: ''
- name: KAFKA_SERVICE
value: ''
- name: KAFKA_PORT
value: ''
- name: ZOOKEEPER_NAMESPACE
value: ''
- name: ZOOKEEPER_LABEL
value: ''
- name: ZOOKEEPER_SERVICE
value: ''
- name: ZOOKEEPER_PORT
value: ''
## env var that describes the library used to execute the chaos
## default: litmus. Supported values: litmus
- name: LIB
value: 'litmus'
labels:
name: kafka-broker-pod-failure
app.kubernetes.io/part-of: litmus
app.kubernetes.io/component: experiment-job
app.kubernetes.io/version: latest

View File

@@ -1,45 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2019-11-15T10:28:08Z
name: kafka-broker-pod-failure
version: 0.1.6
annotations:
categories: Kafka
vendor: Mayadata
repository: https://github.com/litmuschaos/chaos-charts
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
spec:
displayName: kafka-broker-pod-failure
categoryDescription: |
This chaos experiment kills (random or specified) kafka broker pods
keywords:
- Kubernetes
- K8S
- Pod
- Kafka
platforms:
- GKE
- EKS
- konvoy
maturity: alpha
maintainers:
- name: ksatchit
email: karthik.s@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
labels:
app.kubernetes.io/component: chartserviceversion
app.kubernetes.io/version: latest
links:
- name: Source Code
url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/kafka/kafka-broker-pod-failure
- name: Documentation
url: https://litmuschaos.github.io/litmus/experiments/categories/kafka/kafka-broker-pod-failure/
- name: Video
url:
icon:
- url:
mediatype: ""
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/kafka-broker-pod-failure/experiment.yaml

View File

@@ -1,67 +0,0 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kafka-broker-pod-failure-sa
namespace: default
labels:
name: kafka-broker-pod-failure-sa
app.kubernetes.io/part-of: litmus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kafka-broker-pod-failure-sa
labels:
name: kafka-broker-pod-failure-sa
app.kubernetes.io/part-of: litmus
rules:
# Create and monitor the experiment & helper pods
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
# Performs CRUD operations on the events inside chaosengine and chaosresult
- apiGroups: [""]
resources: ["events"]
verbs: ["create","get","list","patch","update"]
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
- apiGroups: [""]
resources: ["secrets","configmaps"]
verbs: ["get","list",]
# Track and get the runner, experiment, and helper pods log
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
# for creating and managing to execute comands inside target container
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get","list","create"]
# for deriving the parent/owner details of the pod
- apiGroups: ["apps"]
resources: ["deployments","statefulsets"]
verbs: ["list","get"]
# for configuring and monitor the experiment job by the chaos-runner pod
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["create","list","get","delete","deletecollection"]
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
- apiGroups: ["litmuschaos.io"]
resources: ["chaosengines","chaosexperiments","chaosresults"]
verbs: ["create","list","get","patch","update","delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kafka-broker-pod-failure-sa
labels:
name: kafka-broker-pod-failure-sa
app.kubernetes.io/part-of: litmus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kafka-broker-pod-failure-sa
subjects:
- kind: ServiceAccount
name: kafka-broker-pod-failure-sa
namespace: default

View File

@@ -1,40 +0,0 @@
apiVersion: litmuchaos.io/v1alpha1
kind: ChartServiceVersion
metadata:
createdAt: 2019-11-13T10:28:08Z
name: kafka
version: 0.1.4
annotations:
categories: Kafka
chartDescription: Injects chaos on kafka components
spec:
displayName: Kafka Chaos
categoryDescription: >
Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, fast,
and runs in production in thousands of companies
experiments:
- name: kafka-broker-pod-failure
description: ""
keywords:
- Kubernetes
- K8S
- Kafka
- Disk
- Pod
maintainers:
- name: ksatchit
email: karthik.s@mayadata.io
minKubeVersion: 1.12.0
provider:
name: Mayadata
links:
- name: Kafka Website
url: http://kafka.apache.org/
- name: Source Code
url: https://github.com/litmuschaos/litmus/tree/master/experiments/kafka
- name: Community Slack
url: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
icon:
- url:
mediatype:
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/experiments.yaml

View File

@@ -1,8 +0,0 @@
packageName: kafka
experiments:
- name: kafka-broker-pod-failure
CSV: kafka-broker-pod-failure.chartserviceversion.yaml
desc: "kafka-broker-pod-failure"
- name: kafka-broker-disk-failure
CSV: kafka-broker-disk-failure.chartserviceversion.yaml
desc: "kafka-broker-disk-failure"