diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0ec8892..dffe361 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,8 +10,6 @@ Chaos Charts are a groups of categorized chaos experiments, represented as custo - Generic: It contains chaos to disrupt state of kubernetes resources. i.e, pod-delete - OpenEBS: It contains chaos to disrupt state of OpenEBS control/date plane components. i.e, openebs-target-failure -- Cassandra: It contains chaos to disrupt state of Cassandra Applications. i.e, cassandra-pod-delete -- Kafka: It contains chaos to disrupt state of Kafka Applications. i.e, kafka-broker-pod-delete - Coredns: It contains chaos to disrupt state of Coredns pod. i.e, coredns-pod-delete - Kube-AWS: It contains chaos to disrupt state of AWS resources running part of the kubernetes cluster. i.e, ebs-loss - Kube-Components: It contains chaos to disrupt the state of kubernetes components. i.e, k8-kube-proxy. diff --git a/README.md b/README.md index 7758d75..a0cc89a 100644 --- a/README.md +++ b/README.md @@ -151,16 +151,6 @@ While Chaos Experiments under the Generic category offer the ability to induce c Injects faults in OpenEBS tool OpenEBS experiments - - Kafka Experiments - Inject faults in kafka application - kafka experiments - - - Cassandra Experiments - Inject faults in cassandra application - cassandra experiments - ### Platform Chaos diff --git a/charts/cassandra/cassandra-pod-delete/cassandra-pod-delete.chartserviceversion.yaml b/charts/cassandra/cassandra-pod-delete/cassandra-pod-delete.chartserviceversion.yaml deleted file mode 100644 index 87aa48b..0000000 --- a/charts/cassandra/cassandra-pod-delete/cassandra-pod-delete.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/charts/cassandra/cassandra-pod-delete/engine.yaml b/charts/cassandra/cassandra-pod-delete/engine.yaml deleted file mode 100644 index 37850b8..0000000 --- a/charts/cassandra/cassandra-pod-delete/engine.yaml +++ /dev/null @@ -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: '' - \ No newline at end of file diff --git a/charts/cassandra/cassandra-pod-delete/experiment.yaml b/charts/cassandra/cassandra-pod-delete/experiment.yaml deleted file mode 100644 index b46f06b..0000000 --- a/charts/cassandra/cassandra-pod-delete/experiment.yaml +++ /dev/null @@ -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 diff --git a/charts/cassandra/cassandra-pod-delete/rbac.yaml b/charts/cassandra/cassandra-pod-delete/rbac.yaml deleted file mode 100644 index 7295950..0000000 --- a/charts/cassandra/cassandra-pod-delete/rbac.yaml +++ /dev/null @@ -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 - diff --git a/charts/cassandra/cassandra.chartserviceversion.yaml b/charts/cassandra/cassandra.chartserviceversion.yaml deleted file mode 100644 index eb2fb95..0000000 --- a/charts/cassandra/cassandra.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/charts/cassandra/cassandra.package.yaml b/charts/cassandra/cassandra.package.yaml deleted file mode 100644 index aeab8f3..0000000 --- a/charts/cassandra/cassandra.package.yaml +++ /dev/null @@ -1,5 +0,0 @@ -packageName: cassandra -experiments: - - name: cassandra-pod-delete - CSV: cassandra-pod-delete.chartserviceversion.yaml - desc: "cassandra-pod-delete" diff --git a/charts/cassandra/experiments.yaml b/charts/cassandra/experiments.yaml deleted file mode 100644 index 4c694ab..0000000 --- a/charts/cassandra/experiments.yaml +++ /dev/null @@ -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 - ---- diff --git a/charts/cassandra/icons/cassandra-pod-delete.png b/charts/cassandra/icons/cassandra-pod-delete.png deleted file mode 100644 index 16aa7b4..0000000 Binary files a/charts/cassandra/icons/cassandra-pod-delete.png and /dev/null differ diff --git a/charts/cassandra/icons/cassandra.png b/charts/cassandra/icons/cassandra.png deleted file mode 100644 index 3568818..0000000 Binary files a/charts/cassandra/icons/cassandra.png and /dev/null differ diff --git a/charts/kafka/experiments.yaml b/charts/kafka/experiments.yaml deleted file mode 100644 index 5906a23..0000000 --- a/charts/kafka/experiments.yaml +++ /dev/null @@ -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/ - - ---- diff --git a/charts/kafka/icons/kafka-broker-disk-failure.png b/charts/kafka/icons/kafka-broker-disk-failure.png deleted file mode 100644 index 08321df..0000000 Binary files a/charts/kafka/icons/kafka-broker-disk-failure.png and /dev/null differ diff --git a/charts/kafka/icons/kafka-broker-pod-failure.png b/charts/kafka/icons/kafka-broker-pod-failure.png deleted file mode 100644 index 08321df..0000000 Binary files a/charts/kafka/icons/kafka-broker-pod-failure.png and /dev/null differ diff --git a/charts/kafka/icons/kafka.png b/charts/kafka/icons/kafka.png deleted file mode 100644 index 08321df..0000000 Binary files a/charts/kafka/icons/kafka.png and /dev/null differ diff --git a/charts/kafka/kafka-broker-disk-failure/engine.yaml b/charts/kafka/kafka-broker-disk-failure/engine.yaml deleted file mode 100644 index 56b1690..0000000 --- a/charts/kafka/kafka-broker-disk-failure/engine.yaml +++ /dev/null @@ -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 ' - - name: KAFKA_LABEL - value: 'app=cp-kafka' - - - name: KAFKA_NAMESPACE - value: 'default' - - # get via 'kubectl get svc -n ' - - name: KAFKA_SERVICE - value: 'kafka-cp-kafka-headless' - - # get via 'kubectl get svc -n ' - - 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 ' - - name: ZOOKEEPER_LABEL - value: 'app=cp-zookeeper' - - # get via 'kubectl get svc -n - - name: ZOOKEEPER_SERVICE - value: 'kafka-cp-zookeeper-headless' - - # get via 'kubectl get svc -n - - 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' - \ No newline at end of file diff --git a/charts/kafka/kafka-broker-disk-failure/experiment.yaml b/charts/kafka/kafka-broker-disk-failure/experiment.yaml deleted file mode 100644 index b354d4e..0000000 --- a/charts/kafka/kafka-broker-disk-failure/experiment.yaml +++ /dev/null @@ -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/ - diff --git a/charts/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure.chartserviceversion.yaml b/charts/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure.chartserviceversion.yaml deleted file mode 100644 index 1984037..0000000 --- a/charts/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/charts/kafka/kafka-broker-disk-failure/rbac.yaml b/charts/kafka/kafka-broker-disk-failure/rbac.yaml deleted file mode 100644 index 6d685b7..0000000 --- a/charts/kafka/kafka-broker-disk-failure/rbac.yaml +++ /dev/null @@ -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 - diff --git a/charts/kafka/kafka-broker-pod-failure/engine.yaml b/charts/kafka/kafka-broker-pod-failure/engine.yaml deleted file mode 100644 index 5a8b305..0000000 --- a/charts/kafka/kafka-broker-pod-failure/engine.yaml +++ /dev/null @@ -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 ' - - name: KAFKA_LABEL - value: 'app=cp-kafka' - - - name: KAFKA_NAMESPACE - value: 'default' - - # get via 'kubectl get svc -n ' - - name: KAFKA_SERVICE - value: 'kafka-cp-kafka-headless' - - # get via 'kubectl get svc -n ' - - 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 ' - - name: ZOOKEEPER_LABEL - value: 'app=cp-zookeeper' - - # get via 'kubectl get svc -n - - name: ZOOKEEPER_SERVICE - value: 'kafka-cp-zookeeper-headless' - - # get via 'kubectl get svc -n - - 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' - \ No newline at end of file diff --git a/charts/kafka/kafka-broker-pod-failure/experiment.yaml b/charts/kafka/kafka-broker-pod-failure/experiment.yaml deleted file mode 100644 index 5df535e..0000000 --- a/charts/kafka/kafka-broker-pod-failure/experiment.yaml +++ /dev/null @@ -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 diff --git a/charts/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure.chartserviceversion.yaml b/charts/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure.chartserviceversion.yaml deleted file mode 100644 index e3702e0..0000000 --- a/charts/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/charts/kafka/kafka-broker-pod-failure/rbac.yaml b/charts/kafka/kafka-broker-pod-failure/rbac.yaml deleted file mode 100644 index 64fd1db..0000000 --- a/charts/kafka/kafka-broker-pod-failure/rbac.yaml +++ /dev/null @@ -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 - diff --git a/charts/kafka/kafka.chartserviceversion.yaml b/charts/kafka/kafka.chartserviceversion.yaml deleted file mode 100644 index ddf1aff..0000000 --- a/charts/kafka/kafka.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/charts/kafka/kafka.package.yaml b/charts/kafka/kafka.package.yaml deleted file mode 100644 index e4c401d..0000000 --- a/charts/kafka/kafka.package.yaml +++ /dev/null @@ -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" diff --git a/experiments/cassandra/cassandra-pod-delete/cassandra-pod-delete.chartserviceversion.yaml b/experiments/cassandra/cassandra-pod-delete/cassandra-pod-delete.chartserviceversion.yaml deleted file mode 100644 index 87aa48b..0000000 --- a/experiments/cassandra/cassandra-pod-delete/cassandra-pod-delete.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/experiments/cassandra/cassandra-pod-delete/engine.yaml b/experiments/cassandra/cassandra-pod-delete/engine.yaml deleted file mode 100644 index 37850b8..0000000 --- a/experiments/cassandra/cassandra-pod-delete/engine.yaml +++ /dev/null @@ -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: '' - \ No newline at end of file diff --git a/experiments/cassandra/cassandra-pod-delete/experiment.yaml b/experiments/cassandra/cassandra-pod-delete/experiment.yaml deleted file mode 100644 index f400435..0000000 --- a/experiments/cassandra/cassandra-pod-delete/experiment.yaml +++ /dev/null @@ -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 diff --git a/experiments/cassandra/cassandra-pod-delete/rbac.yaml b/experiments/cassandra/cassandra-pod-delete/rbac.yaml deleted file mode 100644 index 7295950..0000000 --- a/experiments/cassandra/cassandra-pod-delete/rbac.yaml +++ /dev/null @@ -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 - diff --git a/experiments/cassandra/cassandra.chartserviceversion.yaml b/experiments/cassandra/cassandra.chartserviceversion.yaml deleted file mode 100644 index 2227e10..0000000 --- a/experiments/cassandra/cassandra.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/experiments/cassandra/cassandra.package.yaml b/experiments/cassandra/cassandra.package.yaml deleted file mode 100644 index aeab8f3..0000000 --- a/experiments/cassandra/cassandra.package.yaml +++ /dev/null @@ -1,5 +0,0 @@ -packageName: cassandra -experiments: - - name: cassandra-pod-delete - CSV: cassandra-pod-delete.chartserviceversion.yaml - desc: "cassandra-pod-delete" diff --git a/experiments/cassandra/experiments.yaml b/experiments/cassandra/experiments.yaml deleted file mode 100644 index 0dbe50a..0000000 --- a/experiments/cassandra/experiments.yaml +++ /dev/null @@ -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 - ---- diff --git a/experiments/cassandra/icons/cassandra-pod-delete.png b/experiments/cassandra/icons/cassandra-pod-delete.png deleted file mode 100644 index 16aa7b4..0000000 Binary files a/experiments/cassandra/icons/cassandra-pod-delete.png and /dev/null differ diff --git a/experiments/cassandra/icons/cassandra.png b/experiments/cassandra/icons/cassandra.png deleted file mode 100644 index 3568818..0000000 Binary files a/experiments/cassandra/icons/cassandra.png and /dev/null differ diff --git a/experiments/kafka/experiments.yaml b/experiments/kafka/experiments.yaml deleted file mode 100644 index 893dc2b..0000000 --- a/experiments/kafka/experiments.yaml +++ /dev/null @@ -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 - ---- diff --git a/experiments/kafka/icons/kafka-broker-disk-failure.png b/experiments/kafka/icons/kafka-broker-disk-failure.png deleted file mode 100644 index 08321df..0000000 Binary files a/experiments/kafka/icons/kafka-broker-disk-failure.png and /dev/null differ diff --git a/experiments/kafka/icons/kafka-broker-pod-failure.png b/experiments/kafka/icons/kafka-broker-pod-failure.png deleted file mode 100644 index 08321df..0000000 Binary files a/experiments/kafka/icons/kafka-broker-pod-failure.png and /dev/null differ diff --git a/experiments/kafka/icons/kafka.png b/experiments/kafka/icons/kafka.png deleted file mode 100644 index 08321df..0000000 Binary files a/experiments/kafka/icons/kafka.png and /dev/null differ diff --git a/experiments/kafka/kafka-broker-disk-failure/engine.yaml b/experiments/kafka/kafka-broker-disk-failure/engine.yaml deleted file mode 100644 index 56b1690..0000000 --- a/experiments/kafka/kafka-broker-disk-failure/engine.yaml +++ /dev/null @@ -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 ' - - name: KAFKA_LABEL - value: 'app=cp-kafka' - - - name: KAFKA_NAMESPACE - value: 'default' - - # get via 'kubectl get svc -n ' - - name: KAFKA_SERVICE - value: 'kafka-cp-kafka-headless' - - # get via 'kubectl get svc -n ' - - 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 ' - - name: ZOOKEEPER_LABEL - value: 'app=cp-zookeeper' - - # get via 'kubectl get svc -n - - name: ZOOKEEPER_SERVICE - value: 'kafka-cp-zookeeper-headless' - - # get via 'kubectl get svc -n - - 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' - \ No newline at end of file diff --git a/experiments/kafka/kafka-broker-disk-failure/experiment.yaml b/experiments/kafka/kafka-broker-disk-failure/experiment.yaml deleted file mode 100644 index b354d4e..0000000 --- a/experiments/kafka/kafka-broker-disk-failure/experiment.yaml +++ /dev/null @@ -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/ - diff --git a/experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure.chartserviceversion.yaml b/experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure.chartserviceversion.yaml deleted file mode 100644 index 1984037..0000000 --- a/experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/experiments/kafka/kafka-broker-disk-failure/rbac.yaml b/experiments/kafka/kafka-broker-disk-failure/rbac.yaml deleted file mode 100644 index 6d685b7..0000000 --- a/experiments/kafka/kafka-broker-disk-failure/rbac.yaml +++ /dev/null @@ -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 - diff --git a/experiments/kafka/kafka-broker-pod-failure/engine.yaml b/experiments/kafka/kafka-broker-pod-failure/engine.yaml deleted file mode 100644 index 5a8b305..0000000 --- a/experiments/kafka/kafka-broker-pod-failure/engine.yaml +++ /dev/null @@ -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 ' - - name: KAFKA_LABEL - value: 'app=cp-kafka' - - - name: KAFKA_NAMESPACE - value: 'default' - - # get via 'kubectl get svc -n ' - - name: KAFKA_SERVICE - value: 'kafka-cp-kafka-headless' - - # get via 'kubectl get svc -n ' - - 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 ' - - name: ZOOKEEPER_LABEL - value: 'app=cp-zookeeper' - - # get via 'kubectl get svc -n - - name: ZOOKEEPER_SERVICE - value: 'kafka-cp-zookeeper-headless' - - # get via 'kubectl get svc -n - - 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' - \ No newline at end of file diff --git a/experiments/kafka/kafka-broker-pod-failure/experiment.yaml b/experiments/kafka/kafka-broker-pod-failure/experiment.yaml deleted file mode 100644 index 5fae21d..0000000 --- a/experiments/kafka/kafka-broker-pod-failure/experiment.yaml +++ /dev/null @@ -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 diff --git a/experiments/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure.chartserviceversion.yaml b/experiments/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure.chartserviceversion.yaml deleted file mode 100644 index e3702e0..0000000 --- a/experiments/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/experiments/kafka/kafka-broker-pod-failure/rbac.yaml b/experiments/kafka/kafka-broker-pod-failure/rbac.yaml deleted file mode 100644 index 64fd1db..0000000 --- a/experiments/kafka/kafka-broker-pod-failure/rbac.yaml +++ /dev/null @@ -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 - diff --git a/experiments/kafka/kafka.chartserviceversion.yaml b/experiments/kafka/kafka.chartserviceversion.yaml deleted file mode 100644 index 8293a4a..0000000 --- a/experiments/kafka/kafka.chartserviceversion.yaml +++ /dev/null @@ -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 diff --git a/experiments/kafka/kafka.package.yaml b/experiments/kafka/kafka.package.yaml deleted file mode 100644 index e4c401d..0000000 --- a/experiments/kafka/kafka.package.yaml +++ /dev/null @@ -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"