GCP Label Selector Experiment Charts and GCP Experiments Refactor (#532)
* added gcp-vm-instance-stop-by-label charts Signed-off-by: neelanjan00 <neelanjan@chaosnative.com> * updated experiment charts Signed-off-by: neelanjan00 <neelanjan@chaosnative.com> * added gcp-vm-disk-loss-by-label-charts; updated gcp-vm-disk-loss and gcp-vm-instance-stop charts to add sequence to engine manifest and removed device name from gcp-vm-disk-loss manifests Signed-off-by: neelanjan00 <neelanjan@chaosnative.com> * finalised charts Signed-off-by: neelanjan00 <neelanjan@chaosnative.com> * updated chart comments Signed-off-by: neelanjan00 <neelanjan@chaosnative.com> * updated AUTO_SCALING_GROUP env to MANAGED_INSTANCE_GROUP env Signed-off-by: neelanjan00 <neelanjan@chaosnative.com> * finalised charts for all GCP experiments Signed-off-by: neelanjan00 <neelanjan@chaosnative.com> * updated provider and author details in gcp-vm-instance-stop-by-label experiment Signed-off-by: neelanjan00 <neelanjan@chaosnative.com> * updated docs links Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io> * removed pods/exec rbac, updated keywords Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io> * updated chartserviceversion, package Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io> Co-authored-by: Udit Gaurav <35391335+uditgaurav@users.noreply.github.com>
This commit is contained in:
41
charts/gcp/gcp-vm-disk-loss-by-label/engine.yaml
Normal file
41
charts/gcp/gcp-vm-disk-loss-by-label/engine.yaml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: litmuschaos.io/v1alpha1
|
||||||
|
kind: ChaosEngine
|
||||||
|
metadata:
|
||||||
|
name: gcp-disk-chaos
|
||||||
|
spec:
|
||||||
|
engineState: 'active'
|
||||||
|
chaosServiceAccount: gcp-vm-disk-loss-by-label-sa
|
||||||
|
experiments:
|
||||||
|
- name: gcp-vm-disk-loss-by-label
|
||||||
|
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 zone in which all the disks are created
|
||||||
|
# all the disks must exist in the same zone
|
||||||
|
- name: DISK_ZONES
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# set the label of the target disk volumes
|
||||||
|
- name: DISK_VOLUME_LABEL
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# set the percentage value of the disks with the given label
|
||||||
|
# which should be targeted as part of the chaos injection
|
||||||
|
- name: DISK_AFFECTED_PERC
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# parallel or serial; determines how chaos is injected
|
||||||
|
- name: SEQUENCE
|
||||||
|
value: 'parallel'
|
83
charts/gcp/gcp-vm-disk-loss-by-label/experiment.yaml
Normal file
83
charts/gcp/gcp-vm-disk-loss-by-label/experiment.yaml
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
apiVersion: litmuschaos.io/v1alpha1
|
||||||
|
description:
|
||||||
|
message: |
|
||||||
|
gcp vm disk loss by label experiment detaches the target persistent disk volumes by label for a fixed duration of time
|
||||||
|
kind: ChaosExperiment
|
||||||
|
metadata:
|
||||||
|
name: gcp-vm-disk-loss-by-label
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-disk-loss-by-label
|
||||||
|
app.kubernetes.io/part-of: litmus
|
||||||
|
app.kubernetes.io/component: chaosexperiment
|
||||||
|
app.kubernetes.io/version: latest
|
||||||
|
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 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:latest"
|
||||||
|
imagePullPolicy: Always
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- ./experiments -name gcp-vm-disk-loss-by-label
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
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 zone in which all the disks are created
|
||||||
|
# all the disks must exist in the same zone
|
||||||
|
- name: DISK_ZONES
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# set the label of the target disk volumes
|
||||||
|
- name: DISK_VOLUME_LABEL
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# set the percentage value of the disks with the given label
|
||||||
|
# which should be targeted as part of the chaos injection
|
||||||
|
- name: DISK_AFFECTED_PERC
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-disk-loss-by-label
|
||||||
|
app.kubernetes.io/part-of: litmus
|
||||||
|
app.kubernetes.io/component: experiment-job
|
||||||
|
app.kubernetes.io/version: latest
|
||||||
|
secrets:
|
||||||
|
- name: cloud-secret
|
||||||
|
mountPath: /tmp/
|
@@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: litmuchaos.io/v1alpha1
|
||||||
|
kind: ChartServiceVersion
|
||||||
|
metadata:
|
||||||
|
name: gcp-vm-disk-loss-by-label
|
||||||
|
version: 0.1.0
|
||||||
|
annotations:
|
||||||
|
categories: gcp
|
||||||
|
spec:
|
||||||
|
displayName: gcp-vm-disk-loss-by-label
|
||||||
|
categoryDescription: >
|
||||||
|
gcp vm disk loss by label experiment detaches the target persistent disk volumes by label for a fixed duration of time
|
||||||
|
keywords:
|
||||||
|
- "Disk"
|
||||||
|
- "GCP"
|
||||||
|
platforms:
|
||||||
|
- "Minikube"
|
||||||
|
maturity: alpha
|
||||||
|
maintainers:
|
||||||
|
- name: Neelanjan Manna
|
||||||
|
email: neelanjan.manna@harness.io
|
||||||
|
minKubeVersion: 1.12.0
|
||||||
|
provider:
|
||||||
|
name: Harness
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: chartserviceversion
|
||||||
|
app.kubernetes.io/version: latest
|
||||||
|
links:
|
||||||
|
- name: Documentation
|
||||||
|
url: https://litmuschaos.github.io/litmus/experiments/categories/gcp/gcp-vm-disk-loss-by-label/
|
||||||
|
icon:
|
||||||
|
- url:
|
||||||
|
mediatype: ""
|
||||||
|
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/gcp/gcp-vm-disk-loss-by-label/experiment.yaml
|
62
charts/gcp/gcp-vm-disk-loss-by-label/rbac.yaml
Normal file
62
charts/gcp/gcp-vm-disk-loss-by-label/rbac.yaml
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: gcp-vm-disk-loss-by-label-sa
|
||||||
|
namespace: default
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-disk-loss-by-label-sa
|
||||||
|
app.kubernetes.io/part-of: litmus
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: gcp-vm-disk-loss-by-label-sa
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-disk-loss-by-label-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-by-label-sa
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-disk-loss-by-label-sa
|
||||||
|
app.kubernetes.io/part-of: litmus
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: gcp-vm-disk-loss-by-label-sa
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: gcp-vm-disk-loss-by-label-sa
|
||||||
|
namespace: default
|
@@ -35,8 +35,6 @@ spec:
|
|||||||
- name: DISK_ZONES
|
- name: DISK_ZONES
|
||||||
value: ''
|
value: ''
|
||||||
|
|
||||||
# set the device name(s) as comma seperated values in the corresponding
|
# parallel or serial; determines how chaos is injected
|
||||||
# order of DISK_VOLUME_NAME
|
- name: SEQUENCE
|
||||||
# eg. device1,device2,...
|
value: 'parallel'
|
||||||
- name: DEVICE_NAMES
|
|
||||||
value: ''
|
|
||||||
|
@@ -30,10 +30,6 @@ spec:
|
|||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["pods/log"]
|
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"]
|
|
||||||
verbs: ["get","list","create"]
|
|
||||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||||
- apiGroups: ["batch"]
|
- apiGroups: ["batch"]
|
||||||
resources: ["jobs"]
|
resources: ["jobs"]
|
||||||
@@ -83,12 +79,6 @@ spec:
|
|||||||
- name: DISK_ZONES
|
- name: DISK_ZONES
|
||||||
value: ''
|
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:
|
labels:
|
||||||
name: gcp-vm-disk-loss
|
name: gcp-vm-disk-loss
|
||||||
app.kubernetes.io/part-of: litmus
|
app.kubernetes.io/part-of: litmus
|
||||||
|
41
charts/gcp/gcp-vm-instance-stop-by-label/engine.yaml
Normal file
41
charts/gcp/gcp-vm-instance-stop-by-label/engine.yaml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: litmuschaos.io/v1alpha1
|
||||||
|
kind: ChaosEngine
|
||||||
|
metadata:
|
||||||
|
name: gcp-vm-chaos
|
||||||
|
spec:
|
||||||
|
# It can be active/stop
|
||||||
|
engineState: 'active'
|
||||||
|
chaosServiceAccount: gcp-vm-instance-stop-by-label-sa
|
||||||
|
# It can be delete/retain
|
||||||
|
experiments:
|
||||||
|
- name: gcp-vm-instance-stop-by-label
|
||||||
|
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'
|
||||||
|
|
||||||
|
- name: SEQUENCE
|
||||||
|
value: 'parallel'
|
||||||
|
|
||||||
|
# GCP project ID to which the vm instances belong
|
||||||
|
- name: GCP_PROJECT_ID
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# Label of the target vm instance(s)
|
||||||
|
- name: INSTANCE_LABEL
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# Zone in which the target vm instance(s) filtered by the label exist
|
||||||
|
# all the instances should lie in a single zone
|
||||||
|
- name: INSTANCE_ZONES
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# enable it if the target instances are a part of a managed instance group
|
||||||
|
- name: MANAGED_INSTANCE_GROUP
|
||||||
|
value: 'disable'
|
90
charts/gcp/gcp-vm-instance-stop-by-label/experiment.yaml
Normal file
90
charts/gcp/gcp-vm-instance-stop-by-label/experiment.yaml
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
apiVersion: litmuschaos.io/v1alpha1
|
||||||
|
description:
|
||||||
|
message: |
|
||||||
|
gcp-vm-instance stop by label experiment causes gcp vm instances specified by a label to be stopped for a given time duration
|
||||||
|
kind: ChaosExperiment
|
||||||
|
metadata:
|
||||||
|
name: gcp-vm-instance-stop-by-label
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-instance-stop-by-label
|
||||||
|
app.kubernetes.io/part-of: litmus
|
||||||
|
app.kubernetes.io/component: chaosexperiment
|
||||||
|
app.kubernetes.io/version: latest
|
||||||
|
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 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:latest"
|
||||||
|
imagePullPolicy: Always
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- ./experiments -name gcp-vm-instance-stop-by-label
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
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'
|
||||||
|
|
||||||
|
- name: SEQUENCE
|
||||||
|
value: 'parallel'
|
||||||
|
|
||||||
|
# GCP project ID to which the vm instances belong
|
||||||
|
- name: GCP_PROJECT_ID
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# Label of the target vm instance(s)
|
||||||
|
- name: INSTANCE_LABEL
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# Zone in which the target vm instance(s) filtered by the label exist
|
||||||
|
# all the instances should lie in a single zone
|
||||||
|
- name: INSTANCE_ZONES
|
||||||
|
value: ''
|
||||||
|
|
||||||
|
# enable it if the target instance is a part of a managed instance group
|
||||||
|
- name: MANAGED_INSTANCE_GROUP
|
||||||
|
value: 'disable'
|
||||||
|
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-instance-stop-by-label
|
||||||
|
app.kubernetes.io/part-of: litmus
|
||||||
|
app.kubernetes.io/component: experiment-job
|
||||||
|
app.kubernetes.io/version: latest
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
- name: cloud-secret
|
||||||
|
mountPath: /tmp/
|
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: litmuchaos.io/v1alpha1
|
||||||
|
kind: ChartServiceVersion
|
||||||
|
metadata:
|
||||||
|
name: gcp
|
||||||
|
version: 0.1.0
|
||||||
|
annotations:
|
||||||
|
categories: gcp
|
||||||
|
spec:
|
||||||
|
displayName: gcp chaos
|
||||||
|
categoryDescription: >
|
||||||
|
gcp-vm-instance stop by label experiment causes gcp vm instances specified by a label to be stopped for a given time duration
|
||||||
|
experiments:
|
||||||
|
- gcp-vm-instance-stop-by-label
|
||||||
|
keywords:
|
||||||
|
- "GCP"
|
||||||
|
- "VM"
|
||||||
|
maintainers:
|
||||||
|
- name: Neelanjan Manna
|
||||||
|
email: neelanjan.manna@harness.io
|
||||||
|
minKubeVersion: 1.12.0
|
||||||
|
provider:
|
||||||
|
name: Harness
|
||||||
|
links:
|
||||||
|
- name: Documentation
|
||||||
|
url: https://litmuschaos.github.io/litmus/experiments/categories/gcp/gcp-vm-instance-stop-by-label/
|
||||||
|
icon:
|
||||||
|
- url:
|
||||||
|
mediatype: ""
|
||||||
|
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/gcp/gcp-vm-instance-stop-by-label/experiment.yaml
|
66
charts/gcp/gcp-vm-instance-stop-by-label/rbac.yaml
Normal file
66
charts/gcp/gcp-vm-instance-stop-by-label/rbac.yaml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: gcp-vm-instance-stop-by-label-sa
|
||||||
|
namespace: default
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-instance-stop-by-label-sa
|
||||||
|
app.kubernetes.io/part-of: litmus
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: gcp-vm-instance-stop-by-label-sa
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-instance-stop-by-label-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-by-label-sa
|
||||||
|
labels:
|
||||||
|
name: gcp-vm-instance-stop-by-label-sa
|
||||||
|
app.kubernetes.io/part-of: litmus
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: gcp-vm-instance-stop-by-label-sa
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: gcp-vm-instance-stop-by-label-sa
|
||||||
|
namespace: default
|
@@ -33,6 +33,10 @@ spec:
|
|||||||
- name: INSTANCE_ZONES
|
- name: INSTANCE_ZONES
|
||||||
value: ''
|
value: ''
|
||||||
|
|
||||||
# enable it if the target instance is a part of self-managed auto scaling group.
|
# enable it if the target instance is a part of a managed instance group.
|
||||||
- name: AUTO_SCALING_GROUP
|
- name: MANAGED_INSTANCE_GROUP
|
||||||
value: 'disable'
|
value: 'disable'
|
||||||
|
|
||||||
|
# parallel or serial; determines how chaos is injected
|
||||||
|
- name: SEQUENCE
|
||||||
|
value: 'parallel'
|
||||||
|
@@ -30,10 +30,6 @@ spec:
|
|||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["pods/log"]
|
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"]
|
|
||||||
verbs: ["get","list","create"]
|
|
||||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||||
- apiGroups: ["batch"]
|
- apiGroups: ["batch"]
|
||||||
resources: ["jobs"]
|
resources: ["jobs"]
|
||||||
@@ -74,8 +70,8 @@ spec:
|
|||||||
- name: RAMP_TIME
|
- name: RAMP_TIME
|
||||||
value: ''
|
value: ''
|
||||||
|
|
||||||
# enable or disable; shall be enabled if the target instance is a part of an auto scaling group.
|
# enable or disable; shall be set to enable if the target instances are a part of a managed instance group
|
||||||
- name: AUTO_SCALING_GROUP
|
- name: MANAGED_INSTANCE_GROUP
|
||||||
value: 'disable'
|
value: 'disable'
|
||||||
|
|
||||||
# Instance name of the target vm instance(s)
|
# Instance name of the target vm instance(s)
|
||||||
|
@@ -12,16 +12,19 @@ spec:
|
|||||||
experiments:
|
experiments:
|
||||||
- gcp-vm-instance-stop
|
- gcp-vm-instance-stop
|
||||||
- gcp-vm-disk-loss
|
- gcp-vm-disk-loss
|
||||||
|
- gcp-vm-instance-stop-by-label
|
||||||
|
- gcp-vm-disk-loss-by-label
|
||||||
keywords:
|
keywords:
|
||||||
- "VM"
|
- "VM"
|
||||||
- "Disk"
|
- "Disk"
|
||||||
- "GCP"
|
- "GCP"
|
||||||
|
- "Infra"
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: Neelanjan Manna
|
- name: Neelanjan Manna
|
||||||
email: neelanjan@chaosnative.com
|
email: neelanjan.manna@harness.io
|
||||||
minKubeVersion: 1.12.0
|
minKubeVersion: 1.12.0
|
||||||
provider:
|
provider:
|
||||||
name: ChaosNative
|
name: Harness
|
||||||
links:
|
links:
|
||||||
- name: GCP Website
|
- name: GCP Website
|
||||||
url: https://cloud.google.com/
|
url: https://cloud.google.com/
|
||||||
|
@@ -6,3 +6,9 @@ experiments:
|
|||||||
- name: gcp-vm-disk-loss
|
- name: gcp-vm-disk-loss
|
||||||
CSV: gcp-vm-disk-loss.chartserviceversion.yaml
|
CSV: gcp-vm-disk-loss.chartserviceversion.yaml
|
||||||
desc: "gcp-vm-disk-loss"
|
desc: "gcp-vm-disk-loss"
|
||||||
|
- name: gcp-vm-instance-stop-by-label
|
||||||
|
CSV: gcp-vm-instance-stop-by-label.chartserviceversion.yaml
|
||||||
|
desc: "gcp-vm-instance-stop-by-label"
|
||||||
|
- name: gcp-vm-disk-loss-by-label
|
||||||
|
CSV: gcp-vm-disk-loss-by-label.chartserviceversion.yaml
|
||||||
|
desc: "gcp-vm-disk-loss-by-label"
|
||||||
|
BIN
charts/gcp/icons/gcp-vm-disk-loss-by-label.png
Normal file
BIN
charts/gcp/icons/gcp-vm-disk-loss-by-label.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
BIN
charts/gcp/icons/gcp-vm-instance-stop-by-label.png
Normal file
BIN
charts/gcp/icons/gcp-vm-instance-stop-by-label.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
Reference in New Issue
Block a user