From 57ca03e134de822e5ceff17d9b80017cb5bccd95 Mon Sep 17 00:00:00 2001 From: Joonkyu Park Date: Fri, 11 Oct 2024 15:04:47 +0900 Subject: [PATCH 1/4] Fix typo (#4919) Signed-off-by: Joonkyu Park Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com> --- translations/README-ko.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/README-ko.md b/translations/README-ko.md index c473baa882b..ee6a1b20dfb 100644 --- a/translations/README-ko.md +++ b/translations/README-ko.md @@ -141,7 +141,7 @@ ChaosExperiment CR은 hub.l (카오스 엔지니어링 사례로 Litmus를 사용하고 있는 조직은 위 페이지로 PR을 보내주세요) -## 라이센스 +## 라이선스 Litmus는 아파치(Apache) 라이선스 버전 2.0을 적용합니다. 전체 라이선스 텍스트는 [LICENSE](./LICENSE)를 참고하세요. Litmus 프로젝트에서 사용하는 일부 프로젝트는 다른 라이선스에 적용받을 수 있으며, 별도의 라이선스를 참고하세요. From b719682e7c877519f248f733aa6a900fd76a447f Mon Sep 17 00:00:00 2001 From: soyeon Park Date: Fri, 11 Oct 2024 15:18:34 +0900 Subject: [PATCH 2/4] bugfix: CIFuzz fail due to timeout on FuzzReadExperimentFile (#4876) * bugfix: CIFuzz fail due to timeout on FuzzReadExperimentFile * Since we're testing for non-existent files in our unit tests, we'll skip the unnecessary tests. Signed-off-by: Soyeon Park * bugfix: Delete the FuzzReadExperimentFile test case * Deleting test cases due to timeouts Signed-off-by: Soyeon Park * bugfix: CIFuzz fail due to timeout on FuzzProcessExperimentRunDelete Signed-off-by: Soyeon Park --------- Signed-off-by: Soyeon Park Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com> --- .../fuzz_tests/service_fuzz_test.go | 34 -------------- .../pkg/chaoshub/handler/handler_fuzz_test.go | 45 ------------------- 2 files changed, 79 deletions(-) diff --git a/chaoscenter/graphql/server/pkg/chaos_experiment_run/fuzz_tests/service_fuzz_test.go b/chaoscenter/graphql/server/pkg/chaos_experiment_run/fuzz_tests/service_fuzz_test.go index 5ae50c6ef7b..31ff3b9aa5f 100644 --- a/chaoscenter/graphql/server/pkg/chaos_experiment_run/fuzz_tests/service_fuzz_test.go +++ b/chaoscenter/graphql/server/pkg/chaos_experiment_run/fuzz_tests/service_fuzz_test.go @@ -12,7 +12,6 @@ import ( fuzz "github.com/AdaLogics/go-fuzz-headers" store "github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/data-store" - "github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb" "github.com/stretchr/testify/mock" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" @@ -47,39 +46,6 @@ func NewMockServices() *MockServices { } } -func FuzzProcessExperimentRunDelete(f *testing.F) { - f.Fuzz(func(t *testing.T, data []byte) { - fuzzConsumer := fuzz.NewConsumer(data) - targetStruct := &struct { - Query bson.D - WorkflowRunID *string - ExperimentRun dbChaosExperimentRun.ChaosExperimentRun - Workflow dbChaosExperiment.ChaosExperimentRequest - Username string - StoreStateData *store.StateData - }{} - err := fuzzConsumer.GenerateStruct(targetStruct) - if err != nil { - return - } - mockServices := NewMockServices() - mockServices.MongodbOperator.On("Update", mock.Anything, mongodb.ChaosExperimentRunsCollection, mock.Anything, mock.Anything, mock.Anything).Return(&mongo.UpdateResult{}, nil).Once() - - err = mockServices.ChaosExperimentRunService.ProcessExperimentRunDelete( - context.Background(), - targetStruct.Query, - targetStruct.WorkflowRunID, - targetStruct.ExperimentRun, - targetStruct.Workflow, - targetStruct.Username, - targetStruct.StoreStateData, - ) - if err != nil { - t.Errorf("ProcessExperimentRunDelete() error = %v", err) - } - }) -} - func FuzzProcessExperimentRunStop(f *testing.F) { f.Fuzz(func(t *testing.T, data []byte) { fuzzConsumer := fuzz.NewConsumer(data) diff --git a/chaoscenter/graphql/server/pkg/chaoshub/handler/handler_fuzz_test.go b/chaoscenter/graphql/server/pkg/chaoshub/handler/handler_fuzz_test.go index 5a83fe5c04b..a505ad5a44c 100644 --- a/chaoscenter/graphql/server/pkg/chaoshub/handler/handler_fuzz_test.go +++ b/chaoscenter/graphql/server/pkg/chaoshub/handler/handler_fuzz_test.go @@ -41,51 +41,6 @@ func FuzzGetChartsPath(f *testing.F) { }) } -func FuzzReadExperimentFile(f *testing.F) { - f.Fuzz(func(t *testing.T, data []byte, filename string) { - fuzzConsumer := fuzz.NewConsumer(data) - - // Create a temporary directory - tmpDir, err := os.MkdirTemp("", "*-fuzztest") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(tmpDir) // clean up - - // Ensure the filename is valid and unique - safeFilename := filepath.Clean(filepath.Base(filename)) - if isInvalidFilename(safeFilename) { - safeFilename = "test.yaml" - } - filePath := filepath.Join(tmpDir, safeFilename) - content := ChaosChart{} - err = fuzzConsumer.GenerateStruct(&content) - if err != nil { - return - } - - jsonContent, _ := json.Marshal(content) - err = os.WriteFile(filePath, jsonContent, 0644) - if err != nil { - t.Fatal(err) - } - - _, err = ReadExperimentFile(filePath) - - if err != nil && !isInvalidYAML(jsonContent) { - t.Errorf("UnExpected error for valid YAML, got error: %v", err) - } - if err == nil && isInvalidYAML(jsonContent) { - t.Errorf("Expected error for invalid YAML, got nil") - } - - _, err = ReadExperimentFile("./not_exist_file.yaml") - if err == nil { - t.Errorf("Expected error for file does not exist, got nil") - } - }) -} - func FuzzGetExperimentData(f *testing.F) { f.Fuzz(func(t *testing.T, data []byte, filename string) { fuzzConsumer := fuzz.NewConsumer(data) From 5e1ec254a42f3e1ae2fd1646a9e4d6654af6a6c0 Mon Sep 17 00:00:00 2001 From: Richard Boisvert Date: Fri, 11 Oct 2024 02:19:51 -0400 Subject: [PATCH 3/4] Remove invalid links in README.md (#4895) Removed 3 broken links in the community blogs section as the corresponding pages appear to have been removed from the websites. No suitable replacements were found. Signed-off-by: Richard Boisvert --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 02b16845624..cb7c8d80f59 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,6 @@ Fill out the [LitmusChaos Meetings invite form](https://forms.gle/xYZyZ2gTWMqz7x Community Blogs: -- Daniyal Rayn: [Do I need Chaos Engineering on my environment? Trust me you need it!](https://maveric-systems.com/blog/do-i-need-chaos-engineering-on-my-environment-trust-me-you-need-it/) - LiveWyer: [LitmusChaos Showcase: Chaos Experiments in a Helm Chart Test Suite](https://livewyer.io/blog/2021/03/22/litmuschaos-showcase-chaos-experiments-in-a-helm-chart-test-suite/) - Jessica Cherry: [Test Kubernetes cluster failures and experiments in your terminal](https://opensource.com/article/21/6/kubernetes-litmus-chaos) - Yang Chuansheng(KubeSphere): [KubeSphere 部署 Litmus 至 Kubernetes 开启混沌实验](https://kubesphere.io/zh/blogs/litmus-kubesphere/) @@ -138,8 +137,6 @@ Community Blogs: - Akram Riahi(WeScale):[Chaos Engineering : Litmus sous tous les angles](https://blog.wescale.fr/2021/03/11/chaos-engineering-litmus-sous-tous-les-angles/) - Prashanto Priyanshu(LensKart):[Lenskart’s approach to Chaos Engineering-Part 2](https://blog.lenskart.com/lenskarts-approach-to-chaos-engineering-part-2-6290e4f3a74e) - DevsDay.ru(Russian):[LitmusChaos at Kubecon EU '21](https://devsday.ru/blog/details/40746) -- Ryan Pei(Armory): [LitmusChaos in your Spinnaker Pipeline](https://www.armory.io/blog/litmuschaos-in-your-spinnaker-pipeline/) -- David Gildeh(Zebrium): [Using Autonomous Monitoring with Litmus Chaos Engine on Kubernetes](https://www.zebrium.com/blog/using-autonomous-monitoring-with-litmus-chaos-engine-on-kubernetes) ## Adopters From ff85c8689180f91f5d2d3b812b7b44e959990d44 Mon Sep 17 00:00:00 2001 From: DongYoung Kim Date: Fri, 11 Oct 2024 15:20:49 +0900 Subject: [PATCH 4/4] Add error msg to the log on UpdateChaosExperiment (#4905) * Add error msg to the log Signed-off-by: DongYoung Kim * Change error to log message for better debugging Signed-off-by: DongYoung Kim --------- Signed-off-by: DongYoung Kim --- .../server/pkg/chaos_experiment_run/handler/handler.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 eddb54e4fb3..166abe19973 100644 --- a/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go +++ b/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go @@ -1222,7 +1222,7 @@ func (c *ChaosExperimentRunHandler) ChaosExperimentRunEvent(event model.Experime err = c.chaosExperimentOperator.UpdateChaosExperiment(sessionContext, filter, update) if err != nil { - logrus.Error("Failed to update experiment collection") + logrus.WithError(err).Error("Failed to update experiment collection") return err } } else if experimentRunCount > 0 { @@ -1257,7 +1257,7 @@ func (c *ChaosExperimentRunHandler) ChaosExperimentRunEvent(event model.Experime err = c.chaosExperimentOperator.UpdateChaosExperiment(sessionContext, filter, update) if err != nil { - logrus.Error("Failed to update experiment collection") + logrus.WithError(err).Error("Failed to update experiment collection") return err } }