From fa7dc162a74fa9df57567701578d2c322ffc9970 Mon Sep 17 00:00:00 2001 From: Neelanjan Manna Date: Tue, 21 Feb 2023 23:41:17 +0530 Subject: [PATCH] removes kafka and cassandra experiment charts (#588) Signed-off-by: neelanjan00 --- CONTRIBUTING.md | 2 - README.md | 10 - ...sandra-pod-delete.chartserviceversion.yaml | 47 ---- .../cassandra-pod-delete/engine.yaml | 55 ---- .../cassandra-pod-delete/experiment.yaml | 116 -------- .../cassandra/cassandra-pod-delete/rbac.yaml | 73 ----- .../cassandra.chartserviceversion.yaml | 41 --- charts/cassandra/cassandra.package.yaml | 5 - charts/cassandra/experiments.yaml | 118 --------- .../cassandra/icons/cassandra-pod-delete.png | Bin 959 -> 0 bytes charts/cassandra/icons/cassandra.png | Bin 29049 -> 0 bytes charts/kafka/experiments.yaml | 244 ----------------- .../kafka/icons/kafka-broker-disk-failure.png | Bin 5236 -> 0 bytes .../kafka/icons/kafka-broker-pod-failure.png | Bin 5236 -> 0 bytes charts/kafka/icons/kafka.png | Bin 5236 -> 0 bytes .../kafka-broker-disk-failure/engine.yaml | 81 ------ .../kafka-broker-disk-failure/experiment.yaml | 118 --------- ...oker-disk-failure.chartserviceversion.yaml | 42 --- .../kafka/kafka-broker-disk-failure/rbac.yaml | 38 --- .../kafka-broker-pod-failure/engine.yaml | 74 ------ .../kafka-broker-pod-failure/experiment.yaml | 122 --------- ...roker-pod-failure.chartserviceversion.yaml | 45 ---- .../kafka/kafka-broker-pod-failure/rbac.yaml | 67 ----- charts/kafka/kafka.chartserviceversion.yaml | 39 --- charts/kafka/kafka.package.yaml | 8 - ...sandra-pod-delete.chartserviceversion.yaml | 47 ---- .../cassandra-pod-delete/engine.yaml | 55 ---- .../cassandra-pod-delete/experiment.yaml | 121 --------- .../cassandra/cassandra-pod-delete/rbac.yaml | 73 ----- .../cassandra.chartserviceversion.yaml | 42 --- experiments/cassandra/cassandra.package.yaml | 5 - experiments/cassandra/experiments.yaml | 123 --------- .../cassandra/icons/cassandra-pod-delete.png | Bin 959 -> 0 bytes experiments/cassandra/icons/cassandra.png | Bin 29049 -> 0 bytes experiments/kafka/experiments.yaml | 249 ------------------ .../kafka/icons/kafka-broker-disk-failure.png | Bin 5236 -> 0 bytes .../kafka/icons/kafka-broker-pod-failure.png | Bin 5236 -> 0 bytes experiments/kafka/icons/kafka.png | Bin 5236 -> 0 bytes .../kafka-broker-disk-failure/engine.yaml | 81 ------ .../kafka-broker-disk-failure/experiment.yaml | 118 --------- ...oker-disk-failure.chartserviceversion.yaml | 42 --- .../kafka/kafka-broker-disk-failure/rbac.yaml | 38 --- .../kafka-broker-pod-failure/engine.yaml | 74 ------ .../kafka-broker-pod-failure/experiment.yaml | 127 --------- ...roker-pod-failure.chartserviceversion.yaml | 45 ---- .../kafka/kafka-broker-pod-failure/rbac.yaml | 67 ----- .../kafka/kafka.chartserviceversion.yaml | 40 --- experiments/kafka/kafka.package.yaml | 8 - 48 files changed, 2700 deletions(-) delete mode 100644 charts/cassandra/cassandra-pod-delete/cassandra-pod-delete.chartserviceversion.yaml delete mode 100644 charts/cassandra/cassandra-pod-delete/engine.yaml delete mode 100644 charts/cassandra/cassandra-pod-delete/experiment.yaml delete mode 100644 charts/cassandra/cassandra-pod-delete/rbac.yaml delete mode 100644 charts/cassandra/cassandra.chartserviceversion.yaml delete mode 100644 charts/cassandra/cassandra.package.yaml delete mode 100644 charts/cassandra/experiments.yaml delete mode 100644 charts/cassandra/icons/cassandra-pod-delete.png delete mode 100644 charts/cassandra/icons/cassandra.png delete mode 100644 charts/kafka/experiments.yaml delete mode 100644 charts/kafka/icons/kafka-broker-disk-failure.png delete mode 100644 charts/kafka/icons/kafka-broker-pod-failure.png delete mode 100644 charts/kafka/icons/kafka.png delete mode 100644 charts/kafka/kafka-broker-disk-failure/engine.yaml delete mode 100644 charts/kafka/kafka-broker-disk-failure/experiment.yaml delete mode 100644 charts/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure.chartserviceversion.yaml delete mode 100644 charts/kafka/kafka-broker-disk-failure/rbac.yaml delete mode 100644 charts/kafka/kafka-broker-pod-failure/engine.yaml delete mode 100644 charts/kafka/kafka-broker-pod-failure/experiment.yaml delete mode 100644 charts/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure.chartserviceversion.yaml delete mode 100644 charts/kafka/kafka-broker-pod-failure/rbac.yaml delete mode 100644 charts/kafka/kafka.chartserviceversion.yaml delete mode 100644 charts/kafka/kafka.package.yaml delete mode 100644 experiments/cassandra/cassandra-pod-delete/cassandra-pod-delete.chartserviceversion.yaml delete mode 100644 experiments/cassandra/cassandra-pod-delete/engine.yaml delete mode 100644 experiments/cassandra/cassandra-pod-delete/experiment.yaml delete mode 100644 experiments/cassandra/cassandra-pod-delete/rbac.yaml delete mode 100644 experiments/cassandra/cassandra.chartserviceversion.yaml delete mode 100644 experiments/cassandra/cassandra.package.yaml delete mode 100644 experiments/cassandra/experiments.yaml delete mode 100644 experiments/cassandra/icons/cassandra-pod-delete.png delete mode 100644 experiments/cassandra/icons/cassandra.png delete mode 100644 experiments/kafka/experiments.yaml delete mode 100644 experiments/kafka/icons/kafka-broker-disk-failure.png delete mode 100644 experiments/kafka/icons/kafka-broker-pod-failure.png delete mode 100644 experiments/kafka/icons/kafka.png delete mode 100644 experiments/kafka/kafka-broker-disk-failure/engine.yaml delete mode 100644 experiments/kafka/kafka-broker-disk-failure/experiment.yaml delete mode 100644 experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure.chartserviceversion.yaml delete mode 100644 experiments/kafka/kafka-broker-disk-failure/rbac.yaml delete mode 100644 experiments/kafka/kafka-broker-pod-failure/engine.yaml delete mode 100644 experiments/kafka/kafka-broker-pod-failure/experiment.yaml delete mode 100644 experiments/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure.chartserviceversion.yaml delete mode 100644 experiments/kafka/kafka-broker-pod-failure/rbac.yaml delete mode 100644 experiments/kafka/kafka.chartserviceversion.yaml delete mode 100644 experiments/kafka/kafka.package.yaml 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 16aa7b417698ef0d66f130fe9b3218f25fa6f356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 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 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 08321df6a8b66ab39e8db5339662d0a46ce7adac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5236 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 diff --git a/charts/kafka/icons/kafka.png b/charts/kafka/icons/kafka.png deleted file mode 100644 index 08321df6a8b66ab39e8db5339662d0a46ce7adac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5236 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 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 16aa7b417698ef0d66f130fe9b3218f25fa6f356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 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 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 08321df6a8b66ab39e8db5339662d0a46ce7adac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5236 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 diff --git a/experiments/kafka/icons/kafka.png b/experiments/kafka/icons/kafka.png deleted file mode 100644 index 08321df6a8b66ab39e8db5339662d0a46ce7adac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5236 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 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"