diff --git a/charts/generic/container-kill/container-kill.chartserviceversion.yaml b/charts/generic/container-kill/container-kill.chartserviceversion.yaml index 812b186..26fbc2c 100644 --- a/charts/generic/container-kill/container-kill.chartserviceversion.yaml +++ b/charts/generic/container-kill/container-kill.chartserviceversion.yaml @@ -32,7 +32,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/container_kill + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/container-kill - name: Documentation url: https://docs.litmuschaos.io/docs/container-kill/ - name: Video diff --git a/charts/generic/disk-fill/disk-fill.chartserviceversion.yaml b/charts/generic/disk-fill/disk-fill.chartserviceversion.yaml index 6f6b89c..c9c3e22 100644 --- a/charts/generic/disk-fill/disk-fill.chartserviceversion.yaml +++ b/charts/generic/disk-fill/disk-fill.chartserviceversion.yaml @@ -33,7 +33,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/disk_fill + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/disk-fill - name: Documentation url: https://docs.litmuschaos.io/docs/disk-fill/ - name: Video diff --git a/charts/generic/k8-aws-ec2-terminate/Readme.md b/charts/generic/k8-aws-ec2-terminate/Readme.md deleted file mode 100644 index 11c3eb2..0000000 --- a/charts/generic/k8-aws-ec2-terminate/Readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# In Namespace Changes -# This experiment assume that you are using AWS with kubernetes -# This experiment assume your namespace has right role for aws to make aws api calls -# This experiment also assume you are using Instance group for your name space or aware that if you are using share -# node group, it will impact other pods running on this ec2 instance -* Apply experiments for k8 - `kubectl apply -f experiments.yaml` -* Validate the experiments for k8 - `kubectl get chaosexperiment` -* Setup RBAC - for pod delete RBAC - `kubectl apply -f rbac.yaml` -* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml` -* Validate experiment - `kubectl get pods -o wide` -* Validate logs - `kubectl logs -f ` -* Clean up chaosexperiment -`kubectl delete -f engine.yaml` -* Clean up rbac -`kubectl delete -f rbac.yaml` - - - diff --git a/charts/generic/k8-aws-ec2-terminate/engine.yaml b/charts/generic/k8-aws-ec2-terminate/engine.yaml deleted file mode 100644 index fb460f6..0000000 --- a/charts/generic/k8-aws-ec2-terminate/engine.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: aws-ec2-terminate - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - annotationCheck: 'false' - engineState: 'active' - monitoring: false - jobCleanUpPolicy: 'retain' - chaosServiceAccount: chaos-admin - components: - runner: - runnerannotation: - iam.amazonaws.com/role: "k8s-chaosec2access" - experiments: - - name: aws-ec2-terminate - spec: - components: - experimentannotation: - iam.amazonaws.com/role: "k8s-chaosec2access" - env: - - name: NAME_SPACE - value: default - - name: LABEL_NAME - value: app=nginx - - name: APP_ENDPOINT - value: localhost - - name: FILE - value: 'ec2-delete.json' - - name: AWS_ROLE - value: 'chaosec2access' - - name: AWS_ACCOUNT - value: '0000000000' - - name: AWS_REGION - value: 'us-west-2' - - name: AWS_AZ - value: 'us-west-2c' - - name: AWS_RESOURCE - value: 'ec2-iks' - - name: AWS_SSL - value: 'false' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' diff --git a/charts/generic/k8-aws-ec2-terminate/experiment.yaml b/charts/generic/k8-aws-ec2-terminate/experiment.yaml deleted file mode 100644 index 9863aa3..0000000 --- a/charts/generic/k8-aws-ec2-terminate/experiment.yaml +++ /dev/null @@ -1,105 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Deletes an aws instance belonging to a deployment/statefulset/daemonset -kind: ChaosExperiment -metadata: - name: aws-ec2-terminate - version: 0.0.1 -spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "apps" - - "batch" - - "litmuschaos.io" - resources: - - "deployments" - - "jobs" - - "pods" - - "configmaps" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs : - - "get" - - "list" - image: "litmuschaos/chaostoolkit:latest" - args: - - -c - - python /app/chaos/chaostest/aws/aws_wrapper.py ; exit 0 - command: - - /bin/bash - env: - - - name: CHAOSTOOLKIT_IN_POD - value: 'true' - - - name: FILE - value: 'ec2-delete.json' - - - name: NAME_SPACE - value: 'default' - - - name: LABEL_NAME - value: 'app=nginx' - - - name: APP_ENDPOINT - value: 'localhost' - - # Period to wait before injection of chaos in sec - - name: PERCENTAGE - value: '50' - - # Variable to set for custom report upload - - name: REPORT - value: 'false' - - # Variable to set for report upload endpoint - - name: REPORT_ENDPOINT - value: 'none' - - # Variable to set for AWS account - - name: AWS_ACCOUNT - value: '000000000000' - - # Variable to set for AWS role, Make sure you have created this role and have give access - - name: AWS_ROLE - value: 'chaosec2access' - - # Variable to set for AWS region - - name: AWS_REGION - value: 'us-west-2' - - # Variable to set for AWS AZ - - name: AWS_AZ - value: 'us-west-2c' - - # Variable to set for AWS RESOURCE - - name: AWS_RESOURCE - value: 'ec2-iks' - - # Variable to set for AWS SSL - - name: AWS_SSL - value: 'false' - - # Variable which indicates where the test results CRs will be persisted - - name: TEST_NAMESPACE - value: 'default' - - labels: - name: aws-ec2-terminate - diff --git a/charts/generic/k8-aws-ec2-terminate/rbac.yaml b/charts/generic/k8-aws-ec2-terminate/rbac.yaml deleted file mode 100644 index 3c61823..0000000 --- a/charts/generic/k8-aws-ec2-terminate/rbac.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: chaos-admin - labels: - name: chaos-admin ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: chaos-admin - labels: - name: chaos-admin -rules: -- apiGroups: ["","apps","batch","extensions","litmuschaos.io","openebs.io","storage.k8s.io"] - resources: ["chaosengines","chaosexperiments","chaosresults","configmaps","cstorpools","cstorvolumereplicas","events","jobs","persistentvolumeclaims","persistentvolumes","pods","pods/exec","pods/log","secrets","storageclasses","chaosengines","chaosexperiments","chaosresults","configmaps","cstorpools","cstorvolumereplicas","daemonsets","deployments","events","jobs","persistentvolumeclaims","persistentvolumes","pods","pods/eviction","pods/exec","pods/log","replicasets","secrets","services","statefulsets","storageclasses"] - verbs: ["create","delete","get","list","patch","update"] -- apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list","patch"] ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: chaos-admin - labels: - name: chaos-admin -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: chaos-admin -subjects: -- kind: ServiceAccount - name: chaos-admin - namespace: default diff --git a/charts/generic/kubelet-service-kill/kubelet-service-kill.chartserviceversion.yaml b/charts/generic/kubelet-service-kill/kubelet-service-kill.chartserviceversion.yaml index bd97cfa..7ad5527 100644 --- a/charts/generic/kubelet-service-kill/kubelet-service-kill.chartserviceversion.yaml +++ b/charts/generic/kubelet-service-kill/kubelet-service-kill.chartserviceversion.yaml @@ -35,7 +35,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/kubelet_service_kill + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/kubelet-service-kill - name: Documentation url: https://docs.litmuschaos.io/docs/kubelet-service-kill/ - name: Video diff --git a/charts/generic/node-cpu-hog/node-cpu-hog.chartserviceversion.yaml b/charts/generic/node-cpu-hog/node-cpu-hog.chartserviceversion.yaml index e4e916d..dc4b35e 100644 --- a/charts/generic/node-cpu-hog/node-cpu-hog.chartserviceversion.yaml +++ b/charts/generic/node-cpu-hog/node-cpu-hog.chartserviceversion.yaml @@ -33,7 +33,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/node_cpu_hog + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/node-cpu-hog - name: Documentation url: https://docs.litmuschaos.io/docs/node-cpu-hog/ - name: Video diff --git a/charts/generic/node-drain/node-drain.chartserviceversion.yaml b/charts/generic/node-drain/node-drain.chartserviceversion.yaml index 00349bd..c7e871d 100644 --- a/charts/generic/node-drain/node-drain.chartserviceversion.yaml +++ b/charts/generic/node-drain/node-drain.chartserviceversion.yaml @@ -34,7 +34,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/node_drain + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/node-drain - name: Documentation url: https://docs.litmuschaos.io/docs/node-drain/ - name: Video diff --git a/charts/generic/node-memory-hog/node-memory-hog.chartserviceversion.yaml b/charts/generic/node-memory-hog/node-memory-hog.chartserviceversion.yaml index 6a5ddb1..eca7d65 100644 --- a/charts/generic/node-memory-hog/node-memory-hog.chartserviceversion.yaml +++ b/charts/generic/node-memory-hog/node-memory-hog.chartserviceversion.yaml @@ -33,7 +33,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/node_memory_hog + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/node-memory-hog - name: Documentation url: https://docs.litmuschaos.io/docs/node-memory-hog/ - name: Video diff --git a/charts/generic/pod-cpu-hog/pod-cpu-hog.chartserviceversion.yaml b/charts/generic/pod-cpu-hog/pod-cpu-hog.chartserviceversion.yaml index dadcdbf..65a0833 100644 --- a/charts/generic/pod-cpu-hog/pod-cpu-hog.chartserviceversion.yaml +++ b/charts/generic/pod-cpu-hog/pod-cpu-hog.chartserviceversion.yaml @@ -32,7 +32,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/pod_cpu_hog + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/pod-cpu-hog - name: Documentation url: https://docs.litmuschaos.io/docs/pod-cpu-hog/ - name: Video diff --git a/charts/generic/pod-memory-hog/pod-memory-hog.chartserviceversion.yaml b/charts/generic/pod-memory-hog/pod-memory-hog.chartserviceversion.yaml index 58c0fb2..af2232d 100644 --- a/charts/generic/pod-memory-hog/pod-memory-hog.chartserviceversion.yaml +++ b/charts/generic/pod-memory-hog/pod-memory-hog.chartserviceversion.yaml @@ -32,7 +32,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/pod_memory_hog + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/pod-memory-hog - name: Documentation url: https://docs.litmuschaos.io/docs/pod-memory-hog/ - name: Video diff --git a/charts/generic/pod-network-corruption/pod-network-corruption.chartserviceversion.yaml b/charts/generic/pod-network-corruption/pod-network-corruption.chartserviceversion.yaml index 6182c66..0fa0ff0 100644 --- a/charts/generic/pod-network-corruption/pod-network-corruption.chartserviceversion.yaml +++ b/charts/generic/pod-network-corruption/pod-network-corruption.chartserviceversion.yaml @@ -33,7 +33,7 @@ spec: name: Laura-Marie Henning links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/pod_network_corruption + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/pod-network-corruption - name: Documentation url: https://docs.litmuschaos.io/docs/pod-network-corruption/ - name: Video diff --git a/charts/generic/pod-network-latency/pod-network-latency.chartserviceversion.yaml b/charts/generic/pod-network-latency/pod-network-latency.chartserviceversion.yaml index fec86ea..57acfb7 100644 --- a/charts/generic/pod-network-latency/pod-network-latency.chartserviceversion.yaml +++ b/charts/generic/pod-network-latency/pod-network-latency.chartserviceversion.yaml @@ -32,7 +32,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/pod_network_latency + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/pod-network-latency - name: Documentation url: https://docs.litmuschaos.io/docs/pod-network-latency/ - name: Video diff --git a/charts/generic/pod-network-loss/pod-network-loss.chartserviceversion.yaml b/charts/generic/pod-network-loss/pod-network-loss.chartserviceversion.yaml index a3cc4fa..acc36ad 100644 --- a/charts/generic/pod-network-loss/pod-network-loss.chartserviceversion.yaml +++ b/charts/generic/pod-network-loss/pod-network-loss.chartserviceversion.yaml @@ -31,7 +31,7 @@ spec: name: Mayadata links: - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/generic/pod_network_loss + url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/pod-network-loss - name: Documentation url: https://docs.litmuschaos.io/docs/pod-network-loss/ - name: Video diff --git a/charts/kube-aws/experiments.yaml b/charts/kube-aws/experiments.yaml new file mode 100644 index 0000000..e69de29 diff --git a/charts/kube-aws/icons/k8s-aws-ec2-terminate.png b/charts/kube-aws/icons/k8s-aws-ec2-terminate.png new file mode 100644 index 0000000..cb58737 Binary files /dev/null and b/charts/kube-aws/icons/k8s-aws-ec2-terminate.png differ diff --git a/charts/kube-aws/icons/kube-aws.png b/charts/kube-aws/icons/kube-aws.png new file mode 100644 index 0000000..fd09e34 Binary files /dev/null and b/charts/kube-aws/icons/kube-aws.png differ diff --git a/charts/kube-aws/k8-aws-ec2-terminate/README.md b/charts/kube-aws/k8-aws-ec2-terminate/README.md new file mode 100644 index 0000000..fb64eac --- /dev/null +++ b/charts/kube-aws/k8-aws-ec2-terminate/README.md @@ -0,0 +1,20 @@ +# Pre-requisite + +_In Namespace Changes_ +- This experiment assume that you are using AWS with kubernetes +- This experiment assume your namespace has right role for aws to make aws api calls +- This experiment also assume you are using Instance group for your name space or aware that if you are using share node group, it will impact other pods running on this ec2 instance + +# Procedure + +- Apply experiments for k8 - `kubectl apply -f experiments.yaml` +- Validate the experiments for k8 - `kubectl get chaosexperiment` +- Setup RBAC - for pod delete RBAC - `kubectl apply -f rbac.yaml` +- Create pod Experiment - for health experiment -`kubectl create -f engine.yaml` +- Validate experiment - `kubectl get pods -o wide` +- Validate logs - `kubectl logs -f ` +- Clean up chaosexperiment -`kubectl delete -f engine.yaml` +- Clean up rbac -`kubectl delete -f rbac.yaml` + + + diff --git a/charts/generic/k8-aws-ec2-terminate/EC2/engine.yaml b/charts/kube-aws/k8-aws-ec2-terminate/engine.yaml similarity index 100% rename from charts/generic/k8-aws-ec2-terminate/EC2/engine.yaml rename to charts/kube-aws/k8-aws-ec2-terminate/engine.yaml diff --git a/charts/generic/k8-aws-ec2-terminate/EC2/experiment.yaml b/charts/kube-aws/k8-aws-ec2-terminate/experiment.yaml similarity index 100% rename from charts/generic/k8-aws-ec2-terminate/EC2/experiment.yaml rename to charts/kube-aws/k8-aws-ec2-terminate/experiment.yaml diff --git a/charts/generic/k8-aws-ec2-terminate/aws-ec2-terminate.chartserviceversion.yaml b/charts/kube-aws/k8-aws-ec2-terminate/k8-aws-ec2-terminate.chartserviceversion.yaml similarity index 78% rename from charts/generic/k8-aws-ec2-terminate/aws-ec2-terminate.chartserviceversion.yaml rename to charts/kube-aws/k8-aws-ec2-terminate/k8-aws-ec2-terminate.chartserviceversion.yaml index d04353a..4f5405c 100644 --- a/charts/generic/k8-aws-ec2-terminate/aws-ec2-terminate.chartserviceversion.yaml +++ b/charts/kube-aws/k8-aws-ec2-terminate/k8-aws-ec2-terminate.chartserviceversion.yaml @@ -1,7 +1,7 @@ apiVersion: litmuchaos.io/v1alpha1 kind: ChartServiceVersion metadata: - name: aws-ec2-terminate + name: k8-aws-ec2-terminate version: 0.0.1 annotations: categories: Kubernetes @@ -9,9 +9,9 @@ metadata: createdAt: 2020-02-24T10:28:08Z support: https://slack.kubernetes.io/ spec: - displayName: aws-ec2-terminate + displayName: k8-aws-ec2-terminate categoryDescription: | - AWS EC2 terminate contains chaos to disrupt state of aws resources running part of kuberntes cluster workload. It uses chaostoolkit to inject random pod delete failures against specified applications + AWS EC2 terminate contains chaos to disrupt state of aws resources running part of kuberntes cluster workload. It uses chaostoolkit to inject ec2 instance termination against a specified applications keywords: - Kubernetes - AWS @@ -32,4 +32,4 @@ spec: icon: - url: mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/k8-aws-ec2-terminate/experiment.yaml + chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kube-aws/k8-aws-ec2-terminate/experiment.yaml diff --git a/charts/generic/k8-aws-ec2-terminate/EC2/rbac-admin.yaml b/charts/kube-aws/k8-aws-ec2-terminate/rbac-admin.yaml similarity index 100% rename from charts/generic/k8-aws-ec2-terminate/EC2/rbac-admin.yaml rename to charts/kube-aws/k8-aws-ec2-terminate/rbac-admin.yaml diff --git a/charts/kube-aws/kube-aws.chartserviceversion.yaml b/charts/kube-aws/kube-aws.chartserviceversion.yaml new file mode 100644 index 0000000..26ad742 --- /dev/null +++ b/charts/kube-aws/kube-aws.chartserviceversion.yaml @@ -0,0 +1,39 @@ +apiVersion: litmuchaos.io/v1alpha1 +kind: ChartServiceVersion +metadata: + createdAt: 2019-09-26T10:28:08Z + name: kube-aws + version: 0.1.16 + annotations: + categories: Kubernetes + chartDescription: Injects kube-aws kubernetes chaos +spec: + displayName: Kube AWS + categoryDescription: > + kube-aws contains chaos to disrupt state of aws resources running part of kubernetes cluster + +experiments: + - k8-aws-ec2-terminate + keywords: + - AWS + - EC2 + - State + maintainers: + - name: sumit + email: sumit_nagal@intuit.com + minKubeVersion: 1.12.0 + provider: + name: Intuit + links: + - name: Kubernetes Website + url: https://kubernetes.io + - name: Source Code + url: https://github.com/litmuschaos/litmus-python/tree/master/chaos-test + - name: Kubernetes Slack + url: https://slack.kubernetes.io/ + - name: Documentation + url: + icon: + - url: + mediatype: image/png + chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/litmus-python/tree/master/chaos-test diff --git a/charts/kube-aws/kube-aws.package.yaml b/charts/kube-aws/kube-aws.package.yaml new file mode 100644 index 0000000..da95174 --- /dev/null +++ b/charts/kube-aws/kube-aws.package.yaml @@ -0,0 +1,6 @@ +packageName: kube-aws +experiments: + - name: k8-aws-ec2-terminate + CSV: k8-aws-ec2-terminate.chartserviceversion.yaml + desc: "k8-aws-ec2-terminate" +