From c5bc2cbd95978d65acef787eb8cd51af42d1f228 Mon Sep 17 00:00:00 2001 From: Karthik Satchitanand Date: Tue, 7 Jan 2020 16:03:50 +0530 Subject: [PATCH] (feat)include charts for pod cpu chaos (#95) Signed-off-by: ksatchit Co-authored-by: Amit Bhatt <33670159+amitbhatt818@users.noreply.github.com> --- .../generic/generic.chartserviceversion.yaml | 1 + charts/generic/generic.package.yaml | 3 + charts/generic/icons/pod-cpu-hog.png | Bin 0 -> 3634 bytes charts/generic/pod-cpu-hog/experiment.yaml | 55 ++++++++++++++++++ .../pod-cpu-hog.chartserviceversion.yaml | 38 ++++++++++++ 5 files changed, 97 insertions(+) create mode 100644 charts/generic/icons/pod-cpu-hog.png create mode 100644 charts/generic/pod-cpu-hog/experiment.yaml create mode 100644 charts/generic/pod-cpu-hog/pod-cpu-hog.chartserviceversion.yaml diff --git a/charts/generic/generic.chartserviceversion.yaml b/charts/generic/generic.chartserviceversion.yaml index 2daf8ac..c431fd8 100644 --- a/charts/generic/generic.chartserviceversion.yaml +++ b/charts/generic/generic.chartserviceversion.yaml @@ -15,6 +15,7 @@ spec: - pod-network-loss - pod-delete - container-kill + - pod-cpu-hog - pod-network-latency - drain-node diff --git a/charts/generic/generic.package.yaml b/charts/generic/generic.package.yaml index 0ff310b..cbc03a3 100644 --- a/charts/generic/generic.package.yaml +++ b/charts/generic/generic.package.yaml @@ -12,6 +12,9 @@ experiments: - name: pod-network-latency CSV: pod-network-latency.chartserviceversion.yaml desc: "pod-network-latency" + - name: pod-cpu-hog + CSV: pod-cpu-hog.chartserviceversion.yaml + desc: "pod-cpu-hog" - name: cpu-hog CSV: cpu-hog.chartserviceversion.yaml desc: "cpu-hog" diff --git a/charts/generic/icons/pod-cpu-hog.png b/charts/generic/icons/pod-cpu-hog.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b0950cd546b4d73482562af3fa7f127d0048ca GIT binary patch literal 3634 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 literal 0 HcmV?d00001 diff --git a/charts/generic/pod-cpu-hog/experiment.yaml b/charts/generic/pod-cpu-hog/experiment.yaml new file mode 100644 index 0000000..2bfaae8 --- /dev/null +++ b/charts/generic/pod-cpu-hog/experiment.yaml @@ -0,0 +1,55 @@ +apiVersion: litmuschaos.io/v1alpha1 +description: + message: | + Injects cpu consumption on pods belonging to an app deployment +kind: ChaosExperiment +metadata: + name: pod-cpu-hog + version: 0.1.0 +spec: + definition: + scope: Namespaced + permissions: + apiGroups: + - "" + - "batch" + - "litmuschaos.io" + resources: + - "jobs" + - "pods" + - "pods/exec" + - "chaosengines" + - "chaosexperiments" + - "chaosresults" + verbs: + - "create" + - "list" + - "get" + - "patch" + - "delete" + image: "litmuschaos/ansible-runner:ci" + args: + - -c + - ansible-playbook ./experiments/generic/pod_cpu_hog/pod_cpu_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 + command: + - /bin/bash + env: + - name: ANSIBLE_STDOUT_CALLBACK + value: 'default' + + - name: TARGET_CONTAINER + value: '' + + - name: CPU_CORES + value: '1' + + - name: TOTAL_CHAOS_DURATION + value: '60000' #in ms + + - name: LIB + value: 'litmus' + + - name: LIB_IMAGE + value: 'litmuschaos/app-cpu-stress:latest' + labels: + name: pod-cpu-hog diff --git a/charts/generic/pod-cpu-hog/pod-cpu-hog.chartserviceversion.yaml b/charts/generic/pod-cpu-hog/pod-cpu-hog.chartserviceversion.yaml new file mode 100644 index 0000000..7723231 --- /dev/null +++ b/charts/generic/pod-cpu-hog/pod-cpu-hog.chartserviceversion.yaml @@ -0,0 +1,38 @@ +apiVersion: litmuchaos.io/v1alpha1 +kind: ChartServiceVersion +metadata: + name: pod-cpu-hog + version: 0.1.0 + annotations: + categories: Kubernetes + vendor: CNCF + support: https://slack.kubernetes.io/ +spec: + displayName: pod-cpu-hog + categoryDescription: | + Pod-CPU-Hog contains chaos to consume CPU resouces of specified containers in Kubernetes pods. + - Causes high CPU resource consumption utilizing one or more cores by triggering md5sum commands + - The application pod should be healthy once chaos is stopped. Expectation is that service-requests should be served despite chaos. + keywords: + - Kubernetes + - CPU + platforms: + - GKE + maturity: alpha + maintainers: + - name: ksatchit + email: karthik.s@mayadata.io + minKubeVersion: 1.12.0 + provider: + name: Mayadata + links: + - name: Kubernetes Website + url: https://kubernetes.io + - name: Source Code + url: https://github.com/kubernetes/kubernetes + - name: Docs + url: https://docs.litmuschaos.io/docs/pod-cpu-hog/ + icon: + - base64data: "" + mediatype: "" + chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-cpu-hog/experiment.yaml