From 729e45844927892d14612bb8934d1d5a77526de0 Mon Sep 17 00:00:00 2001 From: Karthik Satchitanand Date: Fri, 11 Oct 2019 12:01:58 +0530 Subject: [PATCH] (feat)experiments: include network chaos in generic chart (#22) Signed-off-by: ksatchit --- .../pod-network-latency/experiment.yaml | 29 +++++++++++++++++++ ...-network-latency.chartserviceversion.yaml} | 8 ++--- .../generic/pod-network-loss/experiment.yaml | 29 +++++++++++++++++++ ...pod-network-loss.chartserviceversion.yaml} | 10 +++---- .../experiment.basetemplate.yaml | 27 ----------------- .../generic/pod_network_delay/experiment.yaml | 27 ----------------- 6 files changed, 67 insertions(+), 63 deletions(-) create mode 100644 charts/generic/pod-network-latency/experiment.yaml rename charts/generic/{pod_network_delay/pod_network_delay.chartserviceversion.yaml => pod-network-latency/pod-network-latency.chartserviceversion.yaml} (69%) create mode 100644 charts/generic/pod-network-loss/experiment.yaml rename charts/generic/{pod_network_delay/pod_network_delay.chartserviceversion.basetemplate.yaml => pod-network-loss/pod-network-loss.chartserviceversion.yaml} (67%) delete mode 100644 charts/generic/pod_network_delay/experiment.basetemplate.yaml delete mode 100644 charts/generic/pod_network_delay/experiment.yaml diff --git a/charts/generic/pod-network-latency/experiment.yaml b/charts/generic/pod-network-latency/experiment.yaml new file mode 100644 index 0000000..ffea73a --- /dev/null +++ b/charts/generic/pod-network-latency/experiment.yaml @@ -0,0 +1,29 @@ +apiVersion: litmuschaos.io/v1alpha1 +description: + message: | + Injects network latency on pods belonging to an app deployment +kind: ChaosExperiment +metadata: + name: pod-network-latency + version: 0.1.0 +spec: + definition: + image: "litmuschaos/ansible-runner:ci" + args: + - -c + - ansible-playbook ./experiments/generic/pod_network_latency/pod_network_latency_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 + command: + - /bin/bash + env: + - name: TARGET_CONTAINER + value: "" + - name: NETWORK_INTERFACE + value: "eth0" + - name: NETWORK_LATENCY + value: "60000" #in ms + - name: TOTAL_CHAOS_DURATION + value: "60000" #in ms + - name: LIB + value: "pumba" + labels: + name: pod-network-latency diff --git a/charts/generic/pod_network_delay/pod_network_delay.chartserviceversion.yaml b/charts/generic/pod-network-latency/pod-network-latency.chartserviceversion.yaml similarity index 69% rename from charts/generic/pod_network_delay/pod_network_delay.chartserviceversion.yaml rename to charts/generic/pod-network-latency/pod-network-latency.chartserviceversion.yaml index 96b7efd..73021c7 100644 --- a/charts/generic/pod_network_delay/pod_network_delay.chartserviceversion.yaml +++ b/charts/generic/pod-network-latency/pod-network-latency.chartserviceversion.yaml @@ -1,7 +1,7 @@ apiVersion: litmuchaos.io/v1alpha1 kind: ChartServiceVersion metadata: - name: pod-network-delay + name: pod-network-latency version: 0.1.0 annotations: categories: Kubernetes @@ -9,9 +9,9 @@ metadata: repository: https://github.com/litmuschaos/chaos-charts support: https://slack.kubernetes.io/ spec: - displayName: pod-network-delay + displayName: pod-network-latency description: > - Pod-network-delay contains chaos to disrupt network connectivity of kubernetes pods. Experiments can inject random network jitters, delays and packet loss on the app replica pods. + Pod-network-latency contains chaos to disrupt network connectivity of kubernetes pods. Experiments can inject random network delays on the app replica pods. keywords: - Kubernetes - Network @@ -30,4 +30,4 @@ spec: icon: - base64data: "" mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod_network_delay/experiment.yaml + chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-network-latency/experiment.yaml diff --git a/charts/generic/pod-network-loss/experiment.yaml b/charts/generic/pod-network-loss/experiment.yaml new file mode 100644 index 0000000..40dd379 --- /dev/null +++ b/charts/generic/pod-network-loss/experiment.yaml @@ -0,0 +1,29 @@ +apiVersion: litmuschaos.io/v1alpha1 +description: + message: | + Injects network packet loss on pods belonging to an app deployment +kind: ChaosExperiment +metadata: + name: pod-network-loss + version: 0.1.0 +spec: + definition: + image: "litmuschaos/ansible-runner:ci" + args: + - -c + - ansible-playbook ./experiments/generic/pod_network_loss/pod_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 + command: + - /bin/bash + env: + - name: TARGET_CONTAINER + value: "" + - name: NETWORK_INTERFACE + value: "eth0" + - name: NETWORK_PACKET_LOSS_PERCENTAGE + value: "100" #in % + - name: TOTAL_CHAOS_DURATION + value: "60000" #in ms + - name: LIB + value: "pumba" + labels: + name: pod-network-loss diff --git a/charts/generic/pod_network_delay/pod_network_delay.chartserviceversion.basetemplate.yaml b/charts/generic/pod-network-loss/pod-network-loss.chartserviceversion.yaml similarity index 67% rename from charts/generic/pod_network_delay/pod_network_delay.chartserviceversion.basetemplate.yaml rename to charts/generic/pod-network-loss/pod-network-loss.chartserviceversion.yaml index 8fb1814..f8a02e8 100644 --- a/charts/generic/pod_network_delay/pod_network_delay.chartserviceversion.basetemplate.yaml +++ b/charts/generic/pod-network-loss/pod-network-loss.chartserviceversion.yaml @@ -1,17 +1,17 @@ apiVersion: litmuchaos.io/v1alpha1 kind: ChartServiceVersion metadata: - name: pod-network-delay - version: {{ VERSION }} + name: pod-network-loss + version: 0.1.0 annotations: categories: Kubernetes vendor: CNCF repository: https://github.com/litmuschaos/chaos-charts support: https://slack.kubernetes.io/ spec: - displayName: pod-network-delay + displayName: pod-network-loss description: > - Pod-network-delay contains chaos to disrupt network connectivity of kubernetes pods. Experiments can inject random network jitters, delays and packet loss on the app replica pods. + Pod-network-loss contains chaos to disrupt network connectivity to kubernetes pods. Experiments can inject percentage packet loss on the app replica pods. keywords: - Kubernetes - Network @@ -30,4 +30,4 @@ spec: icon: - base64data: "" mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod_network_delay/experiment.yaml + chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-network-loss/experiment.yaml diff --git a/charts/generic/pod_network_delay/experiment.basetemplate.yaml b/charts/generic/pod_network_delay/experiment.basetemplate.yaml deleted file mode 100644 index 512f143..0000000 --- a/charts/generic/pod_network_delay/experiment.basetemplate.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset -kind: ChaosExperiment -metadata: - name: pod-network-delay - version: {{ VERSION }} -spec: - definition: - image: "litmuschaos/ansible-runner:ci" - args: - - -c - - ansible-playbook ./experiments/generic/pod_network_delay/pod_network_delay_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: default - - name: TOTAL_CHAOS_DURATION - value: 15 - - name: CHAOS_INTERVAL - value: 5 - - name: LIB - value: "" - labels: - name: pod-network-delay \ No newline at end of file diff --git a/charts/generic/pod_network_delay/experiment.yaml b/charts/generic/pod_network_delay/experiment.yaml deleted file mode 100644 index 3bc0284..0000000 --- a/charts/generic/pod_network_delay/experiment.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset -kind: ChaosExperiment -metadata: - name: pod-network-delay - version: 0.1.0 -spec: - definition: - image: "litmuschaos/ansible-runner:ci" - args: - - -c - - ansible-playbook ./experiments/generic/pod_network_delay/pod_network_delay_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: default - - name: TOTAL_CHAOS_DURATION - value: 15 - - name: CHAOS_INTERVAL - value: 5 - - name: LIB - value: "" - labels: - name: pod-network-delay \ No newline at end of file