diff --git a/chaoscenter/README.md b/chaoscenter/README.md index d53d7e46f15..c19f9b0c13b 100644 --- a/chaoscenter/README.md +++ b/chaoscenter/README.md @@ -45,5 +45,5 @@ helm install my-release bitnami/mongodb --values mongo-values.yml -n Applying the manifest file will install all the required service account configuration and ChaosCenter in cluster scope. ```shell -kubectl apply -f https://github.com/litmuschaos/litmus/blob/master/mkdocs/docs/3.0.0/litmus-cluster-scope-3.0.0.yaml +kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/3.0.0/litmus-cluster-scope-3.0.0.yaml ``` diff --git a/chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go b/chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go index 35d9a8a0652..ead0f96e2e7 100644 --- a/chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go +++ b/chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go @@ -1208,7 +1208,7 @@ func (c *ChaosExperimentHandler) GetProbesInExperimentRun(ctx context.Context, p probeDetails []*model.GetProbesInExperimentRunResponse probeStatusMap = make(map[string]model.ProbeVerdict) probeDescriptionMap = make(map[string]*string) - executionData types.ExecutionData + probeModeMap = make(map[string]model.Mode) ) wfRun, err := c.chaosExperimentRunOperator.GetExperimentRun(bson.D{ @@ -1220,16 +1220,12 @@ func (c *ChaosExperimentHandler) GetProbesInExperimentRun(ctx context.Context, p return nil, err } - if err = json.Unmarshal([]byte(wfRun.ExecutionData), &executionData); err != nil { - return nil, errors.New("failed to unmarshal workflow manifest") - } - for _, _probe := range wfRun.Probes { if _probe.FaultName == faultName { - - mode := "SOT" for _, probeName := range _probe.ProbeNames { + var executionData types.ExecutionData probeStatusMap[probeName] = model.ProbeVerdictNa + probeModeMap[probeName] = model.ModeSot description := "Either probe is not executed or not evaluated" probeDescriptionMap[probeName] = &description @@ -1250,7 +1246,7 @@ func (c *ChaosExperimentHandler) GetProbesInExperimentRun(ctx context.Context, p for _, probeStatus := range probeStatuses { if probeStatus.Name == probeName { - mode = probeStatus.Mode + probeModeMap[probeName] = model.Mode(probeStatus.Mode) description := probeStatus.Status.Description probeDescriptionMap[probeStatus.Name] = &description @@ -1286,7 +1282,7 @@ func (c *ChaosExperimentHandler) GetProbesInExperimentRun(ctx context.Context, p probeDetails = append(probeDetails, &model.GetProbesInExperimentRunResponse{ Probe: singleProbe.GetOutputProbe(), - Mode: model.Mode(mode), + Mode: probeModeMap[probeName], Status: &model.Status{ Verdict: probeStatusMap[probeName], Description: probeDescriptionMap[probeName], diff --git a/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go b/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go index 50a7bf3c916..2638a7d5c32 100644 --- a/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go +++ b/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go @@ -121,6 +121,7 @@ func (c *ChaosExperimentRunHandler) GetExperimentRun(ctx context.Context, projec {"$project", bson.D{ {"name", 1}, {"is_custom_experiment", 1}, + {"experiment_type", 1}, {"revision", bson.D{{ "$filter", bson.D{ {"input", "$revision"}, @@ -229,10 +230,13 @@ func (c *ChaosExperimentRunHandler) GetExperimentRun(ctx context.Context, projec } } + expType := string(wfRun.ExperimentDetails[0].ExperimentType) + expRunResponse = &model.ExperimentRun{ ExperimentName: wfRun.ExperimentDetails[0].ExperimentName, ExperimentID: wfRun.ExperimentID, ExperimentRunID: wfRun.ExperimentRunID, + ExperimentType: &expType, NotifyID: wfRun.NotifyID, Weightages: weightages, ExperimentManifest: workflowRunManifest, diff --git a/chaoscenter/subscriber/pkg/events/chaosengine.go b/chaoscenter/subscriber/pkg/events/chaosengine.go index e7983297aab..d985ed857ae 100644 --- a/chaoscenter/subscriber/pkg/events/chaosengine.go +++ b/chaoscenter/subscriber/pkg/events/chaosengine.go @@ -5,7 +5,6 @@ import ( "errors" "fmt" "strconv" - "subscriber/pkg/k8s" "subscriber/pkg/types" wfclientset "github.com/argoproj/argo-workflows/v3/pkg/client/clientset/versioned" @@ -23,13 +22,13 @@ import ( ) // ChaosEventWatcher initializes the Litmus ChaosEngine event watcher -func ChaosEventWatcher(stopCh chan struct{}, stream chan types.WorkflowEvent, infraData map[string]string) { +func (ev *subscriberEvents) ChaosEventWatcher(stopCh chan struct{}, stream chan types.WorkflowEvent, infraData map[string]string) { startTime, err := strconv.Atoi(infraData["START_TIME"]) if err != nil { logrus.WithError(err).Fatal("failed to parse startTime") } - cfg, err := k8s.GetKubeConfig() + cfg, err := ev.subscriberK8s.GetKubeConfig() if err != nil { logrus.WithError(err).Fatal("could not get kube config") } @@ -55,17 +54,17 @@ func ChaosEventWatcher(stopCh chan struct{}, stream chan types.WorkflowEvent, in informer = f.Litmuschaos().V1alpha1().ChaosEngines().Informer() } - go startWatchEngine(stopCh, informer, stream, int64(startTime)) + go ev.startWatchEngine(stopCh, informer, stream, int64(startTime)) } -// handles the different events events - add, update and delete -func startWatchEngine(stopCh <-chan struct{}, s cache.SharedIndexInformer, stream chan types.WorkflowEvent, startTime int64) { +// handles the different*subscriberEvents - add, update and delete +func (ev *subscriberEvents) startWatchEngine(stopCh <-chan struct{}, s cache.SharedIndexInformer, stream chan types.WorkflowEvent, startTime int64) { handlers := cache.ResourceEventHandlerFuncs{ AddFunc: func(obj interface{}) { - chaosEventHandler(obj, "ADD", stream, startTime) + ev.chaosEventHandler(obj, "ADD", stream, startTime) }, UpdateFunc: func(oldObj, obj interface{}) { - chaosEventHandler(obj, "UPDATE", stream, startTime) + ev.chaosEventHandler(obj, "UPDATE", stream, startTime) }, } @@ -74,7 +73,7 @@ func startWatchEngine(stopCh <-chan struct{}, s cache.SharedIndexInformer, strea } // responsible for extracting the required data from the event and streaming -func chaosEventHandler(obj interface{}, eventType string, stream chan types.WorkflowEvent, startTime int64) { +func (ev *subscriberEvents) chaosEventHandler(obj interface{}, eventType string, stream chan types.WorkflowEvent, startTime int64) { workflowObj := obj.(*chaosTypes.ChaosEngine) if workflowObj.Labels["workflow_id"] == "" { logrus.WithFields(map[string]interface{}{ @@ -89,7 +88,7 @@ func chaosEventHandler(obj interface{}, eventType string, stream chan types.Work return } - cfg, err := k8s.GetKubeConfig() + cfg, err := ev.subscriberK8s.GetKubeConfig() if err != nil { logrus.WithError(err).Fatal("could not get kube config") } @@ -104,12 +103,12 @@ func chaosEventHandler(obj interface{}, eventType string, stream chan types.Work var cd *types.ChaosData = nil //extracts chaos data - cd, err = getChaosData(v1alpha1.NodeStatus{StartedAt: workflowObj.ObjectMeta.CreationTimestamp}, workflowObj.Name, workflowObj.Namespace, chaosClient) + cd, err = ev.getChaosData(v1alpha1.NodeStatus{StartedAt: workflowObj.ObjectMeta.CreationTimestamp}, workflowObj.Name, workflowObj.Namespace, chaosClient) if err != nil { logrus.WithError(err).Print("FAILED PARSING CHAOS ENGINE CRD") } - // considering chaos events has only 1 artifact with manifest as raw data + // considering chaos*subscriberEvents has only 1 artifact with manifest as raw data finTime := int64(-1) if workflowObj.Status.EngineStatus == chaosTypes.EngineStatusCompleted || workflowObj.Status.EngineStatus == chaosTypes.EngineStatusStopped { if len(workflowObj.Status.Experiments) > 0 { @@ -157,7 +156,7 @@ func chaosEventHandler(obj interface{}, eventType string, stream chan types.Work } // StopChaosEngineState is used to patch all the chaosEngines with engineState=stop -func StopChaosEngineState(namespace string, workflowRunID *string) error { +func (ev *subscriberEvents) StopChaosEngineState(namespace string, workflowRunID *string) error { ctx := context.TODO() //Define the GVR @@ -168,7 +167,7 @@ func StopChaosEngineState(namespace string, workflowRunID *string) error { } //Generate the dynamic client - _, dynamicClient, err := k8s.GetDynamicAndDiscoveryClient() + _, dynamicClient, err := ev.subscriberK8s.GetDynamicAndDiscoveryClient() if err != nil { return errors.New("failed to get dynamic client, error: " + err.Error()) } @@ -185,7 +184,7 @@ func StopChaosEngineState(namespace string, workflowRunID *string) error { return errors.New("failed to list chaosengines: " + err.Error()) } - //Foe every chaosEngine patch the engineState to Stop + //Foe every subscriber patch the engineState to Stop for _, val := range chaosEngines.Items { patch := []byte(`{"spec":{"engineState":"stop"}}`) patched, err := dynamicClient.Resource(resourceType).Namespace(namespace).Patch(ctx, val.GetName(), mergeType.MergePatchType, patch, v1.PatchOptions{}) @@ -200,9 +199,9 @@ func StopChaosEngineState(namespace string, workflowRunID *string) error { } // StopWorkflow will patch the workflow based on workflow name using the shutdown strategy -func StopWorkflow(wfName string, namespace string) error { +func (ev *subscriberEvents) StopWorkflow(wfName string, namespace string) error { - conf, err := k8s.GetKubeConfig() + conf, err := ev.subscriberK8s.GetKubeConfig() wfClient := wfclientset.NewForConfigOrDie(conf).ArgoprojV1alpha1().Workflows(namespace) patch := []byte(`{"spec":{"shutdown":"Stop"}}`) wf, err := wfClient.Patch(context.TODO(), wfName, mergeType.MergePatchType, patch, v1.PatchOptions{}) diff --git a/chaoscenter/subscriber/pkg/events/definations.go b/chaoscenter/subscriber/pkg/events/definations.go new file mode 100644 index 00000000000..02bd1883911 --- /dev/null +++ b/chaoscenter/subscriber/pkg/events/definations.go @@ -0,0 +1,38 @@ +package events + +import ( + "subscriber/pkg/graphql" + "subscriber/pkg/types" + + "subscriber/pkg/k8s" + + "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1" + v1alpha13 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1" + v1alpha12 "github.com/litmuschaos/chaos-operator/pkg/client/clientset/versioned/typed/litmuschaos/v1alpha1" +) + +type SubscriberEvents interface { + ChaosEventWatcher(stopCh chan struct{}, stream chan types.WorkflowEvent, infraData map[string]string) + StopChaosEngineState(namespace string, workflowRunID *string) error + CheckChaosData(nodeStatus v1alpha13.NodeStatus, workflowNS string, chaosClient *v1alpha12.LitmuschaosV1alpha1Client) (string, *types.ChaosData, error) + GetWorkflowObj(uid string) (*v1alpha1.Workflow, error) + ListWorkflowObject(wfid string) (*v1alpha1.WorkflowList, error) + GenerateWorkflowPayload(cid, accessKey, version, completed string, wfEvent types.WorkflowEvent) ([]byte, error) + WorkflowEventWatcher(stopCh chan struct{}, stream chan types.WorkflowEvent, infraData map[string]string) + WorkflowEventHandler(workflowObj *v1alpha1.Workflow, eventType string, startTime int64) (types.WorkflowEvent, error) + SendWorkflowUpdates(infraData map[string]string, event types.WorkflowEvent) (string, error) + WorkflowUpdates(infraData map[string]string, event chan types.WorkflowEvent) + StopWorkflow(wfName string, namespace string) error +} + +type subscriberEvents struct { + gqlSubscriberServer graphql.SubscriberGql + subscriberK8s k8s.SubscriberK8s +} + +func NewSubscriberEventsOperator(gqlSubscriberServer graphql.SubscriberGql, subscriberK8s k8s.SubscriberK8s) SubscriberEvents { + return &subscriberEvents{ + gqlSubscriberServer: gqlSubscriberServer, + subscriberK8s: subscriberK8s, + } +} diff --git a/chaoscenter/subscriber/pkg/events/util.go b/chaoscenter/subscriber/pkg/events/util.go index 35ff5e4e0b1..0f57987c99e 100644 --- a/chaoscenter/subscriber/pkg/events/util.go +++ b/chaoscenter/subscriber/pkg/events/util.go @@ -9,7 +9,6 @@ import ( "regexp" "strconv" "strings" - "subscriber/pkg/k8s" "subscriber/pkg/types" "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1" @@ -24,7 +23,7 @@ import ( ) // util function, extracts the chaos data using the litmus go-client -func getChaosData(nodeStatus v1alpha13.NodeStatus, engineName, engineNS string, chaosClient *v1alpha12.LitmuschaosV1alpha1Client) (*types.ChaosData, error) { +func (ev *subscriberEvents) getChaosData(nodeStatus v1alpha13.NodeStatus, engineName, engineNS string, chaosClient *v1alpha12.LitmuschaosV1alpha1Client) (*types.ChaosData, error) { cd := &types.ChaosData{} cd.EngineName = engineName cd.Namespace = engineNS @@ -79,7 +78,7 @@ func getChaosData(nodeStatus v1alpha13.NodeStatus, engineName, engineNS string, } // CheckChaosData util function, checks if event is a chaos-exp event, if so - extract the chaos data -func CheckChaosData(nodeStatus v1alpha13.NodeStatus, workflowNS string, chaosClient *v1alpha12.LitmuschaosV1alpha1Client) (string, *types.ChaosData, error) { +func (ev *subscriberEvents) CheckChaosData(nodeStatus v1alpha13.NodeStatus, workflowNS string, chaosClient *v1alpha12.LitmuschaosV1alpha1Client) (string, *types.ChaosData, error) { nodeType := string(nodeStatus.Type) var cd *types.ChaosData = nil // considering chaos events has only 1 artifact with manifest as raw data @@ -92,7 +91,7 @@ func CheckChaosData(nodeStatus v1alpha13.NodeStatus, workflowNS string, chaosCli if nodeStatus.Phase != "Pending" { name := obj.GetName() if obj.GetGenerateName() != "" { - log, err := k8s.GetLogs(nodeStatus.ID, workflowNS, "main") + log, err := ev.subscriberK8s.GetLogs(nodeStatus.ID, workflowNS, "main") if err != nil { return nodeType, nil, err } @@ -101,7 +100,7 @@ func CheckChaosData(nodeStatus v1alpha13.NodeStatus, workflowNS string, chaosCli return nodeType, nil, errors.New("Chaos-Engine Generated Name couldn't be retrieved") } } - cd, err = getChaosData(nodeStatus, name, obj.GetNamespace(), chaosClient) + cd, err = ev.getChaosData(nodeStatus, name, obj.GetNamespace(), chaosClient) return nodeType, cd, err } } @@ -130,9 +129,9 @@ func StrConvTime(time int64) string { } } -func GetWorkflowObj(uid string) (*v1alpha1.Workflow, error) { +func (ev *subscriberEvents) GetWorkflowObj(uid string) (*v1alpha1.Workflow, error) { ctx := context.TODO() - conf, err := k8s.GetKubeConfig() + conf, err := ev.subscriberK8s.GetKubeConfig() if err != nil { return nil, err } @@ -153,9 +152,9 @@ func GetWorkflowObj(uid string) (*v1alpha1.Workflow, error) { return nil, nil } -func ListWorkflowObject(wfid string) (*v1alpha1.WorkflowList, error) { +func (ev *subscriberEvents) ListWorkflowObject(wfid string) (*v1alpha1.WorkflowList, error) { ctx := context.TODO() - conf, err := k8s.GetKubeConfig() + conf, err := ev.subscriberK8s.GetKubeConfig() if err != nil { return nil, err } @@ -171,7 +170,7 @@ func ListWorkflowObject(wfid string) (*v1alpha1.WorkflowList, error) { } // GenerateWorkflowPayload generate graphql mutation payload for events event -func GenerateWorkflowPayload(cid, accessKey, version, completed string, wfEvent types.WorkflowEvent) ([]byte, error) { +func (ev *subscriberEvents) GenerateWorkflowPayload(cid, accessKey, version, completed string, wfEvent types.WorkflowEvent) ([]byte, error) { infraID := `{infraID: \"` + cid + `\", version: \"` + version + `\", accessKey: \"` + accessKey + `\"}` for id, event := range wfEvent.Nodes { event.Message = strings.Replace(event.Message, `"`, ``, -1) diff --git a/chaoscenter/subscriber/pkg/events/workflow.go b/chaoscenter/subscriber/pkg/events/workflow.go index 19efbc3f06e..4f554828acc 100644 --- a/chaoscenter/subscriber/pkg/events/workflow.go +++ b/chaoscenter/subscriber/pkg/events/workflow.go @@ -7,9 +7,6 @@ import ( "strconv" "time" - "subscriber/pkg/graphql" - - "subscriber/pkg/k8s" "subscriber/pkg/types" "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1" @@ -39,12 +36,12 @@ var ( ) // WorkflowEventWatcher initializes the Argo Workflow event watcher -func WorkflowEventWatcher(stopCh chan struct{}, stream chan types.WorkflowEvent, infraData map[string]string) { +func (ev *subscriberEvents) WorkflowEventWatcher(stopCh chan struct{}, stream chan types.WorkflowEvent, infraData map[string]string) { startTime, err := strconv.Atoi(infraData["START_TIME"]) if err != nil { logrus.WithError(err).Fatal("Failed to parse START_TIME") } - cfg, err := k8s.GetKubeConfig() + cfg, err := ev.subscriberK8s.GetKubeConfig() if err != nil { logrus.WithError(err).Fatal("Could not get kube config") } @@ -67,15 +64,15 @@ func WorkflowEventWatcher(stopCh chan struct{}, stream chan types.WorkflowEvent, informer = f.Argoproj().V1alpha1().Workflows().Informer() // Start Event Watch } - go startWatchWorkflow(stopCh, informer, stream, int64(startTime)) + go ev.startWatchWorkflow(stopCh, informer, stream, int64(startTime)) } // handles the different events events - add, update and delete -func startWatchWorkflow(stopCh <-chan struct{}, s cache.SharedIndexInformer, stream chan types.WorkflowEvent, startTime int64) { +func (ev *subscriberEvents) startWatchWorkflow(stopCh <-chan struct{}, s cache.SharedIndexInformer, stream chan types.WorkflowEvent, startTime int64) { handlers := cache.ResourceEventHandlerFuncs{ AddFunc: func(obj interface{}) { workflowObj := obj.(*v1alpha1.Workflow) - workflow, err := WorkflowEventHandler(workflowObj, "ADD", startTime) + workflow, err := ev.WorkflowEventHandler(workflowObj, "ADD", startTime) if err != nil { logrus.Error(err) } @@ -86,7 +83,7 @@ func startWatchWorkflow(stopCh <-chan struct{}, s cache.SharedIndexInformer, str }, UpdateFunc: func(oldObj, obj interface{}) { workflowObj := obj.(*v1alpha1.Workflow) - workflow, err := WorkflowEventHandler(workflowObj, "UPDATE", startTime) + workflow, err := ev.WorkflowEventHandler(workflowObj, "UPDATE", startTime) if err != nil { logrus.Error(err) } @@ -100,7 +97,7 @@ func startWatchWorkflow(stopCh <-chan struct{}, s cache.SharedIndexInformer, str } // WorkflowEventHandler is responsible for extracting the required data from the event and streaming -func WorkflowEventHandler(workflowObj *v1alpha1.Workflow, eventType string, startTime int64) (types.WorkflowEvent, error) { +func (ev *subscriberEvents) WorkflowEventHandler(workflowObj *v1alpha1.Workflow, eventType string, startTime int64) (types.WorkflowEvent, error) { if workflowObj.Labels["workflow_id"] == "" { logrus.WithFields(map[string]interface{}{ "uid": string(workflowObj.ObjectMeta.UID), @@ -114,7 +111,7 @@ func WorkflowEventHandler(workflowObj *v1alpha1.Workflow, eventType string, star return types.WorkflowEvent{}, errors.New("startTime of subscriber is greater than experiment creation timestamp") } - cfg, err := k8s.GetKubeConfig() + cfg, err := ev.subscriberK8s.GetKubeConfig() if err != nil { logrus.WithError(err).Fatal("Could not get kube config") } @@ -137,7 +134,7 @@ func WorkflowEventHandler(workflowObj *v1alpha1.Workflow, eventType string, star // considering chaos events has only 1 artifact with manifest as raw data if nodeStatus.Type == "Pod" && nodeStatus.Inputs != nil && len(nodeStatus.Inputs.Artifacts) == 1 && nodeStatus.Inputs.Artifacts[0].Raw != nil { //extracts chaos data - nodeType, cd, err = CheckChaosData(nodeStatus, workflowObj.ObjectMeta.Namespace, chaosClient) + nodeType, cd, err = ev.CheckChaosData(nodeStatus, workflowObj.ObjectMeta.Namespace, chaosClient) if err != nil { logrus.WithError(err).Print("Failed to parse ChaosEngine CRD") } @@ -202,7 +199,7 @@ func WorkflowEventHandler(workflowObj *v1alpha1.Workflow, eventType string, star } // SendWorkflowUpdates generates graphql mutation to send events updates to graphql server -func SendWorkflowUpdates(infraData map[string]string, event types.WorkflowEvent) (string, error) { +func (ev *subscriberEvents) SendWorkflowUpdates(infraData map[string]string, event types.WorkflowEvent) (string, error) { if wfEvent, ok := eventMap[event.UID]; ok { for key, node := range wfEvent.Nodes { if node.Type == "ChaosEngine" && node.ChaosExp != nil && event.Nodes[key].ChaosExp == nil { @@ -230,17 +227,17 @@ func SendWorkflowUpdates(infraData map[string]string, event types.WorkflowEvent) eventMap[event.UID] = event // generate graphql payload - payload, err := GenerateWorkflowPayload(infraData["INFRA_ID"], infraData["ACCESS_KEY"], infraData["VERSION"], "false", event) + payload, err := ev.GenerateWorkflowPayload(infraData["INFRA_ID"], infraData["ACCESS_KEY"], infraData["VERSION"], "false", event) if err != nil { return "", errors.New("Error while generating graphql payload from the workflow event" + err.Error()) } if event.FinishedAt != "" { - payload, err = GenerateWorkflowPayload(infraData["INFRA_ID"], infraData["ACCESS_KEY"], infraData["VERSION"], "true", event) + payload, err = ev.GenerateWorkflowPayload(infraData["INFRA_ID"], infraData["ACCESS_KEY"], infraData["VERSION"], "true", event) delete(eventMap, event.UID) } - body, err := graphql.SendRequest(infraData["SERVER_ADDR"], payload) + body, err := ev.gqlSubscriberServer.SendRequest(infraData["SERVER_ADDR"], payload) if err != nil { return "", err } @@ -248,10 +245,10 @@ func SendWorkflowUpdates(infraData map[string]string, event types.WorkflowEvent) return body, nil } -func WorkflowUpdates(infraData map[string]string, event chan types.WorkflowEvent) { +func (ev *subscriberEvents) WorkflowUpdates(infraData map[string]string, event chan types.WorkflowEvent) { // listen on the channel for streaming event updates for eventData := range event { - response, err := SendWorkflowUpdates(infraData, eventData) + response, err := ev.SendWorkflowUpdates(infraData, eventData) if err != nil { logrus.Print(err.Error()) } diff --git a/chaoscenter/subscriber/pkg/graphql/definations.go b/chaoscenter/subscriber/pkg/graphql/definations.go new file mode 100644 index 00000000000..81f7869ea52 --- /dev/null +++ b/chaoscenter/subscriber/pkg/graphql/definations.go @@ -0,0 +1,13 @@ +package graphql + +type SubscriberGql interface { + SendRequest(server string, payload []byte) (string, error) + MarshalGQLData(gqlData interface{}) (string, error) +} + +type subscriberGql struct { +} + +func NewSubscriberGql() SubscriberGql { + return &subscriberGql{} +} diff --git a/chaoscenter/subscriber/pkg/graphql/operations.go b/chaoscenter/subscriber/pkg/graphql/operations.go index 8ae980ee838..510bdf546af 100644 --- a/chaoscenter/subscriber/pkg/graphql/operations.go +++ b/chaoscenter/subscriber/pkg/graphql/operations.go @@ -9,7 +9,7 @@ import ( "strings" ) -func SendRequest(server string, payload []byte) (string, error) { +func (gql *subscriberGql) SendRequest(server string, payload []byte) (string, error) { req, err := http.NewRequest("POST", server, bytes.NewBuffer(payload)) if err != nil { return "", err @@ -30,7 +30,7 @@ func SendRequest(server string, payload []byte) (string, error) { } // MarshalGQLData processes event data into proper format acceptable by graphql -func MarshalGQLData(gqlData interface{}) (string, error) { +func (gql *subscriberGql) MarshalGQLData(gqlData interface{}) (string, error) { data, err := json.Marshal(gqlData) if err != nil { return "", err diff --git a/chaoscenter/subscriber/pkg/k8s/client.go b/chaoscenter/subscriber/pkg/k8s/client.go index 01b2f5536f0..dd66d7f8c81 100644 --- a/chaoscenter/subscriber/pkg/k8s/client.go +++ b/chaoscenter/subscriber/pkg/k8s/client.go @@ -13,7 +13,7 @@ import ( var KubeConfig *string // getKubeConfig setup the config for access cluster resource -func GetKubeConfig() (*rest.Config, error) { +func (k8s *k8sSubscriber) GetKubeConfig() (*rest.Config, error) { // Use in-cluster config if kubeconfig path is not specified if *KubeConfig == "" { return rest.InClusterConfig() @@ -21,8 +21,8 @@ func GetKubeConfig() (*rest.Config, error) { return clientcmd.BuildConfigFromFlags("", *KubeConfig) } -func GetGenericK8sClient() (*kubernetes.Clientset, error) { - config, err := GetKubeConfig() +func (k8s *k8sSubscriber) GetGenericK8sClient() (*kubernetes.Clientset, error) { + config, err := k8s.GetKubeConfig() if err != nil { return nil, err } @@ -31,9 +31,9 @@ func GetGenericK8sClient() (*kubernetes.Clientset, error) { } // This function returns dynamic client and discovery client -func GetDynamicAndDiscoveryClient() (discovery.DiscoveryInterface, dynamic.Interface, error) { +func (k8s *k8sSubscriber) GetDynamicAndDiscoveryClient() (discovery.DiscoveryInterface, dynamic.Interface, error) { // returns a config object which uses the service account kubernetes gives to pods - config, err := GetKubeConfig() + config, err := k8s.GetKubeConfig() if err != nil { return nil, nil, err } @@ -53,10 +53,10 @@ func GetDynamicAndDiscoveryClient() (discovery.DiscoveryInterface, dynamic.Inter return discoveryClient, dynamicClient, nil } -func GenerateArgoClient(namespace string) (v1alpha12.WorkflowInterface, error) { +func (k8s *k8sSubscriber) GenerateArgoClient(namespace string) (v1alpha12.WorkflowInterface, error) { //List all chaosEngines present in the particular namespace - conf, err := GetKubeConfig() + conf, err := k8s.GetKubeConfig() if err != nil { return nil, err } diff --git a/chaoscenter/subscriber/pkg/k8s/defination.go b/chaoscenter/subscriber/pkg/k8s/defination.go new file mode 100644 index 00000000000..57708985bf3 --- /dev/null +++ b/chaoscenter/subscriber/pkg/k8s/defination.go @@ -0,0 +1,44 @@ +package k8s + +import ( + "subscriber/pkg/graphql" + "subscriber/pkg/types" + + v1alpha12 "github.com/argoproj/argo-workflows/v3/pkg/client/clientset/versioned/typed/workflow/v1alpha1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/discovery" + "k8s.io/client-go/dynamic" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" +) + +type SubscriberK8s interface { + GetLogs(podName, namespace, container string) (string, error) + CreatePodLog(podLog types.PodLogRequest) (types.PodLog, error) + SendPodLogs(infraData map[string]string, podLog types.PodLogRequest) + GenerateLogPayload(cid, accessKey, version string, podLog types.PodLogRequest) ([]byte, error) + GetKubernetesObjects(request types.KubeObjRequest) ([]*types.KubeObject, error) + GetObjectDataByNamespace(namespace string, dynamicClient dynamic.Interface, resourceType schema.GroupVersionResource) ([]types.ObjectData, error) + GenerateKubeObject(cid string, accessKey, version string, kubeobjectrequest types.KubeObjRequest) ([]byte, error) + SendKubeObjects(infraData map[string]string, kubeobjectrequest types.KubeObjRequest) error + CheckComponentStatus(componentEnv string) error + IsAgentConfirmed() (bool, string, error) + AgentRegister(infraData map[string]string) (bool, error) + AgentOperations(infraAction types.Action) (*unstructured.Unstructured, error) + AgentConfirm(infraData map[string]string) ([]byte, error) + GetKubeConfig() (*rest.Config, error) + GetGenericK8sClient() (*kubernetes.Clientset, error) + GetDynamicAndDiscoveryClient() (discovery.DiscoveryInterface, dynamic.Interface, error) + GenerateArgoClient(namespace string) (v1alpha12.WorkflowInterface, error) +} + +type k8sSubscriber struct { + gqlSubscriberServer graphql.SubscriberGql +} + +func NewK8sSubscriber(gqlSubscriberServer graphql.SubscriberGql) SubscriberK8s { + return &k8sSubscriber{ + gqlSubscriberServer: gqlSubscriberServer, + } +} diff --git a/chaoscenter/subscriber/pkg/k8s/log.go b/chaoscenter/subscriber/pkg/k8s/log.go index 02bd86b9d2e..21545ac6636 100644 --- a/chaoscenter/subscriber/pkg/k8s/log.go +++ b/chaoscenter/subscriber/pkg/k8s/log.go @@ -7,7 +7,6 @@ import ( "strconv" "strings" - "subscriber/pkg/graphql" "subscriber/pkg/types" "github.com/sirupsen/logrus" @@ -16,9 +15,9 @@ import ( "k8s.io/client-go/kubernetes" ) -func GetLogs(podName, namespace, container string) (string, error) { +func (k8s *k8sSubscriber) GetLogs(podName, namespace, container string) (string, error) { ctx := context.TODO() - conf, err := GetKubeConfig() + conf, err := k8s.GetKubeConfig() if err != nil { return "", err } @@ -54,9 +53,9 @@ func GetLogs(podName, namespace, container string) (string, error) { } // create pod log for normal pods and chaos-engine pods -func CreatePodLog(podLog types.PodLogRequest) (types.PodLog, error) { +func (k8s *k8sSubscriber) CreatePodLog(podLog types.PodLogRequest) (types.PodLog, error) { logDetails := types.PodLog{} - mainLog, err := GetLogs(podLog.PodName, podLog.PodNamespace, "main") + mainLog, err := k8s.GetLogs(podLog.PodName, podLog.PodNamespace, "main") // try getting argo pod logs if err != nil { logrus.Errorf("Failed to get argo pod %v logs, err: %v", podLog.PodName, err) @@ -69,7 +68,7 @@ func CreatePodLog(podLog types.PodLogRequest) (types.PodLog, error) { if strings.ToLower(podLog.PodType) == "chaosengine" && podLog.ChaosNamespace != nil { chaosLog := make(map[string]string) if podLog.ExpPod != nil { - expLog, err := GetLogs(*podLog.ExpPod, *podLog.ChaosNamespace, "") + expLog, err := k8s.GetLogs(*podLog.ExpPod, *podLog.ChaosNamespace, "") if err == nil { chaosLog[*podLog.ExpPod] = strconv.Quote(strings.Replace(expLog, `"`, `'`, -1)) chaosLog[*podLog.ExpPod] = chaosLog[*podLog.ExpPod][1 : len(chaosLog[*podLog.ExpPod])-1] @@ -78,7 +77,7 @@ func CreatePodLog(podLog types.PodLogRequest) (types.PodLog, error) { } } if podLog.RunnerPod != nil { - runnerLog, err := GetLogs(*podLog.RunnerPod, *podLog.ChaosNamespace, "") + runnerLog, err := k8s.GetLogs(*podLog.RunnerPod, *podLog.ChaosNamespace, "") if err == nil { chaosLog[*podLog.RunnerPod] = strconv.Quote(strings.Replace(runnerLog, `"`, `'`, -1)) chaosLog[*podLog.RunnerPod] = chaosLog[*podLog.RunnerPod][1 : len(chaosLog[*podLog.RunnerPod])-1] @@ -96,28 +95,28 @@ func CreatePodLog(podLog types.PodLogRequest) (types.PodLog, error) { } // SendPodLogs generates graphql mutation to send events updates to graphql server -func SendPodLogs(infraData map[string]string, podLog types.PodLogRequest) { +func (k8s *k8sSubscriber) SendPodLogs(infraData map[string]string, podLog types.PodLogRequest) { // generate graphql payload - payload, err := GenerateLogPayload(infraData["INFRA_ID"], infraData["ACCESS_KEY"], infraData["VERSION"], podLog) + payload, err := k8s.GenerateLogPayload(infraData["INFRA_ID"], infraData["ACCESS_KEY"], infraData["VERSION"], podLog) if err != nil { logrus.WithError(err).Print("Error while retrieving the workflow logs") } - body, err := graphql.SendRequest(infraData["SERVER_ADDR"], payload) + body, err := k8s.gqlSubscriberServer.SendRequest(infraData["SERVER_ADDR"], payload) if err != nil { logrus.Print(err.Error()) } logrus.Print("Response from the server: ", body) } -func GenerateLogPayload(cid, accessKey, version string, podLog types.PodLogRequest) ([]byte, error) { +func (k8s *k8sSubscriber) GenerateLogPayload(cid, accessKey, version string, podLog types.PodLogRequest) ([]byte, error) { infraID := `{infraID: \"` + cid + `\", version: \"` + version + `\", accessKey: \"` + accessKey + `\"}` processed := " Could not get logs " // get the logs - logDetails, err := CreatePodLog(podLog) + logDetails, err := k8s.CreatePodLog(podLog) if err == nil { // process log data - processed, err = graphql.MarshalGQLData(logDetails) + processed, err = k8s.gqlSubscriberServer.MarshalGQLData(logDetails) if err != nil { processed = " Could not get logs " } diff --git a/chaoscenter/subscriber/pkg/k8s/objects.go b/chaoscenter/subscriber/pkg/k8s/objects.go index 4d6cf692433..143ea9f3785 100644 --- a/chaoscenter/subscriber/pkg/k8s/objects.go +++ b/chaoscenter/subscriber/pkg/k8s/objects.go @@ -8,8 +8,6 @@ import ( "os" "strings" - "subscriber/pkg/graphql" - "github.com/sirupsen/logrus" "subscriber/pkg/types" @@ -26,8 +24,8 @@ var ( ) // GetKubernetesObjects is used to get the Kubernetes Object details according to the request type -func GetKubernetesObjects(request types.KubeObjRequest) ([]*types.KubeObject, error) { - conf, err := GetKubeConfig() +func (k8s *k8sSubscriber) GetKubernetesObjects(request types.KubeObjRequest) ([]*types.KubeObject, error) { + conf, err := k8s.GetKubeConfig() if err != nil { return nil, err } @@ -41,14 +39,14 @@ func GetKubernetesObjects(request types.KubeObjRequest) ([]*types.KubeObject, er Version: request.KubeGVRRequest.Version, Resource: request.KubeGVRRequest.Resource, } - _, dynamicClient, err := GetDynamicAndDiscoveryClient() + _, dynamicClient, err := k8s.GetDynamicAndDiscoveryClient() if err != nil { return nil, err } var ObjData []*types.KubeObject if strings.ToLower(InfraScope) == "namespace" { - dataList, err := GetObjectDataByNamespace(InfraNamespace, dynamicClient, resourceType) + dataList, err := k8s.GetObjectDataByNamespace(InfraNamespace, dynamicClient, resourceType) if err != nil { return nil, err } @@ -65,7 +63,7 @@ func GetKubernetesObjects(request types.KubeObjRequest) ([]*types.KubeObject, er if len(namespace.Items) > 0 { for _, namespace := range namespace.Items { - podList, err := GetObjectDataByNamespace(namespace.GetName(), dynamicClient, resourceType) + podList, err := k8s.GetObjectDataByNamespace(namespace.GetName(), dynamicClient, resourceType) if err != nil { return nil, err } @@ -90,7 +88,7 @@ func GetKubernetesObjects(request types.KubeObjRequest) ([]*types.KubeObject, er } // GetObjectDataByNamespace uses dynamic client to fetch Kubernetes Objects data. -func GetObjectDataByNamespace(namespace string, dynamicClient dynamic.Interface, resourceType schema.GroupVersionResource) ([]types.ObjectData, error) { +func (k8s *k8sSubscriber) GetObjectDataByNamespace(namespace string, dynamicClient dynamic.Interface, resourceType schema.GroupVersionResource) ([]types.ObjectData, error) { list, err := dynamicClient.Resource(resourceType).Namespace(namespace).List(context.TODO(), metav1.ListOptions{}) var kubeObjects []types.ObjectData if err != nil { @@ -104,14 +102,14 @@ func GetObjectDataByNamespace(namespace string, dynamicClient dynamic.Interface, APIVersion: list.GetAPIVersion(), CreationTimestamp: list.GetCreationTimestamp(), TerminationGracePeriods: list.GetDeletionGracePeriodSeconds(), - Labels: updateLabels(list.GetLabels()), + Labels: k8s.updateLabels(list.GetLabels()), } kubeObjects = append(kubeObjects, listInfo) } return kubeObjects, nil } -func updateLabels(labels map[string]string) []string { +func (k8s *k8sSubscriber) updateLabels(labels map[string]string) []string { var updatedLabels []string for k, v := range labels { @@ -120,13 +118,13 @@ func updateLabels(labels map[string]string) []string { return updatedLabels } -func GenerateKubeObject(cid string, accessKey, version string, kubeobjectrequest types.KubeObjRequest) ([]byte, error) { +func (k8s *k8sSubscriber) GenerateKubeObject(cid string, accessKey, version string, kubeobjectrequest types.KubeObjRequest) ([]byte, error) { infraID := `{infraID: \"` + cid + `\", version: \"` + version + `\", accessKey: \"` + accessKey + `\"}` - kubeObj, err := GetKubernetesObjects(kubeobjectrequest) + kubeObj, err := k8s.GetKubernetesObjects(kubeobjectrequest) if err != nil { return nil, err } - processed, err := graphql.MarshalGQLData(kubeObj) + processed, err := k8s.gqlSubscriberServer.MarshalGQLData(kubeObj) if err != nil { return nil, err } @@ -137,15 +135,15 @@ func GenerateKubeObject(cid string, accessKey, version string, kubeobjectrequest } // SendKubeObjects generates graphql mutation to send kubernetes objects data to graphql server -func SendKubeObjects(infraData map[string]string, kubeobjectrequest types.KubeObjRequest) error { +func (k8s *k8sSubscriber) SendKubeObjects(infraData map[string]string, kubeobjectrequest types.KubeObjRequest) error { // generate graphql payload - payload, err := GenerateKubeObject(infraData["INFRA_ID"], infraData["ACCESS_KEY"], infraData["VERSION"], kubeobjectrequest) + payload, err := k8s.GenerateKubeObject(infraData["INFRA_ID"], infraData["ACCESS_KEY"], infraData["VERSION"], kubeobjectrequest) if err != nil { logrus.WithError(err).Print("Error while getting KubeObject Data") return err } - body, err := graphql.SendRequest(infraData["SERVER_ADDR"], payload) + body, err := k8s.gqlSubscriberServer.SendRequest(infraData["SERVER_ADDR"], payload) if err != nil { logrus.Print(err.Error()) return err diff --git a/chaoscenter/subscriber/pkg/k8s/operations.go b/chaoscenter/subscriber/pkg/k8s/operations.go index 50472339906..3d25bf75315 100644 --- a/chaoscenter/subscriber/pkg/k8s/operations.go +++ b/chaoscenter/subscriber/pkg/k8s/operations.go @@ -11,7 +11,6 @@ import ( "k8s.io/apimachinery/pkg/labels" - "subscriber/pkg/graphql" "subscriber/pkg/types" yaml_converter "github.com/ghodss/yaml" @@ -47,12 +46,12 @@ var ( dr dynamic.ResourceInterface ) -func CheckComponentStatus(componentEnv string) error { +func (k8s *k8sSubscriber) CheckComponentStatus(componentEnv string) error { if componentEnv == "" { return errors.New("components not found in infra config") } - clientset, err := GetGenericK8sClient() + clientset, err := k8s.GetGenericK8sClient() if err != nil { return err } @@ -71,7 +70,7 @@ func CheckComponentStatus(componentEnv string) error { // add all agent components to waitgroup wait.Add(1) - go checkDeploymentStatus(&components, clientset, &wait) + go k8s.checkDeploymentStatus(&components, clientset, &wait) wait.Wait() if !components.LiveStatus { @@ -80,7 +79,7 @@ func CheckComponentStatus(componentEnv string) error { return nil } -func checkDeploymentStatus(components *InfraComponents, clientset *kubernetes.Clientset, wait *sync.WaitGroup) { +func (k8s *k8sSubscriber) checkDeploymentStatus(components *InfraComponents, clientset *kubernetes.Clientset, wait *sync.WaitGroup) { ctx := context.TODO() downCount := 0 retries := 0 @@ -128,8 +127,8 @@ func checkDeploymentStatus(components *InfraComponents, clientset *kubernetes.Cl components.LiveStatus = false } -func IsAgentConfirmed() (bool, string, error) { - clientset, err := GetGenericK8sClient() +func (k8s *k8sSubscriber) IsAgentConfirmed() (bool, string, error) { + clientset, err := k8s.GetGenericK8sClient() if err != nil { return false, "", err } @@ -156,8 +155,8 @@ func IsAgentConfirmed() (bool, string, error) { } // AgentRegister function creates litmus-portal config map in the litmus namespace -func AgentRegister(infraData map[string]string) (bool, error) { - clientset, err := GetGenericK8sClient() +func (k8s *k8sSubscriber) AgentRegister(infraData map[string]string) (bool, error) { + clientset, err := k8s.GetGenericK8sClient() if err != nil { return false, err } @@ -306,7 +305,7 @@ func addCustomLabels(obj *unstructured.Unstructured, customLabels map[string]str } // AgentOperations This function handles agent operations -func AgentOperations(infraAction types.Action) (*unstructured.Unstructured, error) { +func (k8s *k8sSubscriber) AgentOperations(infraAction types.Action) (*unstructured.Unstructured, error) { // Converting JSON to YAML and store it in yamlStr variable yamlStr, err := yaml_converter.JSONToYAML([]byte(infraAction.K8SManifest)) if err != nil { @@ -314,7 +313,7 @@ func AgentOperations(infraAction types.Action) (*unstructured.Unstructured, erro } // Getting dynamic and discovery client - discoveryClient, dynamicClient, err := GetDynamicAndDiscoveryClient() + discoveryClient, dynamicClient, err := k8s.GetDynamicAndDiscoveryClient() if err != nil { return nil, err } @@ -350,9 +349,9 @@ func AgentOperations(infraAction types.Action) (*unstructured.Unstructured, erro return applyRequest(infraAction.RequestType, obj) } -func AgentConfirm(infraData map[string]string) ([]byte, error) { +func (k8s *k8sSubscriber) AgentConfirm(infraData map[string]string) ([]byte, error) { payload := `{"query":"mutation{ confirmInfraRegistration(request: {infraID: \"` + infraData["INFRA_ID"] + `\", version: \"` + infraData["VERSION"] + `\", accessKey: \"` + infraData["ACCESS_KEY"] + `\"}){isInfraConfirmed newAccessKey infraID}}"}` - resp, err := graphql.SendRequest(infraData["SERVER_ADDR"], []byte(payload)) + resp, err := k8s.gqlSubscriberServer.SendRequest(infraData["SERVER_ADDR"], []byte(payload)) if err != nil { return nil, err } diff --git a/chaoscenter/subscriber/pkg/requests/definations.go b/chaoscenter/subscriber/pkg/requests/definations.go new file mode 100644 index 00000000000..b9b573f2c6e --- /dev/null +++ b/chaoscenter/subscriber/pkg/requests/definations.go @@ -0,0 +1,24 @@ +package requests + +import ( + "subscriber/pkg/k8s" + "subscriber/pkg/types" + "subscriber/pkg/utils" +) + +type SubscriberRequests interface { + AgentConnect(infraData map[string]string) + RequestProcessor(infraData map[string]string, r types.RawData) error +} + +type subscriberRequests struct { + subscriberK8s k8s.SubscriberK8s + subscriberUtils utils.SubscriberUtils +} + +func NewSubscriberRequests(subscriberK8s k8s.SubscriberK8s, subscriberUtils utils.SubscriberUtils) SubscriberRequests { + return &subscriberRequests{ + subscriberK8s: subscriberK8s, + subscriberUtils: subscriberUtils, + } +} diff --git a/chaoscenter/subscriber/pkg/requests/webhook.go b/chaoscenter/subscriber/pkg/requests/webhook.go index e400f4e87bf..e0ee2f0e900 100644 --- a/chaoscenter/subscriber/pkg/requests/webhook.go +++ b/chaoscenter/subscriber/pkg/requests/webhook.go @@ -7,15 +7,13 @@ import ( "strings" "time" - "subscriber/pkg/k8s" "subscriber/pkg/types" - "subscriber/pkg/utils" "github.com/gorilla/websocket" "github.com/sirupsen/logrus" ) -func AgentConnect(infraData map[string]string) { +func (req *subscriberRequests) AgentConnect(infraData map[string]string) { query := `{"query":"subscription {\n infraConnect(request: {infraID: \"` + infraData["INFRA_ID"] + `\", version: \"` + infraData["VERSION"] + `\", accessKey: \"` + infraData["ACCESS_KEY"] + `\"}) {\n action{\n k8sManifest,\n externalData,\n requestID\n requestType\n username\n namespace\n }\n }\n}\n"}` serverURL, err := url.Parse(infraData["SERVER_ADDR"]) if err != nil { @@ -92,14 +90,14 @@ func AgentConnect(infraData map[string]string) { continue } - err = RequestProcessor(infraData, r) + err = req.RequestProcessor(infraData, r) if err != nil { logrus.WithError(err).Error("Error on processing request") } } } -func RequestProcessor(infraData map[string]string, r types.RawData) error { +func (req *subscriberRequests) RequestProcessor(infraData map[string]string, r types.RawData) error { if strings.Index("kubeobject kubeobjects", strings.ToLower(r.Payload.Data.InfraConnect.Action.RequestType)) >= 0 { KubeObjRequest := types.KubeObjRequest{ RequestID: r.Payload.Data.InfraConnect.Action.RequestID, @@ -110,7 +108,7 @@ func RequestProcessor(infraData map[string]string, r types.RawData) error { return errors.New("failed to json unmarshal: " + err.Error()) } - err = k8s.SendKubeObjects(infraData, KubeObjRequest) + err = req.subscriberK8s.SendKubeObjects(infraData, KubeObjRequest) if err != nil { return errors.New("error getting kubernetes object data: " + err.Error()) } @@ -125,15 +123,15 @@ func RequestProcessor(infraData map[string]string, r types.RawData) error { } logrus.Print("Log Request: ", r.Payload.Data.InfraConnect.Action.ExternalData) - k8s.SendPodLogs(infraData, podRequest) + req.subscriberK8s.SendPodLogs(infraData, podRequest) } else if strings.Index("create update delete get", strings.ToLower(r.Payload.Data.InfraConnect.Action.RequestType)) >= 0 { - _, err := k8s.AgentOperations(r.Payload.Data.InfraConnect.Action) + _, err := req.subscriberK8s.AgentOperations(r.Payload.Data.InfraConnect.Action) if err != nil { return errors.New("error performing infra operation: " + err.Error()) } } else if strings.Index("workflow_delete workflow_run_delete workflow_run_stop ", strings.ToLower(r.Payload.Data.InfraConnect.Action.RequestType)) >= 0 { - err := utils.WorkflowRequest(infraData, r.Payload.Data.InfraConnect.Action.RequestType, r.Payload.Data.InfraConnect.Action.ExternalData, r.Payload.Data.InfraConnect.Action.Username) + err := req.subscriberUtils.WorkflowRequest(infraData, r.Payload.Data.InfraConnect.Action.RequestType, r.Payload.Data.InfraConnect.Action.ExternalData, r.Payload.Data.InfraConnect.Action.Username) if err != nil { return errors.New("error performing events operation: " + err.Error()) } diff --git a/chaoscenter/subscriber/pkg/utils/definations.go b/chaoscenter/subscriber/pkg/utils/definations.go new file mode 100644 index 00000000000..77ee8b4bf86 --- /dev/null +++ b/chaoscenter/subscriber/pkg/utils/definations.go @@ -0,0 +1,23 @@ +package utils + +import ( + "subscriber/pkg/events" + "subscriber/pkg/k8s" +) + +type SubscriberUtils interface { + WorkflowRequest(agentData map[string]string, requestType string, externalData string, uuid string) error + DeleteWorkflow(wfname string, agentData map[string]string) error +} + +type subscriberUtils struct { + subscriberEventOperations events.SubscriberEvents + subscriberK8s k8s.SubscriberK8s +} + +func NewSubscriberUtils(subscriberEventOperations events.SubscriberEvents, subscriberK8s k8s.SubscriberK8s) SubscriberUtils { + return &subscriberUtils{ + subscriberEventOperations: subscriberEventOperations, + subscriberK8s: subscriberK8s, + } +} diff --git a/chaoscenter/subscriber/pkg/utils/workflow.go b/chaoscenter/subscriber/pkg/utils/workflow.go index ec44e4e9965..fc3334178dc 100644 --- a/chaoscenter/subscriber/pkg/utils/workflow.go +++ b/chaoscenter/subscriber/pkg/utils/workflow.go @@ -2,54 +2,52 @@ package utils import ( "context" - "subscriber/pkg/events" - "subscriber/pkg/k8s" wfclientset "github.com/argoproj/argo-workflows/v3/pkg/client/clientset/versioned" "github.com/sirupsen/logrus" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) -func WorkflowRequest(agentData map[string]string, requestType string, externalData string, uuid string) error { +func (utils *subscriberUtils) WorkflowRequest(agentData map[string]string, requestType string, externalData string, uuid string) error { if requestType == "workflow_delete" { - wfOb, err := events.ListWorkflowObject(externalData) + wfOb, err := utils.subscriberEventOperations.ListWorkflowObject(externalData) if err != nil { return err } for _, wfs := range wfOb.Items { uid := string(wfs.UID) - err = events.StopChaosEngineState(agentData["AGENT_NAMESPACE"], &uid) + err = utils.subscriberEventOperations.StopChaosEngineState(agentData["AGENT_NAMESPACE"], &uid) if err != nil { logrus.Info("failed to stop chaosEngine for : ", wfs.Name, " namespace: ", wfs.Namespace) } - err = DeleteWorkflow(wfs.Name, agentData) + err = utils.DeleteWorkflow(wfs.Name, agentData) if err != nil { logrus.Info("failed to delete workflow: ", wfs.Name, " namespace: ", wfs.Namespace) } logrus.Info("events delete name: ", wfs.Name, " namespace: ", wfs.Namespace) } } else if requestType == "workflow_run_delete" { - wfOb, err := events.GetWorkflowObj(externalData) + wfOb, err := utils.subscriberEventOperations.GetWorkflowObj(externalData) if err != nil { return err } - err = DeleteWorkflow(wfOb.Name, agentData) + err = utils.DeleteWorkflow(wfOb.Name, agentData) if err != nil { return err } logrus.Info("events delete name: ", wfOb.Name, "namespace: ", wfOb.Namespace) } else if requestType == "workflow_run_stop" { - wfOb, err := events.GetWorkflowObj(externalData) + wfOb, err := utils.subscriberEventOperations.GetWorkflowObj(externalData) if err != nil { return err } - err = events.StopChaosEngineState(agentData["INFRA_NAMESPACE"], &externalData) + err = utils.subscriberEventOperations.StopChaosEngineState(agentData["INFRA_NAMESPACE"], &externalData) if err != nil { logrus.Info("failed to stop chaosEngine for : ", wfOb.Name, " namespace: ", wfOb.Namespace, " : ", err) } - err = events.StopWorkflow(wfOb.Name, wfOb.Namespace) + err = utils.subscriberEventOperations.StopWorkflow(wfOb.Name, wfOb.Namespace) if err != nil { logrus.Info("failed to stop experiment: ", wfOb.Name, " namespace: ", wfOb.Namespace, " : ", err) } @@ -60,9 +58,9 @@ func WorkflowRequest(agentData map[string]string, requestType string, externalDa return nil } -func DeleteWorkflow(wfname string, agentData map[string]string) error { +func (utils *subscriberUtils) DeleteWorkflow(wfname string, agentData map[string]string) error { ctx := context.TODO() - conf, err := k8s.GetKubeConfig() + conf, err := utils.subscriberK8s.GetKubeConfig() if err != nil { return err } diff --git a/chaoscenter/subscriber/subscriber.go b/chaoscenter/subscriber/subscriber.go index 5d7c9277cbe..fe89a6dc729 100644 --- a/chaoscenter/subscriber/subscriber.go +++ b/chaoscenter/subscriber/subscriber.go @@ -15,7 +15,9 @@ import ( "github.com/gorilla/websocket" "subscriber/pkg/events" + "subscriber/pkg/graphql" "subscriber/pkg/requests" + "subscriber/pkg/utils" "github.com/kelseyhightower/envconfig" @@ -62,6 +64,9 @@ func init() { var c Config + subscriberGraphql := graphql.NewSubscriberGql() + subscriberK8s := k8s.NewK8sSubscriber(subscriberGraphql) + err := envconfig.Process("", &c) if err != nil { logrus.Fatal(err) @@ -86,14 +91,14 @@ func init() { flag.Parse() // check agent component status - err = k8s.CheckComponentStatus(infraData["COMPONENTS"]) + err = subscriberK8s.CheckComponentStatus(infraData["COMPONENTS"]) if err != nil { logrus.Fatal(err) } logrus.Info("Starting the subscriber") - isConfirmed, newKey, err := k8s.IsAgentConfirmed() + isConfirmed, newKey, err := subscriberK8s.IsAgentConfirmed() if err != nil { logrus.WithError(err).Fatal("Failed to check agent confirmed status") } @@ -101,7 +106,7 @@ func init() { if isConfirmed { infraData["ACCESS_KEY"] = newKey } else if !isConfirmed { - infraConfirmByte, err := k8s.AgentConfirm(infraData) + infraConfirmByte, err := subscriberK8s.AgentConfirm(infraData) if err != nil { logrus.WithError(err).WithField("data", string(infraConfirmByte)).Fatal("Failed to confirm agent") } @@ -116,7 +121,7 @@ func init() { infraData["ACCESS_KEY"] = infraConfirmInterface.Data.InfraConfirm.NewAccessKey infraData["IS_INFRA_CONFIRMED"] = "true" - _, err = k8s.AgentRegister(infraData) + _, err = subscriberK8s.AgentRegister(infraData) if err != nil { logrus.Fatal(err) } @@ -132,16 +137,23 @@ func main() { sigCh := make(chan os.Signal) stream := make(chan types.WorkflowEvent, 10) + subscriberGraphql := graphql.NewSubscriberGql() + subscriberK8s := k8s.NewK8sSubscriber(subscriberGraphql) + subscriberEvents := events.NewSubscriberEventsOperator(subscriberGraphql, subscriberK8s) + subscriberUtils := utils.NewSubscriberUtils(subscriberEvents, subscriberK8s) + subscriberEventOperations := events.NewSubscriberEventsOperator(subscriberGraphql, subscriberK8s) + subscriberRequests := requests.NewSubscriberRequests(subscriberK8s, subscriberUtils) //start events event watcher - events.WorkflowEventWatcher(stopCh, stream, infraData) + + subscriberEventOperations.WorkflowEventWatcher(stopCh, stream, infraData) //start events event watcher - events.ChaosEventWatcher(stopCh, stream, infraData) + subscriberEventOperations.ChaosEventWatcher(stopCh, stream, infraData) //streams the event data to graphql server - go events.WorkflowUpdates(infraData, stream) + go subscriberEventOperations.WorkflowUpdates(infraData, stream) // listen for agent actions - go requests.AgentConnect(infraData) + go subscriberRequests.AgentConnect(infraData) signal.Notify(sigCh, os.Kill, os.Interrupt) <-sigCh diff --git a/chaoscenter/web/src/api/core/experiments/stopWorkflow.ts b/chaoscenter/web/src/api/core/experiments/stopWorkflow.ts index d8cd6ce8102..fae26ab1aa8 100644 --- a/chaoscenter/web/src/api/core/experiments/stopWorkflow.ts +++ b/chaoscenter/web/src/api/core/experiments/stopWorkflow.ts @@ -48,18 +48,3 @@ export function stopExperimentRun( return [stopExperimentRunMutation, result]; } - -export function stopAllExperiments( - options?: GqlAPIMutationRequest -): GqlAPIMutationResponse { - const [stopAllExperimentsMutation, result] = useMutation( - gql` - mutation stopAllExperimentRuns($projectID: ID!) { - stopAllExperimentRuns(projectID: $projectID) - } - `, - options - ); - - return [stopAllExperimentsMutation, result]; -} diff --git a/chaoscenter/web/src/components/ExperimentActionButtons/ExperimentActionButtons.tsx b/chaoscenter/web/src/components/ExperimentActionButtons/ExperimentActionButtons.tsx index 501d1e964fc..9889357eaf3 100644 --- a/chaoscenter/web/src/components/ExperimentActionButtons/ExperimentActionButtons.tsx +++ b/chaoscenter/web/src/components/ExperimentActionButtons/ExperimentActionButtons.tsx @@ -1,17 +1,25 @@ import React from 'react'; import { Color, PopoverProps } from '@harnessio/design-system'; -import { useToaster, ButtonVariation, ButtonProps } from '@harnessio/uicore'; +import { + useToaster, + ButtonVariation, + ButtonProps, + ConfirmationDialog, + ConfirmationDialogProps, + useToggleOpen +} from '@harnessio/uicore'; import cx from 'classnames'; -import { Position } from '@blueprintjs/core'; +import { Intent, Position } from '@blueprintjs/core'; import { useHistory } from 'react-router-dom'; import { parse } from 'yaml'; import { useStrings } from '@strings'; -import { listExperiment, runChaosExperiment } from '@api/core'; +import { listExperiment, runChaosExperiment, stopExperiment, stopExperimentRun } from '@api/core'; import { useRouteWithBaseUrl } from '@hooks'; -import type { RefetchExperiments } from '@controllers/ExperimentDashboardV2'; +import type { RefetchExperimentRuns, RefetchExperiments } from '@controllers/ExperimentDashboardV2'; import { PermissionGroup, StudioTabs } from '@models'; import RbacButton from '@components/RbacButton'; import { downloadYamlAsFile, getScope, yamlStringify } from '@utils'; +import type { InfrastructureType } from '@api/entities'; import css from './ExperimentActionButton.module.scss'; interface ActionButtonProps { @@ -24,6 +32,12 @@ interface RunExperimentButtonProps extends ActionButtonProps, Partial { + buttonProps?: ButtonProps; + infrastructureType: InfrastructureType | undefined; + disabled?: boolean; +} + export const RunExperimentButton = ({ experimentID, tooltipProps, @@ -70,13 +84,6 @@ export const RunExperimentButton = ({ withoutCurrentColor variation={ButtonVariation.ICON} permission={PermissionGroup.EDITOR} - // permission={{ - // resourceScope: scope, - // resource: { - // resourceType: ResourceType.CHAOS_EXPERIMENT - // }, - // permission: PermissionIdentifier.EXECUTE_CHAOS_EXPERIMENT - // }} onClick={() => { runChaosExperimentMutation({ variables: { projectID: scope.projectID, experimentID: experimentID } @@ -88,6 +95,154 @@ export const RunExperimentButton = ({ ); }; +export const StopExperimentButton = ({ + experimentID, + tooltipProps, + refetchExperiments, + disabled +}: StopExperimentButtonProps): React.ReactElement => { + const scope = getScope(); + const { getString } = useStrings(); + const { showSuccess, showError } = useToaster(); + const { + isOpen: isOpenStopExperimentDialog, + open: openStopExperimentDialog, + close: closeStopExperimentDialog + } = useToggleOpen(); + + const [stopExperimentMutation] = stopExperiment({ + onCompleted: () => { + showSuccess(getString('experimentStopSuccessMessage')); + refetchExperiments?.(); + }, + onError: err => showError(err.message) + }); + + const stopExperimentDialogProps: ConfirmationDialogProps = { + isOpen: isOpenStopExperimentDialog, + contentText: getString('stopExperimentDesc'), + titleText: getString('stopExperimentHeading'), + cancelButtonText: getString('cancel'), + confirmButtonText: getString('confirm'), + intent: Intent.DANGER, + buttonIntent: Intent.DANGER, + onClose: (isConfirmed: boolean) => { + if (isConfirmed) { + stopExperimentMutation({ + variables: { + projectID: scope.projectID, + experimentID + } + }); + } + closeStopExperimentDialog(); + } + }; + + const stopExperimentDialog = ; + + return ( +
+
+ +
+ {stopExperimentDialog} +
+ ); +}; + +interface StopExperimentRunButtonProps extends ActionButtonProps, Partial { + experimentRunID?: string; + notifyID?: string; + infrastructureType: InfrastructureType | undefined; +} + +export const StopExperimentRunButton = ({ + experimentID, + experimentRunID, + tooltipProps, + refetchExperimentRuns +}: StopExperimentRunButtonProps): React.ReactElement => { + const scope = getScope(); + const { getString } = useStrings(); + const { showSuccess, showError } = useToaster(); + const { + isOpen: isOpenStopExperimentRunModal, + open: openStopExperimentRunDialog, + close: closeStopExperimentRunDialog + } = useToggleOpen(); + + const [stopExperimentRunMutation] = stopExperimentRun({ + onCompleted: () => { + showSuccess(getString('experimentStopSuccessMessage')); + refetchExperimentRuns?.(); + }, + onError: err => showError(err.message) + }); + + const stopExperimentRunDialogProps: ConfirmationDialogProps = { + isOpen: isOpenStopExperimentRunModal, + contentText: getString('stopExpRunDesc'), + titleText: `${getString('stopExpRun')}?`, + cancelButtonText: getString('cancel'), + confirmButtonText: getString('confirm'), + intent: Intent.DANGER, + buttonIntent: Intent.DANGER, + onClose: (isConfirmed: boolean) => { + if (isConfirmed) { + stopExperimentRunMutation({ + variables: { + experimentID, + projectID: scope.projectID, + experimentRunID + } + }); + } + closeStopExperimentRunDialog(); + } + }; + + const stopExperimentRunDialog = ; + + return ( +
+
+ +
+ {stopExperimentRunDialog} +
+ ); +}; + export const EditExperimentButton = ({ experimentID, tooltipProps }: ActionButtonProps): React.ReactElement => { const history = useHistory(); const paths = useRouteWithBaseUrl(); diff --git a/chaoscenter/web/src/components/RightSideBarV2/RightSideBarV2.tsx b/chaoscenter/web/src/components/RightSideBarV2/RightSideBarV2.tsx index 964b3bec4c3..d22eb29609d 100644 --- a/chaoscenter/web/src/components/RightSideBarV2/RightSideBarV2.tsx +++ b/chaoscenter/web/src/components/RightSideBarV2/RightSideBarV2.tsx @@ -7,16 +7,17 @@ import { CloneExperimentButton, DownloadExperimentButton, EditExperimentButton, - RunExperimentButton + RunExperimentButton, + StopExperimentButton, + StopExperimentRunButton } from '@components/ExperimentActionButtons'; import type { RefetchExperimentRuns, RefetchExperiments } from '@controllers/ExperimentDashboardV2'; import { ExperimentRunStatus, ExperimentType, InfrastructureType } from '@api/entities'; -import { useSearchParams } from '@hooks'; interface RightSideBarViewV2Props extends Partial, Partial { experimentID: string; experimentRunID?: string; - infrastructureType?: InfrastructureType; + notifyID?: string; experimentType?: ExperimentType; phase: ExperimentRunStatus | undefined; loading?: boolean; @@ -25,16 +26,20 @@ interface RightSideBarViewV2Props extends Partial, Partial - {internalExperimentType === ExperimentType.NON_CRON && ( - - - - - {getString('run')} - - - + {showStopButton ? ( + experimentRunID || notifyID ? ( + // + + + + + {getString('stop')} + + + + ) : ( + // + + + + + {getString('stop')} + + + + ) + ) : ( + // + experimentType === ExperimentType.NON_CRON && ( + + + + + {getString('run')} + + + + ) )} {/* */} - {internalExperimentType === ExperimentType.NON_CRON && ( + {(experimentType === ExperimentType.NON_CRON || showEnableDisableCronButton) && (
)} @@ -79,7 +132,6 @@ function RightSideBarV2({ )} - {/* */} diff --git a/chaoscenter/web/src/controllers/ExperimentRunDetails/ExperimentRunDetails.tsx b/chaoscenter/web/src/controllers/ExperimentRunDetails/ExperimentRunDetails.tsx index 6bd89b09ed3..a6feb46841a 100644 --- a/chaoscenter/web/src/controllers/ExperimentRunDetails/ExperimentRunDetails.tsx +++ b/chaoscenter/web/src/controllers/ExperimentRunDetails/ExperimentRunDetails.tsx @@ -50,8 +50,8 @@ export default function ExperimentRunDetailsController(): React.ReactElement { ); diff --git a/chaoscenter/web/src/controllers/ExperimentRunHistory/ExperimentRunHistory.tsx b/chaoscenter/web/src/controllers/ExperimentRunHistory/ExperimentRunHistory.tsx index 206b7d810ea..d8c3ac2188d 100644 --- a/chaoscenter/web/src/controllers/ExperimentRunHistory/ExperimentRunHistory.tsx +++ b/chaoscenter/web/src/controllers/ExperimentRunHistory/ExperimentRunHistory.tsx @@ -7,7 +7,7 @@ import { listExperimentRunForHistory } from '@api/core'; import { getScope, getColorBasedOnResilienceScore } from '@utils'; import ExperimentRunHistoryView from '@views/ExperimentRunHistory'; import { useStrings } from '@strings'; -import { ExperimentRun, InfrastructureType } from '@api/entities'; +import type { ExperimentRun } from '@api/entities'; import type { ColumnData } from '@components/ColumnChart/ColumnChart.types'; import { initialExperimentRunFilterState, @@ -154,7 +154,6 @@ export default function ExperimentRunHistoryController(): React.ReactElement { refetchExperimentRuns={refetchExperimentRuns} experimentID={experimentID} phase={experimentPhase} - infrastructureType={InfrastructureType.KUBERNETES} experimentType={experimentType} /> ); diff --git a/chaoscenter/web/src/views/AccountPasswordChange/AccountPasswordChange.tsx b/chaoscenter/web/src/views/AccountPasswordChange/AccountPasswordChange.tsx index 448875bc755..577dea0f1f2 100644 --- a/chaoscenter/web/src/views/AccountPasswordChange/AccountPasswordChange.tsx +++ b/chaoscenter/web/src/views/AccountPasswordChange/AccountPasswordChange.tsx @@ -66,7 +66,7 @@ export default function AccountPasswordChangeView(props: AccountPasswordChangeVi return ( - {getString('udpatePassword')} + {getString('updatePassword')} handleClose()} /> diff --git a/chaoscenter/web/src/views/ExperimentCreationFaultConfiguration/Tabs/Probes/SelectProbesDetail/SelectProbesDetail.tsx b/chaoscenter/web/src/views/ExperimentCreationFaultConfiguration/Tabs/Probes/SelectProbesDetail/SelectProbesDetail.tsx index 1a8476413b7..b657b0b3282 100644 --- a/chaoscenter/web/src/views/ExperimentCreationFaultConfiguration/Tabs/Probes/SelectProbesDetail/SelectProbesDetail.tsx +++ b/chaoscenter/web/src/views/ExperimentCreationFaultConfiguration/Tabs/Probes/SelectProbesDetail/SelectProbesDetail.tsx @@ -51,18 +51,23 @@ function SelectProbesDetailView({ }} > {probe ? ( - - - + + + {probe.probeName} - {`ID: ${probe.probeName}`} + {`${getString('id')}: ${probe.probeName}`} {probe?.probeName && ( diff --git a/chaoscenter/web/src/views/ExperimentDashboardV2/ExperimentDashboardV2Table.tsx b/chaoscenter/web/src/views/ExperimentDashboardV2/ExperimentDashboardV2Table.tsx index 0d2142b3028..e51c84f9aa4 100644 --- a/chaoscenter/web/src/views/ExperimentDashboardV2/ExperimentDashboardV2Table.tsx +++ b/chaoscenter/web/src/views/ExperimentDashboardV2/ExperimentDashboardV2Table.tsx @@ -12,7 +12,7 @@ import { getDetailedTime, killEvent } from '@utils'; import { useStrings } from '@strings'; import { useRouteWithBaseUrl } from '@hooks'; import CopyButton from '@components/CopyButton'; -import { ExperimentRunStatus } from '@api/entities'; +import { ExperimentRunStatus, InfrastructureType } from '@api/entities'; import type { ExperimentDashboardTableProps, ExperimentDetails, @@ -21,7 +21,7 @@ import type { import DarkPopover from '@components/DarkPopover'; import CustomTagsPopover from '@components/CustomTagsPopover'; import StatusHeatMap from '@components/StatusHeatMap'; -import { RunExperimentButton } from '@components/ExperimentActionButtons'; +import { RunExperimentButton, StopExperimentButton } from '@components/ExperimentActionButtons'; import { StudioTabs } from '@models'; import { MenuCell } from './ExperimentDashboardV2TableMenu'; import css from './ExperimentDashboardV2.module.scss'; diff --git a/mkdocs/docs/experiments/categories/aws-ssm/AWS-SSM-experiments-tunables.md b/mkdocs/docs/experiments/categories/aws-ssm/AWS-SSM-experiments-tunables.md index c65dcdaa5fb..4c64cbf560a 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/AWS-SSM-experiments-tunables.md +++ b/mkdocs/docs/experiments/categories/aws-ssm/AWS-SSM-experiments-tunables.md @@ -32,7 +32,7 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Memory Percentage @@ -67,7 +67,7 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### SSM Docs @@ -111,7 +111,7 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Workers Count @@ -146,7 +146,7 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Mutiple Iterations Of Chaos @@ -176,7 +176,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: CPU_CORE value: '1' - name: EC2_INSTANCE_ID diff --git a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-id.md b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-id.md index 3ffe92d23cb..1cfc0d1f0f9 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-id.md +++ b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-id.md @@ -251,5 +251,5 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-id/instance-id.yaml b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-id/instance-id.yaml index c9b2c40f6a4..ecc69c8411e 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-id/instance-id.yaml +++ b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-id/instance-id.yaml @@ -19,4 +19,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag.md b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag.md index 37ba4f2de6e..3b4747db49c 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag.md +++ b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag.md @@ -255,7 +255,7 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Target Percent of instances @@ -289,5 +289,5 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/instance-affected-percentage.yaml b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/instance-affected-percentage.yaml index 4220de3481a..339860c99a4 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/instance-affected-percentage.yaml +++ b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/instance-affected-percentage.yaml @@ -21,4 +21,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/instance-tag.yaml b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/instance-tag.yaml index e4edad2ac5f..bdb69272343 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/instance-tag.yaml +++ b/mkdocs/docs/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/instance-tag.yaml @@ -18,4 +18,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws-ssm/common/chaos-interval.yaml b/mkdocs/docs/experiments/categories/aws-ssm/common/chaos-interval.yaml index cf45a02e0c9..e32b829a586 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/common/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/aws-ssm/common/chaos-interval.yaml @@ -17,7 +17,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: CPU_CORE value: '1' - name: EC2_INSTANCE_ID diff --git a/mkdocs/docs/experiments/categories/aws-ssm/common/cpu-cores.yaml b/mkdocs/docs/experiments/categories/aws-ssm/common/cpu-cores.yaml index 4c681b980ae..f3f4330e265 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/common/cpu-cores.yaml +++ b/mkdocs/docs/experiments/categories/aws-ssm/common/cpu-cores.yaml @@ -22,4 +22,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws-ssm/common/memory-percentage.yaml b/mkdocs/docs/experiments/categories/aws-ssm/common/memory-percentage.yaml index a5126b74c94..53fe3eecbaf 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/common/memory-percentage.yaml +++ b/mkdocs/docs/experiments/categories/aws-ssm/common/memory-percentage.yaml @@ -22,4 +22,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws-ssm/common/ssm-document-details.yaml b/mkdocs/docs/experiments/categories/aws-ssm/common/ssm-document-details.yaml index 65e83180a6a..64dc0e6f578 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/common/ssm-document-details.yaml +++ b/mkdocs/docs/experiments/categories/aws-ssm/common/ssm-document-details.yaml @@ -31,4 +31,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws-ssm/common/workers.yaml b/mkdocs/docs/experiments/categories/aws-ssm/common/workers.yaml index 74e6f9e54eb..37237d32465 100644 --- a/mkdocs/docs/experiments/categories/aws-ssm/common/workers.yaml +++ b/mkdocs/docs/experiments/categories/aws-ssm/common/workers.yaml @@ -22,4 +22,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws/AWS-experiments-tunables.md b/mkdocs/docs/experiments/categories/aws/AWS-experiments-tunables.md index 9c16a227ede..cc15c760ccc 100644 --- a/mkdocs/docs/experiments/categories/aws/AWS-experiments-tunables.md +++ b/mkdocs/docs/experiments/categories/aws/AWS-experiments-tunables.md @@ -34,7 +34,7 @@ spec: - name: INSTANCE_TAG value: 'key:value' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Mutiple Iterations Of Chaos @@ -64,7 +64,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: REGION value: '' - name: INSTANCE_TAG diff --git a/mkdocs/docs/experiments/categories/aws/common/chaos-interval.yaml b/mkdocs/docs/experiments/categories/aws/common/chaos-interval.yaml index dfcee05a835..ea64a56c653 100644 --- a/mkdocs/docs/experiments/categories/aws/common/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/aws/common/chaos-interval.yaml @@ -17,7 +17,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: REGION value: '' - name: INSTANCE_TAG diff --git a/mkdocs/docs/experiments/categories/aws/common/managed-nodegroup.yaml b/mkdocs/docs/experiments/categories/aws/common/managed-nodegroup.yaml index 6e19fd9ae45..e36984f453e 100644 --- a/mkdocs/docs/experiments/categories/aws/common/managed-nodegroup.yaml +++ b/mkdocs/docs/experiments/categories/aws/common/managed-nodegroup.yaml @@ -24,4 +24,4 @@ spec: - name: INSTANCE_TAG value: 'key:value' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-id.md b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-id.md index 06a1e9bf2d2..e9fe69bc891 100644 --- a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-id.md +++ b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-id.md @@ -205,5 +205,5 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-id/ebs-volume-id.yaml b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-id/ebs-volume-id.yaml index a7ecef57bd9..22186ea6363 100644 --- a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-id/ebs-volume-id.yaml +++ b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-id/ebs-volume-id.yaml @@ -19,4 +19,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag.md b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag.md index f0779ce3148..62d0269735d 100644 --- a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag.md +++ b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag.md @@ -210,7 +210,7 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Target Percent of volumes @@ -245,5 +245,5 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag/ebs-volume-tag.yaml b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag/ebs-volume-tag.yaml index 36a59cb796e..3705b2756cd 100644 --- a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag/ebs-volume-tag.yaml +++ b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag/ebs-volume-tag.yaml @@ -19,4 +19,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag/volume-affected-percentage.yaml b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag/volume-affected-percentage.yaml index 2972dc6c2d6..0995814e6ab 100644 --- a/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag/volume-affected-percentage.yaml +++ b/mkdocs/docs/experiments/categories/aws/ebs-loss-by-tag/volume-affected-percentage.yaml @@ -22,4 +22,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-id.md b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-id.md index f2925283a5d..5dcdcaa1b4e 100644 --- a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-id.md +++ b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-id.md @@ -219,5 +219,5 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-id/instance-id.yaml b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-id/instance-id.yaml index ea143aa7882..bd6c8d9ad16 100644 --- a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-id/instance-id.yaml +++ b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-id/instance-id.yaml @@ -19,4 +19,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag.md b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag.md index c72e87356a2..fa287385543 100644 --- a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag.md +++ b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag.md @@ -224,7 +224,7 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Target Percent of instances @@ -259,5 +259,5 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag/instance-affected-percentage.yaml b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag/instance-affected-percentage.yaml index 0857d30aecf..a6b97b60b86 100644 --- a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag/instance-affected-percentage.yaml +++ b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag/instance-affected-percentage.yaml @@ -22,4 +22,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag/instance-tag.yaml b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag/instance-tag.yaml index f1224f3fd7a..b862483106c 100644 --- a/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag/instance-tag.yaml +++ b/mkdocs/docs/experiments/categories/aws/ec2-terminate-by-tag/instance-tag.yaml @@ -19,4 +19,4 @@ spec: - name: REGION value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/azure/azure-disk-loss.md b/mkdocs/docs/experiments/categories/azure/azure-disk-loss.md index b0914dc737b..029d1241ef4 100644 --- a/mkdocs/docs/experiments/categories/azure/azure-disk-loss.md +++ b/mkdocs/docs/experiments/categories/azure/azure-disk-loss.md @@ -203,7 +203,7 @@ spec: - name: RESOURCE_GROUP value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` @@ -239,7 +239,7 @@ spec: - name: SCALE_SET value: 'enable' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Multiple Iterations Of Chaos @@ -269,7 +269,7 @@ spec: value: '10' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: VIRTUAL_DISK_NAMES value: 'disk-01,disk-02' - name: RESOURCE_GROUP diff --git a/mkdocs/docs/experiments/categories/azure/azure-disk-loss/azure-disks.yaml b/mkdocs/docs/experiments/categories/azure/azure-disk-loss/azure-disks.yaml index 5dd7310c7f4..dd3a04945e4 100644 --- a/mkdocs/docs/experiments/categories/azure/azure-disk-loss/azure-disks.yaml +++ b/mkdocs/docs/experiments/categories/azure/azure-disk-loss/azure-disks.yaml @@ -19,4 +19,4 @@ spec: - name: RESOURCE_GROUP value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' \ No newline at end of file + value: '60' \ No newline at end of file diff --git a/mkdocs/docs/experiments/categories/azure/azure-disk-loss/azure-scale-set-disk.yaml b/mkdocs/docs/experiments/categories/azure/azure-disk-loss/azure-scale-set-disk.yaml index 0a8bd071292..475f3bade39 100644 --- a/mkdocs/docs/experiments/categories/azure/azure-disk-loss/azure-scale-set-disk.yaml +++ b/mkdocs/docs/experiments/categories/azure/azure-disk-loss/azure-scale-set-disk.yaml @@ -22,4 +22,4 @@ spec: - name: SCALE_SET value: 'enable' - name: TOTAL_CHAOS_DURATION - VALUE: '60' \ No newline at end of file + value: '60' \ No newline at end of file diff --git a/mkdocs/docs/experiments/categories/azure/azure-disk-loss/chaos-interval.yaml b/mkdocs/docs/experiments/categories/azure/azure-disk-loss/chaos-interval.yaml index 0fc608a8676..dfe81ff9286 100644 --- a/mkdocs/docs/experiments/categories/azure/azure-disk-loss/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/azure/azure-disk-loss/chaos-interval.yaml @@ -17,7 +17,7 @@ spec: value: '10' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: VIRTUAL_DISK_NAMES value: 'disk-01,disk-02' - name: RESOURCE_GROUP diff --git a/mkdocs/docs/experiments/categories/azure/azure-instance-stop.md b/mkdocs/docs/experiments/categories/azure/azure-instance-stop.md index 8c157f0e8bd..94557aed48e 100644 --- a/mkdocs/docs/experiments/categories/azure/azure-instance-stop.md +++ b/mkdocs/docs/experiments/categories/azure/azure-instance-stop.md @@ -217,7 +217,7 @@ spec: - name: RESOURCE_GROUP value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Stop Scale Set Instances @@ -252,7 +252,7 @@ spec: - name: SCALE_SET value: 'enable' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Multiple Iterations Of Chaos @@ -282,7 +282,7 @@ spec: value: '10' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: AZURE_INSTANCE_NAMES value: 'instance-01,instance-02' - name: RESOURCE_GROUP diff --git a/mkdocs/docs/experiments/categories/azure/azure-instance-stop/azure-instance.yaml b/mkdocs/docs/experiments/categories/azure/azure-instance-stop/azure-instance.yaml index 7b58e4a296c..dbc8ce47a07 100644 --- a/mkdocs/docs/experiments/categories/azure/azure-instance-stop/azure-instance.yaml +++ b/mkdocs/docs/experiments/categories/azure/azure-instance-stop/azure-instance.yaml @@ -19,4 +19,4 @@ spec: - name: RESOURCE_GROUP value: '' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/azure/azure-instance-stop/azure-scale-set-instance.yaml b/mkdocs/docs/experiments/categories/azure/azure-instance-stop/azure-scale-set-instance.yaml index 0a1b44b3bea..48817fb0799 100644 --- a/mkdocs/docs/experiments/categories/azure/azure-instance-stop/azure-scale-set-instance.yaml +++ b/mkdocs/docs/experiments/categories/azure/azure-instance-stop/azure-scale-set-instance.yaml @@ -22,4 +22,4 @@ spec: - name: SCALE_SET value: 'enable' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/azure/azure-instance-stop/chaos-interval.yaml b/mkdocs/docs/experiments/categories/azure/azure-instance-stop/chaos-interval.yaml index d246a460a83..ce058cac69e 100644 --- a/mkdocs/docs/experiments/categories/azure/azure-instance-stop/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/azure/azure-instance-stop/chaos-interval.yaml @@ -17,7 +17,7 @@ spec: value: '10' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: AZURE_INSTANCE_NAMES value: 'instance-01,instance-02' - name: RESOURCE_GROUP diff --git a/mkdocs/docs/experiments/categories/common/chaos-duration.yaml b/mkdocs/docs/experiments/categories/common/chaos-duration.yaml index e1a5ca9d2e5..a82de04c8fb 100644 --- a/mkdocs/docs/experiments/categories/common/chaos-duration.yaml +++ b/mkdocs/docs/experiments/categories/common/chaos-duration.yaml @@ -18,4 +18,4 @@ spec: env: # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/common/common-tunables-for-all-experiments.md b/mkdocs/docs/experiments/categories/common/common-tunables-for-all-experiments.md index 7b0eb976404..8e9a51a6dbe 100644 --- a/mkdocs/docs/experiments/categories/common/common-tunables-for-all-experiments.md +++ b/mkdocs/docs/experiments/categories/common/common-tunables-for-all-experiments.md @@ -28,7 +28,7 @@ spec: env: # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Ramp Time @@ -61,7 +61,7 @@ spec: - name: RAMP_TIME value: '10' # in seconds - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Sequence of chaos execution @@ -99,7 +99,7 @@ spec: - name: SEQUENCE value: 'parallel' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Name of chaos library @@ -132,7 +132,7 @@ spec: - name: LIB value: 'litmus' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Instance ID @@ -165,7 +165,7 @@ spec: - name: INSTANCE_ID value: '123' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Image used by the helper pod @@ -201,5 +201,5 @@ spec: - name: LIB_IMAGE value: 'litmuschaos/go-runner:latest' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/common/instance-id.yaml b/mkdocs/docs/experiments/categories/common/instance-id.yaml index 2426a1a583c..6213c4d85ee 100644 --- a/mkdocs/docs/experiments/categories/common/instance-id.yaml +++ b/mkdocs/docs/experiments/categories/common/instance-id.yaml @@ -20,4 +20,4 @@ spec: - name: INSTANCE_ID value: '123' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/common/lib-image.yaml b/mkdocs/docs/experiments/categories/common/lib-image.yaml index b1862ba5ec5..4dd53e20058 100644 --- a/mkdocs/docs/experiments/categories/common/lib-image.yaml +++ b/mkdocs/docs/experiments/categories/common/lib-image.yaml @@ -22,4 +22,4 @@ spec: - name: LIB_IMAGE value: 'litmuschaos/go-runner:latest' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/common/lib.yaml b/mkdocs/docs/experiments/categories/common/lib.yaml index 2e51e28ee5f..32d9e06134e 100644 --- a/mkdocs/docs/experiments/categories/common/lib.yaml +++ b/mkdocs/docs/experiments/categories/common/lib.yaml @@ -20,4 +20,4 @@ spec: - name: LIB value: 'litmus' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/common/ramp-time.yaml b/mkdocs/docs/experiments/categories/common/ramp-time.yaml index 971f104b1b3..1f9c8d39af1 100644 --- a/mkdocs/docs/experiments/categories/common/ramp-time.yaml +++ b/mkdocs/docs/experiments/categories/common/ramp-time.yaml @@ -20,4 +20,4 @@ spec: - name: RAMP_TIME value: '10' # in seconds - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/common/sequence.yaml b/mkdocs/docs/experiments/categories/common/sequence.yaml index 4ab7f84bac5..a5dde6e1fef 100644 --- a/mkdocs/docs/experiments/categories/common/sequence.yaml +++ b/mkdocs/docs/experiments/categories/common/sequence.yaml @@ -21,4 +21,4 @@ spec: - name: SEQUENCE value: 'parallel' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label.md b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label.md index 98818ff6986..1b117bdb782 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label.md +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label.md @@ -216,7 +216,7 @@ spec: value: 'my-project-4513' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Mutiple Iterations Of Chaos @@ -244,7 +244,7 @@ spec: value: '15' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: DISK_VOLUME_LABEL value: 'disk:target-disk' diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label/chaos-interval.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label/chaos-interval.yaml index 7c839c847bb..907bbfb82c7 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label/chaos-interval.yaml @@ -15,7 +15,7 @@ spec: value: '15' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: DISK_VOLUME_LABEL value: 'disk:target-disk' diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label/gcp-disk-loss.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label/gcp-disk-loss.yaml index d9db1d1ae3f..0ca5d93a203 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label/gcp-disk-loss.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss-by-label/gcp-disk-loss.yaml @@ -21,4 +21,4 @@ spec: value: 'my-project-4513' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss.md b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss.md index 41808810876..9d2f28a8291 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss.md +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss.md @@ -226,7 +226,7 @@ spec: - name: GCP_PROJECT_ID value: 'project-id' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Mutiple Iterations Of Chaos @@ -256,7 +256,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: DISK_VOLUME_NAMES value: 'disk-01,disk-02' - name: ZONES diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss/chaos-interval.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss/chaos-interval.yaml index 50f611e4093..c06b29086f1 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss/chaos-interval.yaml @@ -17,7 +17,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: DISK_VOLUME_NAMES value: 'disk-01,disk-02' - name: ZONES diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss/gcp-disk-loss.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss/gcp-disk-loss.yaml index fe1d9272259..7da01ea8b47 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss/gcp-disk-loss.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-disk-loss/gcp-disk-loss.yaml @@ -27,4 +27,4 @@ spec: - name: GCP_PROJECT_ID value: 'project-id' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label.md b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label.md index 560d0f145e8..78d4b0cb7f3 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label.md +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label.md @@ -226,7 +226,7 @@ spec: value: 'my-project-4513' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Manged Instance Group @@ -263,7 +263,7 @@ spec: value: 'my-project-4513' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Mutiple Iterations Of Chaos @@ -291,7 +291,7 @@ spec: value: '15' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: INSTANCE_LABEL value: 'vm:target-vm' diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/chaos-interval.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/chaos-interval.yaml index c8505cafa88..8561cb4a9a6 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/chaos-interval.yaml @@ -15,7 +15,7 @@ spec: value: '15' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: INSTANCE_LABEL value: 'vm:target-vm' diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/gcp-instance.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/gcp-instance.yaml index d7153ab5c8f..96d318473dd 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/gcp-instance.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/gcp-instance.yaml @@ -21,4 +21,4 @@ spec: value: 'my-project-4513' - name: TOTAL_CHAOS_DURATION - VALUE: '60' \ No newline at end of file + value: '60' \ No newline at end of file diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/managed-instance-group.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/managed-instance-group.yaml index a376e3e3e3a..6a0d9e545c7 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/managed-instance-group.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop-by-label/managed-instance-group.yaml @@ -24,4 +24,4 @@ spec: value: 'my-project-4513' - name: TOTAL_CHAOS_DURATION - VALUE: '60' \ No newline at end of file + value: '60' \ No newline at end of file diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop.md b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop.md index 3fe7b71551c..722e2740d2c 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop.md +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop.md @@ -227,7 +227,7 @@ spec: - name: GCP_PROJECT_ID value: 'project-id' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Managed Instance Group @@ -267,7 +267,7 @@ spec: - name: GCP_PROJECT_ID value: 'project-id' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Mutiple Iterations Of Chaos @@ -297,7 +297,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: VM_INSTANCE_NAMES value: 'instance-01,instance-02' - name: ZONES diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/chaos-interval.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/chaos-interval.yaml index 34bc3cfc767..e1b75e8558f 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/chaos-interval.yaml @@ -17,7 +17,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' - name: VM_INSTANCE_NAMES value: 'instance-01,instance-02' - name: ZONES diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/gcp-instance.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/gcp-instance.yaml index 4609db83723..d6dd5dd294b 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/gcp-instance.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/gcp-instance.yaml @@ -23,4 +23,4 @@ spec: - name: GCP_PROJECT_ID value: 'project-id' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/managed-instance-group.yaml b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/managed-instance-group.yaml index f0abf214d0f..e22286d3a22 100644 --- a/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/managed-instance-group.yaml +++ b/mkdocs/docs/experiments/categories/gcp/gcp-vm-instance-stop/managed-instance-group.yaml @@ -27,4 +27,4 @@ spec: - name: GCP_PROJECT_ID value: 'project-id' - name: TOTAL_CHAOS_DURATION - VALUE: '60' \ No newline at end of file + value: '60' \ No newline at end of file diff --git a/mkdocs/docs/experiments/categories/nodes/common-tunables-for-node-experiments.md b/mkdocs/docs/experiments/categories/nodes/common-tunables-for-node-experiments.md index bf8d5f4619c..0961ca096bf 100644 --- a/mkdocs/docs/experiments/categories/nodes/common-tunables-for-node-experiments.md +++ b/mkdocs/docs/experiments/categories/nodes/common-tunables-for-node-experiments.md @@ -28,7 +28,7 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Target Multiple Nodes @@ -59,7 +59,7 @@ spec: - name: TARGET_NODES value: 'node01,node02' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Target Nodes With Labels @@ -90,7 +90,7 @@ spec: - name: NODE_LABEL value: 'key=value' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Node Affected Percentage @@ -125,5 +125,5 @@ spec: - name: NODE_LABEL value: 'key=value' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/common/node-affected-percentage.yaml b/mkdocs/docs/experiments/categories/nodes/common/node-affected-percentage.yaml index 521d039b7ce..6c67361eceb 100644 --- a/mkdocs/docs/experiments/categories/nodes/common/node-affected-percentage.yaml +++ b/mkdocs/docs/experiments/categories/nodes/common/node-affected-percentage.yaml @@ -21,4 +21,4 @@ spec: - name: NODE_LABEL value: 'key=value' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/common/target-label.yaml b/mkdocs/docs/experiments/categories/nodes/common/target-label.yaml index 5d78306c663..bc34ef25c48 100644 --- a/mkdocs/docs/experiments/categories/nodes/common/target-label.yaml +++ b/mkdocs/docs/experiments/categories/nodes/common/target-label.yaml @@ -17,4 +17,4 @@ spec: - name: NODE_LABEL value: 'key=value' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/common/target-node.yaml b/mkdocs/docs/experiments/categories/nodes/common/target-node.yaml index 2c5d21b2f31..784a08a0818 100644 --- a/mkdocs/docs/experiments/categories/nodes/common/target-node.yaml +++ b/mkdocs/docs/experiments/categories/nodes/common/target-node.yaml @@ -17,4 +17,4 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/common/target-nodes.yaml b/mkdocs/docs/experiments/categories/nodes/common/target-nodes.yaml index f58afb3cef2..e577d119a07 100644 --- a/mkdocs/docs/experiments/categories/nodes/common/target-nodes.yaml +++ b/mkdocs/docs/experiments/categories/nodes/common/target-nodes.yaml @@ -17,4 +17,4 @@ spec: - name: TARGET_NODES value: 'node01,node02' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/docker-service-kill.md b/mkdocs/docs/experiments/categories/nodes/docker-service-kill.md index 262ffc80e48..33305ed7e6b 100644 --- a/mkdocs/docs/experiments/categories/nodes/docker-service-kill.md +++ b/mkdocs/docs/experiments/categories/nodes/docker-service-kill.md @@ -186,5 +186,5 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/docker-service-kill/docker-service-kill.yaml b/mkdocs/docs/experiments/categories/nodes/docker-service-kill/docker-service-kill.yaml index 9da79857928..0ff86f14e6e 100644 --- a/mkdocs/docs/experiments/categories/nodes/docker-service-kill/docker-service-kill.yaml +++ b/mkdocs/docs/experiments/categories/nodes/docker-service-kill/docker-service-kill.yaml @@ -16,4 +16,4 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/kubelet-service-kill.md b/mkdocs/docs/experiments/categories/nodes/kubelet-service-kill.md index bfad20cf4bc..392c521b6a9 100644 --- a/mkdocs/docs/experiments/categories/nodes/kubelet-service-kill.md +++ b/mkdocs/docs/experiments/categories/nodes/kubelet-service-kill.md @@ -191,5 +191,5 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/kubelet-service-kill/kubelet-service-kill.yaml b/mkdocs/docs/experiments/categories/nodes/kubelet-service-kill/kubelet-service-kill.yaml index 6bedff20002..484a1bd4f48 100644 --- a/mkdocs/docs/experiments/categories/nodes/kubelet-service-kill/kubelet-service-kill.yaml +++ b/mkdocs/docs/experiments/categories/nodes/kubelet-service-kill/kubelet-service-kill.yaml @@ -16,4 +16,4 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-cpu-hog.md b/mkdocs/docs/experiments/categories/nodes/node-cpu-hog.md index 1791b18f256..8eec9ef7bea 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-cpu-hog.md +++ b/mkdocs/docs/experiments/categories/nodes/node-cpu-hog.md @@ -205,7 +205,7 @@ spec: - name: NODE_CPU_CORE value: '2' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Node CPU Load @@ -238,5 +238,5 @@ spec: - name: NODE_CPU_CORE value: '0' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/node-cpu-hog/node-cpu-core.yaml b/mkdocs/docs/experiments/categories/nodes/node-cpu-hog/node-cpu-core.yaml index 96d87703d0a..06bc2530226 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-cpu-hog/node-cpu-core.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-cpu-hog/node-cpu-core.yaml @@ -16,4 +16,4 @@ spec: - name: NODE_CPU_CORE value: '2' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-cpu-hog/node-cpu-load.yaml b/mkdocs/docs/experiments/categories/nodes/node-cpu-hog/node-cpu-load.yaml index f5eab2b49fe..083f22d03c3 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-cpu-hog/node-cpu-load.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-cpu-hog/node-cpu-load.yaml @@ -20,4 +20,4 @@ spec: - name: NODE_CPU_CORE value: '0' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-drain.md b/mkdocs/docs/experiments/categories/nodes/node-drain.md index 58e3b8e94cd..879fd39bf7e 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-drain.md +++ b/mkdocs/docs/experiments/categories/nodes/node-drain.md @@ -188,5 +188,5 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/node-drain/node-drain.yaml b/mkdocs/docs/experiments/categories/nodes/node-drain/node-drain.yaml index 1b857a9c75e..b62eff38001 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-drain/node-drain.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-drain/node-drain.yaml @@ -16,4 +16,4 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-io-stress.md b/mkdocs/docs/experiments/categories/nodes/node-io-stress.md index 4c254897669..b9011f9992d 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-io-stress.md +++ b/mkdocs/docs/experiments/categories/nodes/node-io-stress.md @@ -225,7 +225,7 @@ spec: - name: FILESYSTEM_UTILIZATION_PERCENTAGE value: '10' # in percentage - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Filesystem Utilization Bytes @@ -257,7 +257,7 @@ spec: - name: FILESYSTEM_UTILIZATION_BYTES value: '500' # in GB - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Limit CPU Utilization @@ -286,7 +286,7 @@ spec: - name: CPU value: '1' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Workers For Stress @@ -318,5 +318,5 @@ spec: - name: VM_WORKERS value: '1' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/node-io-stress/filesystem-utilization-bytes.yaml b/mkdocs/docs/experiments/categories/nodes/node-io-stress/filesystem-utilization-bytes.yaml index 7df43ba61ea..242ffc3f0f5 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-io-stress/filesystem-utilization-bytes.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-io-stress/filesystem-utilization-bytes.yaml @@ -18,4 +18,4 @@ spec: - name: FILESYSTEM_UTILIZATION_BYTES value: '500' # in GB - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-io-stress/filesystem-utilization-percentage.yaml b/mkdocs/docs/experiments/categories/nodes/node-io-stress/filesystem-utilization-percentage.yaml index 0d6a20993ab..c4f17bde365 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-io-stress/filesystem-utilization-percentage.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-io-stress/filesystem-utilization-percentage.yaml @@ -18,4 +18,4 @@ spec: - name: FILESYSTEM_UTILIZATION_PERCENTAGE value: '10' # in percentage - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-io-stress/limit-cpu-utilization.yaml b/mkdocs/docs/experiments/categories/nodes/node-io-stress/limit-cpu-utilization.yaml index 49999cc9a65..74910a2962d 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-io-stress/limit-cpu-utilization.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-io-stress/limit-cpu-utilization.yaml @@ -16,4 +16,4 @@ spec: - name: CPU value: '1' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-io-stress/workers.yaml b/mkdocs/docs/experiments/categories/nodes/node-io-stress/workers.yaml index 93d42159cd4..39f6b3d63e4 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-io-stress/workers.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-io-stress/workers.yaml @@ -19,4 +19,4 @@ spec: - name: VM_WORKERS value: '1' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-memory-hog.md b/mkdocs/docs/experiments/categories/nodes/node-memory-hog.md index f9023066b9f..11620a69066 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-memory-hog.md +++ b/mkdocs/docs/experiments/categories/nodes/node-memory-hog.md @@ -224,7 +224,7 @@ spec: - name: MEMORY_CONSUMPTION_PERCENTAGE value: '10' # in percentage - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Memory Consumption Mebibytes @@ -256,7 +256,7 @@ spec: - name: MEMORY_CONSUMPTION_MEBIBYTES value: '500' # in MiBi - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Workers For Stress @@ -285,5 +285,5 @@ spec: - name: NUMBER_OF_WORKERS value: '1' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/node-memory-hog/memory-consumption-mebibytes.yaml b/mkdocs/docs/experiments/categories/nodes/node-memory-hog/memory-consumption-mebibytes.yaml index db0f80e37e0..3d137d26925 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-memory-hog/memory-consumption-mebibytes.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-memory-hog/memory-consumption-mebibytes.yaml @@ -18,4 +18,4 @@ spec: - name: MEMORY_CONSUMPTION_MEBIBYTES value: '500' # in MiBi - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-memory-hog/memory-consumption-percentage.yaml b/mkdocs/docs/experiments/categories/nodes/node-memory-hog/memory-consumption-percentage.yaml index b7b473f01db..efa65fba992 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-memory-hog/memory-consumption-percentage.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-memory-hog/memory-consumption-percentage.yaml @@ -18,4 +18,4 @@ spec: - name: MEMORY_CONSUMPTION_PERCENTAGE value: '10' # in percentage - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-memory-hog/workers.yaml b/mkdocs/docs/experiments/categories/nodes/node-memory-hog/workers.yaml index d932c06e751..7d3134451c2 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-memory-hog/workers.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-memory-hog/workers.yaml @@ -16,4 +16,4 @@ spec: - name: NUMBER_OF_WORKERS value: '1' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-restart.md b/mkdocs/docs/experiments/categories/nodes/node-restart.md index d339fdebeb8..c1d7122509d 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-restart.md +++ b/mkdocs/docs/experiments/categories/nodes/node-restart.md @@ -231,7 +231,7 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### SSH User @@ -263,7 +263,7 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Target Node Internal IP @@ -295,5 +295,5 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/node-restart/reboot-command.yaml b/mkdocs/docs/experiments/categories/nodes/node-restart/reboot-command.yaml index 8d383dc6420..3364241fa8c 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-restart/reboot-command.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-restart/reboot-command.yaml @@ -19,4 +19,4 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-restart/ssh-user.yaml b/mkdocs/docs/experiments/categories/nodes/node-restart/ssh-user.yaml index e67107f1dae..502dba6b691 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-restart/ssh-user.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-restart/ssh-user.yaml @@ -19,4 +19,4 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-restart/target-node-ip.yaml b/mkdocs/docs/experiments/categories/nodes/node-restart/target-node-ip.yaml index 96a90277288..923b078e719 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-restart/target-node-ip.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-restart/target-node-ip.yaml @@ -19,4 +19,4 @@ spec: - name: TARGET_NODE value: 'node01' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/nodes/node-taint.md b/mkdocs/docs/experiments/categories/nodes/node-taint.md index dd76c2b30d2..119ba5fa2fa 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-taint.md +++ b/mkdocs/docs/experiments/categories/nodes/node-taint.md @@ -193,5 +193,5 @@ spec: - name: TAINT_LABEL value: 'key=value:effect' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/nodes/node-taint/taint-labels.yaml b/mkdocs/docs/experiments/categories/nodes/node-taint/taint-labels.yaml index cad344785e5..b8eb21950e5 100644 --- a/mkdocs/docs/experiments/categories/nodes/node-taint/taint-labels.yaml +++ b/mkdocs/docs/experiments/categories/nodes/node-taint/taint-labels.yaml @@ -16,4 +16,4 @@ spec: - name: TAINT_LABEL value: 'key=value:effect' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/common-tunables-for-pod-experiments.md b/mkdocs/docs/experiments/categories/pods/common-tunables-for-pod-experiments.md index cbecd732298..e12f3288e2b 100644 --- a/mkdocs/docs/experiments/categories/pods/common-tunables-for-pod-experiments.md +++ b/mkdocs/docs/experiments/categories/pods/common-tunables-for-pod-experiments.md @@ -30,7 +30,7 @@ spec: - name: TARGET_PODS value: 'pod1,pod2' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Pod Affected Percentage @@ -64,7 +64,7 @@ spec: - name: PODS_AFFECTED_PERC value: '100' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Target Specific Container @@ -98,7 +98,7 @@ spec: - name: TARGET_CONTAINER value: 'nginx' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Default Application Health Check diff --git a/mkdocs/docs/experiments/categories/pods/common/pod-affected-percentage.yaml b/mkdocs/docs/experiments/categories/pods/common/pod-affected-percentage.yaml index a9674f8e54c..40e667f6597 100644 --- a/mkdocs/docs/experiments/categories/pods/common/pod-affected-percentage.yaml +++ b/mkdocs/docs/experiments/categories/pods/common/pod-affected-percentage.yaml @@ -21,4 +21,4 @@ spec: - name: PODS_AFFECTED_PERC value: '100' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/common/target-container.yaml b/mkdocs/docs/experiments/categories/pods/common/target-container.yaml index 4a58e169a73..0f6a57cf1ef 100644 --- a/mkdocs/docs/experiments/categories/pods/common/target-container.yaml +++ b/mkdocs/docs/experiments/categories/pods/common/target-container.yaml @@ -21,4 +21,4 @@ spec: - name: TARGET_CONTAINER value: 'nginx' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/common/target-pods.yaml b/mkdocs/docs/experiments/categories/pods/common/target-pods.yaml index dff6316f50e..cc8b09a5bd0 100644 --- a/mkdocs/docs/experiments/categories/pods/common/target-pods.yaml +++ b/mkdocs/docs/experiments/categories/pods/common/target-pods.yaml @@ -20,4 +20,4 @@ spec: - name: TARGET_PODS value: 'pod1,pod2' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/container-kill.md b/mkdocs/docs/experiments/categories/pods/container-kill.md index 0fceec3daf6..feab3e7a7eb 100644 --- a/mkdocs/docs/experiments/categories/pods/container-kill.md +++ b/mkdocs/docs/experiments/categories/pods/container-kill.md @@ -224,7 +224,7 @@ spec: - name: TARGET_CONTAINER value: 'nginx' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Multiple Iterations Of Chaos @@ -256,7 +256,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Container Runtime Socket Path @@ -294,7 +294,7 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Signal For Kill @@ -326,7 +326,7 @@ spec: - name: SIGNAL value: 'SIGKILL' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Pumba Chaos Library @@ -358,5 +358,5 @@ spec: - name: LIB value: 'pumba' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/pods/container-kill/chaos-interval.yaml b/mkdocs/docs/experiments/categories/pods/container-kill/chaos-interval.yaml index abb2798a46e..11432fd84e4 100644 --- a/mkdocs/docs/experiments/categories/pods/container-kill/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/pods/container-kill/chaos-interval.yaml @@ -21,4 +21,4 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' \ No newline at end of file + value: '60' \ No newline at end of file diff --git a/mkdocs/docs/experiments/categories/pods/container-kill/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/container-kill/container-runtime-and-socket-path.yaml index af6ddbb034e..d614855fe2c 100644 --- a/mkdocs/docs/experiments/categories/pods/container-kill/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/container-kill/container-runtime-and-socket-path.yaml @@ -24,4 +24,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/container-kill/kill-specific-container.yaml b/mkdocs/docs/experiments/categories/pods/container-kill/kill-specific-container.yaml index 5862d6f834e..f9d4471b0ff 100644 --- a/mkdocs/docs/experiments/categories/pods/container-kill/kill-specific-container.yaml +++ b/mkdocs/docs/experiments/categories/pods/container-kill/kill-specific-container.yaml @@ -20,4 +20,4 @@ spec: - name: TARGET_CONTAINER value: 'nginx' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/container-kill/pumba.yaml b/mkdocs/docs/experiments/categories/pods/container-kill/pumba.yaml index 06a4d1cc6a0..8b13fdfef26 100644 --- a/mkdocs/docs/experiments/categories/pods/container-kill/pumba.yaml +++ b/mkdocs/docs/experiments/categories/pods/container-kill/pumba.yaml @@ -21,4 +21,4 @@ spec: - name: LIB value: 'pumba' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/container-kill/signal.yaml b/mkdocs/docs/experiments/categories/pods/container-kill/signal.yaml index 1f63ed78f2b..ee07c9f2eb1 100644 --- a/mkdocs/docs/experiments/categories/pods/container-kill/signal.yaml +++ b/mkdocs/docs/experiments/categories/pods/container-kill/signal.yaml @@ -21,4 +21,4 @@ spec: - name: SIGNAL value: 'SIGKILL' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/disk-fill.md b/mkdocs/docs/experiments/categories/pods/disk-fill.md index 9ce599c555c..a67492d25e5 100644 --- a/mkdocs/docs/experiments/categories/pods/disk-fill.md +++ b/mkdocs/docs/experiments/categories/pods/disk-fill.md @@ -267,7 +267,7 @@ spec: - name: FILL_PERCENTAGE value: '80' # in percentage - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Disk Fill Mebibytes @@ -302,7 +302,7 @@ spec: - name: EPHEMERAL_STORAGE_MEBIBYTES value: '256' #in MiBi - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Data Block Size @@ -336,7 +336,7 @@ spec: - name: DATA_BLOCK_SIZE value: '256' #in KB - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Container Runtime Socket Path @@ -375,5 +375,5 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/pods/disk-fill/container-path.yaml b/mkdocs/docs/experiments/categories/pods/disk-fill/container-path.yaml index dbbe96e6c40..673ab3fdb3b 100644 --- a/mkdocs/docs/experiments/categories/pods/disk-fill/container-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/disk-fill/container-path.yaml @@ -23,4 +23,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/disk-fill/data-block-size.yaml b/mkdocs/docs/experiments/categories/pods/disk-fill/data-block-size.yaml index 41b56ddabcb..68b95b178fe 100644 --- a/mkdocs/docs/experiments/categories/pods/disk-fill/data-block-size.yaml +++ b/mkdocs/docs/experiments/categories/pods/disk-fill/data-block-size.yaml @@ -20,4 +20,4 @@ spec: - name: DATA_BLOCK_SIZE value: '256' #in KB - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/disk-fill/ephemeral-storage-mebibytes.yaml b/mkdocs/docs/experiments/categories/pods/disk-fill/ephemeral-storage-mebibytes.yaml index a08937325a1..39ab92b4146 100644 --- a/mkdocs/docs/experiments/categories/pods/disk-fill/ephemeral-storage-mebibytes.yaml +++ b/mkdocs/docs/experiments/categories/pods/disk-fill/ephemeral-storage-mebibytes.yaml @@ -21,4 +21,4 @@ spec: - name: EPHEMERAL_STORAGE_MEBIBYTES value: '256' #in MiBi - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/disk-fill/fill-percentage.yaml b/mkdocs/docs/experiments/categories/pods/disk-fill/fill-percentage.yaml index f9b4e8d39cb..751d035ecf5 100644 --- a/mkdocs/docs/experiments/categories/pods/disk-fill/fill-percentage.yaml +++ b/mkdocs/docs/experiments/categories/pods/disk-fill/fill-percentage.yaml @@ -20,4 +20,4 @@ spec: - name: FILL_PERCENTAGE value: '80' # in percentage - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-autoscaler.md b/mkdocs/docs/experiments/categories/pods/pod-autoscaler.md index 88044e7c992..043c1b58529 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-autoscaler.md +++ b/mkdocs/docs/experiments/categories/pods/pod-autoscaler.md @@ -180,5 +180,5 @@ spec: - name: REPLICA_COUNT value: '3' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/pods/pod-autoscaler/replica-count.yaml b/mkdocs/docs/experiments/categories/pods/pod-autoscaler/replica-count.yaml index fcd4168c5e6..6e67b22ce43 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-autoscaler/replica-count.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-autoscaler/replica-count.yaml @@ -20,4 +20,4 @@ spec: - name: REPLICA_COUNT value: '3' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-cpu-hog.md b/mkdocs/docs/experiments/categories/pods/pod-cpu-hog.md index 2b155d459e8..567f46e9a0c 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-cpu-hog.md +++ b/mkdocs/docs/experiments/categories/pods/pod-cpu-hog.md @@ -304,7 +304,7 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Pumba Chaos Library diff --git a/mkdocs/docs/experiments/categories/pods/pod-cpu-hog/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-cpu-hog/container-runtime-and-socket-path.yaml index ef8fe11d946..f0ab9766970 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-cpu-hog/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-cpu-hog/container-runtime-and-socket-path.yaml @@ -24,4 +24,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-delete.md b/mkdocs/docs/experiments/categories/pods/pod-delete.md index 3a93205dbd8..7ed725100b1 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-delete.md +++ b/mkdocs/docs/experiments/categories/pods/pod-delete.md @@ -245,7 +245,7 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Random Interval diff --git a/mkdocs/docs/experiments/categories/pods/pod-delete/chaos-interval.yaml b/mkdocs/docs/experiments/categories/pods/pod-delete/chaos-interval.yaml index 29c0cd42af4..4194df6ad8e 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-delete/chaos-interval.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-delete/chaos-interval.yaml @@ -21,4 +21,4 @@ spec: value: '15' # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-dns-error.md b/mkdocs/docs/experiments/categories/pods/pod-dns-error.md index 2d4966a8128..f7cb0df6a2f 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-dns-error.md +++ b/mkdocs/docs/experiments/categories/pods/pod-dns-error.md @@ -294,5 +294,5 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/pods/pod-dns-error/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-dns-error/container-runtime-and-socket-path.yaml index 393b89896c7..981c12a8bc7 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-dns-error/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-dns-error/container-runtime-and-socket-path.yaml @@ -24,4 +24,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-dns-spoof.md b/mkdocs/docs/experiments/categories/pods/pod-dns-spoof.md index fe4c706b1ec..cb978d0bcec 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-dns-spoof.md +++ b/mkdocs/docs/experiments/categories/pods/pod-dns-spoof.md @@ -257,5 +257,5 @@ spec: - name: SPOOF_MAP value: '{"abc.com":"spoofabc.com"}' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/pods/pod-dns-spoof/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-dns-spoof/container-runtime-and-socket-path.yaml index c6ac0315b2f..a2c2daa849a 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-dns-spoof/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-dns-spoof/container-runtime-and-socket-path.yaml @@ -27,4 +27,4 @@ spec: - name: SPOOF_MAP value: '{"abc.com":"spoofabc.com"}' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-io-stress.md b/mkdocs/docs/experiments/categories/pods/pod-io-stress.md index 4f43dbb2f0b..e9f441e31a8 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-io-stress.md +++ b/mkdocs/docs/experiments/categories/pods/pod-io-stress.md @@ -232,7 +232,7 @@ spec: - name: FILESYSTEM_UTILIZATION_PERCENTAGE value: '10' #in GB - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Filesystem Utilization Bytes @@ -268,7 +268,7 @@ spec: - name: FILESYSTEM_UTILIZATION_BYTES value: '1' #in GB - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Container Runtime Socket Path @@ -308,7 +308,7 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Mount Path @@ -341,7 +341,7 @@ spec: - name: VOLUME_MOUNT_PATH value: '/some-dir-in-container' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Workers For Stress @@ -374,7 +374,7 @@ spec: - name: NUMBER_OF_WORKERS value: '4' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Pumba Chaos Library @@ -408,5 +408,5 @@ spec: - name: LIB value: 'pumba' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/pods/pod-io-stress/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-io-stress/container-runtime-and-socket-path.yaml index ab8af6cf136..94b1894ee2b 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-io-stress/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-io-stress/container-runtime-and-socket-path.yaml @@ -24,4 +24,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-io-stress/filesystem-utilization-bytes.yaml b/mkdocs/docs/experiments/categories/pods/pod-io-stress/filesystem-utilization-bytes.yaml index c34e46a7211..9855331c495 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-io-stress/filesystem-utilization-bytes.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-io-stress/filesystem-utilization-bytes.yaml @@ -22,4 +22,4 @@ spec: - name: FILESYSTEM_UTILIZATION_BYTES value: '1' #in GB - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-io-stress/filesystem-utilization-percentage.yaml b/mkdocs/docs/experiments/categories/pods/pod-io-stress/filesystem-utilization-percentage.yaml index 01bfea1007e..efe5f66dd37 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-io-stress/filesystem-utilization-percentage.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-io-stress/filesystem-utilization-percentage.yaml @@ -22,4 +22,4 @@ spec: - name: FILESYSTEM_UTILIZATION_PERCENTAGE value: '10' #in GB - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-io-stress/mount-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-io-stress/mount-path.yaml index 382454a64e9..024774cb3b6 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-io-stress/mount-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-io-stress/mount-path.yaml @@ -20,4 +20,4 @@ spec: - name: VOLUME_MOUNT_PATH value: '/some-dir-in-container' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-io-stress/pumba.yaml b/mkdocs/docs/experiments/categories/pods/pod-io-stress/pumba.yaml index eb8281d9624..0ea394e0d51 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-io-stress/pumba.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-io-stress/pumba.yaml @@ -21,4 +21,4 @@ spec: - name: LIB value: 'pumba' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-io-stress/workers.yaml b/mkdocs/docs/experiments/categories/pods/pod-io-stress/workers.yaml index 7ee64a478b8..34dde3058f3 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-io-stress/workers.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-io-stress/workers.yaml @@ -20,4 +20,4 @@ spec: - name: NUMBER_OF_WORKERS value: '4' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-network-corruption.md b/mkdocs/docs/experiments/categories/pods/pod-network-corruption.md index 502268885a3..5e95da5d245 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-network-corruption.md +++ b/mkdocs/docs/experiments/categories/pods/pod-network-corruption.md @@ -439,7 +439,7 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Pumba Chaos Library diff --git a/mkdocs/docs/experiments/categories/pods/pod-network-corruption/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-network-corruption/container-runtime-and-socket-path.yaml index d42048f9a5e..69af57e6da8 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-network-corruption/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-network-corruption/container-runtime-and-socket-path.yaml @@ -24,4 +24,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-network-duplication.md b/mkdocs/docs/experiments/categories/pods/pod-network-duplication.md index 6fa453e9338..3c2e16a6991 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-network-duplication.md +++ b/mkdocs/docs/experiments/categories/pods/pod-network-duplication.md @@ -440,7 +440,7 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Pumba Chaos Library diff --git a/mkdocs/docs/experiments/categories/pods/pod-network-duplication/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-network-duplication/container-runtime-and-socket-path.yaml index a52b096be72..7d646b05f79 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-network-duplication/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-network-duplication/container-runtime-and-socket-path.yaml @@ -24,4 +24,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-network-latency.md b/mkdocs/docs/experiments/categories/pods/pod-network-latency.md index d31e2610c53..beed3a1517d 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-network-latency.md +++ b/mkdocs/docs/experiments/categories/pods/pod-network-latency.md @@ -480,7 +480,7 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Pumba Chaos Library diff --git a/mkdocs/docs/experiments/categories/pods/pod-network-latency/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-network-latency/container-runtime-and-socket-path.yaml index 36ce3deb704..f517da702ed 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-network-latency/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-network-latency/container-runtime-and-socket-path.yaml @@ -24,4 +24,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/pods/pod-network-loss.md b/mkdocs/docs/experiments/categories/pods/pod-network-loss.md index c6cedf01742..074392c9aa5 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-network-loss.md +++ b/mkdocs/docs/experiments/categories/pods/pod-network-loss.md @@ -440,7 +440,7 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` ### Pumba Chaos Library diff --git a/mkdocs/docs/experiments/categories/pods/pod-network-loss/container-runtime-and-socket-path.yaml b/mkdocs/docs/experiments/categories/pods/pod-network-loss/container-runtime-and-socket-path.yaml index 69a2a35a1ff..2e07fbaa746 100644 --- a/mkdocs/docs/experiments/categories/pods/pod-network-loss/container-runtime-and-socket-path.yaml +++ b/mkdocs/docs/experiments/categories/pods/pod-network-loss/container-runtime-and-socket-path.yaml @@ -24,4 +24,4 @@ spec: - name: SOCKET_PATH value: '/run/containerd/containerd.sock' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/categories/vmware/vm-poweroff.md b/mkdocs/docs/experiments/categories/vmware/vm-poweroff.md index cfab654c33c..17995fe3f80 100644 --- a/mkdocs/docs/experiments/categories/vmware/vm-poweroff.md +++ b/mkdocs/docs/experiments/categories/vmware/vm-poweroff.md @@ -196,5 +196,5 @@ spec: value: 'vm-53,vm-65' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` diff --git a/mkdocs/docs/experiments/categories/vmware/vm-poweroff/app-vm-moid.yaml b/mkdocs/docs/experiments/categories/vmware/vm-poweroff/app-vm-moid.yaml index dfa6b049dc3..6d9e3f7afad 100644 --- a/mkdocs/docs/experiments/categories/vmware/vm-poweroff/app-vm-moid.yaml +++ b/mkdocs/docs/experiments/categories/vmware/vm-poweroff/app-vm-moid.yaml @@ -17,4 +17,4 @@ spec: value: 'vm-53,vm-65' - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' diff --git a/mkdocs/docs/experiments/troubleshooting/experiments.md b/mkdocs/docs/experiments/troubleshooting/experiments.md index b22c95ec6b2..210cdb3c243 100644 --- a/mkdocs/docs/experiments/troubleshooting/experiments.md +++ b/mkdocs/docs/experiments/troubleshooting/experiments.md @@ -298,5 +298,5 @@ We can fix the above failure by avoiding istio sidecar for the chaos pods. Refer sidecar.istio.io/inject: "false" env: - name: TOTAL_CHAOS_DURATION - VALUE: '60' + value: '60' ``` \ No newline at end of file