diff --git a/charts/aws-ssm/aws-ssm-chaos-by-id/aws-ssm-chaos-by-id.chartserviceversion.yaml b/charts/aws-ssm/aws-ssm-chaos-by-id/aws-ssm-chaos-by-id.chartserviceversion.yaml deleted file mode 100644 index affcb6923..000000000 --- a/charts/aws-ssm/aws-ssm-chaos-by-id/aws-ssm-chaos-by-id.chartserviceversion.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-06-10T10:28:08Z - name: aws-ssm-chaos-by-id - version: 0.1.0 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: aws-ssm-chaos-by-id - categoryDescription: | - AWS SSM Chaos By ID contains chaos to disrupt the state of infra resources. The experiment can induce chaos on AWS resources using Amazon SSM Run Command This is carried out by using SSM Docs that defines the actions performed by Systems Manager on your managed instances (having SSM agent installed) which let us perform chaos experiments on resources. - - Causes chaos on AWS ec2 instances with given instance ID(s) using SSM docs for total chaos duration with the specified chaos interval. - - Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the target application pod(if provided). - keywords: - - SSM - - AWS - - EC2 - platforms: - - AWS - maturity: alpha - chaosType: infra - maintainers: - - name: Udit Gaurav - email: udit@chaosnative.com - provider: - name: ChaosNative - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/aws-ssm/aws-ssm-chaos-by-id - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/aws-ssm/aws-ssm-chaos-by-id/ - - name: Video - url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/aws-ssm-chaos-by-id/experiment.yaml diff --git a/charts/aws-ssm/aws-ssm-chaos-by-id/engine.yaml b/charts/aws-ssm/aws-ssm-chaos-by-id/engine.yaml deleted file mode 100644 index 1133a5a7e..000000000 --- a/charts/aws-ssm/aws-ssm-chaos-by-id/engine.yaml +++ /dev/null @@ -1,62 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - engineState: 'active' - chaosServiceAccount: aws-ssm-chaos-by-id-sa - experiments: - - name: aws-ssm-chaos-by-id - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '60' - - # set chaos duration (in sec) as desired - - name: CHAOS_INTERVAL - value: '60' - - # Instance ID of the target ec2 instance - # Multiple IDs can also be provided as comma separated values ex: id1,id2 - - name: EC2_INSTANCE_ID - value: '' - - # provide the region name of the target instances - - name: REGION - value: '' - - # provide the percentage of available memory to stress - - name: MEMORY_PERCENTAGE - value: '80' - - # provide the CPU chores to be comsumed - # 0 will consume all the available cpu cores - - name: CPU_CORE - value: '0' - - # Provide the name of ssm doc - # if not using the default stress docs - - name: DOCUMENT_NAME - value: '' - - # Provide the type of ssm doc - # if not using the default stress docs - - name: DOCUMENT_TYPE - value: '' - - # Provide the format of ssm doc - # if not using the default stress docs - - name: DOCUMENT_FORMAT - value: '' - - # Provide the path of ssm doc - # if not using the default stress docs - - name: DOCUMENT_PATH - value: '' - - # if you want to install dependencies to run default ssm docs - - name: INSTALL_DEPENDENCIES - value: 'True' diff --git a/charts/aws-ssm/aws-ssm-chaos-by-id/experiment.yaml b/charts/aws-ssm/aws-ssm-chaos-by-id/experiment.yaml deleted file mode 100644 index cf5326174..000000000 --- a/charts/aws-ssm/aws-ssm-chaos-by-id/experiment.yaml +++ /dev/null @@ -1,129 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Execute AWS SSM Chaos on given ec2 instance IDs -kind: ChaosExperiment -metadata: - name: aws-ssm-chaos-by-id - labels: - name: aws-ssm-chaos-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name aws-ssm-chaos-by-id - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: CHAOS_INTERVAL - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # Instance ID of the target ec2 instance - # Multiple IDs can also be provided as comma separated values ex: id1,id2 - - name: EC2_INSTANCE_ID - value: '' - - - name: REGION - value: '' - - # it defines the sequence of chaos execution for multiple target instances - # supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # Provide the name of ssm doc - # if not using the default stress docs - - name: DOCUMENT_NAME - value: '' - - # Provide the type of ssm doc - # if not using the default stress docs - - name: DOCUMENT_TYPE - value: '' - - # Provide the format of ssm doc - # if not using the default stress docs - - name: DOCUMENT_FORMAT - value: '' - - # Provide the path of ssm doc - # if not using the default stress docs - - name: DOCUMENT_PATH - value: '' - - # if you want to install dependencies to run default ssm docs - - name: INSTALL_DEPENDENCIES - value: 'True' - - # provide the number of workers for memory stress - - name: NUMBER_OF_WORKERS - value: '1' - - # provide the percentage of available memory to stress - - name: MEMORY_PERCENTAGE - value: '80' - - # provide the CPU chores to be comsumed - # 0 will consume all the available cpu cores - - name: CPU_CORE - value: '0' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: aws-ssm-chaos-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/aws-ssm/aws-ssm-chaos-by-id/rbac.yaml b/charts/aws-ssm/aws-ssm-chaos-by-id/rbac.yaml deleted file mode 100644 index 72db75e44..000000000 --- a/charts/aws-ssm/aws-ssm-chaos-by-id/rbac.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: aws-ssm-chaos-by-id-sa - namespace: default - labels: - name: aws-ssm-chaos-by-id-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: aws-ssm-chaos-by-id-sa - labels: - name: aws-ssm-chaos-by-id-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 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: aws-ssm-chaos-by-id-sa - labels: - name: aws-ssm-chaos-by-id-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: aws-ssm-chaos-by-id-sa -subjects: -- kind: ServiceAccount - name: aws-ssm-chaos-by-id-sa - namespace: default diff --git a/charts/aws-ssm/aws-ssm-chaos-by-tag/aws-ssm-chaos-by-tag.chartserviceversion.yaml b/charts/aws-ssm/aws-ssm-chaos-by-tag/aws-ssm-chaos-by-tag.chartserviceversion.yaml deleted file mode 100644 index 43fc120ef..000000000 --- a/charts/aws-ssm/aws-ssm-chaos-by-tag/aws-ssm-chaos-by-tag.chartserviceversion.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-06-10T10:28:08Z - name: aws-ssm-chaos-by-tag - version: 0.1.0 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: aws-ssm-chaos-by-tag - categoryDescription: | - AWS SSM Chaos By ID contains chaos to disrupt the state of infra resources. The experiment can induce chaos on AWS resources using Amazon SSM Run Command This is carried out by using SSM Docs that defines the actions performed by Systems Manager on your managed instances (having SSM agent installed) which let us perform chaos experiments on resources. - - Causes chaos on AWS ec2 instances with given instance tag using SSM docs for total chaos duration with the specified chaos interval. - - Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the target application pod(if provided). - keywords: - - SSM - - AWS - - EC2 - platforms: - - AWS - maturity: alpha - chaosType: infra - maintainers: - - name: Udit Gaurav - email: udit@chaosnative.com - provider: - name: ChaosNative - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/aws-ssm/aws-ssm-chaos-by-tag - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/ - - name: Video - url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/aws-ssm-chaos-by-tag/experiment.yaml diff --git a/charts/aws-ssm/aws-ssm-chaos-by-tag/engine.yaml b/charts/aws-ssm/aws-ssm-chaos-by-tag/engine.yaml deleted file mode 100644 index 19d294b60..000000000 --- a/charts/aws-ssm/aws-ssm-chaos-by-tag/engine.yaml +++ /dev/null @@ -1,62 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - engineState: 'active' - chaosServiceAccount: aws-ssm-chaos-by-tag-sa - experiments: - - name: aws-ssm-chaos-by-tag - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '60' - - # set chaos duration (in sec) as desired - - name: CHAOS_INTERVAL - value: '60' - - # provide tag of the target ec2 instances - # ex: team:devops (key:value) - - name: EC2_INSTANCE_TAG - value: '' - - # provide the region name of the target instances - - name: REGION - value: '' - - # provide the percentage of available memory to stress - - name: MEMORY_PERCENTAGE - value: '80' - - # provide the CPU chores to comsumed - # 0 will consume all the available cpu cores - - name: CPU_CORE - value: '0' - - # Provide the name of ssm doc - # if not using the default stress docs - - name: DOCUMENT_NAME - value: '' - - # Provide the type of ssm doc - # if not using the default stress docs - - name: DOCUMENT_TYPE - value: '' - - # Provide the format of ssm doc - # if not using the default stress docs - - name: DOCUMENT_FORMAT - value: '' - - # Provide the path of ssm doc - # if not using the default stress docs - - name: DOCUMENT_PATH - value: '' - - # if you want to install dependencies to run default ssm docs - - name: INSTALL_DEPENDENCIES - value: 'True' diff --git a/charts/aws-ssm/aws-ssm-chaos-by-tag/experiment.yaml b/charts/aws-ssm/aws-ssm-chaos-by-tag/experiment.yaml deleted file mode 100644 index c9690c58b..000000000 --- a/charts/aws-ssm/aws-ssm-chaos-by-tag/experiment.yaml +++ /dev/null @@ -1,133 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Execute AWS SSM Chaos on given ec2 instance Tag -kind: ChaosExperiment -metadata: - name: aws-ssm-chaos-by-tag - labels: - name: aws-ssm-chaos-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name aws-ssm-chaos-by-tag - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: CHAOS_INTERVAL - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide tag of the target ec2 instances - # ex: team:devops (key:value) - - name: EC2_INSTANCE_TAG - value: '' - - - name: REGION - value: '' - - # it defines the sequence of chaos execution for multiple target instances - # supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # percentage of total instance to target - - name: INSTANCE_AFFECTED_PERC - value: '' - - # Provide the name of ssm doc - # if not using the default stress docs - - name: DOCUMENT_NAME - value: '' - - # Provide the type of ssm doc - # if not using the default stress docs - - name: DOCUMENT_TYPE - value: '' - - # Provide the format of ssm doc - # if not using the default stress docs - - name: DOCUMENT_FORMAT - value: '' - - # Provide the path of ssm doc - # if not using the default stress docs - - name: DOCUMENT_PATH - value: '' - - # if you want to install dependencies to run default ssm docs - - name: INSTALL_DEPENDENCIES - value: 'True' - - # provide the number of workers for memory stress - - name: NUMBER_OF_WORKERS - value: '1' - - # provide the percentage of available memory to stress - - name: MEMORY_PERCENTAGE - value: '80' - - # provide the CPU chores to comsumed - # 0 will consume all the available cpu cores - - name: CPU_CORE - value: '0' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: aws-ssm-chaos-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/aws-ssm/aws-ssm-chaos-by-tag/rbac.yaml b/charts/aws-ssm/aws-ssm-chaos-by-tag/rbac.yaml deleted file mode 100644 index 473d90206..000000000 --- a/charts/aws-ssm/aws-ssm-chaos-by-tag/rbac.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: aws-ssm-chaos-by-tag-sa - namespace: default - labels: - name: aws-ssm-chaos-by-tag-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: aws-ssm-chaos-by-tag-sa - labels: - name: aws-ssm-chaos-by-tag-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 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: aws-ssm-chaos-by-tag-sa - labels: - name: aws-ssm-chaos-by-tag-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: aws-ssm-chaos-by-tag-sa -subjects: -- kind: ServiceAccount - name: aws-ssm-chaos-by-tag-sa - namespace: default diff --git a/charts/aws-ssm/aws-ssm.chartserviceversion.yaml b/charts/aws-ssm/aws-ssm.chartserviceversion.yaml deleted file mode 100644 index ebfb1a8a1..000000000 --- a/charts/aws-ssm/aws-ssm.chartserviceversion.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-06-11T10:28:08Z - name: aws-ssm - version: 0.1.0 - annotations: - categories: Kubernetes - chartDescription: Injects aws ssm chaos -spec: - displayName: AWS SSM - categoryDescription: > - aws ssm contains chaos to disrupt state of aws resources by litmus aws ssm docs - experiments: - - aws-ssm-chaos-by-id - - aws-ssm-chaos-by-tag - keywords: - - AWS - - SSM - - EC2 - maintainers: - - name: ksatchit - email: karthik@chaosnative.com - provider: - name: ChaosNative - links: - - name: Kubernetes Website - url: https://kubernetes.io - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/aws-ssm - - name: Kubernetes Slack - url: https://slack.kubernetes.io/ - icon: - - url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/icons/aws-ssm.png - mediatype: image/png - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/experiments.yaml diff --git a/charts/aws-ssm/aws-ssm.package.yaml b/charts/aws-ssm/aws-ssm.package.yaml deleted file mode 100644 index cfae7ec76..000000000 --- a/charts/aws-ssm/aws-ssm.package.yaml +++ /dev/null @@ -1,8 +0,0 @@ -packageName: aws-ssm -experiments: - - name: aws-ssm-chaos-by-id - CSV: aws-ssm-chaos-by-id.chartserviceversion.yaml - desc: "aws-ssm-chaos-by-id" - - name: aws-ssm-chaos-by-tag - CSV: aws-ssm-chaos-by-tag.chartserviceversion.yaml - desc: "aws-ssm-chaos-by-tag" \ No newline at end of file diff --git a/charts/aws-ssm/experiments.yaml b/charts/aws-ssm/experiments.yaml deleted file mode 100644 index 5a9c45307..000000000 --- a/charts/aws-ssm/experiments.yaml +++ /dev/null @@ -1,266 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Execute AWS SSM Chaos on given ec2 instance Tag -kind: ChaosExperiment -metadata: - name: aws-ssm-chaos-by-tag - labels: - name: aws-ssm-chaos-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name aws-ssm-chaos-by-tag - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: CHAOS_INTERVAL - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide tag of the target ec2 instances - # ex: team:devops (key:value) - - name: EC2_INSTANCE_TAG - value: '' - - - name: REGION - value: '' - - # it defines the sequence of chaos execution for multiple target instances - # supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # percentage of total instance to target - - name: INSTANCE_AFFECTED_PERC - value: '' - - # Provide the name of ssm doc - # if not using the default stress docs - - name: DOCUMENT_NAME - value: '' - - # Provide the type of ssm doc - # if not using the default stress docs - - name: DOCUMENT_TYPE - value: '' - - # Provide the format of ssm doc - # if not using the default stress docs - - name: DOCUMENT_FORMAT - value: '' - - # Provide the path of ssm doc - # if not using the default stress docs - - name: DOCUMENT_PATH - value: '' - - # if you want to install dependencies to run default ssm docs - - name: INSTALL_DEPENDENCIES - value: 'True' - - # provide the number of workers for memory stress - - name: NUMBER_OF_WORKERS - value: '1' - - # provide the percentage of available memory to stress - - name: MEMORY_PERCENTAGE - value: '80' - - # provide the CPU chores to comsumed - # 0 will consume all the available cpu cores - - name: CPU_CORE - value: '0' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: aws-ssm-chaos-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Execute AWS SSM Chaos on given ec2 instance IDs -kind: ChaosExperiment -metadata: - name: aws-ssm-chaos-by-id - labels: - name: aws-ssm-chaos-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name aws-ssm-chaos-by-id - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: CHAOS_INTERVAL - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # Instance ID of the target ec2 instance - # Multiple IDs can also be provided as comma separated values ex: id1,id2 - - name: EC2_INSTANCE_ID - value: '' - - - name: REGION - value: '' - - # it defines the sequence of chaos execution for multiple target instances - # supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # Provide the name of ssm doc - # if not using the default stress docs - - name: DOCUMENT_NAME - value: '' - - # Provide the type of ssm doc - # if not using the default stress docs - - name: DOCUMENT_TYPE - value: '' - - # Provide the format of ssm doc - # if not using the default stress docs - - name: DOCUMENT_FORMAT - value: '' - - # Provide the path of ssm doc - # if not using the default stress docs - - name: DOCUMENT_PATH - value: '' - - # if you want to install dependencies to run default ssm docs - - name: INSTALL_DEPENDENCIES - value: 'True' - - # provide the number of workers for memory stress - - name: NUMBER_OF_WORKERS - value: '1' - - # provide the percentage of available memory to stress - - name: MEMORY_PERCENTAGE - value: '80' - - # provide the CPU chores to be comsumed - # 0 will consume all the available cpu cores - - name: CPU_CORE - value: '0' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: aws-ssm-chaos-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- diff --git a/charts/aws-ssm/icons/aws-ssm-chaos-by-id.png b/charts/aws-ssm/icons/aws-ssm-chaos-by-id.png deleted file mode 100644 index fd09e34f6..000000000 Binary files a/charts/aws-ssm/icons/aws-ssm-chaos-by-id.png and /dev/null differ diff --git a/charts/aws-ssm/icons/aws-ssm-chaos-by-tag.png b/charts/aws-ssm/icons/aws-ssm-chaos-by-tag.png deleted file mode 100644 index fd09e34f6..000000000 Binary files a/charts/aws-ssm/icons/aws-ssm-chaos-by-tag.png and /dev/null differ diff --git a/charts/aws-ssm/icons/aws-ssm.png b/charts/aws-ssm/icons/aws-ssm.png deleted file mode 100644 index fd09e34f6..000000000 Binary files a/charts/aws-ssm/icons/aws-ssm.png and /dev/null differ diff --git a/charts/azure/azure-disk-loss/azure-disk-loss.chartserviceversion.yaml b/charts/azure/azure-disk-loss/azure-disk-loss.chartserviceversion.yaml deleted file mode 100644 index a15f5d187..000000000 --- a/charts/azure/azure-disk-loss/azure-disk-loss.chartserviceversion.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: azure-disk-loss - version: 0.1.0 - annotations: - categories: Azure - vendor: ChaosNative - support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN -spec: - displayName: azure-disk-loss - categoryDescription: | - This experiment causes the detachment of the disk from the VM for a certain chaos duration - - Causes detachment of the disk from the VM and then reattachment of the disk to the VM - - It helps to check the performance of the application on the instance. - keywords: - - Azure - - Disk - - AKS - platforms: - - Azure - maturity: alpha - maintainers: - - name: avaakash - email: akash@chaosnative.com - minKubeVersion: 1.12.0 - provider: - name: ChaosNative - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/azure/disk-loss/experiment - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/azure/azure-disk-loss/ - # - name: Video - # url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/azure/azure-disk-loss/experiment.yaml \ No newline at end of file diff --git a/charts/azure/azure-disk-loss/engine.yaml b/charts/azure/azure-disk-loss/engine.yaml deleted file mode 100644 index 18d029f3c..000000000 --- a/charts/azure/azure-disk-loss/engine.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos -spec: - # It can be active/stop - engineState: 'active' - chaosServiceAccount: azure-disk-loss-sa - experiments: - - name: azure-disk-loss - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - # provide the resource group of the instance - - name: RESOURCE_GROUP - value: '' - - # accepts enable/disable, default is disable - - name: SCALE_SET - value: '' - - # provide the virtual disk names (comma separated if multiple) - - name: VIRTUAL_DISK_NAMES - value: '' \ No newline at end of file diff --git a/charts/azure/azure-disk-loss/experiment.yaml b/charts/azure/azure-disk-loss/experiment.yaml deleted file mode 100644 index 6c0b7a9db..000000000 --- a/charts/azure/azure-disk-loss/experiment.yaml +++ /dev/null @@ -1,95 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Detaches disk from the VM and then re-attaches disk to the VM -kind: ChaosExperiment -metadata: - name: azure-disk-loss - labels: - name: azure-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name azure-disk-loss - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - - name: LIB - value: 'litmus' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide the resource group of the instance - - name: RESOURCE_GROUP - value: '' - - # accepts enable/disable, default is disable - - name: SCALE_SET - value: '' - - # provide the virtual disk names (comma separated if multiple) - - name: VIRTUAL_DISK_NAMES - value: '' - - # provide the sequence type for the run. Options: serial/parallel - - name: SEQUENCE - value: 'parallel' - - # provide the path to aks credentials mounted from secret - - name: AZURE_AUTH_LOCATION - value: '/tmp/azure.auth' - - labels: - name: azure-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/azure/azure-disk-loss/rbac.yaml b/charts/azure/azure-disk-loss/rbac.yaml deleted file mode 100644 index 0e91994a4..000000000 --- a/charts/azure/azure-disk-loss/rbac.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: azure-disk-loss-sa - namespace: default - labels: - name: azure-disk-loss-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: azure-disk-loss-sa - namespace: default - labels: - name: azure-disk-loss-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 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: azure-disk-loss-sa - namespace: default - labels: - name: azure-disk-loss-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: azure-disk-loss-sa -subjects: -- kind: ServiceAccount - name: azure-disk-loss-sa - namespace: default \ No newline at end of file diff --git a/charts/azure/azure-instance-stop/azure-instance-stop.chartserviceversion.yaml b/charts/azure/azure-instance-stop/azure-instance-stop.chartserviceversion.yaml deleted file mode 100644 index 22e850a81..000000000 --- a/charts/azure/azure-instance-stop/azure-instance-stop.chartserviceversion.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-02-20T10:28:08Z - name: azure-instance-stop - version: 0.1.0 - annotations: - categories: Azure - vendor: ChaosNative - support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN -spec: - displayName: azure-instance-stop - categoryDescription: | - This experiment causes the power off of an azure instance for a certain chaos duration. - - Causes termination of an azure instance before bringing it back to running state after the specified chaos duration. - - It helps to check the performance of the application on the instance. - keywords: - - Azure - - Scaleset - - AKS - platforms: - - Azure - maturity: alpha - chaosType: infra - maintainers: - - name: Udit Gaurav - email: udit@chaosnative.com - provider: - name: Chaos Native - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/azure/instance-stop/experiment - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/azure/azure-instance-stop/ - # - name: Video - # url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/azure/azure-instance-stop/experiment.yaml - diff --git a/charts/azure/azure-instance-stop/engine.yaml b/charts/azure/azure-instance-stop/engine.yaml deleted file mode 100644 index b2d059680..000000000 --- a/charts/azure/azure-instance-stop/engine.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - engineState: 'active' - chaosServiceAccount: azure-instance-stop-sa - experiments: - - name: azure-instance-stop - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos intreval (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - # provide the target instance name(s) (comma separated if multiple) - - name: AZURE_INSTANCE_NAME - value: '' - - # provide the resource group of the instance - - name: RESOURCE_GROUP - value: '' - - # accepts enable/disable, default is disable - - name: SCALE_SET - value: '' - diff --git a/charts/azure/azure-instance-stop/experiment.yaml b/charts/azure/azure-instance-stop/experiment.yaml deleted file mode 100644 index f706beb69..000000000 --- a/charts/azure/azure-instance-stop/experiment.yaml +++ /dev/null @@ -1,96 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Terminating azure VM instance -kind: ChaosExperiment -metadata: - name: azure-instance-stop - labels: - name: azure-instance-stop - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name azure-instance-stop - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide the target instance name(s) (comma separated if multiple) - - name: AZURE_INSTANCE_NAME - value: '' - - # provide the resource group of the instance - - name: RESOURCE_GROUP - value: '' - - # accepts enable/disable, default is disable - - name: SCALE_SET - value: '' - - # Provide the path of aks credentials mounted from secret - - name: AZURE_AUTH_LOCATION - value: '/tmp/azure.auth' - - - name: SEQUENCE - value: 'parallel' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: azure-instance-stop - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - diff --git a/charts/azure/azure-instance-stop/rbac.yaml b/charts/azure/azure-instance-stop/rbac.yaml deleted file mode 100644 index 323e2f3ab..000000000 --- a/charts/azure/azure-instance-stop/rbac.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: azure-instance-stop-sa - namespace: default - labels: - name: azure-instance-stop-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: azure-instance-stop-sa - labels: - name: azure-instance-stop-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 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: azure-instance-stop-sa - labels: - name: azure-instance-stop-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: azure-instance-stop-sa -subjects: -- kind: ServiceAccount - name: azure-instance-stop-sa - namespace: default diff --git a/charts/azure/azure.chartserviceversion.yaml b/charts/azure/azure.chartserviceversion.yaml deleted file mode 100644 index a298c6d45..000000000 --- a/charts/azure/azure.chartserviceversion.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-02-20T10:28:08Z - name: azure - version: 0.1.0 - annotations: - categories: Kubernetes - chartDescription: Injects chaos on azure servies -spec: - displayName: Azure - categoryDescription: > - Azure category of chaos experiments causes the disruption of the azure serives for a certain chaos duration. - experiments: - - azure-instance-stop - - azure-disk-loss - keywords: - - Azure - - Instance - - AKS - - Scaleset - maintainers: - - name: Udit Gaurav - email: udit.gaurav@mayadata.io - provider: - name: Chaos Native - links: - - name: Kubernetes Website - url: https://kubernetes.io - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/azure/experiments/azure - - name: Kubernetes Slack - url: https://slack.kubernetes.io/ - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/contents/#cloud-infrastructure - icon: - - url: https://raw.githubusercontent.com/litmuschaos/charthub.litmuschaos.io/master/public/litmus.ico - mediatype: image/png - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/azure/experiments.yaml - diff --git a/charts/azure/azure.package.yaml b/charts/azure/azure.package.yaml deleted file mode 100644 index 904710a36..000000000 --- a/charts/azure/azure.package.yaml +++ /dev/null @@ -1,10 +0,0 @@ -packageName: azure -experiments: - - name: azure-instance-stop - CSV: azure-instance-stop.chartserviceversion.yaml - desc: "azure-instance-stop" - - - name: azure-disk-loss - CSV: azure-disk-loss.chartserviceversion.yaml - desc: "azure-disk-loss" - diff --git a/charts/azure/experiments.yaml b/charts/azure/experiments.yaml deleted file mode 100644 index da234766a..000000000 --- a/charts/azure/experiments.yaml +++ /dev/null @@ -1,195 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Terminating azure VM instance -kind: ChaosExperiment -metadata: - name: azure-instance-stop - labels: - name: azure-instance-stop - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name azure-instance-stop - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide the target instance name(s) (comma separated if multiple) - - name: AZURE_INSTANCE_NAME - value: '' - - # provide the resource group of the instance - - name: RESOURCE_GROUP - value: '' - - # accepts enable/disable, default is disable - - name: SCALE_SET - value: '' - - # Provide the path of aks credentials mounted from secret - - name: AZURE_AUTH_LOCATION - value: '/tmp/azure.auth' - - - name: SEQUENCE - value: 'parallel' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: azure-instance-stop - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Detaches disk from the VM and then re-attaches disk to the VM -kind: ChaosExperiment -metadata: - name: azure-disk-loss - labels: - name: azure-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name azure-disk-loss - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - - name: LIB - value: 'litmus' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide the resource group of the instance - - name: RESOURCE_GROUP - value: '' - - # accepts enable/disable, default is disable - - name: SCALE_SET - value: '' - - # provide the virtual disk names (comma separated if multiple) - - name: VIRTUAL_DISK_NAMES - value: '' - - # provide the sequence type for the run. Options: serial/parallel - - name: SEQUENCE - value: 'parallel' - - # provide the path to aks credentials mounted from secret - - name: AZURE_AUTH_LOCATION - value: '/tmp/azure.auth' - - labels: - name: azure-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- diff --git a/charts/azure/icons/azure-disk-loss.png b/charts/azure/icons/azure-disk-loss.png deleted file mode 100644 index 5baec5e18..000000000 Binary files a/charts/azure/icons/azure-disk-loss.png and /dev/null differ diff --git a/charts/azure/icons/azure-instance-stop.png b/charts/azure/icons/azure-instance-stop.png deleted file mode 100644 index 5baec5e18..000000000 Binary files a/charts/azure/icons/azure-instance-stop.png and /dev/null differ diff --git a/charts/azure/icons/azure.png b/charts/azure/icons/azure.png deleted file mode 100644 index 5baec5e18..000000000 Binary files a/charts/azure/icons/azure.png and /dev/null differ 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 5b98f0289..000000000 --- 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: 2.6.0 - 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 37850b85f..000000000 --- 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 694bbff2b..000000000 --- a/charts/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: 2.6.0 -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:2.6.0" - 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: 2.6.0 diff --git a/charts/cassandra/cassandra-pod-delete/rbac.yaml b/charts/cassandra/cassandra-pod-delete/rbac.yaml deleted file mode 100644 index 72959503e..000000000 --- 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 eb2fb95fd..000000000 --- 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 aeab8f3e8..000000000 --- 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 e30441bb4..000000000 --- a/charts/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: 2.6.0 -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:2.6.0" - 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: 2.6.0 - ---- diff --git a/charts/cassandra/icons/cassandra-pod-delete.png b/charts/cassandra/icons/cassandra-pod-delete.png deleted file mode 100644 index 16aa7b417..000000000 Binary files a/charts/cassandra/icons/cassandra-pod-delete.png and /dev/null differ diff --git a/charts/cassandra/icons/cassandra.png b/charts/cassandra/icons/cassandra.png deleted file mode 100644 index 3568818ab..000000000 Binary files a/charts/cassandra/icons/cassandra.png and /dev/null differ diff --git a/charts/coredns/coredns-pod-delete/coredns-pod-delete.chartserviceversion.yaml b/charts/coredns/coredns-pod-delete/coredns-pod-delete.chartserviceversion.yaml deleted file mode 100644 index cbfcb6a1d..000000000 --- a/charts/coredns/coredns-pod-delete/coredns-pod-delete.chartserviceversion.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-12-30T10:28:08Z - name: coredns-pod-delete - version: 0.1.7 - annotations: - categories: CoreDNS - vendor: CNCF - support: https://slack.cncf.io/ -spec: - displayName: coredns-pod-delete - categoryDescription: | - Pod delete contains chaos to disrupt state of coredns resources. Experiments can inject random pod delete failures against specified application. - - Causes (forced/graceful) pod failure of coredns replicas of an application deployment. - - Tests of successful resolution of app services during chaos injection - keywords: - - Kubernetes - - K8S - - CoreDNS - - DNS - - Pod - platforms: - - GKE - - Minikube - maturity: alpha - maintainers: - - name: Raj Babu Das - email: raj.das@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/coredns/pod_delete - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/coredns-pod-delete/ - - name: Video - url: https://www.youtube.com/watch?v=pwo5idKW7q8 - chaosexpcrdlink: https://raw.githubusercontent.com/litmuchaos/chaos-charts/master/charts/coredns/coredns-pod-delete/experiment.yaml \ No newline at end of file diff --git a/charts/coredns/coredns-pod-delete/engine.yaml b/charts/coredns/coredns-pod-delete/engine.yaml deleted file mode 100644 index 329bdef59..000000000 --- a/charts/coredns/coredns-pod-delete/engine.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: engine-coredns - namespace: kube-system -spec: - appinfo: - appns: 'kube-system' - applabel: 'k8s-app=kube-dns' - appkind: 'deployment' - # It can be active/stop - engineState: 'active' - #ex. values: ns1:name=percona,ns2:run=nginx - auxiliaryAppInfo: '' - chaosServiceAccount: coredns-pod-delete-sa - experiments: - - name: coredns-pod-delete - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '10' - - - name: CHAOS_NAMESPACE - value: 'kube-system' \ No newline at end of file diff --git a/charts/coredns/coredns-pod-delete/experiment.yaml b/charts/coredns/coredns-pod-delete/experiment.yaml deleted file mode 100644 index 2e3c5b7d7..000000000 --- a/charts/coredns/coredns-pod-delete/experiment.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Deletes coredns pod in kube-system namespace -kind: ChaosExperiment -metadata: - name: coredns-pod-delete - labels: - name: coredns-pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -spec: - definition: - permissions: - - apiGroups: - - "" - - "batch" - - "litmuschaos.io" - resources: - - "services" - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "get" - - "list" - - "patch" - - "create" - - "update" - - "delete" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/coredns/pod_delete/pod_delete_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' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: FORCE - value: 'true' - - - name: CHAOS_INTERVAL - value: '5' - - #supported libs are litmus and powerfulseal - - name: LIB - value: 'litmus' - - - name: LIB_IMAGE - value: 'litmuschaos/pod-delete-helper:latest' - - labels: - name: coredns-pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 diff --git a/charts/coredns/coredns-pod-delete/rbac.yaml b/charts/coredns/coredns-pod-delete/rbac.yaml deleted file mode 100644 index 00fe7dbd3..000000000 --- a/charts/coredns/coredns-pod-delete/rbac.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: coredns-pod-delete-sa - namespace: kube-system - labels: - name: coredns-pod-delete-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: coredns-pod-delete-sa - labels: - name: coredns-pod-delete-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","litmuschaos.io","batch"] - resources: ["services", "pods","jobs","events","pods/log","chaosengines","chaosexperiments","chaosresults"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: coredns-pod-delete-sa - labels: - name: coredns-pod-delete-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: coredns-pod-delete-sa -subjects: -- kind: ServiceAccount - name: coredns-pod-delete-sa - namespace: kube-system diff --git a/charts/coredns/coredns.chartserviceversion.yaml b/charts/coredns/coredns.chartserviceversion.yaml deleted file mode 100644 index d76ebcb16..000000000 --- a/charts/coredns/coredns.chartserviceversion.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-12-30T10:28:08Z - name: coredns - version: 0.1.4 - annotations: - categories: Kubernetes - chartDescription: Injects coredns chaos -spec: - displayName: CoreDNS chaos - categoryDescription: > - CoreDNS is an open-source system for DNS management of containerized applications. - It helps to resolve services to IP address. It will install all the experiments which can be used to inject chaos into containerized applications. - experiments: - - coredns-pod-delete - keywords: - - Kubernetes - - K8S - - Pod - - CoreDNS - - DNS - maintainers: - - name: Raj Babu Das - email: raj.das@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - links: - - name: CoreDNS Website - url: https://coredns.io - - name: Source Code - url: https://github.com/coredns/coredns - - name: CoreDNS Slack - url: https://slack.cncf.io/ - - name: Documentation - url: https://coredns.io/manual/toc/ - icon: - - url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/coredns/icons/coredns-pod-delete.png - mediatype: image/png - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/coredns/experiments.yaml \ No newline at end of file diff --git a/charts/coredns/coredns.package.yaml b/charts/coredns/coredns.package.yaml deleted file mode 100644 index 9fa1e666d..000000000 --- a/charts/coredns/coredns.package.yaml +++ /dev/null @@ -1,5 +0,0 @@ -packageName: coredns -experiments: - - name: coredns-pod-delete - CSV: coredns-pod-delete.chartserviceversion.yaml - desc: "coredns pod delete experiment" \ No newline at end of file diff --git a/charts/coredns/experiments.yaml b/charts/coredns/experiments.yaml deleted file mode 100644 index c9c04b58f..000000000 --- a/charts/coredns/experiments.yaml +++ /dev/null @@ -1,74 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Deletes coredns pod in kube-system namespace -kind: ChaosExperiment -metadata: - name: coredns-pod-delete - labels: - name: coredns-pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -spec: - definition: - permissions: - - apiGroups: - - "" - - "batch" - - "litmuschaos.io" - resources: - - "services" - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "get" - - "list" - - "patch" - - "create" - - "update" - - "delete" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/coredns/pod_delete/pod_delete_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' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: FORCE - value: 'true' - - - name: CHAOS_INTERVAL - value: '5' - - #supported libs are litmus and powerfulseal - - name: LIB - value: 'litmus' - - - name: LIB_IMAGE - value: 'litmuschaos/pod-delete-helper:latest' - - labels: - name: coredns-pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- diff --git a/charts/coredns/icons/coredns-pod-delete.png b/charts/coredns/icons/coredns-pod-delete.png deleted file mode 100644 index c643b7b89..000000000 Binary files a/charts/coredns/icons/coredns-pod-delete.png and /dev/null differ diff --git a/charts/coredns/icons/coredns.png b/charts/coredns/icons/coredns.png deleted file mode 100644 index c643b7b89..000000000 Binary files a/charts/coredns/icons/coredns.png and /dev/null differ diff --git a/charts/gcp/experiments.yaml b/charts/gcp/experiments.yaml deleted file mode 100644 index 9bf44d84a..000000000 --- a/charts/gcp/experiments.yaml +++ /dev/null @@ -1,206 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Stops GCP VM instances and GKE nodes for a specified duration of time and later restarts them -kind: ChaosExperiment -metadata: - name: gcp-vm-instance-stop - labels: - name: gcp-vm-instance-stop - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name gcp-vm-instance-stop - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # parallel or serial; determines how the VM instances are terminated, all at once or one at a time - - name: SEQUENCE - value: 'parallel' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - # period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # enable or disable; shall be enabled if the target instance is a part of an auto scaling group. - - name: AUTO_SCALING_GROUP - value: 'disable' - - # Instance name of the target vm instance(s) - # Multiple instance names can be provided as comma separated values ex: instance1,instance2 - - name: VM_INSTANCE_NAMES - value: '' - - # GCP project ID to which the vm instances belong - - name: GCP_PROJECT_ID - value: '' - - # Instance zone(s) of the target vm instance(s) - # If more than one instance is targetted, provide zone for each in the order of their - # respective instance name in VM_INSTANCE_NAME as comma separated values ex: zone1,zone2 - - name: INSTANCE_ZONES - value: '' - - labels: - name: gcp-vm-instance-stop - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Causes loss of a non-boot storage persistent disk from a GCP VM instance for a specified duration of time -kind: ChaosExperiment -metadata: - name: gcp-vm-disk-loss - labels: - name: gcp-vm-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name gcp-vm-disk-loss - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - - name: LIB - value: 'litmus' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # parallel or serial; determines how chaos is injected - - name: SEQUENCE - value: 'parallel' - - # set the GCP project id - - name: GCP_PROJECT_ID - value: '' - - # set the disk volume name(s) as comma seperated values - # eg. volume1,volume2,... - - name: DISK_VOLUME_NAMES - value: '' - - # set the disk zone(s) as comma seperated values in the corresponding - # order of DISK_VOLUME_NAME - # eg. zone1,zone2,... - - name: DISK_ZONES - value: '' - - # set the device name(s) as comma seperated values in the corresponding - # order of DISK_VOLUME_NAME - # eg. device1,device2,... - - name: DEVICE_NAMES - value: '' - - labels: - name: gcp-vm-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- diff --git a/charts/gcp/gcp-vm-disk-loss/engine.yaml b/charts/gcp/gcp-vm-disk-loss/engine.yaml deleted file mode 100644 index dfa3acf34..000000000 --- a/charts/gcp/gcp-vm-disk-loss/engine.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: gcp-disk-chaos - namespace: default -spec: - # It can be active/stop - engineState: 'active' - chaosServiceAccount: gcp-vm-disk-loss-sa - experiments: - - name: gcp-vm-disk-loss - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - # set the GCP project id - - name: GCP_PROJECT_ID - value: '' - - # set the disk volume name(s) as comma seperated values - # eg. volume1,volume2,... - - name: DISK_VOLUME_NAMES - value: '' - - # set the disk zone(s) as comma seperated values in the corresponding - # order of DISK_VOLUME_NAME - # eg. zone1,zone2,... - - name: DISK_ZONES - value: '' - - # set the device name(s) as comma seperated values in the corresponding - # order of DISK_VOLUME_NAME - # eg. device1,device2,... - - name: DEVICE_NAMES - value: '' diff --git a/charts/gcp/gcp-vm-disk-loss/experiment.yaml b/charts/gcp/gcp-vm-disk-loss/experiment.yaml deleted file mode 100644 index 433a64f45..000000000 --- a/charts/gcp/gcp-vm-disk-loss/experiment.yaml +++ /dev/null @@ -1,99 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Causes loss of a non-boot storage persistent disk from a GCP VM instance for a specified duration of time -kind: ChaosExperiment -metadata: - name: gcp-vm-disk-loss - labels: - name: gcp-vm-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name gcp-vm-disk-loss - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - - name: LIB - value: 'litmus' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # parallel or serial; determines how chaos is injected - - name: SEQUENCE - value: 'parallel' - - # set the GCP project id - - name: GCP_PROJECT_ID - value: '' - - # set the disk volume name(s) as comma seperated values - # eg. volume1,volume2,... - - name: DISK_VOLUME_NAMES - value: '' - - # set the disk zone(s) as comma seperated values in the corresponding - # order of DISK_VOLUME_NAME - # eg. zone1,zone2,... - - name: DISK_ZONES - value: '' - - # set the device name(s) as comma seperated values in the corresponding - # order of DISK_VOLUME_NAME - # eg. device1,device2,... - - name: DEVICE_NAMES - value: '' - - labels: - name: gcp-vm-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/gcp/gcp-vm-disk-loss/gcp-vm-disk-loss.chartserviceversion.yaml b/charts/gcp/gcp-vm-disk-loss/gcp-vm-disk-loss.chartserviceversion.yaml deleted file mode 100644 index 64a029f1a..000000000 --- a/charts/gcp/gcp-vm-disk-loss/gcp-vm-disk-loss.chartserviceversion.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: gcp-vm-disk-loss - version: 0.1.0 - annotations: - categories: gcp -spec: - displayName: gcp-vm-disk-loss - categoryDescription: > - Causes loss of a non-boot storage persistent disk from a GCP VM instance for a specified duration of time - keywords: - - "Disk" - - "GCP" - platforms: - - "GCP" - maturity: alpha - maintainers: - - name: Neelanjan Manna - email: neelanjan@chaosnative.com - minKubeVersion: 1.12.0 - provider: - name: ChaosNative - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/gcp/gcp-vm-disk-loss/ - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/gcp/gcp-vm-disk-loss/experiment.yaml diff --git a/charts/gcp/gcp-vm-disk-loss/rbac.yaml b/charts/gcp/gcp-vm-disk-loss/rbac.yaml deleted file mode 100644 index 27c207252..000000000 --- a/charts/gcp/gcp-vm-disk-loss/rbac.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: gcp-vm-disk-loss-sa - namespace: default - labels: - name: gcp-vm-disk-loss-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: gcp-vm-disk-loss-sa - labels: - name: gcp-vm-disk-loss-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 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: gcp-vm-disk-loss-sa - labels: - name: gcp-vm-disk-loss-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: gcp-vm-disk-loss-sa -subjects: -- kind: ServiceAccount - name: gcp-vm-disk-loss-sa - namespace: default \ No newline at end of file diff --git a/charts/gcp/gcp-vm-instance-stop/engine.yaml b/charts/gcp/gcp-vm-instance-stop/engine.yaml deleted file mode 100644 index 2a6e3e5b1..000000000 --- a/charts/gcp/gcp-vm-instance-stop/engine.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: gcp-vm-chaos -spec: - engineState: 'active' - chaosServiceAccount: gcp-vm-instance-stop-sa - experiments: - - name: gcp-vm-instance-stop - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - # Instance name of the target vm instance(s) - # Multiple instance names can be provided as comma separated values ex: instance1,instance2 - - name: VM_INSTANCE_NAMES - value: '' - - # GCP project ID to which the vm instances belong - - name: GCP_PROJECT_ID - value: '' - - # Instance zone(s) of the target vm instance(s) - # If more than one instance is targetted, provide zone for each in the order of their - # respective instance name in VM_INSTANCE_NAME as comma separated values ex: zone1,zone2 - - name: INSTANCE_ZONES - value: '' - - # enable it if the target instance is a part of self-managed auto scaling group. - - name: AUTO_SCALING_GROUP - value: 'disable' diff --git a/charts/gcp/gcp-vm-instance-stop/experiment.yaml b/charts/gcp/gcp-vm-instance-stop/experiment.yaml deleted file mode 100644 index c9fa989ed..000000000 --- a/charts/gcp/gcp-vm-instance-stop/experiment.yaml +++ /dev/null @@ -1,103 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Stops GCP VM instances and GKE nodes for a specified duration of time and later restarts them -kind: ChaosExperiment -metadata: - name: gcp-vm-instance-stop - labels: - name: gcp-vm-instance-stop - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name gcp-vm-instance-stop - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # parallel or serial; determines how the VM instances are terminated, all at once or one at a time - - name: SEQUENCE - value: 'parallel' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - # period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # enable or disable; shall be enabled if the target instance is a part of an auto scaling group. - - name: AUTO_SCALING_GROUP - value: 'disable' - - # Instance name of the target vm instance(s) - # Multiple instance names can be provided as comma separated values ex: instance1,instance2 - - name: VM_INSTANCE_NAMES - value: '' - - # GCP project ID to which the vm instances belong - - name: GCP_PROJECT_ID - value: '' - - # Instance zone(s) of the target vm instance(s) - # If more than one instance is targetted, provide zone for each in the order of their - # respective instance name in VM_INSTANCE_NAME as comma separated values ex: zone1,zone2 - - name: INSTANCE_ZONES - value: '' - - labels: - name: gcp-vm-instance-stop - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/gcp/gcp-vm-instance-stop/gcp-vm-instance-stop.chartserviceversion.yaml b/charts/gcp/gcp-vm-instance-stop/gcp-vm-instance-stop.chartserviceversion.yaml deleted file mode 100644 index d833d8a56..000000000 --- a/charts/gcp/gcp-vm-instance-stop/gcp-vm-instance-stop.chartserviceversion.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: gcp-vm-instance-stop - version: 0.1.0 - annotations: - categories: gcp -spec: - displayName: gcp-vm-instance-stop - categoryDescription: > - Stops GCP VM instances and GKE nodes for a specified duration of time and later restarts them - keywords: - - "VM" - - "GCP" - platforms: - - "GCP" - maturity: alpha - maintainers: - - name: Neelanjan Manna - email: neelanjan@chaosnative.com - minKubeVersion: 1.12.0 - provider: - name: ChaosNative - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/gcp/gcp-vm-instance-stop/ - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/gcp/gcp-vm-instance-stop/experiment.yaml diff --git a/charts/gcp/gcp-vm-instance-stop/rbac.yaml b/charts/gcp/gcp-vm-instance-stop/rbac.yaml deleted file mode 100644 index 0592ea9e0..000000000 --- a/charts/gcp/gcp-vm-instance-stop/rbac.yaml +++ /dev/null @@ -1,66 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: gcp-vm-instance-stop-sa - namespace: default - labels: - name: gcp-vm-instance-stop-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: gcp-vm-instance-stop-sa - labels: - name: gcp-vm-instance-stop-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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: gcp-vm-instance-stop-sa - labels: - name: gcp-vm-instance-stop-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: gcp-vm-instance-stop-sa -subjects: -- kind: ServiceAccount - name: gcp-vm-instance-stop-sa - namespace: default \ No newline at end of file diff --git a/charts/gcp/gcp.chartserviceversion.yaml b/charts/gcp/gcp.chartserviceversion.yaml deleted file mode 100644 index 308dec33c..000000000 --- a/charts/gcp/gcp.chartserviceversion.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: gcp - version: 0.1.0 - annotations: - categories: gcp -spec: - displayName: gcp chaos - categoryDescription: > - GCP contains chaos to disrupt state of gcp resources running part of the gcp services - experiments: - - gcp-vm-instance-stop - - gcp-vm-disk-loss - keywords: - - "VM" - - "Disk" - - "GCP" - maintainers: - - name: Neelanjan Manna - email: neelanjan@chaosnative.com - minKubeVersion: 1.12.0 - provider: - name: ChaosNative - links: - - name: GCP Website - url: https://cloud.google.com/ - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/contents/#cloud-infrastructure - - name: Community Slack - url: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/gcp/experiments.yaml diff --git a/charts/gcp/gcp.package.yaml b/charts/gcp/gcp.package.yaml deleted file mode 100644 index eea3155f0..000000000 --- a/charts/gcp/gcp.package.yaml +++ /dev/null @@ -1,8 +0,0 @@ -packageName: gcp -experiments: - - name: gcp-vm-instance-stop - CSV: gcp-vm-instance-stop.chartserviceversion.yaml - desc: "gcp-vm-instance-stop" - - name: gcp-vm-disk-loss - CSV: gcp-vm-disk-loss.chartserviceversion.yaml - desc: "gcp-vm-disk-loss" diff --git a/charts/gcp/icons/gcp-vm-disk-loss.png b/charts/gcp/icons/gcp-vm-disk-loss.png deleted file mode 100644 index 1b1b94c52..000000000 Binary files a/charts/gcp/icons/gcp-vm-disk-loss.png and /dev/null differ diff --git a/charts/gcp/icons/gcp-vm-instance-stop.png b/charts/gcp/icons/gcp-vm-instance-stop.png deleted file mode 100644 index 9f1b90f85..000000000 Binary files a/charts/gcp/icons/gcp-vm-instance-stop.png and /dev/null differ diff --git a/charts/gcp/icons/gcp.png b/charts/gcp/icons/gcp.png deleted file mode 100644 index 577f8bad3..000000000 Binary files a/charts/gcp/icons/gcp.png and /dev/null differ diff --git a/charts/generic/byoc-pod-delete/Cluster/engine-app-all-health.yaml b/charts/generic/byoc-pod-delete/Cluster/engine-app-all-health.yaml deleted file mode 100644 index 5a629e334..000000000 --- a/charts/generic/byoc-pod-delete/Cluster/engine-app-all-health.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-cluster-all-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: chaos-admin - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-app-kill-all.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Cluster/engine-app-count.yaml b/charts/generic/byoc-pod-delete/Cluster/engine-app-count.yaml deleted file mode 100644 index a44e5e70d..000000000 --- a/charts/generic/byoc-pod-delete/Cluster/engine-app-count.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-cluster-count - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: chaos-admin - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-app-kill-count.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Cluster/engine-app-health.yaml b/charts/generic/byoc-pod-delete/Cluster/engine-app-health.yaml deleted file mode 100644 index 961d9ca02..000000000 --- a/charts/generic/byoc-pod-delete/Cluster/engine-app-health.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-cluster-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: chaos-admin - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-app-kill-health.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Cluster/engine-custom-all-health.yaml b/charts/generic/byoc-pod-delete/Cluster/engine-custom-all-health.yaml deleted file mode 100644 index 147afe9f2..000000000 --- a/charts/generic/byoc-pod-delete/Cluster/engine-custom-all-health.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-cluster-custom-all-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: chaos-admin - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'app=nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-custom-kill-all.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Cluster/engine-custom-count.yaml b/charts/generic/byoc-pod-delete/Cluster/engine-custom-count.yaml deleted file mode 100644 index 3209b3608..000000000 --- a/charts/generic/byoc-pod-delete/Cluster/engine-custom-count.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-cluster-custom-count - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: chaos-admin - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'app=nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-custom-kill-count.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Cluster/engine-custom-health.yaml b/charts/generic/byoc-pod-delete/Cluster/engine-custom-health.yaml deleted file mode 100644 index 09e217ede..000000000 --- a/charts/generic/byoc-pod-delete/Cluster/engine-custom-health.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-cluster-custom-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: chaos-admin - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'app=nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-custom-kill-health.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Cluster/rbac.yaml b/charts/generic/byoc-pod-delete/Cluster/rbac.yaml deleted file mode 100644 index a31c3c871..000000000 --- a/charts/generic/byoc-pod-delete/Cluster/rbac.yaml +++ /dev/null @@ -1,46 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","batch"] - resources: ["jobs","deployments","daemonsets"] - verbs: ["create","list","get","patch","delete"] -- apiGroups: ["","litmuschaos.io"] - resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"] - verbs: ["get","create","update","patch","delete","list"] -- apiGroups: [""] - resources: ["nodes"] - verbs : ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: k8-pod-delete-sa -subjects: -- kind: ServiceAccount - name: k8-pod-delete-sa - namespace: default - diff --git a/charts/generic/byoc-pod-delete/Readme.md b/charts/generic/byoc-pod-delete/Readme.md deleted file mode 100644 index 324ae760f..000000000 --- a/charts/generic/byoc-pod-delete/Readme.md +++ /dev/null @@ -1,20 +0,0 @@ -# In Namespace Changes -* 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 -w` -* Validate logs - `kubectl logs -f ` -* Clean up chaosexperiment -`kubectl delete -f engine.yaml` -* Clean up rbac -`kubectl delete -f rbac.yaml` - - -# Remote namespace -* Apply experiments for K8 - `kubectl apply -f experiments.yaml` -* Validate the experiments for k8 - `kubectl get chaosexperiments` -* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml` -* Create pod Experiment - for health experiment -`kubectl create -f engine-kiam.yaml` -* Validate experiment - `kubectl get pods -w` -* Validate logs - `kubectl logs -f ` -* Clean up chaosexperiment -`kubectl delete -f engine-kiam.yaml` -* Clean up rbac -`kubectl delete -f rbac-admin.yaml` diff --git a/charts/generic/byoc-pod-delete/Service/engine-app-all-health.yaml b/charts/generic/byoc-pod-delete/Service/engine-app-all-health.yaml deleted file mode 100644 index 9f632ee42..000000000 --- a/charts/generic/byoc-pod-delete/Service/engine-app-all-health.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-app-all-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: k8-pod-delete-sa - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-app-kill-all.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Service/engine-app-count.yaml b/charts/generic/byoc-pod-delete/Service/engine-app-count.yaml deleted file mode 100644 index 9c768a559..000000000 --- a/charts/generic/byoc-pod-delete/Service/engine-app-count.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-app-count - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: k8-pod-delete-sa - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-app-kill-count.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Service/engine-app-health.yaml b/charts/generic/byoc-pod-delete/Service/engine-app-health.yaml deleted file mode 100644 index be461793b..000000000 --- a/charts/generic/byoc-pod-delete/Service/engine-app-health.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-app-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: k8-pod-delete-sa - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-app-kill-health.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Service/engine-custom-all-health.yaml b/charts/generic/byoc-pod-delete/Service/engine-custom-all-health.yaml deleted file mode 100644 index fb4e45115..000000000 --- a/charts/generic/byoc-pod-delete/Service/engine-custom-all-health.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-custom-all-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: k8-pod-delete-sa - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'app=nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-custom-kill-all.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Service/engine-custom-count.yaml b/charts/generic/byoc-pod-delete/Service/engine-custom-count.yaml deleted file mode 100644 index f3f109bc3..000000000 --- a/charts/generic/byoc-pod-delete/Service/engine-custom-count.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-custom-count - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: k8-pod-delete-sa - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'app=nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-custom-kill-count.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Service/engine-custom-health.yaml b/charts/generic/byoc-pod-delete/Service/engine-custom-health.yaml deleted file mode 100644 index 48d910e6c..000000000 --- a/charts/generic/byoc-pod-delete/Service/engine-custom-health.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-custom-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: k8-pod-delete-sa - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'app=nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-custom-kill-health.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - - diff --git a/charts/generic/byoc-pod-delete/Service/rbac.yaml b/charts/generic/byoc-pod-delete/Service/rbac.yaml deleted file mode 100644 index a31c3c871..000000000 --- a/charts/generic/byoc-pod-delete/Service/rbac.yaml +++ /dev/null @@ -1,46 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","batch"] - resources: ["jobs","deployments","daemonsets"] - verbs: ["create","list","get","patch","delete"] -- apiGroups: ["","litmuschaos.io"] - resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"] - verbs: ["get","create","update","patch","delete","list"] -- apiGroups: [""] - resources: ["nodes"] - verbs : ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: k8-pod-delete-sa -subjects: -- kind: ServiceAccount - name: k8-pod-delete-sa - namespace: default - diff --git a/charts/generic/byoc-pod-delete/byoc-pod-delete.chartserviceversion.yaml b/charts/generic/byoc-pod-delete/byoc-pod-delete.chartserviceversion.yaml deleted file mode 100644 index 3bce0e0b5..000000000 --- a/charts/generic/byoc-pod-delete/byoc-pod-delete.chartserviceversion.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: byoc-pod-delete - version: 0.0.4 - annotations: - categories: Kubernetes - vendor: CNCF - createdAt: 2020-02-24T10:28:08Z - support: https://slack.kubernetes.io/ -spec: - displayName: byoc-pod-delete - categoryDescription: | - Byoc Pod delete contains chaos to disrupt state of kubernetes resources. It uses chaostoolkit to inject random pod delete failures against specified applications - keywords: - - BYOC - - K8S - - Kubernetes - - Pod - platforms: - - Minikube - maturity: alpha - maintainers: - - name: sumit - email: sumit_nagal@intuit.com - minKubeVersion: 1.12.0 - provider: - name: Intuit - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-python/tree/master/byoc/chaostest - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/byoc-pod-delete/experiment.yaml diff --git a/charts/generic/byoc-pod-delete/engine.yaml b/charts/generic/byoc-pod-delete/engine.yaml deleted file mode 100644 index a4db10af2..000000000 --- a/charts/generic/byoc-pod-delete/engine.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos-app-health - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: k8-pod-delete-sa - experiments: - - name: k8-pod-delete - spec: - components: - env: - # set chaos namespace - - name: NAME_SPACE - value: 'default' - # set chaos label name - - name: LABEL_NAME - value: 'nginx' - # pod endpoint - - name: APP_ENDPOINT - value: 'localhost' - - name: FILE - value: 'pod-app-kill-health.json' - - name: REPORT - value: 'true' - - name: REPORT_ENDPOINT - value: 'none' - - name: TEST_NAMESPACE - value: 'default' - diff --git a/charts/generic/byoc-pod-delete/experiment.yaml b/charts/generic/byoc-pod-delete/experiment.yaml deleted file mode 100644 index 8bbb25601..000000000 --- a/charts/generic/byoc-pod-delete/experiment.yaml +++ /dev/null @@ -1,83 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset -kind: ChaosExperiment -metadata: - name: k8-pod-delete - labels: - name: k8-pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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/py-runner:2.6.0" - args: - - -c - - python /litmus/byoc/chaostest/chaostest/kubernetes/k8_wrapper.py; exit 0 - command: - - /bin/bash - env: - - name: CHAOSTOOLKIT_IN_POD - value: 'true' - - - name: FILE - value: 'pod-app-kill-count.json' - - - name: NAME_SPACE - value: '' - - - name: LABEL_NAME - value: '' - - - name: APP_ENDPOINT - value: '' - - - name: PERCENTAGE - value: '50' - - - name: REPORT - value: 'true' - - - name: REPORT_ENDPOINT - value: 'none' - - - name: TEST_NAMESPACE - value: 'default' - - - labels: - name: k8-pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 diff --git a/charts/generic/byoc-pod-delete/rbac.yaml b/charts/generic/byoc-pod-delete/rbac.yaml deleted file mode 100644 index a31c3c871..000000000 --- a/charts/generic/byoc-pod-delete/rbac.yaml +++ /dev/null @@ -1,46 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","batch"] - resources: ["jobs","deployments","daemonsets"] - verbs: ["create","list","get","patch","delete"] -- apiGroups: ["","litmuschaos.io"] - resources: ["pods","configmaps","events","services","chaosengines","chaosexperiments","chaosresults","deployments","jobs"] - verbs: ["get","create","update","patch","delete","list"] -- apiGroups: [""] - resources: ["nodes"] - verbs : ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: k8-pod-delete-sa - namespace: default - labels: - name: k8-pod-delete-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: k8-pod-delete-sa -subjects: -- kind: ServiceAccount - name: k8-pod-delete-sa - namespace: default - diff --git a/charts/generic/container-kill/container-kill.chartserviceversion.yaml b/charts/generic/container-kill/container-kill.chartserviceversion.yaml deleted file mode 100644 index 5b32ca312..000000000 --- a/charts/generic/container-kill/container-kill.chartserviceversion.yaml +++ /dev/null @@ -1,48 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-10-15T10:28:08Z - name: container-kill - version: 0.1.13 - annotations: - categories: "Kubernetes" - vendor: "CNCF" - support: https://slack.openebs.io/ -spec: - displayName: container-kill - categoryDescription: | - Container kill contains chaos to disrupt state of kubernetes resources. Experiments can inject random container delete failures against specified application. - - Executes SIGKILL on containers of random replicas of an application deployment. - - Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the application pod. - keywords: - - Kubernetes - - K8S - - Pod - - Container - platforms: - - GKE - - Minikube - - Packet(Kubeadm) - - EKS - - AKS - 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: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/container-kill - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/pods/container-kill/ - - name: Video - url: https://www.youtube.com/watch?v=XKyMNdVsKMo - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/container-kill/experiment.yaml diff --git a/charts/generic/container-kill/engine.yaml b/charts/generic/container-kill/engine.yaml deleted file mode 100644 index 19ccab1c0..000000000 --- a/charts/generic/container-kill/engine.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - # It can be active/stop - engineState: 'active' - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - chaosServiceAccount: container-kill-sa - experiments: - - name: container-kill - spec: - components: - env: - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - # provide the name of container runtime - # for litmus LIB, it supports docker, containerd, crio - # for pumba LIB, it supports docker only - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - - name: PODS_AFFECTED_PERC - value: '' - - - name: TARGET_CONTAINER - value: '' - \ No newline at end of file diff --git a/charts/generic/container-kill/engine_nginx_getstarted.yaml b/charts/generic/container-kill/engine_nginx_getstarted.yaml deleted file mode 100644 index 1f9814658..000000000 --- a/charts/generic/container-kill/engine_nginx_getstarted.yaml +++ /dev/null @@ -1,46 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: nginx -spec: - # It can be active/stop - engineState: 'active' - #ex. values: ns1:name=percona,ns2:run=nginx - auxiliaryAppInfo: '' - appinfo: - appns: 'nginx' - applabel: 'app=nginx' - appkind: 'deployment' - chaosServiceAccount: container-kill-sa - # It can be delete/retain - jobCleanUpPolicy: 'delete' - experiments: - - name: container-kill - spec: - components: - env: - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - # provide the name of container runtime - # for litmus LIB, it supports docker, containerd, crio - # for pumba LIB, it supports docker only - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - - name: PODS_AFFECTED_PERC - value: '' - - - name: TARGET_CONTAINER - value: '' - \ No newline at end of file diff --git a/charts/generic/container-kill/experiment.yaml b/charts/generic/container-kill/experiment.yaml deleted file mode 100644 index e3fca8f16..000000000 --- a/charts/generic/container-kill/experiment.yaml +++ /dev/null @@ -1,121 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: "Kills a container belonging to an application pod \n" -kind: ChaosExperiment -metadata: - name: container-kill - labels: - name: container-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name container-kill - command: - - /bin/bash - env: - - - name: TARGET_CONTAINER - value: '' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # lib can be litmus or pumba - - name: LIB - value: 'litmus' - - - name: TARGET_PODS - value: '' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - - name: SIGNAL - value: 'SIGKILL' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - # provide the name of container runtime - # for litmus LIB, it supports docker, containerd, crio - # for pumba LIB, it supports docker only - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: container-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 diff --git a/charts/generic/container-kill/rbac-psp.yaml b/charts/generic/container-kill/rbac-psp.yaml deleted file mode 100644 index 12de772f1..000000000 --- a/charts/generic/container-kill/rbac-psp.yaml +++ /dev/null @@ -1,86 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: container-kill-sa - namespace: default - labels: - name: container-kill-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: container-kill-sa - namespace: default - labels: - name: container-kill-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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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"] - # use litmus psp - - apiGroups: ["policy"] - resources: ["podsecuritypolicies"] - verbs: ["use"] - resourceNames: ["litmus"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: container-kill-sa - namespace: default - labels: - name: container-kill-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: container-kill-sa -subjects: -- kind: ServiceAccount - name: container-kill-sa - namespace: default - diff --git a/charts/generic/container-kill/rbac.yaml b/charts/generic/container-kill/rbac.yaml deleted file mode 100644 index ccea310c3..000000000 --- a/charts/generic/container-kill/rbac.yaml +++ /dev/null @@ -1,81 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: container-kill-sa - namespace: default - labels: - name: container-kill-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: container-kill-sa - namespace: default - labels: - name: container-kill-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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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: container-kill-sa - namespace: default - labels: - name: container-kill-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: container-kill-sa -subjects: -- kind: ServiceAccount - name: container-kill-sa - namespace: default - diff --git a/charts/generic/container-kill/rbac_nginx_getstarted.yaml b/charts/generic/container-kill/rbac_nginx_getstarted.yaml deleted file mode 100644 index 461b16457..000000000 --- a/charts/generic/container-kill/rbac_nginx_getstarted.yaml +++ /dev/null @@ -1,78 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: container-kill-sa - namespace: nginx - labels: - name: container-kill-sa ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: container-kill-sa - namespace: nginx - labels: - name: container-kill-sa -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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: container-kill-sa - namespace: nginx - labels: - name: container-kill-sa -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: container-kill-sa -subjects: -- kind: ServiceAccount - name: container-kill-sa - namespace: nginx - diff --git a/charts/generic/disk-fill/disk-fill.chartserviceversion.yaml b/charts/generic/disk-fill/disk-fill.chartserviceversion.yaml deleted file mode 100644 index 78b7ce50d..000000000 --- a/charts/generic/disk-fill/disk-fill.chartserviceversion.yaml +++ /dev/null @@ -1,48 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-11-11T10:28:08Z - name: disk-fill - version: 0.0.12 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: disk-fill - categoryDescription: | - Disk fill contains chaos to disrupt state of kubernetes resources. - - Causes (forced/graceful) Disk Stress by filling up the Ephemeral Storage of the Pod using one of it containers. - - Causes Pod to get Evicted if the Pod exceeds it Ephemeral Storage Limit. - - Tests the Ephemeral Storage Limits, to ensure those parameters are sufficient. - keywords: - - Kubernetes - - K8S - - Pod - - Disk - platforms: - - GKE - - EKS - - AKS - maturity: alpha - chaosType: infra - 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: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/disk-fill - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/pods/disk-fill/ - - name: Video - url: https://www.youtube.com/watch?v=pbok737rUPQ - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/disk-fill/experiment.yaml diff --git a/charts/generic/disk-fill/engine.yaml b/charts/generic/disk-fill/engine.yaml deleted file mode 100644 index a7abecdb8..000000000 --- a/charts/generic/disk-fill/engine.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-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=nginx' - appkind: 'deployment' - chaosServiceAccount: disk-fill-sa - experiments: - - name: disk-fill - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - # specify the fill percentage according to the disk pressure required - - name: FILL_PERCENTAGE - value: '80' - - - name: PODS_AFFECTED_PERC - value: '' - - # Provide the container runtime path - # Default set to docker container path - - name: CONTAINER_PATH - value: '/var/lib/docker/containers' diff --git a/charts/generic/disk-fill/experiment.yaml b/charts/generic/disk-fill/experiment.yaml deleted file mode 100644 index ab69d565c..000000000 --- a/charts/generic/disk-fill/experiment.yaml +++ /dev/null @@ -1,121 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Fillup Ephemeral Storage of a Resource -kind: ChaosExperiment -metadata: - name: disk-fill - labels: - name: disk-fill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name disk-fill - command: - - /bin/bash - env: - - - name: TARGET_CONTAINER - value: '' - - - name: FILL_PERCENTAGE - value: '80' - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # Provide the LIB here - # Only litmus supported - - name: LIB - value: 'litmus' - - # provide the data block size - # supported unit is KB - - name: DATA_BLOCK_SIZE - value: '256' - - - name: TARGET_PODS - value: '' - - - name: EPHEMERAL_STORAGE_MEBIBYTES - value: '' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - # Provide the container runtime path - # Default set to docker container path - - name: CONTAINER_PATH - value: '/var/lib/docker/containers' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: disk-fill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/host-path-usage: "true" - app.kubernetes.io/version: 2.6.0 diff --git a/charts/generic/disk-fill/rbac-psp.yaml b/charts/generic/disk-fill/rbac-psp.yaml deleted file mode 100644 index e7aa8805e..000000000 --- a/charts/generic/disk-fill/rbac-psp.yaml +++ /dev/null @@ -1,85 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: disk-fill-sa - namespace: default - labels: - name: disk-fill-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: disk-fill-sa - namespace: default - labels: - name: disk-fill-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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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"] - # use litmus psp - - apiGroups: ["policy"] - resources: ["podsecuritypolicies"] - verbs: ["use"] - resourceNames: ["litmus"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: disk-fill-sa - namespace: default - labels: - name: disk-fill-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: disk-fill-sa -subjects: -- kind: ServiceAccount - name: disk-fill-sa - namespace: default diff --git a/charts/generic/disk-fill/rbac.yaml b/charts/generic/disk-fill/rbac.yaml deleted file mode 100644 index 37a9d9aef..000000000 --- a/charts/generic/disk-fill/rbac.yaml +++ /dev/null @@ -1,80 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: disk-fill-sa - namespace: default - labels: - name: disk-fill-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: disk-fill-sa - namespace: default - labels: - name: disk-fill-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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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: disk-fill-sa - namespace: default - labels: - name: disk-fill-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: disk-fill-sa -subjects: -- kind: ServiceAccount - name: disk-fill-sa - namespace: default diff --git a/charts/generic/docker-service-kill/docker-service-kill.chartserviceversion.yaml b/charts/generic/docker-service-kill/docker-service-kill.chartserviceversion.yaml deleted file mode 100644 index fc6493e57..000000000 --- a/charts/generic/docker-service-kill/docker-service-kill.chartserviceversion.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2020-07-14T10:28:08Z - name: docker-service-kill - version: 0.1.1 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: docker-service-kill - categoryDescription: | - docker-service-kill contains killing docker service gracefully for a certain chaos duration. - - Causes replicas may be evicted or becomes unreachable on account on nodes turning unschedulable (Not Ready) due to docker service kill. - - The application node should be healthy once chaos is stopped and the services are reaccessable. - keywords: - - Kubernetes - - K8S - - Node - - Service - - Docker - platforms: - - GKE - - AKS - maturity: alpha - maintainers: - - name: Ankur Ghosh - email: ankur.ghosh3@wipro.com - minKubeVersion: 1.12.0 - provider: - name: Wipro - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/docker-service-kill - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/nodes/docker-service-kill/ - - name: Video - url: - - icon: - - base64data: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/docker-service-kill/experiment.yaml diff --git a/charts/generic/docker-service-kill/engine.yaml b/charts/generic/docker-service-kill/engine.yaml deleted file mode 100644 index cfc1d1aea..000000000 --- a/charts/generic/docker-service-kill/engine.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - # It can be active/stop - engineState: 'active' - auxiliaryAppInfo: '' - chaosServiceAccount: docker-service-kill-sa - experiments: - - name: docker-service-kill - spec: - components: - # nodeSelector: - # # provide the node labels - # kubernetes.io/hostname: 'node02' - env: - - name: TOTAL_CHAOS_DURATION - value: '90' # in seconds - - - name: TARGET_NODE - value: '' \ No newline at end of file diff --git a/charts/generic/docker-service-kill/experiment.yaml b/charts/generic/docker-service-kill/experiment.yaml deleted file mode 100644 index dd4d44b24..000000000 --- a/charts/generic/docker-service-kill/experiment.yaml +++ /dev/null @@ -1,85 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kills the docker service on the application node to check the resiliency. -kind: ChaosExperiment -metadata: - name: docker-service-kill - labels: - name: docker-service-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name docker-service-kill - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '90' # in seconds - - # Period to wait before injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: LIB - value: 'litmus' - - - name: NODE_LABEL - value: '' - - # provide lib image - - name: LIB_IMAGE - value: 'ubuntu:16.04' - - # provide the target node name - - name: TARGET_NODE - value: '' - - labels: - name: docker-service-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/service-kill: "true" - app.kubernetes.io/version: 2.6.0 - diff --git a/charts/generic/docker-service-kill/rbac-psp.yaml b/charts/generic/docker-service-kill/rbac-psp.yaml deleted file mode 100644 index cc1c8a9fe..000000000 --- a/charts/generic/docker-service-kill/rbac-psp.yaml +++ /dev/null @@ -1,71 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: docker-service-kill-sa - namespace: default - labels: - name: docker-service-kill-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: docker-service-kill-sa - labels: - name: docker-service-kill-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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - # use litmus psp - - apiGroups: ["policy"] - resources: ["podsecuritypolicies"] - verbs: ["use"] - resourceNames: ["litmus"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: docker-service-kill-sa - labels: - name: docker-service-kill-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: docker-service-kill-sa -subjects: -- kind: ServiceAccount - name: docker-service-kill-sa - namespace: default diff --git a/charts/generic/docker-service-kill/rbac.yaml b/charts/generic/docker-service-kill/rbac.yaml deleted file mode 100644 index 1972a9762..000000000 --- a/charts/generic/docker-service-kill/rbac.yaml +++ /dev/null @@ -1,66 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: docker-service-kill-sa - namespace: default - labels: - name: docker-service-kill-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: docker-service-kill-sa - labels: - name: docker-service-kill-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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: docker-service-kill-sa - labels: - name: docker-service-kill-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: docker-service-kill-sa -subjects: -- kind: ServiceAccount - name: docker-service-kill-sa - namespace: default diff --git a/charts/generic/experiments.yaml b/charts/generic/experiments.yaml index df41ea596..b4e6796dd 100644 --- a/charts/generic/experiments.yaml +++ b/charts/generic/experiments.yaml @@ -1,104 +1,12 @@ ---- apiVersion: litmuschaos.io/v1alpha1 description: message: | - Taint the node where application pod is scheduled -kind: ChaosExperiment -metadata: - name: node-taint - labels: - name: node-taint - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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","pods/eviction"] - verbs: ["get","list","create"] - # ignore daemonsets while draining the node - - apiGroups: ["apps"] - resources: ["daemonsets"] - verbs: ["list","get","delete"] - # 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list","patch","update"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-taint - command: - - /bin/bash - env: - - - name: TARGET_NODE - value: '' - - - name: NODE_LABEL - value: '' - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Provide the LIB here - # Only litmus supported - - name: LIB - value: 'litmus' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # set taint label & effect - # key=value:effect or key:effect - - name: TAINTS - value: '' - - labels: - name: node-taint - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Give IO disk stress on a node belonging to a deployment + Kills the kubelet service on the application node to check the resiliency. kind: ChaosExperiment metadata: - name: node-io-stress + name: kubelet-service-kill labels: - name: node-io-stress + name: kubelet-service-kill app.kubernetes.io/part-of: litmus app.kubernetes.io/component: chaosexperiment app.kubernetes.io/version: 2.6.0 @@ -142,2727 +50,35 @@ spec: imagePullPolicy: Always args: - -c - - ./experiments -name node-io-stress + - ./experiments -name kubelet-service-kill command: - /bin/bash env: - + - name: TOTAL_CHAOS_DURATION - value: '120' - - ## specify the size as percentage of free space on the file system - ## default value 90 (in percentage) - - name: FILESYSTEM_UTILIZATION_PERCENTAGE - value: '10' - - ## we can specify the size in Gigabyte (Gb) also in place of percentage of free space - ## NOTE: for selecting this option FILESYSTEM_UTILIZATION_PERCENTAGE should be empty - - name: FILESYSTEM_UTILIZATION_BYTES - value: '' - - ## Number of core of CPU - - name: CPU - value: '1' - - ## Total number of workers default value is 4 - - name: NUMBER_OF_WORKERS - value: '4' - - ## Total number of vm workers - - name: VM_WORKERS - value: '1' - - ## enter the comma separated target nodes name - - name: TARGET_NODES - value: '' - - - name: NODE_LABEL - value: '' + value: '60' # in seconds # Period to wait before and after injection of chaos in sec - name: RAMP_TIME value: '' - # Provide the LIB here - # Only litmus supported - name: LIB value: 'litmus' - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## percentage of total nodes to target - - name: NODES_AFFECTED_PERC - value: '' - - ## it defines the sequence of chaos execution for multiple target nodes - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: node-io-stress - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - poweroff node -kind: ChaosExperiment -metadata: - name: node-poweroff - labels: - name: node-poweroff - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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: ["configmaps","secrets"] - 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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-restart - command: - - /bin/bash - env: - - name: SSH_USER - value: 'root' - - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: REBOOT_COMMAND - value: '-o ServerAliveInterval=1 -o ServerAliveCountMax=1 "sudo systemctl poweroff --force --force" ; true' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME + - name: NODE_LABEL value: '' - # PROVIDE THE LIB HERE - # ONLY LITMUS SUPPORTED - - name: LIB - value: 'litmus' - # provide lib image - name: LIB_IMAGE - value: "litmuschaos/go-runner:2.6.0" - - # ENTER THE TARGET NODE NAME + value: 'ubuntu:16.04' + + # provide the target node name - name: TARGET_NODE value: '' - - name: NODE_LABEL - value: '' - - # ENTER THE TARGET NODE IP - - name: TARGET_NODE_IP - value: '' - - labels: - name: node-poweroff - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: id-rsa - mountPath: /mnt/ - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Injects 100% network packet loss on pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-network-partition - labels: - name: pod-network-partition - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 configuring and monitor the experiment job by the chaos-runner pod - - apiGroups: ["batch"] - resources: ["jobs"] - verbs: ["create","list","get","delete","deletecollection"] - # performs CRUD operations on the network policies - - apiGroups: ["networking.k8s.io"] - resources: ["networkpolicies"] - verbs: ["create","delete","list","get"] - # 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-network-partition - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - # ime period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # it should be litmus - - name: LIB - value: 'litmus' - - # provide the destination ips - # chaos injection will be triggered for these destination ips - - name: DESTINATION_IPS - value: '' - - # provide the destination hosts - # chaos injection will be triggered for these destination hosts - - name: DESTINATION_HOSTS - value: '' - - # provide network policy type - # support ingress, egress, all values - - name: POLICY_TYPES - value: 'all' - - # provide labels of the destination pods - - name: POD_SELECTOR - value: '' - - # provide labels the destination namespaces - - name: NAMESPACE_SELECTOR - value: '' - - # provide comma separated ports - - name: PORTS - value: '' - labels: - name: pod-network-partition + name: kubelet-service-kill app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job + app.kubernetes.io/service-kill: "true" app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Injects cpu consumption on pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-cpu-hog-exec - labels: - name: pod-cpu-hog-exec - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-cpu-hog-exec - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - ## Number of CPU cores to stress - - name: CPU_CORES - value: '1' - - ## Percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - ## Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## env var that describes the library used to execute the chaos - ## default: litmus. Supported values: litmus - - name: LIB - value: 'litmus' - - # The command to kill the chaos process - - name: CHAOS_KILL_COMMAND - value: "kill $(find /proc -name exe -lname '*/md5sum' 2>&1 | grep -v 'Permission denied' | awk -F/ '{print $(NF-1)}')" - - - name: TARGET_PODS - value: '' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: pod-cpu-hog-exec - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Injects memory consumption on pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-memory-hog-exec - labels: - name: pod-memory-hog-exec - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-memory-hog-exec - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - ## enter the amount of memory in megabytes to be consumed by the application pod - - name: MEMORY_CONSUMPTION - value: '500' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - ## Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## env var that describes the library used to execute the chaos - ## default: litmus. Supported values: litmus - - name: LIB - value: 'litmus' - - # The command to kill the chaos process - - name: CHAOS_KILL_COMMAND - value: "kill $(find /proc -name exe -lname '*/dd' 2>&1 | grep -v 'Permission denied' | awk -F/ '{print $(NF-1)}' | head -n 1)" - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - - name: TARGET_PODS - value: '' - - labels: - name: pod-memory-hog-exec - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Drain the node where application pod is scheduled -kind: ChaosExperiment -metadata: - name: node-drain - labels: - name: node-drain - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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","pods/eviction"] - verbs: ["get","list","create"] - # ignore daemonsets while draining the node - - apiGroups: ["apps"] - resources: ["daemonsets"] - verbs: ["list","get","delete"] - # 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list","patch"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-drain - command: - - /bin/bash - env: - - - name: TARGET_NODE - value: '' - - - name: NODE_LABEL - value: '' - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Provide the LIB here - # Only litmus supported - - name: LIB - value: 'litmus' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - labels: - name: node-drain - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Give a cpu spike on a node belonging to a deployment -kind: ChaosExperiment -metadata: - name: node-cpu-hog - labels: - name: node-cpu-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-cpu-hog - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## ENTER THE NUMBER OF CORES OF CPU FOR CPU HOGGING - ## OPTIONAL VALUE IN CASE OF EMPTY VALUE IT WILL TAKE NODE CPU CAPACITY - - name: NODE_CPU_CORE - value: '' - - ## LOAD CPU WITH GIVEN PERCENT LOADING FOR THE CPU STRESS WORKERS. - ## 0 IS EFFECTIVELY A SLEEP (NO LOAD) AND 100 IS FULL LOADING - - name: CPU_LOAD - value: '100' - - # ENTER THE COMMA SEPARATED TARGET NODES NAME - - name: TARGET_NODES - value: '' - - - name: NODE_LABEL - value: '' - - # PROVIDE THE LIB HERE - # ONLY LITMUS SUPPORTED - - name: LIB - value: 'litmus' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## percentage of total nodes to target - - name: NODES_AFFECTED_PERC - value: '' - - ## it defines the sequence of chaos execution for multiple target nodes - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: node-cpu-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Injects network packet loss on pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-network-loss - labels: - name: pod-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-network-loss - command: - - /bin/bash - env: - - - name: TARGET_CONTAINER - value: '' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - - name: NETWORK_INTERFACE - value: 'eth0' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' #in PERCENTAGE - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - # ime period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # it can be litmus or pumba - - name: LIB - value: 'litmus' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: TARGET_PODS - value: '' - - # provide the name of container runtime - # for litmus LIB, it supports docker, containerd, crio - # for pumba LIB, it supports docker only - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the destination ips - # chaos injection will be triggered for these destination ips - - name: DESTINATION_IPS - value: '' - - # provide the destination hosts - # chaos injection will be triggered for these destination hosts - - name: DESTINATION_HOSTS - value: '' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: pod-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Restart node -kind: ChaosExperiment -metadata: - name: node-restart - labels: - name: node-restart - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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: ["configmaps","secrets"] - 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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-restart - command: - - /bin/bash - env: - - name: SSH_USER - value: 'root' - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # PROVIDE THE LIB HERE - # ONLY LITMUS SUPPORTED - - name: LIB - value: 'litmus' - - # provide lib image - - name: LIB_IMAGE - value: "litmuschaos/go-runner:2.6.0" - - # ENTER THE TARGET NODE NAME - - name: TARGET_NODE - value: '' - - - name: NODE_LABEL - value: '' - - # ENTER THE TARGET NODE IP - - name: TARGET_NODE_IP - value: '' - - labels: - name: node-restart - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: id-rsa - mountPath: /mnt/ - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - IO stress on a app pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-io-stress - labels: - name: pod-io-stress - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-io-stress - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '120' - - ## specify the size as percentage of free space on the file system - ## default value 90 (in percentage) - - name: FILESYSTEM_UTILIZATION_PERCENTAGE - value: '10' - - ## we can specify the size in Gigabyte (Gb) also in place of percentage of free space - ## NOTE: for selecting this option FILESYSTEM_UTILIZATION_PERCENTAGE should be empty - - name: FILESYSTEM_UTILIZATION_BYTES - value: '' - - ## Total number of workers default value is 4 - - name: NUMBER_OF_WORKERS - value: '4' - - ## Percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - # provide volume mount path - - name: VOLUME_MOUNT_PATH - value: '' - - ## specify the comma separated target pods - - name: TARGET_PODS - value: '' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # Provide the LIB here - # support litmus and pumba - - name: LIB - value: 'litmus' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## provide the cluster runtime - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: pod-io-stress - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Give a memory hog on a node belonging to a deployment -kind: ChaosExperiment -metadata: - name: node-memory-hog - labels: - name: node-memory-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-memory-hog - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '120' - - ## Specify the size as percent of total node capacity Ex: '30' - ## NOTE: for selecting this option keep MEMORY_CONSUMPTION_MEBIBYTES empty - - name: MEMORY_CONSUMPTION_PERCENTAGE - value: '' - - ## Specify the amount of memory to be consumed in mebibytes - ## NOTE: for selecting this option keep MEMORY_CONSUMPTION_PERCENTAGE empty - - name: MEMORY_CONSUMPTION_MEBIBYTES - value: '' - - - name: NUMBER_OF_WORKERS - value: '1' - - # ENTER THE COMMA SEPARATED TARGET NODES NAME - - name: TARGET_NODES - value: '' - - - name: NODE_LABEL - value: '' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # Provide the LIB here - # Only litmus supported - - name: LIB - value: 'litmus' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## percentage of total nodes to target - - name: NODES_AFFECTED_PERC - value: '' - - ## it defines the sequence of chaos execution for multiple target nodes - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: node-memory-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Fillup Ephemeral Storage of a Resource -kind: ChaosExperiment -metadata: - name: disk-fill - labels: - name: disk-fill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name disk-fill - command: - - /bin/bash - env: - - - name: TARGET_CONTAINER - value: '' - - - name: FILL_PERCENTAGE - value: '80' - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # Provide the LIB here - # Only litmus supported - - name: LIB - value: 'litmus' - - # provide the data block size - # supported unit is KB - - name: DATA_BLOCK_SIZE - value: '256' - - - name: TARGET_PODS - value: '' - - - name: EPHEMERAL_STORAGE_MEBIBYTES - value: '' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - # Provide the container runtime path - # Default set to docker container path - - name: CONTAINER_PATH - value: '/var/lib/docker/containers' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: disk-fill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/host-path-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kills the kubelet service on the application node to check the resiliency. -kind: ChaosExperiment -metadata: - name: kubelet-service-kill - labels: - name: kubelet-service-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name kubelet-service-kill - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: LIB - value: 'litmus' - - - name: NODE_LABEL - value: '' - - # provide lib image - - name: LIB_IMAGE - value: 'ubuntu:16.04' - - # provide the target node name - - name: TARGET_NODE - value: '' - - labels: - name: kubelet-service-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/service-kill: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Scale the application replicas and test the node autoscaling on cluster -kind: ChaosExperiment -metadata: - name: pod-autoscaler - labels: - name: pod-autoscaler - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # performs CRUD operations on the deployments and statefulsets - - apiGroups: ["apps"] - resources: ["deployments","statefulsets"] - verbs: ["list","get","patch","update"] - # 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-autoscaler - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # Number of replicas to scale - - name: REPLICA_COUNT - value: '5' - - # PROVIDE THE LIB HERE - # ONLY LITMUS SUPPORTED - - name: LIB - value: 'litmus' - - labels: - name: pod-autoscaler - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Pod DNS Error injects dns failure/error in target pod containers -kind: ChaosExperiment -metadata: - name: pod-dns-error - labels: - name: pod-dns-error - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - args: - - -c - - ./experiments -name pod-dns-error - command: - - /bin/bash - env: - - name: TARGET_CONTAINER - value: "" - - # provide lib image - - name: LIB_IMAGE - value: "litmuschaos/go-runner:2.6.0" - - - name: TOTAL_CHAOS_DURATION - value: "60" # in seconds - - # Time period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: "" - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: "" - - - name: TARGET_PODS - value: "" - - # provide the name of container runtime, it supports docker, containerd, crio - - name: CONTAINER_RUNTIME - value: "docker" - - # provide the socket file path - - name: SOCKET_PATH - value: "/var/run/docker.sock" - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: "parallel" - - # list of the target hostnames or kewywords eg. '["litmuschaos","chaosnative.io"]' . If empty all hostnames are targets - - name: TARGET_HOSTNAMES - value: "" - - # can be either exact or substring, determines whether the dns query has to match exactly with one of the targets or can have any of the targets as substring - - name: MATCH_SCHEME - value: "exact" - - labels: - experiment: pod-dns-error - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset -kind: ChaosExperiment -metadata: - name: k8-pod-delete - labels: - name: k8-pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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/py-runner:2.6.0" - args: - - -c - - python /litmus/byoc/chaostest/chaostest/kubernetes/k8_wrapper.py; exit 0 - command: - - /bin/bash - env: - - name: CHAOSTOOLKIT_IN_POD - value: 'true' - - - name: FILE - value: 'pod-app-kill-count.json' - - - name: NAME_SPACE - value: '' - - - name: LABEL_NAME - value: '' - - - name: APP_ENDPOINT - value: '' - - - name: PERCENTAGE - value: '50' - - - name: REPORT - value: 'true' - - - name: REPORT_ENDPOINT - value: 'none' - - - name: TEST_NAMESPACE - value: 'default' - - - labels: - name: k8-pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Injects network latency on pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-network-latency - labels: - name: pod-network-latency - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-network-latency - command: - - /bin/bash - env: - - - name: TARGET_CONTAINER - value: '' - - - name: NETWORK_INTERFACE - value: 'eth0' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - - name: NETWORK_LATENCY - value: '2000' #in ms - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - # Time period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: JITTER - value: '0' - - # lib can be litmus or pumba - - name: LIB - value: 'litmus' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: TARGET_PODS - value: '' - - # provide the name of container runtime - # for litmus LIB, it supports docker, containerd, crio - # for pumba LIB, it supports docker only - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the destination ips - # chaos injection will be triggered for these destination ips - - name: DESTINATION_IPS - value: '' - - # provide the destination hosts - # chaos injection will be triggered for these destination hosts - - name: DESTINATION_HOSTS - value: '' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: pod-network-latency - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Inject network packet corruption into application pod -kind: ChaosExperiment -metadata: - name: pod-network-corruption - labels: - name: pod-network-corruption - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-network-corruption - command: - - /bin/bash - env: - - - name: TARGET_CONTAINER - value: '' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - - name: NETWORK_INTERFACE - value: 'eth0' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - - name: NETWORK_PACKET_CORRUPTION_PERCENTAGE - value: '100' #in PERCENTAGE - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - # Time period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # lib can be litmus or pumba - - name: LIB - value: 'litmus' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: TARGET_PODS - value: '' - - # provide the name of container runtime - # for litmus LIB, it supports docker, containerd, crio - # for pumba LIB, it supports docker only - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the destination ips - # chaos injection will be triggered for these destination ips - - name: DESTINATION_IPS - value: '' - - # provide the destination hosts - # chaos injection will be triggered for these destination hosts - - name: DESTINATION_HOSTS - value: '' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: pod-network-corruption - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Injects cpu consumption on pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-cpu-hog - labels: - name: pod-cpu-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-cpu-hog - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - ## Number of CPU cores to stress - - name: CPU_CORES - value: '1' - - ## LOAD CPU WITH GIVEN PERCENT LOADING FOR THE CPU STRESS WORKERS. - ## 0 IS EFFECTIVELY A SLEEP (NO LOAD) AND 100 IS FULL LOADING - - name: CPU_LOAD - value: '100' - - ## Percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - ## Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## env var that describes the library used to execute the chaos - ## default: litmus. Supported values: litmus, pumba - - name: LIB - value: 'litmus' - - ## It is used in pumba lib only - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## It is used in pumba lib only - - name: STRESS_IMAGE - value: 'alexeiled/stress-ng:latest-ubuntu' - - ## provide the cluster runtime - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - - name: TARGET_PODS - value: '' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: pod-cpu-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Injects network packet duplication on pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-network-duplication - labels: - name: pod-network-duplication - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-network-duplication - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: RAMP_TIME - value: '' - - - name: TARGET_CONTAINER - value: '' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - - name: NETWORK_INTERFACE - value: 'eth0' - - - name: NETWORK_PACKET_DUPLICATION_PERCENTAGE - value: '100' # in percentage - - # lib can be litmus or pumba - - name: LIB - value: 'litmus' - - - name: TARGET_PODS - value: '' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - # provide the name of container runtime - # for litmus LIB, it supports docker, containerd, crio - # for pumba LIB, it supports docker only - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the destination ips - # chaos injection will be triggered for these destination ips - - name: DESTINATION_IPS - value: '' - - # provide the destination hosts - # chaos injection will be triggered for these destination hosts - - name: DESTINATION_HOSTS - value: '' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: pod-network-duplication - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kills the docker service on the application node to check the resiliency. -kind: ChaosExperiment -metadata: - name: docker-service-kill - labels: - name: docker-service-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name docker-service-kill - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '90' # in seconds - - # Period to wait before injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: LIB - value: 'litmus' - - - name: NODE_LABEL - value: '' - - # provide lib image - - name: LIB_IMAGE - value: 'ubuntu:16.04' - - # provide the target node name - - name: TARGET_NODE - value: '' - - labels: - name: docker-service-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/service-kill: "true" - app.kubernetes.io/version: 2.6.0 - - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset -kind: ChaosExperiment -metadata: - name: pod-delete - labels: - name: pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-delete - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '15' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: FORCE - value: 'true' - - - name: CHAOS_INTERVAL - value: '5' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: LIB - value: 'litmus' - - - name: TARGET_PODS - value: '' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: pod-delete - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Pod DNS Spoof can spoof particular dns requests in target pod container to desired target hostnames -kind: ChaosExperiment -metadata: - name: pod-dns-spoof - labels: - name: pod-dns-spoof - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - args: - - -c - - ./experiments -name pod-dns-spoof - command: - - /bin/bash - env: - - name: TARGET_CONTAINER - value: "" - - # provide lib image - - name: LIB_IMAGE - value: "litmuschaos/go-runner:2.6.0" - - - name: TOTAL_CHAOS_DURATION - value: "60" # in seconds - - # Time period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: "" - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: "" - - - name: TARGET_PODS - value: "" - - # provide the name of container runtime, it supports docker, containerd, crio - - name: CONTAINER_RUNTIME - value: "docker" - - # provide the socket file path - - name: SOCKET_PATH - value: "/var/run/docker.sock" - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: "parallel" - - # map of the target hostnames eg. '{"abc.com":"spoofabc.com"}' . If empty no queries will be spoofed - - name: SPOOF_MAP - value: "" - - labels: - experiment: pod-dns-spoof - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Injects memory consumption on pods belonging to an app deployment -kind: ChaosExperiment -metadata: - name: pod-memory-hog - labels: - name: pod-memory-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-memory-hog - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - ## enter the amount of memory in megabytes to be consumed by the application pod - - name: MEMORY_CONSUMPTION - value: '500' - - ## Number of workers to perform stress - - name: NUMBER_OF_WORKERS - value: '1' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - ## Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## env var that describes the library used to execute the chaos - ## default: litmus. Supported values: litmus, pumba - - name: LIB - value: 'litmus' - - ## It is used in pumba lib only - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## It is used in pumba lib only - - name: STRESS_IMAGE - value: 'alexeiled/stress-ng:latest-ubuntu' - - ## provide the cluster runtime - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - - name: TARGET_PODS - value: '' - - labels: - name: pod-memory-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: "Kills a container belonging to an application pod \n" -kind: ChaosExperiment -metadata: - name: container-kill - labels: - name: container-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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"] - # Fetch configmaps details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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"] - # deriving the parent/owner details of the pod(if parent is anyof {deployment, statefulset, daemonsets}) - - apiGroups: ["apps"] - resources: ["deployments","statefulsets","replicasets", "daemonsets"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: ["apps.openshift.io"] - resources: ["deploymentconfigs"] - verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) - - apiGroups: [""] - resources: ["replicationcontrollers"] - verbs: ["get","list"] - # deriving the parent/owner details of the pod(if parent is argo-rollouts) - - apiGroups: ["argoproj.io"] - resources: ["rollouts"] - 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name container-kill - command: - - /bin/bash - env: - - - name: TARGET_CONTAINER - value: '' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # lib can be litmus or pumba - - name: LIB - value: 'litmus' - - - name: TARGET_PODS - value: '' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - - name: SIGNAL - value: 'SIGKILL' - - # provide the socket file path - - name: SOCKET_PATH - value: '/var/run/docker.sock' - - # provide the name of container runtime - # for litmus LIB, it supports docker, containerd, crio - # for pumba LIB, it supports docker only - - name: CONTAINER_RUNTIME - value: 'docker' - - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## it defines the sequence of chaos execution for multiple target pods - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: container-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/runtime-api-usage: "true" - app.kubernetes.io/version: 2.6.0 - ---- diff --git a/charts/generic/generic.chartserviceversion.yaml b/charts/generic/generic.chartserviceversion.yaml index c555e3aed..ede949cca 100644 --- a/charts/generic/generic.chartserviceversion.yaml +++ b/charts/generic/generic.chartserviceversion.yaml @@ -13,31 +13,7 @@ spec: Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easier management and discovery. It will install all the experiments which can be used to inject chaos into containerized applications. experiments: - - pod-delete - - container-kill - - pod-cpu-hog - - pod-network-loss - - pod-network-latency - - pod-network-corruption - - node-drain - - node-cpu-hog - - disk-fill - - node-memory-hog - - pod-memory-hog - kubelet-service-kill - - pod-network-duplication - - node-taint - - docker-service-kill - - pod-autoscaler - - byoc-pod-delete - - node-io-stress - - pod-io-stress - - node-restart - - pod-dns-error - - pod-dns-spoof - - pod-cpu-hog-exec - - pod-memory-hog-exec - - pod-network-partition keywords: - Kubernetes - K8S diff --git a/charts/generic/node-cpu-hog/engine.yaml b/charts/generic/node-cpu-hog/engine.yaml deleted file mode 100644 index 19ff6efb0..000000000 --- a/charts/generic/node-cpu-hog/engine.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - # It can be active/stop - engineState: 'active' - #ex. values: ns1:name=percona,ns2:run=nginx - auxiliaryAppInfo: '' - chaosServiceAccount: node-cpu-hog-sa - experiments: - - name: node-cpu-hog - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: NODE_CPU_CORE - value: '' - - ## percentage of total nodes to target - - name: NODES_AFFECTED_PERC - value: '' - - # provide the comma separated target node names - - name: TARGET_NODES - value: '' diff --git a/charts/generic/node-cpu-hog/experiment.yaml b/charts/generic/node-cpu-hog/experiment.yaml deleted file mode 100644 index be7297304..000000000 --- a/charts/generic/node-cpu-hog/experiment.yaml +++ /dev/null @@ -1,104 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Give a cpu spike on a node belonging to a deployment -kind: ChaosExperiment -metadata: - name: node-cpu-hog - labels: - name: node-cpu-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-cpu-hog - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## ENTER THE NUMBER OF CORES OF CPU FOR CPU HOGGING - ## OPTIONAL VALUE IN CASE OF EMPTY VALUE IT WILL TAKE NODE CPU CAPACITY - - name: NODE_CPU_CORE - value: '' - - ## LOAD CPU WITH GIVEN PERCENT LOADING FOR THE CPU STRESS WORKERS. - ## 0 IS EFFECTIVELY A SLEEP (NO LOAD) AND 100 IS FULL LOADING - - name: CPU_LOAD - value: '100' - - # ENTER THE COMMA SEPARATED TARGET NODES NAME - - name: TARGET_NODES - value: '' - - - name: NODE_LABEL - value: '' - - # PROVIDE THE LIB HERE - # ONLY LITMUS SUPPORTED - - name: LIB - value: 'litmus' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:2.6.0' - - ## percentage of total nodes to target - - name: NODES_AFFECTED_PERC - value: '' - - ## it defines the sequence of chaos execution for multiple target nodes - ## supported values: serial, parallel - - name: SEQUENCE - value: 'parallel' - - labels: - name: node-cpu-hog - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 diff --git a/charts/generic/node-cpu-hog/node-cpu-hog.chartserviceversion.yaml b/charts/generic/node-cpu-hog/node-cpu-hog.chartserviceversion.yaml deleted file mode 100644 index ec0b1397f..000000000 --- a/charts/generic/node-cpu-hog/node-cpu-hog.chartserviceversion.yaml +++ /dev/null @@ -1,50 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-01-28T10:28:08Z - name: node-cpu-hog - version: 0.0.15 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: node-cpu-hog - categoryDescription: | - Node CPU hog contains chaos to disrupt the state of Kubernetes resources. Experiments can inject a CPU spike on a node where the application pod is scheduled. - - CPU hog on a particular node where the application deployment is available. - - After test, the recovery should be manual for the application pod and node in case they are not in an appropriate state. - keywords: - - Kubernetes - - K8S - - CPU - - Node - platforms: - - GKE - - EKS - - AKS - - Kind - - Rancher - - OpenShift(OKD) - maturity: alpha - chaosType: infra - 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: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/node-cpu-hog - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/nodes/node-cpu-hog/ - - name: Video - url: https://www.youtube.com/watch?v=jpJttftsZqA - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/node-cpu-hog/experiment.yaml diff --git a/charts/generic/node-cpu-hog/rbac-psp.yaml b/charts/generic/node-cpu-hog/rbac-psp.yaml deleted file mode 100644 index 4ae8ce7bb..000000000 --- a/charts/generic/node-cpu-hog/rbac-psp.yaml +++ /dev/null @@ -1,71 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: node-cpu-hog-sa - namespace: default - labels: - name: node-cpu-hog-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: node-cpu-hog-sa - labels: - name: node-cpu-hog-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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - # use litmus psp - - apiGroups: ["policy"] - resources: ["podsecuritypolicies"] - verbs: ["use"] - resourceNames: ["litmus"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: node-cpu-hog-sa - labels: - name: node-cpu-hog-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: node-cpu-hog-sa -subjects: -- kind: ServiceAccount - name: node-cpu-hog-sa - namespace: default diff --git a/charts/generic/node-cpu-hog/rbac.yaml b/charts/generic/node-cpu-hog/rbac.yaml deleted file mode 100644 index 40e88cd40..000000000 --- a/charts/generic/node-cpu-hog/rbac.yaml +++ /dev/null @@ -1,66 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: node-cpu-hog-sa - namespace: default - labels: - name: node-cpu-hog-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: node-cpu-hog-sa - labels: - name: node-cpu-hog-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 details and mount it to the experiment pod (if specified) - - apiGroups: [""] - resources: ["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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: node-cpu-hog-sa - labels: - name: node-cpu-hog-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: node-cpu-hog-sa -subjects: -- kind: ServiceAccount - name: node-cpu-hog-sa - namespace: default diff --git a/charts/kafka/experiments.yaml b/charts/kafka/experiments.yaml deleted file mode 100644 index fc2c87015..000000000 --- a/charts/kafka/experiments.yaml +++ /dev/null @@ -1,249 +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: 2.6.0 -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:2.6.0" - 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: 2.6.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: 2.6.0 -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:2.6.0" - 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: 2.6.0 - secrets: - - name: kafka-broker-disk-failure - mountPath: /tmp/ - - ---- diff --git a/charts/kafka/icons/kafka-broker-disk-failure.png b/charts/kafka/icons/kafka-broker-disk-failure.png deleted file mode 100644 index 08321df6a..000000000 Binary files a/charts/kafka/icons/kafka-broker-disk-failure.png and /dev/null differ diff --git a/charts/kafka/icons/kafka-broker-pod-failure.png b/charts/kafka/icons/kafka-broker-pod-failure.png deleted file mode 100644 index 08321df6a..000000000 Binary files a/charts/kafka/icons/kafka-broker-pod-failure.png and /dev/null differ diff --git a/charts/kafka/icons/kafka.png b/charts/kafka/icons/kafka.png deleted file mode 100644 index 08321df6a..000000000 Binary files a/charts/kafka/icons/kafka.png and /dev/null differ diff --git a/charts/kafka/kafka-broker-disk-failure/engine.yaml b/charts/kafka/kafka-broker-disk-failure/engine.yaml deleted file mode 100644 index 56b1690aa..000000000 --- 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 f0f9266ea..000000000 --- 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: 2.6.0 -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:2.6.0" - 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: 2.6.0 - 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 adc54db0b..000000000 --- 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: 2.6.0 - 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 6d685b792..000000000 --- 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 5a8b30571..000000000 --- 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 be84b4826..000000000 --- a/charts/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: 2.6.0 -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:2.6.0" - 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: 2.6.0 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 2c99b0a0b..000000000 --- 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: 2.6.0 - 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 64fd1db25..000000000 --- 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 ddf1affca..000000000 --- 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 e4c401d1e..000000000 --- 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/charts/kube-aws/ebs-loss-by-id/ebs-loss-by-id.chartserviceversion.yaml b/charts/kube-aws/ebs-loss-by-id/ebs-loss-by-id.chartserviceversion.yaml deleted file mode 100644 index e72878dd8..000000000 --- a/charts/kube-aws/ebs-loss-by-id/ebs-loss-by-id.chartserviceversion.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2020-10-28T10:28:08Z - name: ebs-loss-by-id - version: 0.1.0 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: ebs-loss-by-id - categoryDescription: | - EBS Loss By ID contains chaos to disrupt state of infra resources. The experiment can induce ebs volume loss against specified application for the give EBS Volume(s). - - Causes ebs volume loss from node or ec2 instance for a certain chaos interval from total chaos duration. - - Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the application pod - keywords: - - EBS - - Volume - - AWS - platforms: - - AWS - maturity: alpha - chaosType: infra - maintainers: - - name: Udit Gaurav - email: uditgaurav@mayadata.io - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/kube-aws/ebs-loss-by-id - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/aws/ebs-loss-by-id/ - - name: Video - url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kube-aws/ebs-loss-by-id/experiment.yaml diff --git a/charts/kube-aws/ebs-loss-by-id/engine.yaml b/charts/kube-aws/ebs-loss-by-id/engine.yaml deleted file mode 100644 index cdb30105a..000000000 --- a/charts/kube-aws/ebs-loss-by-id/engine.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - engineState: 'active' - chaosServiceAccount: ebs-loss-by-id-sa - experiments: - - name: ebs-loss-by-id - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos duration (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - # set target ebs volume ID - - name: EBS_VOLUME_ID - value: '' - - # provide the region name of the instance - - name: REGION - value: '' diff --git a/charts/kube-aws/ebs-loss-by-id/experiment.yaml b/charts/kube-aws/ebs-loss-by-id/experiment.yaml deleted file mode 100644 index 70520fd00..000000000 --- a/charts/kube-aws/ebs-loss-by-id/experiment.yaml +++ /dev/null @@ -1,88 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Detaching an ebs volume from ec2 instance. -kind: ChaosExperiment -metadata: - name: ebs-loss-by-id - labels: - name: ebs-loss-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name ebs-loss-by-id - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: EBS_VOLUME_ID - value: '' - - - name: REGION - value: '' - - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: ebs-loss-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/kube-aws/ebs-loss-by-id/rbac.yaml b/charts/kube-aws/ebs-loss-by-id/rbac.yaml deleted file mode 100644 index 52a1c57b4..000000000 --- a/charts/kube-aws/ebs-loss-by-id/rbac.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: ebs-loss-by-id-sa - namespace: default - labels: - name: ebs-loss-by-id-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: ebs-loss-by-id-sa - labels: - name: ebs-loss-by-id-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 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: ebs-loss-by-id-sa - labels: - name: ebs-loss-by-id-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: ebs-loss-by-id-sa -subjects: -- kind: ServiceAccount - name: ebs-loss-by-id-sa - namespace: default diff --git a/charts/kube-aws/ebs-loss-by-tag/ebs-loss-by-tag.chartserviceversion.yaml b/charts/kube-aws/ebs-loss-by-tag/ebs-loss-by-tag.chartserviceversion.yaml deleted file mode 100644 index 54b19ddc6..000000000 --- a/charts/kube-aws/ebs-loss-by-tag/ebs-loss-by-tag.chartserviceversion.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-05-15T10:28:08Z - name: ebs-loss-by-tag - version: 0.1.0 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: ebs-loss-by-tag - categoryDescription: | - EBS Loss By Tag contains chaos to disrupt state of infra resources. The experiment can induce ebs volume loss against specified application for given volume tag. - - Causes ebs volume loss by tag from node or ec2 instance for certain chaos interval from total chaos duration. - - Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the application pod - keywords: - - EBS - - Volume - - AWS - platforms: - - AWS - maturity: alpha - chaosType: infra - maintainers: - - name: Udit Gaurav - email: uditgaurav@mayadata.io - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/kube-aws/ebs-loss-by-tag - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/aws/ebs-loss-by-tag/ - - name: Video - url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kube-aws/ebs-loss-by-tag/experiment.yaml diff --git a/charts/kube-aws/ebs-loss-by-tag/engine.yaml b/charts/kube-aws/ebs-loss-by-tag/engine.yaml deleted file mode 100644 index a9212ef24..000000000 --- a/charts/kube-aws/ebs-loss-by-tag/engine.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - engineState: 'active' - chaosServiceAccount: ebs-loss-by-tag-sa - experiments: - - name: ebs-loss-by-tag - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # provide EBS volume tag attached to the given instance - # it'll be in form of key:value (ex: 'team:devops') - - name: EBS_VOLUME_TAG - value: '' - - # provide the region name of the instance - - name: REGION - value: '' - - - name: VOLUME_AFFECTED_PERC - value: '' - \ No newline at end of file diff --git a/charts/kube-aws/ebs-loss-by-tag/experiment.yaml b/charts/kube-aws/ebs-loss-by-tag/experiment.yaml deleted file mode 100644 index a6bb1d97e..000000000 --- a/charts/kube-aws/ebs-loss-by-tag/experiment.yaml +++ /dev/null @@ -1,90 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Detaching an ebs volume from ec2 instance. -kind: ChaosExperiment -metadata: - name: ebs-loss-by-tag - labels: - name: ebs-loss-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name ebs-loss-by-tag - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - - name: RAMP_TIME - value: '' - - - name: EBS_VOLUME_TAG - value: '' - - - name: REGION - value: '' - - - name: SEQUENCE - value: 'parallel' - - - name: VOLUME_AFFECTED_PERC - value: '' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: ebs-loss-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/kube-aws/ebs-loss-by-tag/rbac.yaml b/charts/kube-aws/ebs-loss-by-tag/rbac.yaml deleted file mode 100644 index 52ad320c2..000000000 --- a/charts/kube-aws/ebs-loss-by-tag/rbac.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: ebs-loss-by-tag-sa - namespace: default - labels: - name: ebs-loss-by-tag-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: ebs-loss-by-tag-sa - labels: - name: ebs-loss-by-tag-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 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: ebs-loss-by-tag-sa - labels: - name: ebs-loss-by-tag-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: ebs-loss-by-tag-sa -subjects: -- kind: ServiceAccount - name: ebs-loss-by-tag-sa - namespace: default diff --git a/charts/kube-aws/ec2-terminate-by-id/ec2-terminate-by-id.chartserviceversion.yaml b/charts/kube-aws/ec2-terminate-by-id/ec2-terminate-by-id.chartserviceversion.yaml deleted file mode 100644 index 5638c525b..000000000 --- a/charts/kube-aws/ec2-terminate-by-id/ec2-terminate-by-id.chartserviceversion.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2020-10-28T10:28:08Z - name: ec2-terminate-by-id - version: 0.1.0 - annotations: - categories: Kubernetes - vendor: Mayadata - support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN -spec: - displayName: ec2-terminate-by-id - categoryDescription: | - This experiment causes termination of an EC2 instance for a certain chaos duration. - - Causes termination of an EC2 instance provided by instance ID before bringing it back to running state after the specified chaos duration. - - It helps to check the performance of the application on the ec2 instance. - keywords: - - EC2 - - AWS - platforms: - - AWS - maturity: alpha - chaosType: infra - maintainers: - - name: Udit Gaurav - email: uditgaurav@mayadata.io - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/kube-aws/ec2-terminate-by-id - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/aws/ec2-terminate-by-id/ - - name: Video - url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kube-aws/ec2-terminate-by-id/experiment.yaml diff --git a/charts/kube-aws/ec2-terminate-by-id/engine.yaml b/charts/kube-aws/ec2-terminate-by-id/engine.yaml deleted file mode 100644 index efceae8c9..000000000 --- a/charts/kube-aws/ec2-terminate-by-id/engine.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - engineState: 'active' - chaosServiceAccount: ec2-terminate-by-id-sa - experiments: - - name: ec2-terminate-by-id - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set interval duration (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - # Instance ID of the target ec2 instance - # Multiple IDs can also be provided as comma separated values ex: id1,id2 - - name: EC2_INSTANCE_ID - value: '' - - # provide the region name of the instance - - name: REGION - value: '' - - # enable it if the target instance is a part of self-managed nodegroup. - - name: MANAGED_NODEGROUP - value: 'disable' \ No newline at end of file diff --git a/charts/kube-aws/ec2-terminate-by-id/experiment.yaml b/charts/kube-aws/ec2-terminate-by-id/experiment.yaml deleted file mode 100644 index 5ef029e32..000000000 --- a/charts/kube-aws/ec2-terminate-by-id/experiment.yaml +++ /dev/null @@ -1,98 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Stopping an EC2 instance identified by ID. -kind: ChaosExperiment -metadata: - name: ec2-terminate-by-id - labels: - name: ec2-terminate-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name ec2-terminate-by-id - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # enable it if the target instance is a part of self-managed nodegroup. - - name: MANAGED_NODEGROUP - value: 'disable' - - # Instance ID of the target ec2 instance - # Multiple IDs can also be provided as comma separated values ex: id1,id2 - - name: EC2_INSTANCE_ID - value: '' - - - name: REGION - value: '' - - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: ec2-terminate-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/kube-aws/ec2-terminate-by-id/rbac.yaml b/charts/kube-aws/ec2-terminate-by-id/rbac.yaml deleted file mode 100644 index 0f7fb1c04..000000000 --- a/charts/kube-aws/ec2-terminate-by-id/rbac.yaml +++ /dev/null @@ -1,66 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: ec2-terminate-by-id-sa - namespace: default - labels: - name: ec2-terminate-by-id-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: ec2-terminate-by-id-sa - labels: - name: ec2-terminate-by-id-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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: ec2-terminate-by-id-sa - labels: - name: ec2-terminate-by-id-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: ec2-terminate-by-id-sa -subjects: -- kind: ServiceAccount - name: ec2-terminate-by-id-sa - namespace: default \ No newline at end of file diff --git a/charts/kube-aws/ec2-terminate-by-tag/ec2-terminate-by-tag.chartserviceversion.yaml b/charts/kube-aws/ec2-terminate-by-tag/ec2-terminate-by-tag.chartserviceversion.yaml deleted file mode 100644 index 6e0079a1a..000000000 --- a/charts/kube-aws/ec2-terminate-by-tag/ec2-terminate-by-tag.chartserviceversion.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-04-15T10:28:08Z - name: ec2-terminate-by-tag - version: 0.1.0 - annotations: - categories: Kubernetes - vendor: Mayadata - support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN -spec: - displayName: ec2-terminate-by-tag - categoryDescription: | - This experiment causes termination of an EC2 instance for a certain chaos duration. - - Causes termination of an EC2 instance using instance tags before bringing it back to running state after the specified chaos duration. - - It helps to check the performance of the application on the ec2 instance. - keywords: - - EC2 - - AWS - platforms: - - AWS - maturity: alpha - chaosType: infra - maintainers: - - name: Udit Gaurav - email: uditgaurav@mayadata.io - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/kube-aws/ec2-terminate-by-tag - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/aws/ec2-terminate-by-tag/ - - name: Video - url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kube-aws/ec2-terminate-by-tag/experiment.yaml diff --git a/charts/kube-aws/ec2-terminate-by-tag/engine.yaml b/charts/kube-aws/ec2-terminate-by-tag/engine.yaml deleted file mode 100644 index 6ed309da6..000000000 --- a/charts/kube-aws/ec2-terminate-by-tag/engine.yaml +++ /dev/null @@ -1,37 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nginx-chaos - namespace: default -spec: - engineState: 'active' - chaosServiceAccount: ec2-terminate-by-tag-sa - experiments: - - name: ec2-terminate-by-tag - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set interval duration (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - # Instance Tag of the target ec2 instances - # ex: team:devops (key:value) - - name: INSTANCE_TAG - value: '' - - # provide the region name of the instance - - name: REGION - value: '' - - # enable it if the target instance is a part of self-managed nodegroup. - - name: MANAGED_NODEGROUP - value: 'disable' - - # Target the percentage of instance filtered from tag - - name: INSTANCE_AFFECTED_PERC - value: '' diff --git a/charts/kube-aws/ec2-terminate-by-tag/experiment.yaml b/charts/kube-aws/ec2-terminate-by-tag/experiment.yaml deleted file mode 100644 index 78a40d8e3..000000000 --- a/charts/kube-aws/ec2-terminate-by-tag/experiment.yaml +++ /dev/null @@ -1,100 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Stopping an EC2 instance identified by tag. -kind: ChaosExperiment -metadata: - name: ec2-terminate-by-tag - labels: - name: ec2-terminate-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name ec2-terminate-by-tag - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: INSTANCE_TAG - value: '' - - # enable it if the target instance is a part of self-managed nodegroup. - - name: MANAGED_NODEGROUP - value: 'disable' - - - name: REGION - value: '' - - # Target the percentage of instance filtered from tag - - name: INSTANCE_AFFECTED_PERC - value: '' - - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: ec2-terminate-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/kube-aws/ec2-terminate-by-tag/rbac.yaml b/charts/kube-aws/ec2-terminate-by-tag/rbac.yaml deleted file mode 100644 index e03101d0f..000000000 --- a/charts/kube-aws/ec2-terminate-by-tag/rbac.yaml +++ /dev/null @@ -1,66 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: ec2-terminate-by-tag-sa - namespace: default - labels: - name: ec2-terminate-by-tag-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: ec2-terminate-by-tag-sa - labels: - name: ec2-terminate-by-tag-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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: ec2-terminate-by-tag-sa - labels: - name: ec2-terminate-by-tag-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: ec2-terminate-by-tag-sa -subjects: -- kind: ServiceAccount - name: ec2-terminate-by-tag-sa - namespace: default \ No newline at end of file diff --git a/charts/kube-aws/experiments.yaml b/charts/kube-aws/experiments.yaml deleted file mode 100644 index 6d6b3a178..000000000 --- a/charts/kube-aws/experiments.yaml +++ /dev/null @@ -1,384 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Detaching an ebs volume from ec2 instance. -kind: ChaosExperiment -metadata: - name: ebs-loss-by-id - labels: - name: ebs-loss-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name ebs-loss-by-id - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: EBS_VOLUME_ID - value: '' - - - name: REGION - value: '' - - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: ebs-loss-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Stopping an EC2 instance identified by ID. -kind: ChaosExperiment -metadata: - name: ec2-terminate-by-id - labels: - name: ec2-terminate-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name ec2-terminate-by-id - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # enable it if the target instance is a part of self-managed nodegroup. - - name: MANAGED_NODEGROUP - value: 'disable' - - # Instance ID of the target ec2 instance - # Multiple IDs can also be provided as comma separated values ex: id1,id2 - - name: EC2_INSTANCE_ID - value: '' - - - name: REGION - value: '' - - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: ec2-terminate-by-id - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Stopping an EC2 instance identified by tag. -kind: ChaosExperiment -metadata: - name: ec2-terminate-by-tag - labels: - name: ec2-terminate-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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"] - # for experiment to perform node status checks - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] - image: "litmuschaos/go-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name ec2-terminate-by-tag - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: INSTANCE_TAG - value: '' - - # enable it if the target instance is a part of self-managed nodegroup. - - name: MANAGED_NODEGROUP - value: 'disable' - - - name: REGION - value: '' - - # Target the percentage of instance filtered from tag - - name: INSTANCE_AFFECTED_PERC - value: '' - - - name: SEQUENCE - value: 'parallel' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: ec2-terminate-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Detaching an ebs volume from ec2 instance. -kind: ChaosExperiment -metadata: - name: ebs-loss-by-tag - labels: - name: ebs-loss-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - imagePullPolicy: Always - args: - - -c - - ./experiments -name ebs-loss-by-tag - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '30' - - - name: RAMP_TIME - value: '' - - - name: EBS_VOLUME_TAG - value: '' - - - name: REGION - value: '' - - - name: SEQUENCE - value: 'parallel' - - - name: VOLUME_AFFECTED_PERC - value: '' - - # Provide the path of aws credentials mounted from secret - - name: AWS_SHARED_CREDENTIALS_FILE - value: '/tmp/cloud_config.yml' - - # provide the LIB - # only litmus supported - - name: LIB - value: 'litmus' - - labels: - name: ebs-loss-by-tag - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- diff --git a/charts/kube-aws/icons/ebs-loss-by-id.png b/charts/kube-aws/icons/ebs-loss-by-id.png deleted file mode 100644 index fd09e34f6..000000000 Binary files a/charts/kube-aws/icons/ebs-loss-by-id.png and /dev/null differ diff --git a/charts/kube-aws/icons/ebs-loss-by-tag.png b/charts/kube-aws/icons/ebs-loss-by-tag.png deleted file mode 100644 index fd09e34f6..000000000 Binary files a/charts/kube-aws/icons/ebs-loss-by-tag.png and /dev/null differ diff --git a/charts/kube-aws/icons/ec2-terminate-by-id.png b/charts/kube-aws/icons/ec2-terminate-by-id.png deleted file mode 100644 index fd09e34f6..000000000 Binary files a/charts/kube-aws/icons/ec2-terminate-by-id.png and /dev/null differ diff --git a/charts/kube-aws/icons/ec2-terminate-by-tag.png b/charts/kube-aws/icons/ec2-terminate-by-tag.png deleted file mode 100644 index fd09e34f6..000000000 Binary files a/charts/kube-aws/icons/ec2-terminate-by-tag.png and /dev/null differ diff --git a/charts/kube-aws/icons/k8-aws-ec2-terminate.png b/charts/kube-aws/icons/k8-aws-ec2-terminate.png deleted file mode 100644 index cb5873703..000000000 Binary files a/charts/kube-aws/icons/k8-aws-ec2-terminate.png and /dev/null differ diff --git a/charts/kube-aws/icons/kube-aws.png b/charts/kube-aws/icons/kube-aws.png deleted file mode 100644 index fd09e34f6..000000000 Binary files a/charts/kube-aws/icons/kube-aws.png and /dev/null differ diff --git a/charts/kube-aws/kube-aws.chartserviceversion.yaml b/charts/kube-aws/kube-aws.chartserviceversion.yaml deleted file mode 100644 index a2e9bb7d8..000000000 --- a/charts/kube-aws/kube-aws.chartserviceversion.yaml +++ /dev/null @@ -1,38 +0,0 @@ -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: - - ec2-terminate-by-id - - ec2-terminate-by-tag - - ebs-loss-by-id - - ebs-loss-by-tag - keywords: - - AWS - - EC2 - - EBS - maintainers: - - name: ksatchit - email: karthik.s@mayadata.io - 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/ - icon: - - url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kube-aws/icons/kube-aws.png - mediatype: image/png - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kube-aws/experiments.yaml diff --git a/charts/kube-aws/kube-aws.package.yaml b/charts/kube-aws/kube-aws.package.yaml deleted file mode 100644 index 24f4cc054..000000000 --- a/charts/kube-aws/kube-aws.package.yaml +++ /dev/null @@ -1,14 +0,0 @@ -packageName: kube-aws -experiments: - - name: ec2-terminate-by-id - CSV: ec2-terminate-by-id.chartserviceversion.yaml - desc: "ec2-terminate-by-id" - - name: ec2-terminate-by-tag - CSV: ec2-terminate-by-tag.chartserviceversion.yaml - desc: "ec2-terminate-by-tag" - - name: ebs-loss-by-id - CSV: ebs-loss-by-id.chartserviceversion.yaml - desc: "ebs-loss-by-id" - - name: ebs-loss-by-tag - CSV: ebs-loss-by-tag.chartserviceversion.yaml - desc: "ebs-loss-by-tag" diff --git a/charts/kube-aws/rbac-admin.yaml b/charts/kube-aws/rbac-admin.yaml deleted file mode 100644 index f386c6c34..000000000 --- a/charts/kube-aws/rbac-admin.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: chaos-admin - labels: - name: chaos-admin ---- -apiVersion: rbac.authorization.k8s.io/v1 -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/v1 -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/longhorn/experiments.yaml b/charts/longhorn/experiments.yaml deleted file mode 100644 index e69de29bb..000000000 diff --git a/charts/longhorn/icons/longhorn.png b/charts/longhorn/icons/longhorn.png deleted file mode 100644 index d4fd9c11c..000000000 Binary files a/charts/longhorn/icons/longhorn.png and /dev/null differ diff --git a/charts/longhorn/longhorn.chartserviceversion.yaml b/charts/longhorn/longhorn.chartserviceversion.yaml deleted file mode 100644 index c1ae23b2e..000000000 --- a/charts/longhorn/longhorn.chartserviceversion.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2020-03-17T10:28:08Z - name: longhorn - version: 0.0.2 - annotations: - categories: longhorn - chartDescription: Injects chaos on longhorn components -spec: - displayName: Longhorn Chaos - categoryDescription: > - Longhorn is a distributed block storage system for Kubernetes - experiments: - keywords: - - Kubernetes - - Longhorn - maintainers: - - name: ksatchit - email: karthik.s@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - links: - - name: Longhorn - url: https://rancher.com/project-longhorn-now-available-kubernetes/ - - name: Documentation - url: https://docs.rancher.cn/longhorn/#current-status - icon: - - url: - mediatype: - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/longhorn/experiments.yaml diff --git a/charts/longhorn/longhorn.package.yaml b/charts/longhorn/longhorn.package.yaml deleted file mode 100644 index e37fbdbcd..000000000 --- a/charts/longhorn/longhorn.package.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packageName: longhorn -experiments: \ No newline at end of file diff --git a/charts/mongodb/experiments.yaml b/charts/mongodb/experiments.yaml deleted file mode 100644 index e69de29bb..000000000 diff --git a/charts/mongodb/icons/mongodb.png b/charts/mongodb/icons/mongodb.png deleted file mode 100644 index ab6378ff5..000000000 Binary files a/charts/mongodb/icons/mongodb.png and /dev/null differ diff --git a/charts/mongodb/mongodb.chartserviceversion.yaml b/charts/mongodb/mongodb.chartserviceversion.yaml deleted file mode 100644 index 2849aab79..000000000 --- a/charts/mongodb/mongodb.chartserviceversion.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2020-03-17T10:28:08Z - name: mongodb - version: 0.0.2 - annotations: - categories: mongodb - chartDescription: Injects chaos on mongodb components -spec: - displayName: MongoDB Chaos - categoryDescription: > - MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. - experiments: - keywords: - - Kubernetes - - MongoDB - maintainers: - - name: Sanjay1611 - email: sanjay.nathani@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - links: - - name: MongoDB Website - url: https://www.mongodb.com/ - icon: - - url: - mediatype: - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/mongodb/experiments.yaml diff --git a/charts/mongodb/mongodb.package.yaml b/charts/mongodb/mongodb.package.yaml deleted file mode 100644 index 1ad30e836..000000000 --- a/charts/mongodb/mongodb.package.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packageName: mongodb -experiments: diff --git a/charts/mysql/experiments.yaml b/charts/mysql/experiments.yaml deleted file mode 100644 index e69de29bb..000000000 diff --git a/charts/mysql/icons/mysql.png b/charts/mysql/icons/mysql.png deleted file mode 100644 index ee7382c82..000000000 Binary files a/charts/mysql/icons/mysql.png and /dev/null differ diff --git a/charts/mysql/mysql.chartserviceversion.yaml b/charts/mysql/mysql.chartserviceversion.yaml deleted file mode 100644 index 540382a68..000000000 --- a/charts/mysql/mysql.chartserviceversion.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2020-03-17T10:28:08Z - name: mysql - version: 0.0.2 - annotations: - categories: mysql - chartDescription: Injects chaos on mysql components -spec: - displayName: MySQL Chaos - categoryDescription: > - MySQL is an open-source relational database management system. - experiments: - keywords: - - Kubernetes - - MySQL - maintainers: - - name: atulabhi - email: atul.abhishek@openebs.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - links: - - name: mysql Website - url: https://www.mysql.com/ - icon: - - url: - mediatype: - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/mysql/experiments.yaml diff --git a/charts/mysql/mysql.package.yaml b/charts/mysql/mysql.package.yaml deleted file mode 100644 index d844b9abd..000000000 --- a/charts/mysql/mysql.package.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packageName: mysql -experiments: diff --git a/charts/openebs/experiments.yaml b/charts/openebs/experiments.yaml deleted file mode 100644 index 7ada716c6..000000000 --- a/charts/openebs/experiments.yaml +++ /dev/null @@ -1,1097 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Network loss to pool pod belonging to a OpenEBS PVC -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-network-loss -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "litmuschaos.io" - - "batch" - - "extensions" - - "storage.k8s.io" - - "openebs.io" - resources: - - "pods" - - "pods/log" - - "pods/exec" - - "events" - - "jobs" - - "configmaps" - - "services" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumeclaims" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - - "cstorpools" - - "cstorvolumereplicas" - - "replicasets" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-network-loss/openebs_pool_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' # in percentage - - - name: TOTAL_CHAOS_DURATION - value: '120' # in seconds - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-pool-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Network delay to pool pod belonging to a OpenEBS PVC - This experiment is using pumba lib for network chaos -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-network-delay - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-network-delay -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "litmuschaos.io" - - "batch" - - "extensions" - - "storage.k8s.io" - - "openebs.io" - resources: - - "pods" - - "pods/exec" - - "jobs" - - "pods/log" - - "events" - - "configmaps" - - "services" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - - "cstorpools" - - "cstorvolumereplicas" - - "replicasets" - verbs: - - "create" - - "get" - - "list" - - "patch" - - "update" - - "delete" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-network-delay/openebs_pool_network_delay_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - # in milliseconds - - name: NETWORK_DELAY - value: '60000' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-pool-network-delay - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Network delay to target pod belonging to a deployment/statefulset/daemonset -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-target-network-delay - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-target-network-delay -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "storage.k8s.io" - resources: - - "jobs" - - "pods" - - "services" - - "events" - - "pods/exec" - - "pods/log" - - "configmaps" - - "secrets" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-target-network-delay/openebs_target_network_delay_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - - name: NETWORK_DELAY - value: '60000' # in milliseconds - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-target-network-delay - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-target-network-delay - # mountPath: /mnt - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the pool pod and check if gets scheduled again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-pod-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-pod-failure -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "openebs.io" - - "storage.k8s.io" - resources: - - "deployments" - - "replicasets" - - "jobs" - - "pods/log" - - "events" - - "pods" - - "configmaps" - - "secrets" - - "storageclasses" - - "persistentvolumeclaims" - - "cstorvolumereplicas" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-pod-failure/openebs_pool_pod_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: default - - - name: OPENEBS_NS - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: CHAOS_ITERATIONS - value: '2' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-pool-pod-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-pool-pod-failure - # mountPath: /mnt - - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the OpenEBS NFS provisioner container and check if pods consuming the NFS PVs continue to be available and volumes are writable (RWM mode) -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-nfs-provisioner-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-nfs-provisioner-kill -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "litmuschaos.io" - - "batch" - - "extensions" - - "storage.k8s.io" - resources: - - "pods" - - "pods/exec" - - "pods/log" - - "deployments" - - "events" - - "jobs" - - "configmaps" - - "services" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosexperiments" - - "chaosresults" - - "chaosengines" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-nfs-provisioner-kill/openebs_nfs_provisioner_kill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - # NFS default container - - name: TARGET_CONTAINER - value: 'nfs-provisioner' - - # Period to wait before injection of chaos in sec - - name: RAMP_TIME - value: '' - - # It supports pumba and containerd - - name: LIB - value: 'pumba' - - # LIB_IMAGE can be - gaiaadm/pumba:0.6.5, gprasath/crictl:ci - # For pumba image use: gaiaadm/pumba:0.6.5 - # For containerd image use: gprasath/crictl:ci - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - labels: - name: openebs-nfs-provisioner-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - configmaps: - - name: openebs-nfs-provisioner-kill - mountPath: /mnt/ - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the cstor target/Jiva controller container and check if gets created again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-target-container-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-target-container-failure -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "batch" - - "litmuschaos.io" - - "storage.k8s.io" - resources: - - "jobs" - - "pods" - - "events" - - "pods/exec" - - "pods/log" - - "configmaps" - - "secrets" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "delete" - - "get" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-target-container-failure/openebs_target_container_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - - name: APP_PVC - value: '' - - # LIB_IMAGE can be - gaiaadm/pumba:0.6.5, gprasath/crictl:ci - # For pumba image use : gaiaadm/pumba:0.6.5 - # For containerd image use : gprasath/crictl:ci - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - # Specify the container runtime used , to pick the relevant chaos util - - name: CONTAINER_RUNTIME - value: 'docker' - - # TARGET_CONTAINER values: cstor-volume-mgmt , cstor-istgt - # For cstor-volume-istgt container kill use : cstor-istgt - # For volume-mgmt-kill container use : cstor-volume-mgmt - - - name: TARGET_CONTAINER - value: 'cstor-volume-mgmt' - - - name: FORCE - value: 'true' - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - - name: DEPLOY_TYPE - value: 'deployment' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - - name: SOAK_TIME - value: '60' - - labels: - name: openebs-target-container-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-target-container-failure - # mountPath: /mnt - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - OpenEBS Pool Disk Loss contains chaos to disrupt state of infra resources. Experiments can inject disk loss against openEBS pool. -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-disk-loss -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "litmuschaos.io" - - "batch" - - "extensions" - - "storage.k8s.io" - - "openebs.io" - resources: - - "pods" - - "jobs" - - "pods/log" - - "events" - - "pods/exec" - - "cstorpools" - - "configmaps" - - "secrets" - - "storageclasses" - - "persistentvolumes" - - "persistentvolumeclaims" - - "cstorvolumereplicas" - - "chaosexperiments" - - "chaosresults" - - "chaosengines" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-disk-loss/openebs_pool_disk_loss_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: '60' - - # Period to wait before injection of chaos in sec - - name: RAMP_TIME - value: '' - - # GKE and AWS supported - - name: CLOUD_PLATFORM - value: 'GKE' - - - name: PROJECT_ID - value: '' - - - name: NODE_NAME - value: '' - - - name: DISK_NAME - value: '' - - - name: ZONE_NAME - value: '' - - - name: DEVICE_NAME - value: '' - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - labels: - name: openebs-pool-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - - configmaps: - - name: openebs-pool-disk-loss - mountPath: /mnt/ - - secrets: - - name: cloud-secret - mountPath: /tmp/ - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the cstor target/Jiva controller pod and check if gets created again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-target-pod-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-target-pod-failure -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "storage.k8s.io" - resources: - - "deployments" - - "jobs" - - "events" - - "pods" - - "pods/log" - - "pods/exec" - - "configmaps" - - "secrets" - - "services" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-target-pod-failure/openebs_target_pod_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: FORCE - value: 'true' - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: CHAOS_INTERVAL - value: '15' - - - name: DEPLOY_TYPE - value: 'deployment' - - labels: - name: openebs-target-pod-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-target-pod-failure - # mountPath: /mnt - ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Network loss to target pod belonging to a OpenEBS PVC -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-target-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-target-network-loss -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "storage.k8s.io" - resources: - - "jobs" - - "pods" - - "events" - - "services" - - "pods/log" - - "pods/exec" - - "configmaps" - - "secrets" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-target-network-loss/openebs_target_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' # in percentage - - - name: TOTAL_CHAOS_DURATION - value: '120' # in seconds - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-target-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-target-network-loss - # mountPath: /mnt - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill all openebs control plane pod and check if gets scheduled again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-control-plane-chaos - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-control-plane-chaos -spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "litmuschaos.io" - - "batch" - - "apps" - resources: - - "pods" - - "pods/log" - - "deployments" - - "events" - - "jobs" - - "configmaps" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-control-plane-chaos/openebs_control_plane_chaos_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - ## Period to wait before injection of chaos - - name: RAMP_TIME - value: '' - - - name: FORCE - value: '' - - ## env var that describes the library used to execute the chaos - ## default: litmus. Supported values: litmus, powerfulseal - - name: LIB - value: 'litmus' - - labels: - name: openebs-control-plane-chaos - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the pool container and check if gets scheduled again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-container-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-container-failure -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "openebs.io" - - "storage.k8s.io" - resources: - - "replicasets" - - "events" - - "jobs" - - "pods" - - "pods/log" - - "pods/exec" - - "configmaps" - - "secrets" - - "persistentvolumeclaims" - - "cstorvolumereplicas" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-container-failure/openebs_pool_container_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NS - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: LIVENESS_APP_LABEL - value: '' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - - name: DATA_PERSISTENCE - value: '' - - - name: CHAOS_ITERATIONS - value: '2' - - labels: - name: openebs-pool-container-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-pool-container-failure - # mountPath: /mnt - ---- diff --git a/charts/openebs/icons/openebs-control-plane-chaos.png b/charts/openebs/icons/openebs-control-plane-chaos.png deleted file mode 100644 index db1d3e7b7..000000000 Binary files a/charts/openebs/icons/openebs-control-plane-chaos.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-nfs-provisioner-kill.png b/charts/openebs/icons/openebs-nfs-provisioner-kill.png deleted file mode 100644 index db1d3e7b7..000000000 Binary files a/charts/openebs/icons/openebs-nfs-provisioner-kill.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-pool-container-failure.png b/charts/openebs/icons/openebs-pool-container-failure.png deleted file mode 100644 index db1d3e7b7..000000000 Binary files a/charts/openebs/icons/openebs-pool-container-failure.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-pool-disk-loss.png b/charts/openebs/icons/openebs-pool-disk-loss.png deleted file mode 100644 index db1d3e7b7..000000000 Binary files a/charts/openebs/icons/openebs-pool-disk-loss.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-pool-network-delay.png b/charts/openebs/icons/openebs-pool-network-delay.png deleted file mode 100644 index db1d3e7b7..000000000 Binary files a/charts/openebs/icons/openebs-pool-network-delay.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-pool-network-loss.png b/charts/openebs/icons/openebs-pool-network-loss.png deleted file mode 100644 index db1d3e7b7..000000000 Binary files a/charts/openebs/icons/openebs-pool-network-loss.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-pool-pod-failure.png b/charts/openebs/icons/openebs-pool-pod-failure.png deleted file mode 100644 index fdb3cd926..000000000 Binary files a/charts/openebs/icons/openebs-pool-pod-failure.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-target-container-failure.png b/charts/openebs/icons/openebs-target-container-failure.png deleted file mode 100644 index bdd874d41..000000000 Binary files a/charts/openebs/icons/openebs-target-container-failure.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-target-network-delay.png b/charts/openebs/icons/openebs-target-network-delay.png deleted file mode 100644 index 0ce92ba57..000000000 Binary files a/charts/openebs/icons/openebs-target-network-delay.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-target-network-loss.png b/charts/openebs/icons/openebs-target-network-loss.png deleted file mode 100644 index 5826e28ff..000000000 Binary files a/charts/openebs/icons/openebs-target-network-loss.png and /dev/null differ diff --git a/charts/openebs/icons/openebs-target-pod-failure.png b/charts/openebs/icons/openebs-target-pod-failure.png deleted file mode 100644 index 344632ab6..000000000 Binary files a/charts/openebs/icons/openebs-target-pod-failure.png and /dev/null differ diff --git a/charts/openebs/icons/openebs.png b/charts/openebs/icons/openebs.png deleted file mode 100644 index db1d3e7b7..000000000 Binary files a/charts/openebs/icons/openebs.png and /dev/null differ diff --git a/charts/openebs/openebs-control-plane-chaos/engine.yaml b/charts/openebs/openebs-control-plane-chaos/engine.yaml deleted file mode 100644 index 308982d73..000000000 --- a/charts/openebs/openebs-control-plane-chaos/engine.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: control-plane-chaos - namespace: openebs -spec: - # It can be active/stop - engineState: 'active' - appinfo: - appns: 'openebs' - applabel: 'name=maya-apiserver' - appkind: 'deployment' - chaosServiceAccount: control-plane-sa - experiments: - - name: openebs-control-plane-chaos - spec: - components: - env: - - name: FORCE - value: '' \ No newline at end of file diff --git a/charts/openebs/openebs-control-plane-chaos/experiment.yaml b/charts/openebs/openebs-control-plane-chaos/experiment.yaml deleted file mode 100644 index 6f9337adf..000000000 --- a/charts/openebs/openebs-control-plane-chaos/experiment.yaml +++ /dev/null @@ -1,79 +0,0 @@ ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill all openebs control plane pod and check if gets scheduled again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-control-plane-chaos - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-control-plane-chaos -spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "litmuschaos.io" - - "batch" - - "apps" - resources: - - "pods" - - "pods/log" - - "deployments" - - "events" - - "jobs" - - "configmaps" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-control-plane-chaos/openebs_control_plane_chaos_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - ## Period to wait before injection of chaos - - name: RAMP_TIME - value: '' - - - name: FORCE - value: '' - - ## env var that describes the library used to execute the chaos - ## default: litmus. Supported values: litmus, powerfulseal - - name: LIB - value: 'litmus' - - labels: - name: openebs-control-plane-chaos - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 diff --git a/charts/openebs/openebs-control-plane-chaos/openebs-control-plane-chaos.chartserviceversion.yaml b/charts/openebs/openebs-control-plane-chaos/openebs-control-plane-chaos.chartserviceversion.yaml deleted file mode 100644 index 99b0a3995..000000000 --- a/charts/openebs/openebs-control-plane-chaos/openebs-control-plane-chaos.chartserviceversion.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: openebs-control-plane-chaos - version: 0.1.4 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-control-plane-chaos - categoryDescription: > - Kill all openebs control plane pods and check if gets scheduled again. - keywords: - - Kubernetes - - K8S - - OpenEBS - platforms: - - GKE - - EKS - maturity: alpha - chaosType: infra - maintainers: - - name: Raj Babu Das - email: raj.das@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-control-plane-chaos - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-control-plane-chaos/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-control-plane-chaos/experiment.yaml \ No newline at end of file diff --git a/charts/openebs/openebs-control-plane-chaos/rbac.yaml b/charts/openebs/openebs-control-plane-chaos/rbac.yaml deleted file mode 100644 index 6663ee059..000000000 --- a/charts/openebs/openebs-control-plane-chaos/rbac.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: control-plane-sa - namespace: openebs - labels: - name: control-plane-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: control-plane-sa - namespace: openebs - labels: - name: control-plane-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","litmuschaos.io","batch","apps"] - resources: ["pods","deployments","pods/log","events","jobs","configmaps","chaosengines","chaosexperiments","chaosresults"] - verbs: ["create","list","get","patch","update","delete"] -- apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: control-plane-sa - namespace: openebs - labels: - name: control-plane-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: control-plane-sa -subjects: -- kind: ServiceAccount - name: control-plane-sa - namespace: openebs diff --git a/charts/openebs/openebs-nfs-provisioner-kill/engine.yaml b/charts/openebs/openebs-nfs-provisioner-kill/engine.yaml deleted file mode 100644 index 012e6f926..000000000 --- a/charts/openebs/openebs-nfs-provisioner-kill/engine.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: nfs-chaos - namespace: default -spec: - # It can be active/stop - engineState: 'active' - appinfo: - appns: 'minio' - applabel: 'app=minio' - appkind: 'deployment' - chaosServiceAccount: nfs-chaos-sa - experiments: - - name: openebs-nfs-provisioner-kill - spec: - components: - env: - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - - name: NFS_PROVISIONER_NAMESPACE - value: 'app-nfs-ns' - - - name: NFS_PROVISIONER_LABEL - value: 'app=nfs' - - - name: NFS_PVC - value: 'nfs-pvc-claim' - - - name: NFS_SVC - value: 'nfs-provisioner' - - - name: TARGET_CONTAINER - value: 'nfs-provisioner' - - # EXTERNAL_APP_CHECK can be true/false - - name: EXTERNAL_APP_CHECK - value: 'true' \ No newline at end of file diff --git a/charts/openebs/openebs-nfs-provisioner-kill/experiment.yaml b/charts/openebs/openebs-nfs-provisioner-kill/experiment.yaml deleted file mode 100644 index da9df45a9..000000000 --- a/charts/openebs/openebs-nfs-provisioner-kill/experiment.yaml +++ /dev/null @@ -1,100 +0,0 @@ ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the OpenEBS NFS provisioner container and check if pods consuming the NFS PVs continue to be available and volumes are writable (RWM mode) -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-nfs-provisioner-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-nfs-provisioner-kill -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "litmuschaos.io" - - "batch" - - "extensions" - - "storage.k8s.io" - resources: - - "pods" - - "pods/exec" - - "pods/log" - - "deployments" - - "events" - - "jobs" - - "configmaps" - - "services" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosexperiments" - - "chaosresults" - - "chaosengines" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-nfs-provisioner-kill/openebs_nfs_provisioner_kill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - # NFS default container - - name: TARGET_CONTAINER - value: 'nfs-provisioner' - - # Period to wait before injection of chaos in sec - - name: RAMP_TIME - value: '' - - # It supports pumba and containerd - - name: LIB - value: 'pumba' - - # LIB_IMAGE can be - gaiaadm/pumba:0.6.5, gprasath/crictl:ci - # For pumba image use: gaiaadm/pumba:0.6.5 - # For containerd image use: gprasath/crictl:ci - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - labels: - name: openebs-nfs-provisioner-kill - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - configmaps: - - name: openebs-nfs-provisioner-kill - mountPath: /mnt/ diff --git a/charts/openebs/openebs-nfs-provisioner-kill/openebs-nfs-provisioner-kill.chartserviceversion.yaml b/charts/openebs/openebs-nfs-provisioner-kill/openebs-nfs-provisioner-kill.chartserviceversion.yaml deleted file mode 100644 index d71b320e2..000000000 --- a/charts/openebs/openebs-nfs-provisioner-kill/openebs-nfs-provisioner-kill.chartserviceversion.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: openebs-nfs-provisioner-kill - version: 0.1.3 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-nfs-kill-chaos - categoryDescription: > - Kill the OpenEBS NFS provisioner container and check if pods consuming the NFS PVs continue to be available and volumes are writable (RWM mode) - keywords: - - Kubernetes - - K8S - - OpenEBS - - NFS - platforms: - - GKE - maturity: alpha - chaosType: infra - maintainers: - - name: Raj Babu Das - email: raj.das@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-nfs-provisioner-kill - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-nfs-provisioner-kill/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-nfs-provisioner-kill/experiment.yaml \ No newline at end of file diff --git a/charts/openebs/openebs-nfs-provisioner-kill/rbac.yaml b/charts/openebs/openebs-nfs-provisioner-kill/rbac.yaml deleted file mode 100644 index e8710efb7..000000000 --- a/charts/openebs/openebs-nfs-provisioner-kill/rbac.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: nfs-chaos-sa - namespace: default - labels: - name: nfs-chaos-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: nfs-chaos-sa - labels: - name: nfs-chaos-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io"] - resources: ["pods","pods/exec","pods/log", "deployments","events","jobs","configmaps","services","persistentvolumeclaims","storageclasses","persistentvolumes","chaosexperiments","chaosresults","chaosengines"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: nfs-chaos-sa - labels: - name: nfs-chaos-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: nfs-chaos-sa -subjects: -- kind: ServiceAccount - name: nfs-chaos-sa - namespace: default diff --git a/charts/openebs/openebs-pool-container-failure/engine.yaml b/charts/openebs/openebs-pool-container-failure/engine.yaml deleted file mode 100644 index 7fe9a33c7..000000000 --- a/charts/openebs/openebs-pool-container-failure/engine.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: pool-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=nginx' - appkind: 'deployment' - chaosServiceAccount: pool-container-failure-sa - experiments: - - name: openebs-pool-container-failure - spec: - components: - env: - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - - name: APP_PVC - value: 'demo-nginx-claim' - - - name: DEPLOY_TYPE - value: 'deployment' \ No newline at end of file diff --git a/charts/openebs/openebs-pool-container-failure/experiment.yaml b/charts/openebs/openebs-pool-container-failure/experiment.yaml deleted file mode 100644 index 1fd5e5362..000000000 --- a/charts/openebs/openebs-pool-container-failure/experiment.yaml +++ /dev/null @@ -1,97 +0,0 @@ ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the pool container and check if gets scheduled again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-container-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-container-failure -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "openebs.io" - - "storage.k8s.io" - resources: - - "replicasets" - - "events" - - "jobs" - - "pods" - - "pods/log" - - "pods/exec" - - "configmaps" - - "secrets" - - "persistentvolumeclaims" - - "cstorvolumereplicas" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-container-failure/openebs_pool_container_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NS - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: LIVENESS_APP_LABEL - value: '' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - - name: DATA_PERSISTENCE - value: '' - - - name: CHAOS_ITERATIONS - value: '2' - - labels: - name: openebs-pool-container-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-pool-container-failure - # mountPath: /mnt diff --git a/charts/openebs/openebs-pool-container-failure/openebs-pool-container-failure.chartserviceversion.yaml b/charts/openebs/openebs-pool-container-failure/openebs-pool-container-failure.chartserviceversion.yaml deleted file mode 100644 index b5c16135e..000000000 --- a/charts/openebs/openebs-pool-container-failure/openebs-pool-container-failure.chartserviceversion.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-11-13T10:28:08Z - name: openebs-pool-container-failure - version: 0.1.13 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-pool-container-failure - categoryDescription: > - Kill the pool container and check if gets scheduled again. - keywords: - - Kubernetes - - K8S - - Storage Pool - - OpenEBS - platforms: - - GKE - - EKS - - OpenShift - maturity: alpha - chaosType: infra - 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: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-pool-container-failure - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-pool-container-failure/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-pool-container-failure/experiment.yaml \ No newline at end of file diff --git a/charts/openebs/openebs-pool-container-failure/rbac.yaml b/charts/openebs/openebs-pool-container-failure/rbac.yaml deleted file mode 100644 index a8427af01..000000000 --- a/charts/openebs/openebs-pool-container-failure/rbac.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: pool-container-failure-sa - namespace: default - labels: - name: pool-container-failure-sa - app.kubernetes.io/part-of: litmus ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: pool-container-failure-sa - labels: - name: pool-container-failure-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io","openebs.io"] - resources: ["pods","jobs","events","pods/log","replicasets","pods/exec","configmaps","secrets","persistentvolumeclaims","cstorvolumereplicas","chaosexperiments","chaosresults","chaosengines"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: pool-container-failure-sa - labels: - name: pool-container-failure-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: pool-container-failure-sa -subjects: -- kind: ServiceAccount - name: pool-container-failure-sa - namespace: default diff --git a/charts/openebs/openebs-pool-disk-loss/engine.yaml b/charts/openebs/openebs-pool-disk-loss/engine.yaml deleted file mode 100644 index 39c7ef8dc..000000000 --- a/charts/openebs/openebs-pool-disk-loss/engine.yaml +++ /dev/null @@ -1,51 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: pool-chaos - namespace: default -spec: - # It can be active/stop - engineState: 'active' - #ex. values: ns1:name=percona,ns2:run=busybox - auxiliaryAppInfo: '' - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - chaosServiceAccount: pool-disk-loss-sa - experiments: - - name: openebs-pool-disk-loss - spec: - components: - env: - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: APP_PVC - value: 'demo-nginx-claim' - - # GKE and AWS supported - - name: CLOUD_PLATFORM - value: 'GKE' - - # Enter the project id for gcp only - - name: PROJECT_ID - value: 'litmus-demo-123' - - # Enter the node name - - name: NODE_NAME - value: 'demo-node-123' - - # Enter the disk name - - name: DISK_NAME - value: 'demo-disk-123 ' - - # Enter the device name - - name: DEVICE_NAME - value: '/dev/sdb' - - # Enter the zone name - - name: ZONE_NAME - value: 'us-central1-a' - \ No newline at end of file diff --git a/charts/openebs/openebs-pool-disk-loss/experiment.yaml b/charts/openebs/openebs-pool-disk-loss/experiment.yaml deleted file mode 100644 index db16f9933..000000000 --- a/charts/openebs/openebs-pool-disk-loss/experiment.yaml +++ /dev/null @@ -1,111 +0,0 @@ ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - OpenEBS Pool Disk Loss contains chaos to disrupt state of infra resources. Experiments can inject disk loss against openEBS pool. -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-disk-loss -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "litmuschaos.io" - - "batch" - - "extensions" - - "storage.k8s.io" - - "openebs.io" - resources: - - "pods" - - "jobs" - - "pods/log" - - "events" - - "pods/exec" - - "cstorpools" - - "configmaps" - - "secrets" - - "storageclasses" - - "persistentvolumes" - - "persistentvolumeclaims" - - "cstorvolumereplicas" - - "chaosexperiments" - - "chaosresults" - - "chaosengines" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-disk-loss/openebs_pool_disk_loss_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: '60' - - # Period to wait before injection of chaos in sec - - name: RAMP_TIME - value: '' - - # GKE and AWS supported - - name: CLOUD_PLATFORM - value: 'GKE' - - - name: PROJECT_ID - value: '' - - - name: NODE_NAME - value: '' - - - name: DISK_NAME - value: '' - - - name: ZONE_NAME - value: '' - - - name: DEVICE_NAME - value: '' - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - labels: - name: openebs-pool-disk-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - - configmaps: - - name: openebs-pool-disk-loss - mountPath: /mnt/ - - secrets: - - name: cloud-secret - mountPath: /tmp/ diff --git a/charts/openebs/openebs-pool-disk-loss/openebs-pool-disk-loss.chartserviceversion.yaml b/charts/openebs/openebs-pool-disk-loss/openebs-pool-disk-loss.chartserviceversion.yaml deleted file mode 100644 index aaa599f25..000000000 --- a/charts/openebs/openebs-pool-disk-loss/openebs-pool-disk-loss.chartserviceversion.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2020-03-13T10:28:08Z - name: openebs-pool-disk-loss - version: 0.1.3 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-pool-disk-loss - categoryDescription: > - OpenEBS Pool Disk Loss contains chaos to disrupt state of infra resources. Experiments can inject disk loss against openEBS pool. - - Causes (forced/graceful) disk loss from the node disk pool. - - Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the application pod. - keywords: - - Kubernetes - - K8S - - Storage Pool - - OpenEBS - platforms: - - GKE - maturity: alpha - chaosType: infra - maintainers: - - name: Raj Babu Das - email: raj.das@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-pool-disk-loss - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-pool-disk-loss/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-pool-disk-loss/experiment.yaml \ No newline at end of file diff --git a/charts/openebs/openebs-pool-disk-loss/rbac.yaml b/charts/openebs/openebs-pool-disk-loss/rbac.yaml deleted file mode 100644 index a7ce98369..000000000 --- a/charts/openebs/openebs-pool-disk-loss/rbac.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: pool-disk-loss-sa - namespace: default - labels: - name: pool-disk-loss-sa - app.kubernetes.io/part-of: litmus ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: pool-disk-loss-sa - labels: - name: pool-disk-loss-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io","openebs.io"] - resources: ["pods", "pods/log", "jobs", "events", "pods/exec", "cstorpools", "configmaps", "secrets", "storageclasses", "persistentvolumes", "persistentvolumeclaims", "cstorvolumereplicas", "chaosexperiments", "chaosresults", "chaosengines"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: pool-disk-loss-sa - labels: - name: pool-disk-loss-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: pool-disk-loss-sa -subjects: -- kind: ServiceAccount - name: pool-disk-loss-sa - namespace: default diff --git a/charts/openebs/openebs-pool-network-delay/engine.yaml b/charts/openebs/openebs-pool-network-delay/engine.yaml deleted file mode 100644 index 72aec3dc9..000000000 --- a/charts/openebs/openebs-pool-network-delay/engine.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: pool-chaos - namespace: default -spec: - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - chaosServiceAccount: pool-network-delay-sa - experiments: - - name: openebs-pool-network-delay - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: APP_PVC - value: 'demo-nginx-claim' - - # in milliseconds - - name: NETWORK_DELAY - value: '60000' diff --git a/charts/openebs/openebs-pool-network-delay/experiment.yaml b/charts/openebs/openebs-pool-network-delay/experiment.yaml deleted file mode 100644 index 00554d2d7..000000000 --- a/charts/openebs/openebs-pool-network-delay/experiment.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Network delay to pool pod belonging to a OpenEBS PVC - This experiment is using pumba lib for network chaos -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-network-delay - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-network-delay -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "litmuschaos.io" - - "batch" - - "extensions" - - "storage.k8s.io" - - "openebs.io" - resources: - - "pods" - - "pods/exec" - - "jobs" - - "pods/log" - - "events" - - "configmaps" - - "services" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - - "cstorpools" - - "cstorvolumereplicas" - - "replicasets" - verbs: - - "create" - - "get" - - "list" - - "patch" - - "update" - - "delete" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-network-delay/openebs_pool_network_delay_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - # in milliseconds - - name: NETWORK_DELAY - value: '60000' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-pool-network-delay - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 diff --git a/charts/openebs/openebs-pool-network-delay/openebs-pool-network-delay.chartserviceversion.yaml b/charts/openebs/openebs-pool-network-delay/openebs-pool-network-delay.chartserviceversion.yaml deleted file mode 100644 index 59e99ece9..000000000 --- a/charts/openebs/openebs-pool-network-delay/openebs-pool-network-delay.chartserviceversion.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: openebs-pool-network-delay - version: 0.1.4 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-pool-network-delay - categoryDescription: > - Network delay to pool pod belonging to a OpenEBS PVC - keywords: - - Kubernetes - - K8S - - Storage Pool - - OpenEBS - - Network - platforms: - - GKE - - EKS - maturity: alpha - chaosType: infra - maintainers: - - name: Raj Babu Das - email: raj.das@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-pool-network-delay - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-pool-network-delay/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-pool-network-delay/experiment.yaml \ No newline at end of file diff --git a/charts/openebs/openebs-pool-network-delay/rbac.yaml b/charts/openebs/openebs-pool-network-delay/rbac.yaml deleted file mode 100644 index 8db3c741a..000000000 --- a/charts/openebs/openebs-pool-network-delay/rbac.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: pool-network-delay-sa - namespace: default - labels: - name: pool-network-delay-sa ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: pool-network-delay-sa - labels: - name: pool-network-delay-sa -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io","openebs.io"] - resources: ["pods","pods/exec","pods/log","events","jobs","configmaps","services","persistentvolumeclaims","storageclasses","persistentvolumes","chaosengines","chaosexperiments","chaosresults","cstorpools","cstorvolumereplicas","replicasets"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: pool-network-delay-sa - labels: - name: pool-network-delay-sa -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: pool-network-delay-sa -subjects: -- kind: ServiceAccount - name: pool-network-delay-sa - namespace: default \ No newline at end of file diff --git a/charts/openebs/openebs-pool-network-loss/engine.yaml b/charts/openebs/openebs-pool-network-loss/engine.yaml deleted file mode 100644 index 8843b98cd..000000000 --- a/charts/openebs/openebs-pool-network-loss/engine.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: pool-chaos - namespace: default -spec: - auxiliaryAppInfo: '' - # It can be active/stop - engineState: 'active' - appinfo: - appns: 'default' - applabel: 'app=nginx' - appkind: 'deployment' - chaosServiceAccount: pool-network-loss-sa - experiments: - - name: openebs-pool-network-loss - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '120' # in seconds - - - name: APP_PVC - value: 'demo-nginx-claim' - - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' diff --git a/charts/openebs/openebs-pool-network-loss/experiment.yaml b/charts/openebs/openebs-pool-network-loss/experiment.yaml deleted file mode 100644 index 731e63419..000000000 --- a/charts/openebs/openebs-pool-network-loss/experiment.yaml +++ /dev/null @@ -1,92 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Network loss to pool pod belonging to a OpenEBS PVC -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-network-loss -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "litmuschaos.io" - - "batch" - - "extensions" - - "storage.k8s.io" - - "openebs.io" - resources: - - "pods" - - "pods/log" - - "pods/exec" - - "events" - - "jobs" - - "configmaps" - - "services" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumeclaims" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - - "cstorpools" - - "cstorvolumereplicas" - - "replicasets" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-network-loss/openebs_pool_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' # in percentage - - - name: TOTAL_CHAOS_DURATION - value: '120' # in seconds - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-pool-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 diff --git a/charts/openebs/openebs-pool-network-loss/openebs-pool-network-loss.chartserviceversion.yaml b/charts/openebs/openebs-pool-network-loss/openebs-pool-network-loss.chartserviceversion.yaml deleted file mode 100644 index 506c7851a..000000000 --- a/charts/openebs/openebs-pool-network-loss/openebs-pool-network-loss.chartserviceversion.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: openebs-pool-network-loss - version: 0.1.3 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-pool-network-loss - categoryDescription: > - Network loss to pool pod belonging to a OpenEBS PVC - keywords: - - Kubernetes - - K8S - - Storage Pool - - OpenEBS - - Network - platforms: - - GKE - - EKS - maturity: alpha - chaosType: infra - maintainers: - - name: Raj Babu Das - email: raj.das@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-pool-network-loss - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-pool-network-loss/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-pool-network-loss/experiment.yaml \ No newline at end of file diff --git a/charts/openebs/openebs-pool-network-loss/rbac.yaml b/charts/openebs/openebs-pool-network-loss/rbac.yaml deleted file mode 100644 index 20dcfc4d8..000000000 --- a/charts/openebs/openebs-pool-network-loss/rbac.yaml +++ /dev/null @@ -1,35 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: pool-network-loss-sa - namespace: default - labels: - name: pool-network-loss-sa ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: pool-network-loss-sa - labels: - name: pool-network-loss-sa -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io","openebs.io"] - resources: ["pods","pods/exec","pods/log","events","jobs","configmaps","services","persistentvolumeclaims","storageclasses","persistentvolumes","chaosengines","chaosexperiments","chaosresults","cstorpools","cstorvolumereplicas","replicasets"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: pool-network-loss-sa - labels: - name: pool-network-loss-sa -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: pool-network-loss-sa -subjects: -- kind: ServiceAccount - name: pool-network-loss-sa - namespace: default diff --git a/charts/openebs/openebs-pool-pod-failure/engine.yaml b/charts/openebs/openebs-pool-pod-failure/engine.yaml deleted file mode 100644 index cfc1490da..000000000 --- a/charts/openebs/openebs-pool-pod-failure/engine.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: pool-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=nginx' - appkind: 'deployment' - chaosServiceAccount: pool-pod-failure-sa - experiments: - - name: openebs-pool-pod-failure - spec: - components: - env: - - name: CHAOS_ITERATIONS - value: '2' - - - name: APP_PVC - value: 'demo-nginx-claim' - - - name: DEPLOY_TYPE - value: 'deployment' \ No newline at end of file diff --git a/charts/openebs/openebs-pool-pod-failure/experiment.yaml b/charts/openebs/openebs-pool-pod-failure/experiment.yaml deleted file mode 100644 index 35cda42aa..000000000 --- a/charts/openebs/openebs-pool-pod-failure/experiment.yaml +++ /dev/null @@ -1,97 +0,0 @@ ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the pool pod and check if gets scheduled again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-pool-pod-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-pool-pod-failure -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "openebs.io" - - "storage.k8s.io" - resources: - - "deployments" - - "replicasets" - - "jobs" - - "pods/log" - - "events" - - "pods" - - "configmaps" - - "secrets" - - "storageclasses" - - "persistentvolumeclaims" - - "cstorvolumereplicas" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-pool-pod-failure/openebs_pool_pod_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: default - - - name: OPENEBS_NS - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: CHAOS_ITERATIONS - value: '2' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-pool-pod-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-pool-pod-failure - # mountPath: /mnt - diff --git a/charts/openebs/openebs-pool-pod-failure/openebs-pool-pod-failure.chartserviceversion.yaml b/charts/openebs/openebs-pool-pod-failure/openebs-pool-pod-failure.chartserviceversion.yaml deleted file mode 100644 index dc497e9f8..000000000 --- a/charts/openebs/openebs-pool-pod-failure/openebs-pool-pod-failure.chartserviceversion.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-11-12T10:28:08Z - name: openebs-pool-pod-failure - version: 0.1.12 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-pool-pod-failure - categoryDescription: > - Kill the pool pod and check if gets scheduled again. - keywords: - - Kubernetes - - K8S - - Storage Pool - - OpenEBS - platforms: - - GKE - - EKS - - OpenShift - maturity: alpha - chaosType: infra - 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: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-pool-pod-failure - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-pool-pod-failure/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-pool-pod-failure/experiment.yaml diff --git a/charts/openebs/openebs-pool-pod-failure/rbac.yaml b/charts/openebs/openebs-pool-pod-failure/rbac.yaml deleted file mode 100644 index 4b6ac65b7..000000000 --- a/charts/openebs/openebs-pool-pod-failure/rbac.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: pool-pod-failure-sa - namespace: default - labels: - name: pool-pod-failure-sa ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: pool-pod-failure-sa - labels: - name: pool-pod-failure-sa -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io","openebs.io"] - resources: ["pods","jobs","deployments","pods/log","events","configmaps","secrets","replicasets","persistentvolumeclaims","storageclasses","cstorvolumereplicas","chaosexperiments","chaosresults","chaosengines"] - verbs: ["create","list","get","patch","update","delete"] -- apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: pool-pod-failure-sa - labels: - name: pool-pod-failure-sa -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: pool-pod-failure-sa -subjects: -- kind: ServiceAccount - name: pool-pod-failure-sa - namespace: default diff --git a/charts/openebs/openebs-target-container-failure/engine.yaml b/charts/openebs/openebs-target-container-failure/engine.yaml deleted file mode 100644 index f082c2a22..000000000 --- a/charts/openebs/openebs-target-container-failure/engine.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: target-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=nginx' - appkind: 'deployment' - chaosServiceAccount: target-container-failure-sa - experiments: - - name: openebs-target-container-failure - spec: - components: - env: - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - - name: TARGET_CONTAINER - value: 'cstor-istgt' - - - name: APP_PVC - value: 'demo-nginx-claim' - - - name: DEPLOY_TYPE - value: 'deployment' \ No newline at end of file diff --git a/charts/openebs/openebs-target-container-failure/experiment.yaml b/charts/openebs/openebs-target-container-failure/experiment.yaml deleted file mode 100644 index d82720bfc..000000000 --- a/charts/openebs/openebs-target-container-failure/experiment.yaml +++ /dev/null @@ -1,113 +0,0 @@ ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the cstor target/Jiva controller container and check if gets created again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-target-container-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-target-container-failure -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "apps" - - "batch" - - "litmuschaos.io" - - "storage.k8s.io" - resources: - - "jobs" - - "pods" - - "events" - - "pods/exec" - - "pods/log" - - "configmaps" - - "secrets" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "delete" - - "get" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-target-container-failure/openebs_target_container_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - - name: APP_PVC - value: '' - - # LIB_IMAGE can be - gaiaadm/pumba:0.6.5, gprasath/crictl:ci - # For pumba image use : gaiaadm/pumba:0.6.5 - # For containerd image use : gprasath/crictl:ci - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - # Specify the container runtime used , to pick the relevant chaos util - - name: CONTAINER_RUNTIME - value: 'docker' - - # TARGET_CONTAINER values: cstor-volume-mgmt , cstor-istgt - # For cstor-volume-istgt container kill use : cstor-istgt - # For volume-mgmt-kill container use : cstor-volume-mgmt - - - name: TARGET_CONTAINER - value: 'cstor-volume-mgmt' - - - name: FORCE - value: 'true' - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - - name: DEPLOY_TYPE - value: 'deployment' - - # provide the chaos interval - - name: CHAOS_INTERVAL - value: '10' - - # provide the total chaos duration - - name: TOTAL_CHAOS_DURATION - value: '20' - - - name: SOAK_TIME - value: '60' - - labels: - name: openebs-target-container-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-target-container-failure - # mountPath: /mnt diff --git a/charts/openebs/openebs-target-container-failure/openebs-target-container-failure.chartserviceversion.yaml b/charts/openebs/openebs-target-container-failure/openebs-target-container-failure.chartserviceversion.yaml deleted file mode 100644 index b783450bc..000000000 --- a/charts/openebs/openebs-target-container-failure/openebs-target-container-failure.chartserviceversion.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-11-11T10:28:08Z - name: openebs-target-container-failure - version: 0.1.12 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-target-container-failure - categoryDescription: > - Kill the cstor target/Jiva controller container and check if gets created again - keywords: - - Kubernetes - - K8S - - Storage Controller - - OpenEBS - platforms: - - GKE - - EKS - - OpenShift - maturity: alpha - chaosType: infra - 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: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-target-container-failure - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-target-container-failure/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-target-container-failure/experiment.yaml diff --git a/charts/openebs/openebs-target-container-failure/rbac.yaml b/charts/openebs/openebs-target-container-failure/rbac.yaml deleted file mode 100644 index d8d38fe00..000000000 --- a/charts/openebs/openebs-target-container-failure/rbac.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: target-container-failure-sa - namespace: default - labels: - name: target-container-failure-sa - app.kubernetes.io/part-of: litmus ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: target-container-failure-sa - labels: - name: target-container-failure-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","litmuschaos.io","batch","apps","storage.k8s.io"] - resources: ["pods","jobs","pods/log","pods/exec","events","configmaps","secrets","persistentvolumeclaims","storageclasses","persistentvolumes","chaosengines","chaosexperiments","chaosresults"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: target-container-failure-sa - labels: - name: target-container-failure-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: target-container-failure-sa -subjects: -- kind: ServiceAccount - name: target-container-failure-sa - namespace: default diff --git a/charts/openebs/openebs-target-network-delay/engine.yaml b/charts/openebs/openebs-target-network-delay/engine.yaml deleted file mode 100644 index 46816013e..000000000 --- a/charts/openebs/openebs-target-network-delay/engine.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: target-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=nginx' - appkind: 'deployment' - chaosServiceAccount: target-network-delay-sa - experiments: - - name: openebs-target-network-delay - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: TARGET_CONTAINER - value: 'cstor-istgt' - - - name: APP_PVC - value: 'demo-nginx-claim' - - - name: DEPLOY_TYPE - value: 'deployment' - - - name: NETWORK_DELAY - value: '30000' - \ No newline at end of file diff --git a/charts/openebs/openebs-target-network-delay/experiment.yaml b/charts/openebs/openebs-target-network-delay/experiment.yaml deleted file mode 100644 index 0e61c7848..000000000 --- a/charts/openebs/openebs-target-network-delay/experiment.yaml +++ /dev/null @@ -1,94 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Network delay to target pod belonging to a deployment/statefulset/daemonset -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-target-network-delay - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-target-network-delay -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "storage.k8s.io" - resources: - - "jobs" - - "pods" - - "services" - - "events" - - "pods/exec" - - "pods/log" - - "configmaps" - - "secrets" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-target-network-delay/openebs_target_network_delay_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - - name: NETWORK_DELAY - value: '60000' # in milliseconds - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-target-network-delay - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-target-network-delay - # mountPath: /mnt diff --git a/charts/openebs/openebs-target-network-delay/openebs-target-network-delay.chartserviceversion.yaml b/charts/openebs/openebs-target-network-delay/openebs-target-network-delay.chartserviceversion.yaml deleted file mode 100644 index 37fb7af53..000000000 --- a/charts/openebs/openebs-target-network-delay/openebs-target-network-delay.chartserviceversion.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-10-17T10:28:08Z - name: openebs-target-network-delay - version: 0.1.9 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: openebs-target-network-delay - categoryDescription: > - Network delay to Pod belonging to a OpenEBS PVC - keywords: - - OpenEBS - - Kubernetes - - K8S - - Network - platforms: - - GKE - - EKS - - OpenShift - maturity: alpha - chaosType: infra - maintainers: - - name: giri - email: giridhara.prasad@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-target-network-delay - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-target-network-delay/ - - name: Video - url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-target-network-delay/experiment.yaml diff --git a/charts/openebs/openebs-target-network-delay/rbac.yaml b/charts/openebs/openebs-target-network-delay/rbac.yaml deleted file mode 100644 index efba9454c..000000000 --- a/charts/openebs/openebs-target-network-delay/rbac.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: target-network-delay-sa - namespace: default - labels: - name: target-network-delay-sa - app.kubernetes.io/part-of: litmus ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: target-network-delay-sa - labels: - name: target-network-delay-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io"] - resources: ["pods","pods/exec","pods/log","events","jobs","configmaps","secrets","services","persistentvolumeclaims","storageclasses","persistentvolumes","chaosexperiments","chaosresults","chaosengines"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: target-network-delay-sa - labels: - name: target-network-delay-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: target-network-delay-sa -subjects: -- kind: ServiceAccount - name: target-network-delay-sa - namespace: default diff --git a/charts/openebs/openebs-target-network-loss/engine.yaml b/charts/openebs/openebs-target-network-loss/engine.yaml deleted file mode 100644 index ba3b3f968..000000000 --- a/charts/openebs/openebs-target-network-loss/engine.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: target-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=nginx' - appkind: 'deployment' - chaosServiceAccount: target-network-loss-sa - experiments: - - name: openebs-target-network-loss - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '120' # in seconds - - - name: TARGET_CONTAINER - value: 'cstor-istgt' - - - name: APP_PVC - value: 'demo-nginx-claim' - - - name: DEPLOY_TYPE - value: 'deployment' diff --git a/charts/openebs/openebs-target-network-loss/experiment.yaml b/charts/openebs/openebs-target-network-loss/experiment.yaml deleted file mode 100644 index 0fe6940a2..000000000 --- a/charts/openebs/openebs-target-network-loss/experiment.yaml +++ /dev/null @@ -1,94 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Network loss to target pod belonging to a OpenEBS PVC -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-target-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-target-network-loss -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "storage.k8s.io" - resources: - - "jobs" - - "pods" - - "events" - - "services" - - "pods/log" - - "pods/exec" - - "configmaps" - - "secrets" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-target-network-loss/openebs_target_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: TC_IMAGE - value: 'gaiadocker/iproute2' - - # only pumba supported - # For pumba image use : gaiaadm/pumba:0.6.5 - - name: LIB_IMAGE - value: 'gaiaadm/pumba:0.6.5' - - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' # in percentage - - - name: TOTAL_CHAOS_DURATION - value: '120' # in seconds - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - labels: - name: openebs-target-network-loss - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-target-network-loss - # mountPath: /mnt diff --git a/charts/openebs/openebs-target-network-loss/openebs-target-network-loss.chartserviceversion.yaml b/charts/openebs/openebs-target-network-loss/openebs-target-network-loss.chartserviceversion.yaml deleted file mode 100644 index 5ec01eb7d..000000000 --- a/charts/openebs/openebs-target-network-loss/openebs-target-network-loss.chartserviceversion.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-10-17T10:28:08Z - name: openebs-target-network-loss - version: 0.1.9 - annotations: - categories: Kubernetes - vendor: CNCF - support: https://slack.kubernetes.io/ -spec: - displayName: openebs-target-network-loss - categoryDescription: > - Network loss to the target pod belonging to an OpenEBS PVC - keywords: - - Kubernetes - - K8S - - OpenEBS - - Network - platforms: - - GKE - - EKS - - OpenShift - maturity: alpha - chaosType: infra - maintainers: - - name: giri - email: giridhara.prasad@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-target-network-loss - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-target-network-loss/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-target-network-loss/experiment.yaml diff --git a/charts/openebs/openebs-target-network-loss/rbac.yaml b/charts/openebs/openebs-target-network-loss/rbac.yaml deleted file mode 100644 index 1a29e6d77..000000000 --- a/charts/openebs/openebs-target-network-loss/rbac.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: target-network-loss-sa - namespace: default - labels: - name: target-network-loss-sa - app.kubernetes.io/part-of: litmus ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: target-network-loss-sa - labels: - name: target-network-loss-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io"] - resources: ["pods","pods/exec","pods/log","events","jobs","configmaps","secrets","services","persistentvolumeclaims","storageclasses","persistentvolumes","chaosexperiments","chaosresults","chaosengines"] - verbs: ["create","list","get","patch","update","delete"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: target-network-loss-sa - labels: - name: target-network-loss-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: target-network-loss-sa -subjects: -- kind: ServiceAccount - name: target-network-loss-sa - namespace: default diff --git a/charts/openebs/openebs-target-pod-failure/engine.yaml b/charts/openebs/openebs-target-pod-failure/engine.yaml deleted file mode 100644 index e014e9a5d..000000000 --- a/charts/openebs/openebs-target-pod-failure/engine.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: target-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=nginx' - appkind: 'deployment' - chaosServiceAccount: target-pod-failure-sa - experiments: - - name: openebs-target-pod-failure - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - - name: FORCE - value: 'true' - - - name: APP_PVC - value: 'demo-nginx-claim' - - - name: DEPLOY_TYPE - value: 'deployment' \ No newline at end of file diff --git a/charts/openebs/openebs-target-pod-failure/experiment.yaml b/charts/openebs/openebs-target-pod-failure/experiment.yaml deleted file mode 100644 index de1dedc0b..000000000 --- a/charts/openebs/openebs-target-pod-failure/experiment.yaml +++ /dev/null @@ -1,105 +0,0 @@ ---- -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Kill the cstor target/Jiva controller pod and check if gets created again -kind: ChaosExperiment -metadata: - labels: - litmuschaos.io/name: openebs - name: openebs-target-pod-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 - name: openebs-target-pod-failure -spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "extensions" - - "apps" - - "batch" - - "litmuschaos.io" - - "storage.k8s.io" - resources: - - "deployments" - - "jobs" - - "events" - - "pods" - - "pods/log" - - "pods/exec" - - "configmaps" - - "secrets" - - "services" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - - "persistentvolumeclaims" - - "storageclasses" - - "persistentvolumes" - verbs: - - "create" - - "get" - - "delete" - - "list" - - "patch" - - "update" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/ansible-runner:2.6.0" - imagePullPolicy: Always - args: - - -c - - ansible-playbook ./experiments/openebs/openebs-target-pod-failure/openebs_target_pod_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0 - command: - - /bin/bash - env: - - name: ANSIBLE_STDOUT_CALLBACK - value: 'default' - - - name: OPENEBS_NAMESPACE - value: 'openebs' - - - name: APP_PVC - value: '' - - - name: FORCE - value: 'true' - - - name: LIVENESS_APP_LABEL - value: '' - - - name: LIVENESS_APP_NAMESPACE - value: '' - - - name: DATA_PERSISTENCE - value: '' - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: CHAOS_INTERVAL - value: '15' - - - name: DEPLOY_TYPE - value: 'deployment' - - labels: - name: openebs-target-pod-failure - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - #configmaps: - #- name: openebs-target-pod-failure - # mountPath: /mnt diff --git a/charts/openebs/openebs-target-pod-failure/openebs-target-pod-failure.chartserviceversion.yaml b/charts/openebs/openebs-target-pod-failure/openebs-target-pod-failure.chartserviceversion.yaml deleted file mode 100644 index f9146d1bf..000000000 --- a/charts/openebs/openebs-target-pod-failure/openebs-target-pod-failure.chartserviceversion.yaml +++ /dev/null @@ -1,46 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-11-11T10:28:08Z - name: openebs-target-pod-failure - version: 0.1.11 - annotations: - categories: OpenEBS - vendor: CNCF - support: https://slack.openebs.io/ -spec: - displayName: openebs-target-pod-failure - categoryDescription: > - Kill the cstor target/Jiva controller pod and check if gets created again - keywords: - - Kubernetes - - K8S - - Storage Controller - - OpenEBS - platforms: - - GKE - - EKS - - OpenShift - maturity: alpha - chaosType: infra - 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: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-ansible/tree/master/experiments/openebs/openebs-target-pod-failure - - name: Documentation - url: https://v1-docs.litmuschaos.io/docs/openebs-target-pod-failure/ - - name: Video - url: - icon: - - url: "" - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/openebs-target-pod-failure/experiment.yaml - diff --git a/charts/openebs/openebs-target-pod-failure/rbac.yaml b/charts/openebs/openebs-target-pod-failure/rbac.yaml deleted file mode 100644 index 79fa90bb1..000000000 --- a/charts/openebs/openebs-target-pod-failure/rbac.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: target-pod-failure-sa - namespace: default - labels: - name: target-pod-failure-sa - app.kubernetes.io/part-of: litmus ---- -# Source: openebs/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: target-pod-failure-sa - labels: - name: target-pod-failure-sa - app.kubernetes.io/part-of: litmus -rules: -- apiGroups: ["","apps","litmuschaos.io","batch","extensions","storage.k8s.io"] - resources: ["pods","jobs","pods/log","deployments","pods/exec","events","chaosexperiments","chaosresults","chaosengines","configmaps","secrets","services","persistentvolumeclaims","storageclasses","persistentvolumes"] - verbs: ["create","list","get","patch","update","delete"] -- apiGroups: [""] - resources: ["nodes"] - verbs: ["get","list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: target-pod-failure-sa - labels: - name: target-pod-failure-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: target-pod-failure-sa -subjects: -- kind: ServiceAccount - name: target-pod-failure-sa - namespace: default - diff --git a/charts/openebs/openebs.chartserviceversion.yaml b/charts/openebs/openebs.chartserviceversion.yaml deleted file mode 100644 index 6aa26e36c..000000000 --- a/charts/openebs/openebs.chartserviceversion.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2019-08-27T10:28:08Z - name: openebs - version: 0.1.8 - annotations: - categories: OpenEBS - vendor: MayaData - support: https://slack.openebs.io/ - chartDescription: Injects generic openebs chaos -spec: - displayName: OpenEBS - categoryDescription: > - OpenEBS is the most active Container Attached Storage project. OpenEBS enables your DevOps teams to have their own storage policies for every workload and it is truly Kubernetes native and 100% in userspace. - - experiments: - - openebs-pool-pod-failure - - openebs-pool-container-failure - - openebs-target-pod-failure - - openebs-target-container-failure - - openebs-target-network-delay - - openebs-target-network-loss - - openebs-pool-network-delay - - openebs-pool-network-loss - - openebs-control-plane-chaos - - openebs-pool-disk-loss - - openebs-nfs-provisioner-kill - keywords: - - Kubernetes - - K8S - - OpenEBS - - CAS - - Storage - - Network - - Pod - - Pool - maintainers: - - name: ksatchit - email: karthik.s@mayadata.io - minKubeVersion: 1.12.0 - provider: - name: Mayadata - links: - - name: OpenEBS Website - url: https://openebs.io - - name: Source Code - url: https://github.com/openebs/openebs - icon: - - url: https://raw.githubusercontent.com/litmuschaos/charthub.litmuschaos.io/master/public/icons/openebs.png - mediatype: image/png - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/openebs/experiments.yaml diff --git a/charts/openebs/openebs.package.yaml b/charts/openebs/openebs.package.yaml deleted file mode 100644 index 0f18e73cb..000000000 --- a/charts/openebs/openebs.package.yaml +++ /dev/null @@ -1,35 +0,0 @@ -packageName: openebs -experiments: - - name: openebs-pool-pod-failure - CSV: openebs-pool-pod-failure.chartserviceversion.yaml - desc: "openebs-pool-pod-failure" - - name: openebs-pool-container-failure - CSV: openebs-pool-container-failure.chartserviceversion.yaml - desc: "openebs-pool-container-failure" - - name: openebs-target-pod-failure - CSV: openebs-target-pod-failure.chartserviceversion.yaml - desc: "openebs-target-pod-failure" - - name: openebs-target-container-failure - CSV: openebs-target-container-failure.chartserviceversion.yaml - desc: "openebs-target-container-failure" - - name: openebs-target-network-delay - CSV: openebs-target-network-delay.chartserviceversion.yaml - desc: "openebs-target-network-delay" - - name: openebs-target-network-loss - CSV: openebs-target-network-loss.chartserviceversion.yaml - desc: "openebs-target-network-loss" - - name: openebs-control-plane-chaos - CSV: openebs-control-plane-chaos.chartserviceversion.yaml - desc: "openebs-control-plane-chaos" - - name: openebs-pool-network-delay - CSV: openebs-pool-network-delay.chartserviceversion.yaml - desc: "openebs-pool-network-delay" - - name: openebs-pool-network-loss - CSV: openebs-pool-network-loss.chartserviceversion.yaml - desc: "openebs-pool-network-loss" - - name: openebs-pool-disk-loss - CSV: openebs-pool-disk-loss.chartserviceversion.yaml - desc: "openebs-pool-disk-loss" - - name: openebs-nfs-provisioner-kill - CSV: openebs-nfs-provisioner-kill.chartserviceversion.yaml - desc: "openebs-nfs-provisioner-kill" \ No newline at end of file diff --git a/charts/openebs/sample_openebs_engine_with_data_persistency_enabled.yaml b/charts/openebs/sample_openebs_engine_with_data_persistency_enabled.yaml deleted file mode 100644 index 7a59e6efe..000000000 --- a/charts/openebs/sample_openebs_engine_with_data_persistency_enabled.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: openebs-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=nginx' - appkind: 'deployment' - chaosServiceAccount: -sa - experiments: - - name: - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'cstor-istgt' - - name: APP_PVC - value: 'demo-nginx-claim' - configMaps: - - name: map1 - mountPath: '/mnt' - secrets: - - name: secret1 - mountPath: '/tmp' \ No newline at end of file diff --git a/charts/vmware/experiments.yaml b/charts/vmware/experiments.yaml deleted file mode 100644 index 998e195fe..000000000 --- a/charts/vmware/experiments.yaml +++ /dev/null @@ -1,99 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Stops one or more VMs for a certain chaos duration. -kind: ChaosExperiment -metadata: - name: vm-poweroff - labels: - name: vm-poweroff - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - args: - - -c - - ./experiments -name vm-poweroff - command: - - /bin/bash - env: - - - name: VCENTERSERVER - valueFrom: - secretKeyRef: - name: vcenter-secret - key: VCENTERSERVER - - - name: VCENTERUSER - valueFrom: - secretKeyRef: - name: vcenter-secret - key: VCENTERUSER - - - name: VCENTERPASS - valueFrom: - secretKeyRef: - name: vcenter-secret - key: VCENTERPASS - - # provide the VM MOIDs as comma separated values - - name: APP_VM_MOIDS - value: '' - - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - - name: LIB - value: 'litmus' - - - name: RAMP_TIME - value: '' - - # parallel or sequence; the mode of chaos sequence, defaults to parallel - - name: SEQUENCE - value: 'parallel' - - labels: - experiment: vm-poweroff - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 - ---- diff --git a/charts/vmware/icons/vm-poweroff.png b/charts/vmware/icons/vm-poweroff.png deleted file mode 100644 index 50807e52d..000000000 Binary files a/charts/vmware/icons/vm-poweroff.png and /dev/null differ diff --git a/charts/vmware/icons/vmware.png b/charts/vmware/icons/vmware.png deleted file mode 100644 index 50807e52d..000000000 Binary files a/charts/vmware/icons/vmware.png and /dev/null differ diff --git a/charts/vmware/vm-poweroff/engine.yaml b/charts/vmware/vm-poweroff/engine.yaml deleted file mode 100644 index a9fa88a46..000000000 --- a/charts/vmware/vm-poweroff/engine.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -kind: ChaosEngine -metadata: - name: vmware-vm-chaos - namespace: default -spec: - # It can be active/stop - engineState: 'active' - #ex. values: ns1:name=percona,ns2:run=nginx - auxiliaryAppInfo: '' - chaosServiceAccount: vm-poweroff-sa - experiments: - - name: vm-poweroff - spec: - components: - env: - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - # provide VM MOIDs as comma separated values - - name: APP_VM_MOIDS - value: '' diff --git a/charts/vmware/vm-poweroff/experiment.yaml b/charts/vmware/vm-poweroff/experiment.yaml deleted file mode 100644 index b74114ff5..000000000 --- a/charts/vmware/vm-poweroff/experiment.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: litmuschaos.io/v1alpha1 -description: - message: | - Stops one or more VMs for a certain chaos duration. -kind: ChaosExperiment -metadata: - name: vm-poweroff - labels: - name: vm-poweroff - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: chaosexperiment - app.kubernetes.io/version: 2.6.0 -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 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:2.6.0" - args: - - -c - - ./experiments -name vm-poweroff - command: - - /bin/bash - env: - - - name: VCENTERSERVER - valueFrom: - secretKeyRef: - name: vcenter-secret - key: VCENTERSERVER - - - name: VCENTERUSER - valueFrom: - secretKeyRef: - name: vcenter-secret - key: VCENTERUSER - - - name: VCENTERPASS - valueFrom: - secretKeyRef: - name: vcenter-secret - key: VCENTERPASS - - # provide the VM MOIDs as comma separated values - - name: APP_VM_MOIDS - value: '' - - # set chaos duration (in sec) as desired - - name: TOTAL_CHAOS_DURATION - value: '30' - - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '30' - - - name: LIB - value: 'litmus' - - - name: RAMP_TIME - value: '' - - # parallel or sequence; the mode of chaos sequence, defaults to parallel - - name: SEQUENCE - value: 'parallel' - - labels: - experiment: vm-poweroff - app.kubernetes.io/part-of: litmus - app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: 2.6.0 diff --git a/charts/vmware/vm-poweroff/rbac.yaml b/charts/vmware/vm-poweroff/rbac.yaml deleted file mode 100644 index 4bbd8eecb..000000000 --- a/charts/vmware/vm-poweroff/rbac.yaml +++ /dev/null @@ -1,63 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: vm-poweroff-sa - namespace: default - labels: - name: vm-poweroff-sa - app.kubernetes.io/part-of: litmus ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: vm-poweroff-sa - labels: - name: vm-poweroff-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 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: vm-poweroff-sa - labels: - name: vm-poweroff-sa - app.kubernetes.io/part-of: litmus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: vm-poweroff-sa -subjects: -- kind: ServiceAccount - name: vm-poweroff-sa - namespace: default - diff --git a/charts/vmware/vm-poweroff/vm-poweroff.chartserviceversion.yaml b/charts/vmware/vm-poweroff/vm-poweroff.chartserviceversion.yaml deleted file mode 100644 index c3207975d..000000000 --- a/charts/vmware/vm-poweroff/vm-poweroff.chartserviceversion.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-04-29T10:28:08Z - name: vm-poweroff - annotations: - categories: vmware - vendor: Wipro, ChaosNative - support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN -spec: - displayName: vm-poweroff - categoryDescription: | - This experiment causes power-off of target VMWare VM(s) for a certain chaos duration: - - Causes power-off of the VMWare VM(s) provided by the Moid(s) of the instance. - - It helps to check the performance of the application/services on the instance. - - Currently, the experiment is supported for vsphere version 6.X (Support for 7.X will be added soon). - - keywords: - - Vmware - - VM - platforms: - - vmware - maturity: alpha - maintainers: - - name: Delphine Joyneer, Neelanjan Manna - email: golkonda.joyneer@wipro.com, neelanjan@chaosnative.com - provider: - name: Wipro, ChaosNative - labels: - app.kubernetes.io/component: chartserviceversion - app.kubernetes.io/version: 2.6.0 - links: - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/vmware/vm-poweroff - - name: Documentation - url: https://litmuschaos.github.io/litmus/experiments/categories/vmware/vm-poweroff/ - - name: Video - url: - icon: - - url: - mediatype: "" - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/vmware/vm-poweroff/experiment.yaml diff --git a/charts/vmware/vmware.chartserviceversion.yaml b/charts/vmware/vmware.chartserviceversion.yaml deleted file mode 100644 index 8c4ed2623..000000000 --- a/charts/vmware/vmware.chartserviceversion.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-04-29T10:28:08Z - name: vmware - version: 0.1.0 - annotations: - categories: vmware - chartDescription: Injects chaos on VMWare components -spec: - displayName: VMWare Chaos - categoryDescription: > - Contains chaos to disrupt the state of VMWare resources - experiments: - - vm-poweroff - keywords: - - vmware - - VM - maintainers: - - name: Delphine Joyneer, Neelanjan Manna - email: golkonda.joyneer@wipro.com, neelanjan@chaosnative.com - provider: - name: Wipro, ChaosNative - links: - - name: Kubernetes Website - url: https://kubernetes.io - - name: Source Code - url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/vmware - - name: Community Slack - url: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN - icon: - - url: - mediatype: - chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/vmware/experiments.yaml diff --git a/charts/vmware/vmware.package.yaml b/charts/vmware/vmware.package.yaml deleted file mode 100644 index 3fe0e4828..000000000 --- a/charts/vmware/vmware.package.yaml +++ /dev/null @@ -1,5 +0,0 @@ -packageName: vmware -experiments: - - name: vm-poweroff - CSV: vm-poweroff.chartserviceversion.yaml - desc: "vm-poweroff" diff --git a/workflows/bank-of-anthos/bank-of-anthos.chartserviceversion.yaml b/workflows/bank-of-anthos/bank-of-anthos.chartserviceversion.yaml deleted file mode 100644 index d02f199e6..000000000 --- a/workflows/bank-of-anthos/bank-of-anthos.chartserviceversion.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - name: bank-of-anthos - version: 0.1.0 - annotations: - categories: bank-of-anthos - chartDescription: Injects chaos on bank-of-anthos application using http probe. -spec: - displayName: bank-of-anthos-Chaos - categoryDescription: > - It install bank-of-anthos application, generate loads, inject chaos on bank-of-anthos, - uninstall the application and revert the chaos - experiments: - - pod-network-loss - keywords: - - Kubernetes - - bank-of-anthos - - Pod - - Network - platforms: - - GKE - - Minikube - - Packet(Kubeadm) - - EKS - - AKS - maintainers: - - name: oumkale - email: oumkale@chaosnative.com - provider: - name: ChaosNative - links: - - name: Kubernetes Slack - url: https://slack.kubernetes.io/ - - name: Documentation - url: https://docs.litmuschaos.io/docs/chaoshub/#generic-chaos - icon: - - url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/workflows/icons/bank-of-anthos.png - mediatype: image/png diff --git a/workflows/bank-of-anthos/workflow.yaml b/workflows/bank-of-anthos/workflow.yaml deleted file mode 100644 index 77396a8cd..000000000 --- a/workflows/bank-of-anthos/workflow.yaml +++ /dev/null @@ -1,118 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-bank-of-anthos-resiliency- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_bank-of-anthos" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "bank" - templates: - - name: argowf-chaos - steps: - - - name: install-application - template: install-application - - - name: install-chaos-experiments - template: install-chaos-experiments - - - name: pod-network-loss - template: pod-network-loss - - - name: revert-chaos - template: revert-chaos - - name: delete-application - template: delete-application - - - name: install-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=bank","-typeName=resilient","-operation=apply","-timeout=400", "-app=bank-of-anthos","-scope=cluster"] #for weak provide type flagName as resilient(-typeName=weak) - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} ; sleep 30" - - - name: pod-network-loss - inputs: - artifacts: - - name: pod-network-loss - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-network-loss-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_bank-of-anthos" - spec: - appinfo: - appns: 'bank' - applabel: 'name in (balancereader,transactionhistory)' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-network-loss - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://frontend.bank.svc.cluster.local:80" - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '90' - - name: NETWORK_INTERFACE - value: 'eth0' - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' - - name: CONTAINER_RUNTIME - value: 'docker' - - name: SOCKET_PATH - value: '/var/run/docker.sock' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: delete-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=bank","-typeName=resilient","-operation=delete", "-app=bank-of-anthos"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine pod-network-loss-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/bank-of-anthos/workflow_cron.yaml b/workflows/bank-of-anthos/workflow_cron.yaml deleted file mode 100644 index dbbb7b5ee..000000000 --- a/workflows/bank-of-anthos/workflow_cron.yaml +++ /dev/null @@ -1,122 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - generateName: argowf-chaos-bank-of-anthos-resiliency-cron-wf- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_bank-of-anthos" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "bank" - templates: - - name: argowf-chaos - steps: - - - name: install-application - template: install-application - - - name: install-chaos-experiments - template: install-chaos-experiments - - - name: pod-network-loss - template: pod-network-loss - - - name: revert-chaos - template: revert-chaos - - name: delete-application - template: delete-application - - - name: install-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=bank","-typeName=resilient","-operation=apply","-timeout=400", "-app=bank-of-anthos","-scope=cluster"] #for weak provide type flagName as resilient(-typeName=weak) - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} ; sleep 30" - - - name: pod-network-loss - inputs: - artifacts: - - name: pod-network-loss - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-network-loss-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_bank-of-anthos" - spec: - appinfo: - appns: 'bank' - applabel: 'name in (balancereader,transactionhistory)' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-network-loss - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://frontend.bank.svc.cluster.local:80" - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '60' - - name: NETWORK_INTERFACE - value: 'eth0' - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' - - name: CONTAINER_RUNTIME - value: 'docker' - - name: SOCKET_PATH - value: '/var/run/docker.sock' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: delete-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=bank","-typeName=resilient","-operation=delete", "-app=bank-of-anthos"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine pod-network-loss-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/icons/bank-of-anthos.png b/workflows/icons/bank-of-anthos.png deleted file mode 100644 index ba9028d7d..000000000 Binary files a/workflows/icons/bank-of-anthos.png and /dev/null differ diff --git a/workflows/icons/podtato-head.png b/workflows/icons/podtato-head.png deleted file mode 100644 index 59e9f28f9..000000000 Binary files a/workflows/icons/podtato-head.png and /dev/null differ diff --git a/workflows/icons/sock-shop-promProbe.png b/workflows/icons/sock-shop-promProbe.png deleted file mode 100644 index 00b4a19b0..000000000 Binary files a/workflows/icons/sock-shop-promProbe.png and /dev/null differ diff --git a/workflows/icons/sock-shop.png b/workflows/icons/sock-shop.png deleted file mode 100644 index 00b4a19b0..000000000 Binary files a/workflows/icons/sock-shop.png and /dev/null differ diff --git a/workflows/k8-calico-node/Readme.md b/workflows/k8-calico-node/Readme.md deleted file mode 100644 index b9b55e1dd..000000000 --- a/workflows/k8-calico-node/Readme.md +++ /dev/null @@ -1,10 +0,0 @@ -### This explain how you can execute the argo work flow, -### Assumption is that you have installed the litmus - https://docs.litmuschaos.io/docs/getstarted/ -### Assumption is that you have install argo work flow on this cluster - https://github.com/litmuschaos/chaos-workflows#getting-started -### This execution will happen on against target namespace and assume that you have setup - https://hub.litmuschaos.io/generic/k8-calico-node -### Please ensure you have enough pods for this namespace -- Apply rbac for argo - `kubectl apply -f rbac-argo-service.yaml` -- Execute experiments for k8 - `argo submit workflow.yaml` - - - diff --git a/workflows/k8-calico-node/rbac-argo-service.yaml b/workflows/k8-calico-node/rbac-argo-service.yaml deleted file mode 100644 index 98823e2cc..000000000 --- a/workflows/k8-calico-node/rbac-argo-service.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: argowf-role - namespace: default -rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["get","watch","patch","list"] -- apiGroups: [""] - resources: ["pods/log"] - verbs: ["get","watch"] -- apiGroups: ["argoproj.io"] - resources: ["workflow","workflows"] - verbs: ["get","create","update","patch","delete","list","watch"] -- apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["get","create","delete","list"] -- apiGroups: ["","litmuschaos.io"] - resources: ["chaosengines","chaosexperiments","chaosresults"] - verbs: ["get","create","update","patch","delete","list","watch","deletecollection"] ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: argowf-svcacc - namespace: default ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - name: argowf-rolebinding - namespace: default -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: argowf-role -subjects: - [ - { - "kind": "ServiceAccount", - "name": "argowf-svcacc", - "namespace": "default" - } - ] \ No newline at end of file diff --git a/workflows/k8-calico-node/workflow.yaml b/workflows/k8-calico-node/workflow.yaml deleted file mode 100644 index db934f2a6..000000000 --- a/workflows/k8-calico-node/workflow.yaml +++ /dev/null @@ -1,152 +0,0 @@ -# This test can be executed only in Chaos namespace -# this will launch the argo and chaos in chaos namespace -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos- - labels: - subject: "{{workflow.parameters.appNamespace}}_calico-node" -spec: - entrypoint: pdbcreate - poddisruptionbudget: - minavailable: 100% - # must complete in 1m - activeDeadlineSeconds: 86400 - # keep workflows for 3m - ttlStrategy: - secondsAfterCompletion: 3600 - # delete all pods as soon as they complete - podGC: - strategy: OnPodCompletion - serviceAccountName: argowf-svcacc - arguments: - parameters: - - name: appNamespace - value: "kube-system" - - name: appCurrentNamespace - value: "default" - - name: appLabel - value: "k8s-app=calico-node" - - name: appEndpoint - value: "localhost" - - name: fileName - value: "pod-custom-kill-health.json" - - name: chaosServiceAccount - value: chaos-admin - - name: reportEndpoint - value: none - templates: - - name: argowf-chaos - steps: - - - name: pdbcreate - template: pdbcreate - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: pdbcreate - container: - image: alpine:latest - command: [sh, -c] - args: [sleep 10] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/createChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appCurrentNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_calico-node" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: ['kubectl apply -f /tmp/createChaosEngine.yaml -n {{workflow.parameters.appCurrentNamespace}} | echo "sleeping for 60s" | sleep 60 '] - - - name: revert-chaos - inputs: - artifacts: - - name: revert-chaos - path: /tmp/deleteChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appCurrentNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_calico-node" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: [' sleep 20 | kubectl delete -f /tmp/deleteChaosEngine.yaml -n {{workflow.parameters.appCurrentNamespace}} | echo "sleeping for 60s" | sleep 60 '] diff --git a/workflows/k8-kiam/Readme.md b/workflows/k8-kiam/Readme.md deleted file mode 100644 index 5cf26731d..000000000 --- a/workflows/k8-kiam/Readme.md +++ /dev/null @@ -1,10 +0,0 @@ -### This explain how you can execute the argo work flow, -### Assumption is that you have installed the litmus - https://docs.litmuschaos.io/docs/getstarted/ -### Assumption is that you have install argo work flow on this cluster - https://github.com/litmuschaos/chaos-workflows#getting-started -### This execution will happen on against target namespace and assume that you have setup - https://hub.litmuschaos.io/generic/k8-kiam -### Please ensure you have enough pods for this namespace -- Apply rbac for argo - `kubectl apply -f rbac-argo-service.yaml` -- Execute experiments for k8 - `argo submit workflow.yaml` - - - diff --git a/workflows/k8-kiam/rbac-argo-service.yaml b/workflows/k8-kiam/rbac-argo-service.yaml deleted file mode 100644 index 98823e2cc..000000000 --- a/workflows/k8-kiam/rbac-argo-service.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: argowf-role - namespace: default -rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["get","watch","patch","list"] -- apiGroups: [""] - resources: ["pods/log"] - verbs: ["get","watch"] -- apiGroups: ["argoproj.io"] - resources: ["workflow","workflows"] - verbs: ["get","create","update","patch","delete","list","watch"] -- apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["get","create","delete","list"] -- apiGroups: ["","litmuschaos.io"] - resources: ["chaosengines","chaosexperiments","chaosresults"] - verbs: ["get","create","update","patch","delete","list","watch","deletecollection"] ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: argowf-svcacc - namespace: default ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - name: argowf-rolebinding - namespace: default -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: argowf-role -subjects: - [ - { - "kind": "ServiceAccount", - "name": "argowf-svcacc", - "namespace": "default" - } - ] \ No newline at end of file diff --git a/workflows/k8-kiam/workflow.yaml b/workflows/k8-kiam/workflow.yaml deleted file mode 100644 index aff4cf41c..000000000 --- a/workflows/k8-kiam/workflow.yaml +++ /dev/null @@ -1,152 +0,0 @@ -# This test can be executed only in Chaos namespace -# this will launch the argo and chaos in chaos namespace -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos- - labels: - subject: "{{workflow.parameters.appNamespace}}_kiam" -spec: - entrypoint: pdbcreate - poddisruptionbudget: - minavailable: 100% - # must complete in 1m - activeDeadlineSeconds: 86400 - # keep workflows for 3m - ttlStrategy: - secondsAfterCompletion: 3600 - # delete all pods as soon as they complete - podGC: - strategy: OnPodCompletion - serviceAccountName: argowf-svcacc - arguments: - parameters: - - name: appNamespace - value: "kube-system" - - name: appCurrentNamespace - value: "default" - - name: appLabel - value: "kiam" - - name: appEndpoint - value: "localhost" - - name: fileName - value: "pod-app-kill-health.json" - - name: chaosServiceAccount - value: chaos-admin - - name: reportEndpoint - value: none - templates: - - name: argowf-chaos - steps: - - - name: pdbcreate - template: pdbcreate - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: pdbcreate - container: - image: alpine:latest - command: [sh, -c] - args: [sleep 10] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/createChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appCurrentNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kiam" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: ['kubectl apply -f /tmp/createChaosEngine.yaml -n {{workflow.parameters.appCurrentNamespace}} | echo "sleeping for 60s" | sleep 60 '] - - - name: revert-chaos - inputs: - artifacts: - - name: revert-chaos - path: /tmp/deleteChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appCurrentNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kiam" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: [' sleep 20 | kubectl delete -f /tmp/deleteChaosEngine.yaml -n {{workflow.parameters.appCurrentNamespace}} | echo "sleeping for 60s" | sleep 60 '] diff --git a/workflows/k8-pod-delete/Readme.md b/workflows/k8-pod-delete/Readme.md deleted file mode 100644 index 64732e52c..000000000 --- a/workflows/k8-pod-delete/Readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# This explain how you can execute the argo work flow, -### Assumption is that you have installed the litmus - https://docs.litmuschaos.io/docs/getstarted/ -### Assumption is that you have install argo work flow on this cluster - https://github.com/litmuschaos/chaos-workflows#getting-started -### This execution will happen on your namespace and won't impact outside it -### Please ensure you have enough pods for this namespace -- Apply rbac for argo - `kubectl apply -f rbac-argo-service.yaml` -- Execute experiments for k8 - `argo submit workflow.yaml` - - diff --git a/workflows/k8-pod-delete/rbac-argo-service.yaml b/workflows/k8-pod-delete/rbac-argo-service.yaml deleted file mode 100644 index 98823e2cc..000000000 --- a/workflows/k8-pod-delete/rbac-argo-service.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: argowf-role - namespace: default -rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["get","watch","patch","list"] -- apiGroups: [""] - resources: ["pods/log"] - verbs: ["get","watch"] -- apiGroups: ["argoproj.io"] - resources: ["workflow","workflows"] - verbs: ["get","create","update","patch","delete","list","watch"] -- apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["get","create","delete","list"] -- apiGroups: ["","litmuschaos.io"] - resources: ["chaosengines","chaosexperiments","chaosresults"] - verbs: ["get","create","update","patch","delete","list","watch","deletecollection"] ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: argowf-svcacc - namespace: default ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - name: argowf-rolebinding - namespace: default -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: argowf-role -subjects: - [ - { - "kind": "ServiceAccount", - "name": "argowf-svcacc", - "namespace": "default" - } - ] \ No newline at end of file diff --git a/workflows/k8-pod-delete/workflow.yaml b/workflows/k8-pod-delete/workflow.yaml deleted file mode 100644 index a18097ffd..000000000 --- a/workflows/k8-pod-delete/workflow.yaml +++ /dev/null @@ -1,191 +0,0 @@ -# This test can be executed only in application namespace -# this will launch the argo, and the chaos pod in same namespace -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos- - labels: - subject: "{{workflow.parameters.appNamespace}}_nginx-demo-app" -spec: - entrypoint: pdbcreate - poddisruptionbudget: - minavailable: 100% - # must complete in 1m - activeDeadlineSeconds: 86400 - # keep workflows for 3m - ttlStrategy: - secondsAfterCompletion: 3600 - # delete all pods as soon as they complete - podGC: - strategy: OnPodCompletion - serviceAccountName: argowf-svcacc - arguments: - parameters: - - name: appNamespace - value: "default" - - name: appCurrentNamespace - value: "default" - - name: appLabel - value: "nginx-demo-app" - - name: appEndpoint - value: "localhost" - - name: fileName - value: "pod-app-kill-health.json" - - name: chaosServiceAccount - value: k8-pod-delete-sa - - name: reportEndpoint - value: none - templates: - - name: argowf-chaos - steps: - - - name: pdbcreate - template: pdbcreate - - - name: install-chaos-experiments - template: install-chaos-experiments - - - name: install-chaos-rbac - template: install-chaos-rbac - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: revert-chaos-rbac - template: revert-chaos-rbac - - - name: revert-chaos-experiments - template: revert-chaos-experiments - - name: pdbcreate - container: - image: alpine:latest - command: [sh, -c] - args: [sleep 10] - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/1.9.0?file=charts/generic/byoc-pod-delete/experiment.yaml -n - {{workflow.parameters.appNamespace}} | sleep 30" - - - name: install-chaos-rbac - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/1.9.0?file=charts/generic/byoc-pod-delete/rbac.yaml -n - {{workflow.parameters.appNamespace}} | sleep 30" - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/createChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_nginx-demo-app" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: ['kubectl apply -f /tmp/createChaosEngine.yaml -n {{workflow.parameters.appNamespace}} | echo "sleeping for 60s" | sleep 60 '] - - - name: revert-chaos - inputs: - artifacts: - - name: revert-chaos - path: /tmp/deleteChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_nginx-demo-app" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: [' sleep 20 | kubectl delete -f /tmp/deleteChaosEngine.yaml -n {{workflow.parameters.appNamespace}} | echo "sleeping for 60s" | sleep 60 '] - - - name: revert-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl delete -f https://hub.litmuschaos.io/api/chaos/1.9.0?file=charts/generic/byoc-pod-delete/experiment.yaml -n - {{workflow.parameters.appNamespace}} | sleep 30" - - - name: revert-chaos-rbac - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl delete -f https://hub.litmuschaos.io/api/chaos/1.9.0?file=charts/generic/byoc-pod-delete/rbac.yaml -n - {{workflow.parameters.appNamespace}} | sleep 30" diff --git a/workflows/k8-service-kill/Readme.md b/workflows/k8-service-kill/Readme.md deleted file mode 100644 index f26000e4c..000000000 --- a/workflows/k8-service-kill/Readme.md +++ /dev/null @@ -1,10 +0,0 @@ -### This explain how you can execute the argo work flow, -### Assumption is that you have installed the litmus - https://docs.litmuschaos.io/docs/getstarted/ -### Assumption is that you have install argo work flow on this cluster - https://github.com/litmuschaos/chaos-workflows#getting-started -### This execution will happen on against target namespace and assume that you have setup - https://hub.litmuschaos.io/generic/k8-service-kill -### Please ensure you have enough pods for this namespace -- Apply rbac for argo - `kubectl apply -f rbac-argo-service.yaml` -- Execute experiments for k8 - `argo submit workflow.yaml` - - - diff --git a/workflows/k8-service-kill/rbac-argo-service.yaml b/workflows/k8-service-kill/rbac-argo-service.yaml deleted file mode 100644 index 98823e2cc..000000000 --- a/workflows/k8-service-kill/rbac-argo-service.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: argowf-role - namespace: default -rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["get","watch","patch","list"] -- apiGroups: [""] - resources: ["pods/log"] - verbs: ["get","watch"] -- apiGroups: ["argoproj.io"] - resources: ["workflow","workflows"] - verbs: ["get","create","update","patch","delete","list","watch"] -- apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["get","create","delete","list"] -- apiGroups: ["","litmuschaos.io"] - resources: ["chaosengines","chaosexperiments","chaosresults"] - verbs: ["get","create","update","patch","delete","list","watch","deletecollection"] ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: argowf-svcacc - namespace: default ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - name: argowf-rolebinding - namespace: default -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: argowf-role -subjects: - [ - { - "kind": "ServiceAccount", - "name": "argowf-svcacc", - "namespace": "default" - } - ] \ No newline at end of file diff --git a/workflows/k8-service-kill/workflow.yaml b/workflows/k8-service-kill/workflow.yaml deleted file mode 100644 index 92dbbec4c..000000000 --- a/workflows/k8-service-kill/workflow.yaml +++ /dev/null @@ -1,152 +0,0 @@ -# This test can be executed only in Chaos namespace -# this will launch the argo and chaos in chaos namespace -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos- - labels: - subject: "{{workflow.parameters.appNamespace}}_calico-node" -spec: - entrypoint: pdbcreate - poddisruptionbudget: - minavailable: 100% - # must complete in 1m - activeDeadlineSeconds: 86400 - # keep workflows for 3m - ttlStrategy: - secondsAfterCompletion: 3600 - # delete all pods as soon as they complete - podGC: - strategy: OnPodCompletion - serviceAccountName: argowf-svcacc - arguments: - parameters: - - name: appNamespace - value: "default" - - name: appCurrentNamespace - value: "default" - - name: appLabel - value: "k8s-app=calico-node" - - name: appEndpoint - value: "localhost" - - name: fileName - value: "service-app-kill-health.json" - - name: chaosServiceAccount - value: chaos-admin - - name: reportEndpoint - value: none - templates: - - name: argowf-chaos - steps: - - - name: pdbcreate - template: pdbcreate - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: pdbcreate - container: - image: alpine:latest - command: [sh, -c] - args: [sleep 10] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/createChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appCurrentNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_calico-node" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: ['kubectl apply -f /tmp/createChaosEngine.yaml -n {{workflow.parameters.appCurrentNamespace}} | echo "sleeping for 60s" | sleep 60 '] - - - name: revert-chaos - inputs: - artifacts: - - name: revert-chaos - path: /tmp/deleteChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appCurrentNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_calico-node" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: [' sleep 20 | kubectl delete -f /tmp/deleteChaosEngine.yaml -n {{workflow.parameters.appCurrentNamespace}} | echo "sleeping for 60s" | sleep 60 '] diff --git a/workflows/k8-wavefront-collector/Readme.md b/workflows/k8-wavefront-collector/Readme.md deleted file mode 100644 index bdcba8cc0..000000000 --- a/workflows/k8-wavefront-collector/Readme.md +++ /dev/null @@ -1,10 +0,0 @@ -### This explain how you can execute the argo work flow, -### Assumption is that you have installed the litmus - https://docs.litmuschaos.io/docs/getstarted/ -### Assumption is that you have install argo work flow on this cluster - https://github.com/litmuschaos/chaos-workflows#getting-started -### This execution will happen on against target namespace and assume that you have setup - https://hub.litmuschaos.io/generic/k8-wavefront-collector -### Please ensure you have enough pods for this namespace -- Apply rbac for argo - `kubectl apply -f rbac-argo-service.yaml` -- Execute experiments for k8 - `argo submit workflow.yaml` - - - diff --git a/workflows/k8-wavefront-collector/rbac-argo-service.yaml b/workflows/k8-wavefront-collector/rbac-argo-service.yaml deleted file mode 100644 index 98823e2cc..000000000 --- a/workflows/k8-wavefront-collector/rbac-argo-service.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: argowf-role - namespace: default -rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["get","watch","patch","list"] -- apiGroups: [""] - resources: ["pods/log"] - verbs: ["get","watch"] -- apiGroups: ["argoproj.io"] - resources: ["workflow","workflows"] - verbs: ["get","create","update","patch","delete","list","watch"] -- apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["get","create","delete","list"] -- apiGroups: ["","litmuschaos.io"] - resources: ["chaosengines","chaosexperiments","chaosresults"] - verbs: ["get","create","update","patch","delete","list","watch","deletecollection"] ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: argowf-svcacc - namespace: default ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - name: argowf-rolebinding - namespace: default -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: argowf-role -subjects: - [ - { - "kind": "ServiceAccount", - "name": "argowf-svcacc", - "namespace": "default" - } - ] \ No newline at end of file diff --git a/workflows/k8-wavefront-collector/workflow.yaml b/workflows/k8-wavefront-collector/workflow.yaml deleted file mode 100644 index 0f52dc0ab..000000000 --- a/workflows/k8-wavefront-collector/workflow.yaml +++ /dev/null @@ -1,152 +0,0 @@ -# This test can be executed only in Chaos namespace -# this will launch the argo and chaos in chaos namespace -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos- - labels: - subject: "{{workflow.parameters.appNamespace}}_wavefront-collector" -spec: - entrypoint: pdbcreate - poddisruptionbudget: - minavailable: 100% - # must complete in 1m - activeDeadlineSeconds: 86400 - # keep workflows for 3m - ttlStrategy: - secondsAfterCompletion: 3600 - # delete all pods as soon as they complete - podGC: - strategy: OnPodCompletion - serviceAccountName: argowf-svcacc - arguments: - parameters: - - name: appNamespace - value: "kube-system" - - name: appCurrentNamespace - value: "default" - - name: appLabel - value: "k8s-app=wavefront-collector" - - name: appEndpoint - value: "localhost" - - name: fileName - value: "pod-custom-kill-health.json" - - name: chaosServiceAccount - value: chaos-admin - - name: reportEndpoint - value: none - templates: - - name: argowf-chaos - steps: - - - name: pdbcreate - template: pdbcreate - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: pdbcreate - container: - image: alpine:latest - command: [sh, -c] - args: [sleep 10] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/createChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appCurrentNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_wavefront-collector" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: ['kubectl apply -f /tmp/createChaosEngine.yaml -n {{workflow.parameters.appCurrentNamespace}} | echo "sleeping for 60s" | sleep 60 '] - - - name: revert-chaos - inputs: - artifacts: - - name: revert-chaos - path: /tmp/deleteChaosEngine.yaml - raw: - data: | - # chaosengine.yaml - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: k8-pod-delete - namespace: {{workflow.parameters.appCurrentNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_wavefront-collector" - spec: - #ex. values: ns1:name=percona,ns2:run=nginx - appinfo: - appns: {{workflow.parameters.appNamespace}} - # FYI, To see app label, apply kubectl get pods --show-labels - #applabel: "app=nginx" - applabel: "app={{workflow.parameters.appLabel}}" - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: {{workflow.parameters.chaosServiceAccount}} - experiments: - - name: k8-pod-delete - spec: - components: - env: - - name: NAME_SPACE - value: {{workflow.parameters.appNamespace}} - - name: LABEL_NAME - value: {{workflow.parameters.appLabel}} - - name: APP_ENDPOINT - value: {{workflow.parameters.appEndpoint}} - - name: FILE - value: {{workflow.parameters.fileName}} - - name: REPORT - value: 'false' - - name: REPORT_ENDPOINT - value: '{{workflow.parameters.reportEndpoint}}' - - name: TEST_NAMESPACE - value: {{workflow.parameters.appCurrentNamespace}} - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: [' sleep 20 | kubectl delete -f /tmp/deleteChaosEngine.yaml -n {{workflow.parameters.appCurrentNamespace}} | echo "sleeping for 60s" | sleep 60 '] diff --git a/workflows/kube-proxy-all/workflow.yaml b/workflows/kube-proxy-all/workflow.yaml deleted file mode 100644 index 3e4996880..000000000 --- a/workflows/kube-proxy-all/workflow.yaml +++ /dev/null @@ -1,235 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-kube-proxy-all- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_kube-proxy" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: litmus - - name: appNamespace - value: "kube-system" - - name: contextCPUHog - value: "node-cpu-hog_infra" - - name: contextMemoryHog - value: "node-memory-hog_infra" - - templates: - - name: argowf-chaos - steps: - - - name: install-chaos-experiments - template: install-chaos-experiments - - - name: node-cpu-hog - template: node-cpu-hog - - name: pod-memory-hog - template: pod-memory-hog - - - name: pod-cpu-hog - template: pod-cpu-hog - - name: node-memory-hog - template: node-memory-hog - - - name: pod-delete - template: pod-delete - - - name: revert-kube-proxy-chaos - template: revert-kube-proxy-chaos - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} | sleep 30" - - - name: node-cpu-hog - inputs: - artifacts: - - name: node-cpu-hog - path: /tmp/chaosengine-node-cpu-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-node-cpu-hog - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: {{workflow.parameters.contextCPUHog}} - spec: - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: node-cpu-hog - spec: - components: - env: - - name: NODE_CPU_CORE - value: '1' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-node-cpu-hog.yaml","-saveName=/tmp/engine-name"] - - - name: pod-memory-hog - inputs: - artifacts: - - name: pod-memory-hog - path: /tmp/chaosengine-pod-memory-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-memory-hog - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'kube-proxy' - - name: MEMORY_CONSUMPTION - value: '500' - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill $(find /proc -name exe -lname '*/dd' 2>&1 | grep -v 'Permission denied' | awk -F/ '{print $(NF-1)}' | head -n 1)" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-pod-memory-hog.yaml","-saveName=/tmp/engine-name"] - - - name: pod-cpu-hog - inputs: - artifacts: - - name: pod-cpu-hog - path: /tmp/chaosengine-pod-cpu-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-cpu-hog - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'kube-proxy' - - name: CPU_CORES - value: '1' - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill $(find /proc -name exe -lname '*/md5sum' 2>&1 | grep -v 'Permission denied' | awk -F/ '{print $(NF-1)}' | head -n 1)" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-pod-cpu-hog.yaml","-saveName=/tmp/engine-name"] - - - name: node-memory-hog - inputs: - artifacts: - - name: node-memory-hog - path: /tmp/chaosengine-node-memory-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-node-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: {{workflow.parameters.contextMemoryHog}} - spec: - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: node-memory-hog - spec: - components: - env: - - name: MEMORY_PERCENTAGE - value: '50' - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-node-memory-hog.yaml","-saveName=/tmp/engine-name"] - - - name: pod-delete - inputs: - artifacts: - - name: pod-delete - path: /tmp/chaosengine-pod-delete.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-delete - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: "60" - - name: CHAOS_INTERVAL - value: "10" - - name: FORCE - value: "false" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-pod-delete.yaml","-saveName=/tmp/engine-name"] - - - name: revert-kube-proxy-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl delete chaosengines kube-proxy-node-cpu-hog kube-proxy-pod-memory-hog-chaos kube-proxy-pod-cpu-hog-chaos kube-proxy-node-memory-hog-chaos kube-proxy-pod-delete-chaos -n - {{workflow.parameters.adminModeNamespace}}" diff --git a/workflows/kube-proxy-all/workflow_cron.yaml b/workflows/kube-proxy-all/workflow_cron.yaml deleted file mode 100644 index 5849f77ca..000000000 --- a/workflows/kube-proxy-all/workflow_cron.yaml +++ /dev/null @@ -1,238 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - name: argo-chaos-kube-proxy-cron-wf - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_kube-proxy" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "kube-system" - - name: contextCPUHog - value: "node-cpu-hog_infra" - - name: contextMemoryHog - value: "node-memory-hog_infra" - templates: - - name: argowf-chaos - steps: - - - name: install-chaos-experiments - template: install-chaos-experiments - - - name: node-cpu-hog - template: node-cpu-hog - - name: pod-memory-hog - template: pod-memory-hog - - - name: pod-cpu-hog - template: pod-cpu-hog - - name: node-memory-hog - template: node-memory-hog - - - name: pod-delete - template: pod-delete - - - name: revert-kube-proxy-chaos - template: revert-kube-proxy-chaos - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} | sleep 30" - - - name: node-cpu-hog - inputs: - artifacts: - - name: node-cpu-hog - path: /tmp/chaosengine-node-cpu-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-node-cpu-hog - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: {{workflow.parameters.contextCPUHog}} - spec: - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: node-cpu-hog - spec: - components: - env: - - name: NODE_CPU_CORE - value: '1' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-node-cpu-hog.yaml","-saveName=/tmp/engine-name"] - - - name: pod-memory-hog - inputs: - artifacts: - - name: pod-memory-hog - path: /tmp/chaosengine-pod-memory-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-memory-hog - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'kube-proxy' - - name: MEMORY_CONSUMPTION - value: '500' - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill $(find /proc -name exe -lname '*/dd' 2>&1 | grep -v 'Permission denied' | awk -F/ '{print $(NF-1)}' | head -n 1)" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-pod-memory-hog.yaml","-saveName=/tmp/engine-name"] - - - name: pod-cpu-hog - inputs: - artifacts: - - name: pod-cpu-hog - path: /tmp/chaosengine-pod-cpu-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-cpu-hog - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'kube-proxy' - - name: CPU_CORES - value: '1' - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill $(find /proc -name exe -lname '*/md5sum' 2>&1 | grep -v 'Permission denied' | awk -F/ '{print $(NF-1)}' | head -n 1)" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-pod-cpu-hog.yaml","-saveName=/tmp/engine-name"] - - - name: node-memory-hog - inputs: - artifacts: - - name: node-memory-hog - path: /tmp/chaosengine-node-memory-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-node-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: {{workflow.parameters.contextMemoryHog}} - spec: - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: node-memory-hog - spec: - components: - env: - - name: MEMORY_PERCENTAGE - value: '50' - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-node-memory-hog.yaml","-saveName=/tmp/engine-name"] - - - name: pod-delete - inputs: - artifacts: - - name: pod-delete - path: /tmp/chaosengine-pod-delete.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-delete - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: "60" - - name: CHAOS_INTERVAL - value: "10" - - name: FORCE - value: "false" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine-pod-delete.yaml","-saveName=/tmp/engine-name"] - - - name: revert-kube-proxy-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl delete chaosengines kube-proxy-node-cpu-hog kube-proxy-pod-memory-hog-chaos kube-proxy-pod-cpu-hog-chaos kube-proxy-node-memory-hog-chaos kube-proxy-pod-delete-chaos -n - {{workflow.parameters.adminModeNamespace}}" diff --git a/workflows/namespaced-scope-chaos/workflow.yaml b/workflows/namespaced-scope-chaos/workflow.yaml deleted file mode 100644 index 539861ef3..000000000 --- a/workflows/namespaced-scope-chaos/workflow.yaml +++ /dev/null @@ -1,175 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-hello-world-pod-delete- - labels: - subject: "{{workflow.parameters.adminModeNamespace}}_hello-world" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: litmus - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/pod-delete.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset - kind: ChaosExperiment - metadata: - name: pod-delete - spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "apps" - - "batch" - - "litmuschaos.io" - resources: - - "deployments" - - "jobs" - - "pods" - - "pods/log" - - "events" - - "configmaps" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-delete - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '15' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: FORCE - value: 'true' - - - name: CHAOS_INTERVAL - value: '5' - - - name: LIB - value: 'litmus' - labels: - name: pod-delete - container: - image: litmuschaos/k8s:latest - resources: - limits: - memory: 128Mi - cpu: 50m - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/pod-delete.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.adminModeNamespace}}_hello-world" - spec: - appinfo: - appns: {{workflow.parameters.adminModeNamespace}} - applabel: 'app=hello-world' - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-namespace-admin - experiments: - - name: pod-delete - spec: - components: - resources: - requests: - memory: 128Mi - cpu: 50m - limits: - memory: 128Mi - cpu: 50m - env: - - name: TOTAL_CHAOS_DURATION - value: "30" - - name: CHAOS_INTERVAL - value: "10" - - name: FORCE - value: "false" - container: - image: litmuschaos/litmus-checker:latest - resources: - limits: - memory: 128Mi - cpu: 50m - args: - - -file=/tmp/chaosengine.yaml - - -saveName=/tmp/engine-name - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - resources: - limits: - memory: 128Mi - cpu: 50m - command: [sh, -c] - args: - - "kubectl delete chaosengine pod-delete-chaos -n {{workflow.parameters.adminModeNamespace}}" diff --git a/workflows/namespaced-scope-chaos/workflow_cron.yaml b/workflows/namespaced-scope-chaos/workflow_cron.yaml deleted file mode 100644 index 173aa41c7..000000000 --- a/workflows/namespaced-scope-chaos/workflow_cron.yaml +++ /dev/null @@ -1,179 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - name: argo-chaos-hello-world-pod-delete-cron-wf - labels: - subject: "{{workflow.parameters.adminModeNamespace}}_hello-world" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: litmus - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/pod-delete.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset - kind: ChaosExperiment - metadata: - name: pod-delete - spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "apps" - - "batch" - - "litmuschaos.io" - resources: - - "deployments" - - "jobs" - - "pods" - - "pods/log" - - "events" - - "configmaps" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-delete - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '15' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: FORCE - value: 'true' - - - name: CHAOS_INTERVAL - value: '5' - - - name: LIB - value: 'litmus' - labels: - name: pod-delete - container: - image: litmuschaos/k8s:latest - resources: - limits: - memory: 128Mi - cpu: 50m - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/pod-delete.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.adminModeNamespace}}_hello-world" - spec: - appinfo: - appns: {{workflow.parameters.adminModeNamespace}} - applabel: 'app=hello-world' - appkind: deployment - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-namespace-admin - experiments: - - name: pod-delete - spec: - components: - resources: - requests: - memory: 128Mi - cpu: 50m - limits: - memory: 128Mi - cpu: 50m - env: - - name: TOTAL_CHAOS_DURATION - value: "30" - - name: CHAOS_INTERVAL - value: "10" - - name: FORCE - value: "false" - container: - image: litmuschaos/litmus-checker:latest - resources: - limits: - memory: 128Mi - cpu: 50m - args: - - -file=/tmp/chaosengine.yaml - - -saveName=/tmp/engine-name - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - resources: - limits: - memory: 128Mi - cpu: 50m - command: [sh, -c] - args: - - "kubectl delete chaosengine pod-delete-chaos -n {{workflow.parameters.adminModeNamespace}}" diff --git a/workflows/node-cpu-hog/workflow.yaml b/workflows/node-cpu-hog/workflow.yaml deleted file mode 100644 index bb8cbf812..000000000 --- a/workflows/node-cpu-hog/workflow.yaml +++ /dev/null @@ -1,154 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-node-cpu-hog- - namespace: litmus - labels: - subject: "{{workflow.parameters.context}}" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: context - value: "node-cpu-hog_infra" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/node-cpu-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Give a cpu spike on a node belonging to a deployment - kind: ChaosExperiment - metadata: - name: node-cpu-hog - spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "batch" - - "apps" - - "litmuschaos.io" - resources: - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-cpu-hog - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## ENTER THE NUMBER OF CORES OF CPU FOR CPU HOGGING - ## OPTIONAL VALUE IN CASE OF EMPTY VALUE IT WILL TAKE NODE CPU CAPACITY - - name: NODE_CPU_CORE - value: '' - - # PROVIDE THE LIB HERE - # ONLY LITMUS SUPPORTED - - name: LIB - value: 'litmus' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:latest' - - labels: - name: node-cpu-hog - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/node-cpu-hog.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-node-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.context}}" - spec: - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: node-cpu-hog - spec: - components: - env: - - name: NODE_CPU_CORE - value: '1' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-node-cpu-hog-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/node-cpu-hog/workflow_cron.yaml b/workflows/node-cpu-hog/workflow_cron.yaml deleted file mode 100644 index 8352de016..000000000 --- a/workflows/node-cpu-hog/workflow_cron.yaml +++ /dev/null @@ -1,158 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - name: argo-chaos-node-cpu-cron-wf - namespace: litmus - labels: - subject: "{{workflow.parameters.context}}" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: context - value: "node-cpu-hog_infra" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/node-cpu-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Give a cpu spike on a node belonging to a deployment - kind: ChaosExperiment - metadata: - name: node-cpu-hog - spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "batch" - - "apps" - - "litmuschaos.io" - resources: - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-cpu-hog - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '60' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## ENTER THE NUMBER OF CORES OF CPU FOR CPU HOGGING - ## OPTIONAL VALUE IN CASE OF EMPTY VALUE IT WILL TAKE NODE CPU CAPACITY - - name: NODE_CPU_CORE - value: '' - - # PROVIDE THE LIB HERE - # ONLY LITMUS SUPPORTED - - name: LIB - value: 'litmus' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:latest' - - labels: - name: node-cpu-hog - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/node-cpu-hog.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-node-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.context}}" - spec: - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: node-cpu-hog - spec: - components: - env: - - name: NODE_CPU_CORE - value: '1' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-node-cpu-hog-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] \ No newline at end of file diff --git a/workflows/node-memory-hog/workflow.yaml b/workflows/node-memory-hog/workflow.yaml deleted file mode 100644 index fd27aa06f..000000000 --- a/workflows/node-memory-hog/workflow.yaml +++ /dev/null @@ -1,154 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-node-memory-hog- - namespace: litmus - labels: - subject: "{{workflow.parameters.context}}" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: context - value: "node-memory-hog_infra" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/node-memory-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Give a memory hog on a node belonging to a deployment - kind: ChaosExperiment - metadata: - name: node-memory-hog - spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "batch" - - "apps" - - "litmuschaos.io" - resources: - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-memory-hog - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '120' - - ## specify the size as percent of total available memory (in percentage) - ## Default value "90" - - name: MEMORY_PERCENTAGE - value: '90' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # Provide the LIB here - # Only litmus supported - - name: LIB - value: 'litmus' - - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:latest' - - labels: - name: node-memory-hog - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/node-memory-hog.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-node-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.context}}" - spec: - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: node-memory-hog - spec: - components: - env: - - name: MEMORY_PERCENTAGE - value: '50' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-node-memory-hog-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/node-memory-hog/workflow_cron.yaml b/workflows/node-memory-hog/workflow_cron.yaml deleted file mode 100644 index 48f9e9df5..000000000 --- a/workflows/node-memory-hog/workflow_cron.yaml +++ /dev/null @@ -1,148 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - name: argo-chaos-node-memory-cron-wf - namespace: litmus - labels: - subject: "{{workflow.parameters.context}}" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: context - value: "node-memory-hog_infra" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/node-memory-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Give a memory hog on a node belonging to a deployment - kind: ChaosExperiment - metadata: - name: node-memory-hog - spec: - definition: - scope: Cluster - permissions: - - apiGroups: - - "" - - "batch" - - "apps" - - "litmuschaos.io" - resources: - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name node-memory-hog - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '120' - ## specify the size as percent of total available memory (in percentage) - ## Default value "90" - - name: MEMORY_PERCENTAGE - value: '90' - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - # Provide the LIB here - # Only litmus supported - - name: LIB - value: 'litmus' - # provide lib image - - name: LIB_IMAGE - value: 'litmuschaos/go-runner:latest' - labels: - name: node-memory-hog - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/node-memory-hog.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-node-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.context}}" - spec: - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: node-memory-hog - spec: - components: - env: - - name: MEMORY_PERCENTAGE - value: '50' - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-node-memory-hog-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] \ No newline at end of file diff --git a/workflows/pod-cpu-hog/workflow.yaml b/workflows/pod-cpu-hog/workflow.yaml deleted file mode 100644 index f9a59bd66..000000000 --- a/workflows/pod-cpu-hog/workflow.yaml +++ /dev/null @@ -1,158 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-pod-cpu-hog- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_kube-proxy" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "kube-system" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/pod-cpu-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Injects cpu consumption on pods belonging to an app deployment - kind: ChaosExperiment - metadata: - name: pod-cpu-hog - spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "batch" - - "litmuschaos.io" - resources: - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-cpu-hog - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '10' - - ## Number of CPU cores to stress - - name: CPU_CORES - value: '1' - - ## Percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - ## Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: LIB - value: 'litmus' - - - name: TARGET_POD - value: '' - - labels: - name: pod-cpu-hog - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/pod-cpu-hog.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-cpu-hog - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'kube-proxy' - - - name: CPU_CORES - value: '1' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-pod-cpu-hog-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/pod-cpu-hog/workflow_cron.yaml b/workflows/pod-cpu-hog/workflow_cron.yaml deleted file mode 100644 index 75930a280..000000000 --- a/workflows/pod-cpu-hog/workflow_cron.yaml +++ /dev/null @@ -1,162 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - name: argo-chaos-pod-cpu-cron-wf - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_kube-proxy" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "kube-system" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/pod-cpu-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Injects cpu consumption on pods belonging to an app deployment - kind: ChaosExperiment - metadata: - name: pod-cpu-hog - spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "batch" - - "litmuschaos.io" - resources: - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-cpu-hog - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '10' - - ## Number of CPU cores to stress - - name: CPU_CORES - value: '1' - - ## Percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - ## Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - - name: LIB - value: 'litmus' - - - name: TARGET_POD - value: '' - - labels: - name: pod-cpu-hog - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/pod-cpu-hog.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-cpu-hog - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'kube-proxy' - - - name: CPU_CORES - value: '1' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-pod-cpu-hog-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] \ No newline at end of file diff --git a/workflows/pod-delete/workflow.yaml b/workflows/pod-delete/workflow.yaml deleted file mode 100644 index 4c394197e..000000000 --- a/workflows/pod-delete/workflow.yaml +++ /dev/null @@ -1,159 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-pod-delete- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_kube-proxy" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "kube-system" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/pod-delete.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset - kind: ChaosExperiment - metadata: - name: pod-delete - spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "apps" - - "batch" - - "litmuschaos.io" - resources: - - "deployments" - - "jobs" - - "pods" - - "pods/log" - - "events" - - "configmaps" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-delete - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '15' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: FORCE - value: 'true' - - - name: CHAOS_INTERVAL - value: '5' - - - name: LIB - value: 'litmus' - labels: - name: pod-delete - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/pod-delete.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-delete - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: "60" - - name: CHAOS_INTERVAL - value: "10" - - name: FORCE - value: "false" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-pod-delete-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/pod-delete/workflow_cron.yaml b/workflows/pod-delete/workflow_cron.yaml deleted file mode 100644 index 1311b4eb5..000000000 --- a/workflows/pod-delete/workflow_cron.yaml +++ /dev/null @@ -1,163 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - name: argo-chaos-pod-delete-cron-wf - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_kube-proxy" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "kube-system" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/pod-delete.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Deletes a pod belonging to a deployment/statefulset/daemonset - kind: ChaosExperiment - metadata: - name: pod-delete - spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "apps" - - "batch" - - "litmuschaos.io" - resources: - - "deployments" - - "jobs" - - "pods" - - "pods/log" - - "events" - - "configmaps" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - - apiGroups: - - "" - resources: - - "nodes" - verbs: - - "get" - - "list" - image: "litmuschaos/go-runner:latest" - imagePullPolicy: Always - args: - - -c - - ./experiments -name pod-delete - command: - - /bin/bash - env: - - - name: TOTAL_CHAOS_DURATION - value: '15' - - # Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - # provide the kill count - - name: KILL_COUNT - value: '' - - - name: FORCE - value: 'true' - - - name: CHAOS_INTERVAL - value: '5' - - - name: LIB - value: 'litmus' - labels: - name: pod-delete - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/pod-delete.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-delete - spec: - components: - env: - - name: TOTAL_CHAOS_DURATION - value: "60" - - name: CHAOS_INTERVAL - value: "10" - - name: FORCE - value: "false" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-pod-delete-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/pod-memory-hog/workflow.yaml b/workflows/pod-memory-hog/workflow.yaml deleted file mode 100644 index eba531a3d..000000000 --- a/workflows/pod-memory-hog/workflow.yaml +++ /dev/null @@ -1,159 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-pod-memory-hog- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_kube-proxy" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "kube-system" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/pod-memory-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Injects memory consumption on pods belonging to an app deployment - kind: ChaosExperiment - metadata: - name: pod-memory-hog - spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "batch" - - "litmuschaos.io" - resources: - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - image: "litmuschaos/go-runner:latest" - args: - - -c - - ./experiments -name pod-memory-hog - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '10' - - ## enter the amount of memory in megabytes to be consumed by the application pod - - name: MEMORY_CONSUMPTION - value: '500' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - ## Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## env var that describes the library used to execute the chaos - ## default: litmus. Supported values: litmus, powerfulseal, chaoskube - - name: LIB - value: 'litmus' - - - name: TARGET_POD - value: '' - - labels: - name: pod-memory-hog - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/pod-memory-hog.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-memory-hog - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'kube-proxy' - - - name: MEMORY_CONSUMPTION - value: '500' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[dd] if /dev/zero\" | awk '{print $1}' | tr '\n' ' ')" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-pod-memory-hog-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/pod-memory-hog/workflow_cron.yaml b/workflows/pod-memory-hog/workflow_cron.yaml deleted file mode 100644 index 9f2100f0b..000000000 --- a/workflows/pod-memory-hog/workflow_cron.yaml +++ /dev/null @@ -1,163 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - name: argo-chaos-pod-memory-cron-wf - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_kube-proxy" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "kube-system" - templates: - - name: argowf-chaos - steps: - - - name: install-experiment - template: install-experiment - - - name: run-chaos - template: run-chaos - - - name: revert-chaos - template: revert-chaos - - - name: install-experiment - inputs: - artifacts: - - name: install-experiment - path: /tmp/pod-memory-hog.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - description: - message: | - Injects memory consumption on pods belonging to an app deployment - kind: ChaosExperiment - metadata: - name: pod-memory-hog - spec: - definition: - scope: Namespaced - permissions: - - apiGroups: - - "" - - "batch" - - "litmuschaos.io" - resources: - - "jobs" - - "pods" - - "pods/log" - - "events" - - "chaosengines" - - "chaosexperiments" - - "chaosresults" - verbs: - - "create" - - "list" - - "get" - - "patch" - - "update" - - "delete" - image: "litmuschaos/go-runner:latest" - args: - - -c - - ./experiments -name pod-memory-hog - command: - - /bin/bash - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - - name: CHAOS_INTERVAL - value: '10' - - ## enter the amount of memory in megabytes to be consumed by the application pod - - name: MEMORY_CONSUMPTION - value: '500' - - ## percentage of total pods to target - - name: PODS_AFFECTED_PERC - value: '' - - ## Period to wait before and after injection of chaos in sec - - name: RAMP_TIME - value: '' - - ## env var that describes the library used to execute the chaos - ## default: litmus. Supported values: litmus, powerfulseal, chaoskube - - name: LIB - value: 'litmus' - - - name: TARGET_POD - value: '' - - labels: - name: pod-memory-hog - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl apply -f /tmp/pod-memory-hog.yaml -n {{workflow.parameters.adminModeNamespace}}", - ] - - - name: run-chaos - inputs: - artifacts: - - name: run-chaos - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: kube-proxy-pod-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_kube-proxy" - spec: - appinfo: - appns: kube-system - applabel: "k8s-app=kube-proxy" - appkind: daemonset - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-memory-hog - spec: - components: - env: - - name: TARGET_CONTAINER - value: 'kube-proxy' - - - name: MEMORY_CONSUMPTION - value: '500' - - - name: TOTAL_CHAOS_DURATION - value: '60' # in seconds - - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[dd] if /dev/zero\" | awk '{print $1}' | tr '\n' ' ')" - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine kube-proxy-pod-memory-hog-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/podtato-head/podtato-head.chartserviceversion.yaml b/workflows/podtato-head/podtato-head.chartserviceversion.yaml deleted file mode 100644 index 41e93f0c5..000000000 --- a/workflows/podtato-head/podtato-head.chartserviceversion.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-05-24T10:28:08Z - name: podtato-head - version: 0.1.0 - annotations: - categories: podtato-head - chartDescription: Injects chaos on podtato-head application -spec: - displayName: Podtato-head Chaos - categoryDescription: > - It installs the podtato-head application, injects pod-kill chaos on podtato-head, uninstalls the application - and removes the chaos custom resources - experiments: - - pod-delete - keywords: - - Kubernetes - - Podtato-head - - Pod - platforms: - - GKE - - Minikube - - Packet(Kubeadm) - - EKS - - AKS - maintainers: - - name: oumkale - email: oumkale@chaosnative.com - provider: - name: ChaosNative - links: - - name: Podtato-Head - url: https://github.com/podtato-head/podtato-head - - name: Kubernetes Slack - url: https://slack.kubernetes.io/ - - name: Documentation - url: https://docs.litmuschaos.io/docs/chaoshub/#generic-chaos - icon: - - url: - mediatype: "" - diff --git a/workflows/podtato-head/workflow.yaml b/workflows/podtato-head/workflow.yaml deleted file mode 100644 index 3f41e7468..000000000 --- a/workflows/podtato-head/workflow.yaml +++ /dev/null @@ -1,114 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-podtato-head-chaos- - namespace: litmus - labels: - subject : "{{workflow.parameters.adminModeNamespace}}_podtato-main" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - templates: - - name: argowf-chaos - steps: - - - name: install-application - template: install-application - - - name: install-chaos-experiments - template: install-chaos-experiments - - - name: pod-delete - template: pod-delete - - - name: revert-chaos - template: revert-chaos - - name: delete-application - template: delete-application - - - name: install-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace={{workflow.parameters.adminModeNamespace}}","-typeName=resilient","-operation=apply","-timeout=400", "-app=podtato-head","-scope=namespace"] - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} ; sleep 30" - - - name: pod-delete - inputs: - artifacts: - - name: pod-delete - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: podtato-main-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.adminModeNamespace}}_podtato-main" - spec: - appinfo: - appns: {{workflow.parameters.adminModeNamespace}} - applabel: 'name=podtato-main' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-delete - spec: - probe: - - name: "check-podtato-main-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://podtato-main.{{workflow.parameters.adminModeNamespace}}.svc.cluster.local:9000" - insecureSkipVerify: false - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 1 - interval: 1 - retry: 1 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '10' - # pod failures without '--force' & default terminationGracePeriodSeconds - - name: FORCE - value: 'false' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: delete-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace={{workflow.parameters.adminModeNamespace}}","-typeName=resilient","-operation=delete","-app=podtato-head"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine podtato-main-pod-delete-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] \ No newline at end of file diff --git a/workflows/podtato-head/workflow_cron.yaml b/workflows/podtato-head/workflow_cron.yaml deleted file mode 100644 index d06ed3065..000000000 --- a/workflows/podtato-head/workflow_cron.yaml +++ /dev/null @@ -1,118 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - name: argowf-podtato-head-chaos-cron-wf - namespace: litmus - labels: - subject : "{{workflow.parameters.adminModeNamespace}}_podtato-head" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - templates: - - name: argowf-chaos - steps: - - - name: install-application - template: install-application - - - name: install-chaos-experiments - template: install-chaos-experiments - - - name: pod-delete - template: pod-delete - - - name: revert-chaos - template: revert-chaos - - name: delete-application - template: delete-application - - - name: install-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace={{workflow.parameters.adminModeNamespace}}","-typeName=resilient","-operation=apply","-timeout=400", "-app=podtato-head","-scope=namespace"] - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} ; sleep 30" - - - name: pod-delete - inputs: - artifacts: - - name: pod-delete - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: podtato-main-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.adminModeNamespace}}_podtato-main" - spec: - appinfo: - appns: {{workflow.parameters.adminModeNamespace}} - applabel: 'name=podtato-main' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-delete - spec: - probe: - - name: "check-podtato-main-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://podtato-main.{{workflow.parameters.adminModeNamespace}}.svc.cluster.local:9000" - insecureSkipVerify: false - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 1 - interval: 1 - retry: 1 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '10' - # pod failures without '--force' & default terminationGracePeriodSeconds - - name: FORCE - value: 'false' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: delete-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace={{workflow.parameters.adminModeNamespace}}","-typeName=resilient","-operation=delete","-app=podtato-head"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine podtato-main-pod-delete-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] \ No newline at end of file diff --git a/workflows/sock-shop-promProbe/workflow.yaml b/workflows/sock-shop-promProbe/workflow.yaml deleted file mode 100644 index e8d28ad28..000000000 --- a/workflows/sock-shop-promProbe/workflow.yaml +++ /dev/null @@ -1,436 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-sock-shop-resiliency- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_sock-shop" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "sock-shop" - templates: - - name: argowf-chaos - steps: - - - name: install-application - template: install-application - - - name: install-chaos-experiments - template: install-chaos-experiments - - name: load-test - template: load-test - - - name: pod-cpu-hog - template: pod-cpu-hog - - - name: pod-delete - template: pod-delete - - - name: pod-network-loss - template: pod-network-loss - - - name: pod-memory-hog - template: pod-memory-hog - - - name: disk-fill - template: disk-fill - - - name: revert-chaos - template: revert-chaos - # - name: delete-application - # template: delete-application - - name: delete-loadtest - template: delete-loadtest - - - name: install-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=sock-shop","-typeName=resilient","-operation=apply","-timeout=400", "-app=sock-shop","-scope=cluster"] #for weak provide type flagName as resilient(-typeName=weak) - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} ; sleep 30" - - - name: pod-cpu-hog - inputs: - artifacts: - - name: pod-cpu-hog - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_carts" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=carts' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-cpu-hog - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - #number of cpu cores to be consumed - #verify the resources the app has been launched with - - name: CPU_CORES - value: '1' - - name: TOTAL_CHAOS_DURATION - value: '30' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')" - - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-memory-hog - inputs: - artifacts: - - name: pod-memory-hog - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_orders" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=orders' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-memory-hog - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: MEMORY_CONSUMPTION - value: '500' - - name: TOTAL_CHAOS_DURATION - value: '30' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[dd] if /dev/zero\" | awk '{print $1}' | tr '\n' ' ')" - - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-delete - inputs: - artifacts: - - name: pod-delete - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: catalogue-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_catalogue" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=catalogue' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-delete - spec: - probe: - - name: "check-catalogue-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80/catalogue" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 12 - interval: 12 - retry: 3 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '10' - # pod failures without '--force' & default terminationGracePeriodSeconds - - name: FORCE - value: 'false' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-network-loss - inputs: - artifacts: - - name: pod-network-loss - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-network-loss-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_user-db" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=user-db' - appkind: 'statefulset' - jobCleanUpPolicy: retain - engineState: 'active' - auxiliaryAppInfo: '' - chaosServiceAccount: litmus-admin - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-network-loss - spec: - probe: - - name: "check-cards-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80/cards" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 12 - interval: 12 - retry: 3 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - name: NETWORK_INTERFACE - value: 'eth0' - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' - - name: CONTAINER_RUNTIME - value: 'docker' - - name: SOCKET_PATH - value: '/var/run/docker.sock' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: disk-fill - inputs: - artifacts: - - name: disk-fill - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: catalogue-disk-fill - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_catalogue-db" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=catalogue-db' - appkind: 'statefulset' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: disk-fill - spec: - probe: - - name: "check-catalogue-db-cr-status" - type: "k8sProbe" - k8sProbe/inputs: - group: "" - version: "v1" - resource: "pods" - namespace: "sock-shop" - fieldSelector: "status.phase=Running" - labelSelector: "name=catalogue-db" - operation: "present" - mode: "Continuous" - runProperties: - probeTimeout: 1 - interval: 1 - retry: 1 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: FILL_PERCENTAGE - value: '100' - - name: TARGET_CONTAINER - value: '' - - name: TOTAL_CHAOS_DURATION - value: '30' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: delete-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=sock-shop","-typeName=resilient","-operation=delete", "-app=sock-shop"] - - - name: load-test - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=loadtest", "-app=loadtest"] - - - name: delete-loadtest - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=loadtest","-operation=delete", "-app=loadtest"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine pod-memory-hog-chaos pod-cpu-hog-chaos catalogue-pod-delete-chaos pod-network-loss-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] \ No newline at end of file diff --git a/workflows/sock-shop-promProbe/workflow_cron.yaml b/workflows/sock-shop-promProbe/workflow_cron.yaml deleted file mode 100644 index 123dbfc3d..000000000 --- a/workflows/sock-shop-promProbe/workflow_cron.yaml +++ /dev/null @@ -1,440 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - generateName: argowf-chaos-sock-shop-resiliency-cron-wf- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_sock-shop" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "sock-shop" - templates: - - name: argowf-chaos - steps: - - - name: install-application - template: install-application - - - name: install-chaos-experiments - template: install-chaos-experiments - - name: load-test - template: load-test - - - name: pod-cpu-hog - template: pod-cpu-hog - - - name: pod-delete - template: pod-delete - - - name: pod-network-loss - template: pod-network-loss - - - name: pod-memory-hog - template: pod-memory-hog - - - name: disk-fill - template: disk-fill - - - name: revert-chaos - template: revert-chaos - # - name: delete-application - # template: delete-application - - name: delete-loadtest - template: delete-loadtest - - - name: install-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=sock-shop","-typeName=resilient","-operation=apply","-timeout=400", "-app=sock-shop","-scope=cluster"] #for weak provide type flagName as resilient(-typeName=weak) - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} ; sleep 30" - - - name: pod-cpu-hog - inputs: - artifacts: - - name: pod-cpu-hog - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_carts" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=carts' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-cpu-hog - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - #number of cpu cores to be consumed - #verify the resources the app has been launched with - - name: CPU_CORES - value: '1' - - name: TOTAL_CHAOS_DURATION - value: '30' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')" - - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-memory-hog - inputs: - artifacts: - - name: pod-memory-hog - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_orders" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=orders' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-memory-hog - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: MEMORY_CONSUMPTION - value: '500' - - name: TOTAL_CHAOS_DURATION - value: '30' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[dd] if /dev/zero\" | awk '{print $1}' | tr '\n' ' ')" - - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-delete - inputs: - artifacts: - - name: pod-delete - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: catalogue-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.env.appNamespace}}_catalogue" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=catalogue' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-delete - spec: - probe: - - name: "check-catalogue-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80/catalogue" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 12 - interval: 12 - retry: 3 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '10' - # pod failures without '--force' & default terminationGracePeriodSeconds - - name: FORCE - value: 'false' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-network-loss - inputs: - artifacts: - - name: pod-network-loss - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-network-loss-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_user-db" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=user-db' - appkind: 'statefulset' - jobCleanUpPolicy: retain - engineState: 'active' - auxiliaryAppInfo: '' - chaosServiceAccount: litmus-admin - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-network-loss - spec: - probe: - - name: "check-cards-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80/cards" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 12 - interval: 12 - retry: 3 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - name: NETWORK_INTERFACE - value: 'eth0' - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' - - name: CONTAINER_RUNTIME - value: 'docker' - - name: SOCKET_PATH - value: '/var/run/docker.sock' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: disk-fill - inputs: - artifacts: - - name: disk-fill - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: catalogue-disk-fill - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_catalogue-db" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=catalogue-db' - appkind: 'statefulset' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: disk-fill - spec: - probe: - - name: "check-catalogue-db-cr-status" - type: "k8sProbe" - k8sProbe/inputs: - group: "" - version: "v1" - resource: "pods" - namespace: "sock-shop" - fieldSelector: "status.phase=Running" - labelSelector: "name=catalogue-db" - operation: "present" - mode: "Continuous" - runProperties: - probeTimeout: 1 - interval: 1 - retry: 1 - probePollingInterval: 1 - - name: "check-probe-success" - type: "promProbe" - promProbe/inputs: - endpoint: "http://prometheus-k8s.monitoring.svc.cluster.local:9090" - query: "sum(rate(request_duration_seconds_count{job='sock-shop/front-end',route='/',status_code='200'}[20s]))*100" - comparator: - criteria: ">=" #supports >=,<=,>,<,==,!= comparision - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - components: - env: - - name: FILL_PERCENTAGE - value: '100' - - name: TARGET_CONTAINER - value: '' - - name: TOTAL_CHAOS_DURATION - value: '30' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: delete-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=sock-shop","-typeName=resilient","-operation=delete", "-app=sock-shop"] - - - name: load-test - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=loadtest", "-app=loadtest"] - - - name: delete-loadtest - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=loadtest","-operation=delete", "-app=loadtest"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine pod-memory-hog-chaos pod-cpu-hog-chaos catalogue-pod-delete-chaos pod-network-loss-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] diff --git a/workflows/sock-shop/sock-shop.chartserviceversion.yaml b/workflows/sock-shop/sock-shop.chartserviceversion.yaml deleted file mode 100644 index 6a252b3f2..000000000 --- a/workflows/sock-shop/sock-shop.chartserviceversion.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: litmuchaos.io/v1alpha1 -kind: ChartServiceVersion -metadata: - createdAt: 2021-05-24T10:28:08Z - name: sock-shop - version: 0.1.0 - annotations: - categories: sock-shop - chartDescription: Injects chaos on sock-shop application using cmd probe. -spec: - displayName: Sock-Shop-Chaos - categoryDescription: > - It install sock-shop application, generate loads, inject chaos on sock-shop, - uninstall the application and revert the chaos - experiments: - - pod-delete - - pod-cpu-hog - - pod-memory-hog - - pod-network-loss - - disk-fill - keywords: - - Kubernetes - - Sock-Shop - - Pod - - Memory - - CPU - - Network - - Disk - platforms: - - GKE - - Minikube - - Packet(Kubeadm) - - EKS - - AKS - maintainers: - - name: oumkale - email: oumkale@chaosnative.com - provider: - name: ChaosNative - links: - - name: Kubernetes Slack - url: https://slack.kubernetes.io/ - - name: Documentation - url: https://docs.litmuschaos.io/docs/chaoshub/#generic-chaos - icon: - - url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/workflows/icons/sock-shop.png - mediatype: image/png diff --git a/workflows/sock-shop/workflow.yaml b/workflows/sock-shop/workflow.yaml deleted file mode 100644 index 177287d95..000000000 --- a/workflows/sock-shop/workflow.yaml +++ /dev/null @@ -1,440 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: argowf-chaos-sock-shop-resiliency- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_sock-shop" -spec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "sock-shop" - templates: - - name: argowf-chaos - steps: - - - name: install-application - template: install-application - - - name: install-chaos-experiments - template: install-chaos-experiments - - name: load-test - template: load-test - - - name: pod-cpu-hog - template: pod-cpu-hog - - - name: pod-delete - template: pod-delete - - - name: pod-network-loss - template: pod-network-loss - - - name: pod-memory-hog - template: pod-memory-hog - - - name: disk-fill - template: disk-fill - - - name: revert-chaos - template: revert-chaos - # - name: delete-application - # template: delete-application - - name: delete-loadtest - template: delete-loadtest - - - name: install-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=sock-shop","-typeName=resilient","-operation=apply","-timeout=400", "-app=sock-shop","-scope=cluster"] #for weak provide type flagName as resilient(-typeName=weak) - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} ; sleep 30" - - - name: pod-cpu-hog - inputs: - artifacts: - - name: pod-cpu-hog - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_carts" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=carts' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-cpu-hog - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 10 - components: - env: - #number of cpu cores to be consumed - #verify the resources the app has been launched with - - name: CPU_CORES - value: '1' - - name: TOTAL_CHAOS_DURATION - value: '30' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')" - - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-memory-hog - inputs: - artifacts: - - name: pod-memory-hog - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_orders" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=orders' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-memory-hog - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 10 - components: - env: - - name: MEMORY_CONSUMPTION - value: '500' - - name: TOTAL_CHAOS_DURATION - value: '30' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[dd] if /dev/zero\" | awk '{print $1}' | tr '\n' ' ')" - - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-delete - inputs: - artifacts: - - name: pod-delete - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: catalogue-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_catalogue" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=catalogue' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-delete - spec: - probe: - - name: "check-catalogue-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80/catalogue" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 12 - interval: 12 - retry: 3 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '10' - # pod failures without '--force' & default terminationGracePeriodSeconds - - name: FORCE - value: 'false' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-network-loss - inputs: - artifacts: - - name: pod-network-loss - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-network-loss-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_user-db" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=user-db' - appkind: 'statefulset' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-network-loss - spec: - probe: - - name: "check-cards-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80/cards" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 12 - interval: 12 - retry: 3 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - name: NETWORK_INTERFACE - value: 'eth0' - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' - - name: CONTAINER_RUNTIME - value: 'docker' - - name: SOCKET_PATH - value: '/var/run/docker.sock' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: disk-fill - inputs: - artifacts: - - name: disk-fill - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: catalogue-disk-fill - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_catalogue-db" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=catalogue-db' - appkind: 'statefulset' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: disk-fill - spec: - probe: - - name: "check-catalogue-db-cr-status" - type: "k8sProbe" - k8sProbe/inputs: - group: "" - version: "v1" - resource: "pods" - namespace: "sock-shop" - fieldSelector: "status.phase=Running" - labelSelector: "name=catalogue-db" - operation: "present" - mode: "Continuous" - runProperties: - probeTimeout: 1 - interval: 1 - retry: 1 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local:80" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 1 - components: - env: - - name: FILL_PERCENTAGE - value: '100' - - name: TARGET_CONTAINER - value: '' - - name: TOTAL_CHAOS_DURATION - value: '30' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: delete-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=sock-shop","-typeName=resilient","-operation=delete", "-app=sock-shop"] - - - name: load-test - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=loadtest", "-app=loadtest"] - - - name: delete-loadtest - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=loadtest","-operation=delete", "-app=loadtest"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine pod-memory-hog-chaos pod-cpu-hog-chaos catalogue-pod-delete-chaos pod-network-loss-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] \ No newline at end of file diff --git a/workflows/sock-shop/workflow_cron.yaml b/workflows/sock-shop/workflow_cron.yaml deleted file mode 100644 index 7d849906b..000000000 --- a/workflows/sock-shop/workflow_cron.yaml +++ /dev/null @@ -1,444 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: CronWorkflow -metadata: - generateName: argowf-chaos-sock-shop-resiliency-cron-wf- - namespace: litmus - labels: - subject: "{{workflow.parameters.appNamespace}}_sock-shop" -spec: - schedule: "0 * * * *" - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 0 - workflowSpec: - entrypoint: argowf-chaos - serviceAccountName: argo-chaos - securityContext: - runAsUser: 1000 - runAsNonRoot: true - arguments: - parameters: - - name: adminModeNamespace - value: "litmus" - - name: appNamespace - value: "sock-shop" - templates: - - name: argowf-chaos - steps: - - - name: install-application - template: install-application - - - name: install-chaos-experiments - template: install-chaos-experiments - - name: load-test - template: load-test - - - name: pod-cpu-hog - template: pod-cpu-hog - - - name: pod-delete - template: pod-delete - - - name: pod-network-loss - template: pod-network-loss - - - name: pod-memory-hog - template: pod-memory-hog - - - name: disk-fill - template: disk-fill - - - name: revert-chaos - template: revert-chaos - # - name: delete-application - # template: delete-application - - name: delete-loadtest - template: delete-loadtest - - - name: install-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=sock-shop","-typeName=resilient","-operation=apply","-timeout=400", "-app=sock-shop","-scope=cluster"] #for weak provide type flagName as resilient(-typeName=weak) - - - name: install-chaos-experiments - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - - "kubectl apply -f https://hub.litmuschaos.io/api/chaos/2.6.0?file=charts/generic/experiments.yaml -n - {{workflow.parameters.adminModeNamespace}} ; sleep 30" - - - name: pod-cpu-hog - inputs: - artifacts: - - name: pod-cpu-hog - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-cpu-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_carts" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=carts' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-cpu-hog - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 10 - components: - env: - #number of cpu cores to be consumed - #verify the resources the app has been launched with - - name: CPU_CORES - value: '1' - - name: TOTAL_CHAOS_DURATION - value: '30' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')" - - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-memory-hog - inputs: - artifacts: - - name: pod-memory-hog - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-memory-hog-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_orders" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=orders' - appkind: 'deployment' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - experiments: - - name: pod-memory-hog - spec: - probe: - - name: "check-frontend-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 10 - components: - env: - - name: MEMORY_CONSUMPTION - value: '500' - - name: TOTAL_CHAOS_DURATION - value: '30' # in seconds - - name: CHAOS_KILL_COMMAND - value: "kill -9 $(ps afx | grep \"[dd] if /dev/zero\" | awk '{print $1}' | tr '\n' ' ')" - - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-delete - inputs: - artifacts: - - name: pod-delete - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: catalogue-pod-delete-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_catalogue" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=catalogue' - appkind: 'deployment' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-delete - spec: - probe: - - name: "check-catalogue-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80/catalogue" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 12 - interval: 12 - retry: 3 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - # set chaos interval (in sec) as desired - - name: CHAOS_INTERVAL - value: '10' - # pod failures without '--force' & default terminationGracePeriodSeconds - - name: FORCE - value: 'false' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: pod-network-loss - inputs: - artifacts: - - name: pod-network-loss - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: pod-network-loss-chaos - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_user-db" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=user-db' - appkind: 'statefulset' - jobCleanUpPolicy: retain - engineState: 'active' - chaosServiceAccount: litmus-admin - components: - runner: - imagePullPolicy: Always - experiments: - - name: pod-network-loss - spec: - probe: - - name: "check-cards-access-url" - type: "httpProbe" - httpProbe/inputs: - url: "http://front-end.sock-shop.svc.cluster.local:80/cards" - insecureSkipVerify: false - responseTimeout: 100 - method: - get: - criteria: "==" - responseCode: "200" - mode: "Continuous" - runProperties: - probeTimeout: 12 - interval: 12 - retry: 3 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 2 - components: - env: - - name: TOTAL_CHAOS_DURATION - value: '30' - - name: NETWORK_INTERFACE - value: 'eth0' - - name: NETWORK_PACKET_LOSS_PERCENTAGE - value: '100' - - name: CONTAINER_RUNTIME - value: 'docker' - - name: SOCKET_PATH - value: '/var/run/docker.sock' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: disk-fill - inputs: - artifacts: - - name: disk-fill - path: /tmp/chaosengine.yaml - raw: - data: | - apiVersion: litmuschaos.io/v1alpha1 - kind: ChaosEngine - metadata: - name: catalogue-disk-fill - namespace: {{workflow.parameters.adminModeNamespace}} - labels: - context: "{{workflow.parameters.appNamespace}}_catalogue-db" - spec: - appinfo: - appns: 'sock-shop' - applabel: 'name=catalogue-db' - appkind: 'statefulset' - engineState: 'active' - chaosServiceAccount: litmus-admin - jobCleanUpPolicy: 'retain' - components: - runner: - imagePullPolicy: Always - experiments: - - name: disk-fill - spec: - probe: - - name: "check-catalogue-db-cr-status" - type: "k8sProbe" - k8sProbe/inputs: - group: "" - version: "v1" - resource: "pods" - namespace: "sock-shop" - fieldSelector: "status.phase=Running" - labelSelector: "name=catalogue-db" - operation: "present" - mode: "Continuous" - runProperties: - probeTimeout: 1 - interval: 1 - retry: 1 - probePollingInterval: 1 - - name: "check-benchmark" - type: "cmdProbe" - cmdProbe/inputs: - command: "curl http://qps-test.sock-shop.svc.cluster.local:80" - comparator: - type: "int" # supports: string, int, float - criteria: ">=" #supports >=,<=,>,<,==,!= for int and contains,equal,notEqual,matches,notMatches for string values - value: "100" - mode: "Edge" - runProperties: - probeTimeout: 2 - interval: 1 - retry: 2 - initialDelaySeconds: 1 - components: - env: - - name: FILL_PERCENTAGE - value: '100' - - name: TARGET_CONTAINER - value: '' - - name: TOTAL_CHAOS_DURATION - value: '30' - container: - image: litmuschaos/litmus-checker:latest - args: ["-file=/tmp/chaosengine.yaml","-saveName=/tmp/engine-name"] - - - name: delete-application - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=sock-shop","-typeName=resilient","-operation=delete", "-app=sock-shop"] - - - name: load-test - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=loadtest", "-app=loadtest"] - - - name: delete-loadtest - container: - image: litmuschaos/litmus-app-deployer:latest - args: ["-namespace=loadtest","-operation=delete", "-app=loadtest"] - - - name: revert-chaos - container: - image: litmuschaos/k8s:latest - command: [sh, -c] - args: - [ - "kubectl delete chaosengine pod-memory-hog-chaos pod-cpu-hog-chaos catalogue-pod-delete-chaos pod-network-loss-chaos -n {{workflow.parameters.adminModeNamespace}}", - ] \ No newline at end of file