diff --git a/experiments/generic/pod-http-modify-body/engine.yaml b/experiments/generic/pod-http-modify-body/engine.yaml index cdf0688..1956c53 100644 --- a/experiments/generic/pod-http-modify-body/engine.yaml +++ b/experiments/generic/pod-http-modify-body/engine.yaml @@ -18,7 +18,7 @@ spec: # set chaos duration (in sec) as desired - name: TOTAL_CHAOS_DURATION value: '60' # in seconds - + # provide the body string to overwrite the response body - name: RESPONSE_BODY value: '' @@ -39,4 +39,3 @@ spec: ## percentage of total pods to target - name: PODS_AFFECTED_PERC value: '' - \ No newline at end of file diff --git a/experiments/generic/pod-http-modify-body/experiment.yaml b/experiments/generic/pod-http-modify-body/experiment.yaml index 0856d72..4add2bc 100644 --- a/experiments/generic/pod-http-modify-body/experiment.yaml +++ b/experiments/generic/pod-http-modify-body/experiment.yaml @@ -26,10 +26,10 @@ spec: - apiGroups: [""] resources: ["configmaps"] verbs: ["get","list",] - # Track and get the runner, experiment, and helper pods log + # Track and get the runner, experiment, and helper pods log - apiGroups: [""] resources: ["pods/log"] - verbs: ["get","list","watch"] + verbs: ["get","list","watch"] # for creating and managing to execute comands inside target container - apiGroups: [""] resources: ["pods/exec"] @@ -38,7 +38,7 @@ spec: - apiGroups: ["apps"] resources: ["deployments","statefulsets","replicasets", "daemonsets"] verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) + # deriving the parent/owner details of the pod(if parent is deploymentConfig) - apiGroups: ["apps.openshift.io"] resources: ["deploymentconfigs"] verbs: ["list","get"] @@ -72,13 +72,23 @@ spec: # provide lib image - name: LIB_IMAGE - value: 'litmuschaos/go-runner:latest' - + value: 'litmuschaos/go-runner:latest' + # provide the body string to overwrite the response body # if no value is provided, response will be an empty body. - name: RESPONSE_BODY value: '' + # provide the encoding type for the response body + # currently supported value are gzip, deflate + # if empty no encoding will be applied + - name: CONTENT_ENCODING + value: '' + + # provide the content type for the response body + - name: CONTENT_TYPE + value: 'text/plain' + # port of the target service - name: TARGET_SERVICE_PORT value: "80" @@ -86,7 +96,7 @@ spec: # port on which the proxy will listen - name: PROXY_PORT value: "20000" - + # toxicity is the probability of the request to be affected # provide the percentage value in the range of 0-100 # 0 means no request will be affected and 100 means all request will be affected @@ -133,9 +143,9 @@ spec: ## supported values: serial, parallel - name: SEQUENCE value: 'parallel' - + labels: name: pod-http-modify-body app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: latest + app.kubernetes.io/version: latest diff --git a/experiments/generic/pod-http-modify-body/pod-http-modify-body.chartserviceversion.yaml b/experiments/generic/pod-http-modify-body/pod-http-modify-body.chartserviceversion.yaml index 8be10aa..0cf4247 100644 --- a/experiments/generic/pod-http-modify-body/pod-http-modify-body.chartserviceversion.yaml +++ b/experiments/generic/pod-http-modify-body/pod-http-modify-body.chartserviceversion.yaml @@ -1,36 +1,36 @@ apiVersion: litmuchaos.io/v1alpha1 kind: ChartServiceVersion metadata: - name: pod-http-modify-body + name: pod-http-modify-body version: 0.1.0 annotations: categories: generic spec: - displayName: pod-http-modify-body + displayName: pod-http-modify-body categoryDescription: > - Pod-http-modify-body contains chaos to disrupt http requests of kubernetes pods. This experiment can modify the body of the response from the service targetted. + Pod-http-modify-body contains chaos to disrupt http requests of kubernetes pods. This experiment can modify the body of the response from the service targetted. - Causes modification of response body of the HTTP request. - The application pod should be healthy once chaos is stopped. Service-requests should be served despite chaos. - keywords: - - "pods" - - "kubernetes" - - "generic" - - "exec" - - "http" + keywords: + - "pods" + - "kubernetes" + - "generic" + - "exec" + - "http" - "response body" - platforms: + platforms: - "Minikube" maturity: alpha - maintainers: - - name: Akash Shrivastava - email: akash.shrivastava@harness.io - minKubeVersion: 1.12.0 - provider: + maintainers: + - name: Akash Shrivastava + email: akash.shrivastava@harness.io + minKubeVersion: 1.12.0 + provider: name: Harness labels: app.kubernetes.io/component: chartserviceversion app.kubernetes.io/version: latest - links: + links: - name: Source Code url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/pod-http-modify-body - name: Documentation diff --git a/experiments/generic/pod-http-modify-body/rbac-psp.yaml b/experiments/generic/pod-http-modify-body/rbac-psp.yaml index 2869bde..d871fd9 100644 --- a/experiments/generic/pod-http-modify-body/rbac-psp.yaml +++ b/experiments/generic/pod-http-modify-body/rbac-psp.yaml @@ -28,10 +28,10 @@ rules: - apiGroups: [""] resources: ["configmaps"] verbs: ["get","list",] - # Track and get the runner, experiment, and helper pods log + # Track and get the runner, experiment, and helper pods log - apiGroups: [""] resources: ["pods/log"] - verbs: ["get","list","watch"] + verbs: ["get","list","watch"] # for creating and managing to execute comands inside target container - apiGroups: [""] resources: ["pods/exec"] @@ -40,7 +40,7 @@ rules: - apiGroups: ["apps"] resources: ["deployments","statefulsets","replicasets", "daemonsets"] verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) + # deriving the parent/owner details of the pod(if parent is deploymentConfig) - apiGroups: ["apps.openshift.io"] resources: ["deploymentconfigs"] verbs: ["list","get"] diff --git a/experiments/generic/pod-http-modify-body/rbac.yaml b/experiments/generic/pod-http-modify-body/rbac.yaml index 584be62..16ec269 100644 --- a/experiments/generic/pod-http-modify-body/rbac.yaml +++ b/experiments/generic/pod-http-modify-body/rbac.yaml @@ -28,10 +28,10 @@ rules: - apiGroups: [""] resources: ["configmaps"] verbs: ["get","list",] - # Track and get the runner, experiment, and helper pods log + # Track and get the runner, experiment, and helper pods log - apiGroups: [""] resources: ["pods/log"] - verbs: ["get","list","watch"] + verbs: ["get","list","watch"] # for creating and managing to execute comands inside target container - apiGroups: [""] resources: ["pods/exec"] @@ -40,7 +40,7 @@ rules: - apiGroups: ["apps"] resources: ["deployments","statefulsets","replicasets", "daemonsets"] verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) + # deriving the parent/owner details of the pod(if parent is deploymentConfig) - apiGroups: ["apps.openshift.io"] resources: ["deploymentconfigs"] verbs: ["list","get"] diff --git a/experiments/generic/pod-http-status-code/engine.yaml b/experiments/generic/pod-http-status-code/engine.yaml index 36f9cfc..72c1169 100644 --- a/experiments/generic/pod-http-status-code/engine.yaml +++ b/experiments/generic/pod-http-status-code/engine.yaml @@ -22,7 +22,7 @@ spec: # set chaos interval (in sec) as desired - name: CHAOS_INTERVAL value: '10' - + # modified status code for the http response # if no value is provided, a random status code from the supported code list will selected # if an invalid status code is provided, the experiment will fail @@ -33,7 +33,10 @@ spec: # whether to modify the body as per the status code provided - name: "MODIFY_RESPONSE_BODY" value: "true" - + + # provide the body string to overwrite the response body. This will be used only if MODIFY_RESPONSE_BODY is set to true + - name: RESPONSE_BODY + value: '' # port of the target service - name: TARGET_SERVICE_PORT value: "80" @@ -51,4 +54,3 @@ spec: - name: PODS_AFFECTED_PERC value: '' - \ No newline at end of file diff --git a/experiments/generic/pod-http-status-code/experiment.yaml b/experiments/generic/pod-http-status-code/experiment.yaml index 8d11805..663202b 100644 --- a/experiments/generic/pod-http-status-code/experiment.yaml +++ b/experiments/generic/pod-http-status-code/experiment.yaml @@ -26,10 +26,10 @@ spec: - apiGroups: [""] resources: ["configmaps"] verbs: ["get","list",] - # Track and get the runner, experiment, and helper pods log + # Track and get the runner, experiment, and helper pods log - apiGroups: [""] resources: ["pods/log"] - verbs: ["get","list","watch"] + verbs: ["get","list","watch"] # for creating and managing to execute comands inside target container - apiGroups: [""] resources: ["pods/exec"] @@ -38,7 +38,7 @@ spec: - apiGroups: ["apps"] resources: ["deployments","statefulsets","replicasets", "daemonsets"] verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) + # deriving the parent/owner details of the pod(if parent is deploymentConfig) - apiGroups: ["apps.openshift.io"] resources: ["deploymentconfigs"] verbs: ["list","get"] @@ -72,7 +72,7 @@ spec: # provide lib image - name: LIB_IMAGE - value: 'litmuschaos/go-runner:latest' + value: 'litmuschaos/go-runner:latest' # modified status code for the http response # if no value is provided, a random status code from the supported code list will selected @@ -86,6 +86,20 @@ spec: - name: "MODIFY_RESPONSE_BODY" value: "true" + # provide the body string to overwrite the response body. This will be used only if MODIFY_RESPONSE_BODY is set to true + - name: RESPONSE_BODY + value: '' + + # provide the encoding type for the response body + # currently supported value are gzip, deflate + # if empty no encoding will be applied + - name: CONTENT_ENCODING + value: '' + + # provide the content type for the response body + - name: CONTENT_TYPE + value: 'text/plain' + # port of the target service - name: TARGET_SERVICE_PORT value: "80" @@ -99,7 +113,7 @@ spec: # 0 means no request will be affected and 100 means all request will be affected - name: TOXICITY value: "100" - + # network interface on which the proxy will listen - name: NETWORK_INTERFACE value: "eth0" @@ -140,9 +154,9 @@ spec: ## supported values: serial, parallel - name: SEQUENCE value: 'parallel' - + labels: name: pod-http-status-code app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job - app.kubernetes.io/version: latest + app.kubernetes.io/version: latest diff --git a/experiments/generic/pod-http-status-code/pod-http-status-code.chartserviceversion.yaml b/experiments/generic/pod-http-status-code/pod-http-status-code.chartserviceversion.yaml index 13ebb6f..fad76f3 100644 --- a/experiments/generic/pod-http-status-code/pod-http-status-code.chartserviceversion.yaml +++ b/experiments/generic/pod-http-status-code/pod-http-status-code.chartserviceversion.yaml @@ -1,37 +1,37 @@ apiVersion: litmuchaos.io/v1alpha1 kind: ChartServiceVersion metadata: - name: pod-http-status-code + name: pod-http-status-code version: 0.1.0 annotations: categories: generic spec: - displayName: pod-http-status-code + displayName: pod-http-status-code categoryDescription: > - pod-http-status-code contains chaos to disrupt http requests of kubernetes pods. This experiment can modify the status code of the response on the service targetted. + pod-http-status-code contains chaos to disrupt http requests of kubernetes pods. This experiment can modify the status code of the response on the service targetted. - Causes modification of status code of the HTTP request. - The application pod should be healthy once chaos is stopped. Service-requests should be served despite chaos. - keywords: - - "pods" - - "kubernetes" - - "generic" - - "exec" - - "http" - - "status code" + keywords: + - "pods" + - "kubernetes" + - "generic" + - "exec" + - "http" + - "status code" - "response code" - platforms: + platforms: - "Minikube" maturity: alpha - maintainers: - - name: Akash Shrivastava - email: akash.shrivastava@harness.io - minKubeVersion: 1.12.0 - provider: + maintainers: + - name: Akash Shrivastava + email: akash.shrivastava@harness.io + minKubeVersion: 1.12.0 + provider: name: Harness labels: app.kubernetes.io/component: chartserviceversion app.kubernetes.io/version: latest - links: + links: - name: Source Code url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/generic/pod-http-status-code - name: Documentation diff --git a/experiments/generic/pod-http-status-code/rbac-psp.yaml b/experiments/generic/pod-http-status-code/rbac-psp.yaml index 8318ccd..58d13cd 100644 --- a/experiments/generic/pod-http-status-code/rbac-psp.yaml +++ b/experiments/generic/pod-http-status-code/rbac-psp.yaml @@ -29,10 +29,10 @@ rules: - apiGroups: [""] resources: ["configmaps"] verbs: ["get","list",] - # Track and get the runner, experiment, and helper pods log + # Track and get the runner, experiment, and helper pods log - apiGroups: [""] resources: ["pods/log"] - verbs: ["get","list","watch"] + verbs: ["get","list","watch"] # for creating and managing to execute comands inside target container - apiGroups: [""] resources: ["pods/exec"] @@ -41,7 +41,7 @@ rules: - apiGroups: ["apps"] resources: ["deployments","statefulsets","replicasets", "daemonsets"] verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) + # deriving the parent/owner details of the pod(if parent is deploymentConfig) - apiGroups: ["apps.openshift.io"] resources: ["deploymentconfigs"] verbs: ["list","get"] diff --git a/experiments/generic/pod-http-status-code/rbac.yaml b/experiments/generic/pod-http-status-code/rbac.yaml index 5f117f5..8716759 100644 --- a/experiments/generic/pod-http-status-code/rbac.yaml +++ b/experiments/generic/pod-http-status-code/rbac.yaml @@ -28,10 +28,10 @@ rules: - apiGroups: [""] resources: ["configmaps"] verbs: ["get","list",] - # Track and get the runner, experiment, and helper pods log + # Track and get the runner, experiment, and helper pods log - apiGroups: [""] resources: ["pods/log"] - verbs: ["get","list","watch"] + verbs: ["get","list","watch"] # for creating and managing to execute comands inside target container - apiGroups: [""] resources: ["pods/exec"] @@ -40,7 +40,7 @@ rules: - apiGroups: ["apps"] resources: ["deployments","statefulsets","replicasets", "daemonsets"] verbs: ["list","get"] - # deriving the parent/owner details of the pod(if parent is deploymentConfig) + # deriving the parent/owner details of the pod(if parent is deploymentConfig) - apiGroups: ["apps.openshift.io"] resources: ["deploymentconfigs"] verbs: ["list","get"]