Skip to content

Latest commit

 

History

History
790 lines (528 loc) · 38.7 KB

CHANGELOG.md

File metadata and controls

790 lines (528 loc) · 38.7 KB

Chaos Mesh Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

For more information and how-to, see RFC: Keep A Changelog.

[Unreleased]

Added

  • Allow annotations on chaos-controller-manager and chaos-daemon ServiceAccount #4106
  • Support for deploying chaos-dashboard under the subpath #4093
  • Support more rate units for networkchaos #4129
  • Support for deploying chaos-dashboard with sidecar containers in helm chart #4164
  • Add values.schema.json #4205
  • Add GreptimeDB to ADOPTERS.md #4245
  • Support configurable chaos-dns-server pod affinities #4260
  • Add experiment name, namespace and kind to "apply chaos" and "recover chaos" log messages 4278
  • Support for watching remote status of chaos experiments to local #4188
  • Add netem/rate support for NetworkChaos #4017
  • Support for setting loadBalancerSourceRanges in chaos-dashboard service in helm chart #4172
  • Helm: allow templating of dashboard rootUrl #4370
  • Support for reading database connection string from secret #4363

Changed

  • Change awschaos/*/impl.go to use aws_session_token with static credentials provider so that users can perform awschaos using temporary AWS credentials #4066
  • Enable consistency for ghcr.io registry #4091 #4134
  • Prevent mousewheel scroll from changing numeric input values. #4133
  • Set the database column type to text for 'Workflow/Experiment/Schedule' #4151
  • Bump go to v1.20 #4157
  • Upgrade docker/login-action to v2 #4167
  • Update k8s dependencies to 1.28.0 #4154
  • Update lru dependency #4189
  • Update swag dependency #4191
  • Update ginkgo to 2.12.0 #4190
  • Update k8s controller-runtime dependency #4198
  • Automatically remove the token from the dashboard when it expires #4193
  • Optimize allInjected and allRecovered states when targets are not selected #4199
  • Upgrade byteman-helper to v4.0.22 #4299
  • GCP auth is changed to object with additional key existingSecret in helm chart values #4303
  • Add context to the http request to download the chart #4304

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Set replicas: 1 automatically when HA is not enabled #4079
  • Remove redundant where statements #4084
  • Fix dashboard panic when exec delete action by finish_time #4100
  • Fix remote cluster cannot upgrade helm release #4075
  • Fix goroutine leak #4229
  • Remove the duplicate make test #4234
  • Fix daemon-server SetDNSServer endpoint to validate provided server address #4246
  • Enable prometheus directive within CoreDNS #4321
  • Fix TTL configuration from environment variables #4338
  • Fix dashboard panic while replacing query namespace with targetNamespace in namespace scoped mode #4409

Security

  • Remove -k from curl command lines in chaos-daemon Dockerfile #4241
  • Upgrade the base image of dev/build-env #4388

[2.6.0] - 2023-05-30

Added

  • Install offline Helm Chart for a multi-cluster #3897

Changed

  • Change CoreDNS listen port from 53 to 5353 #4022
  • Bump go to v1.19.3 #3770
  • Change ubuntu version from latest to 20.04 #3817
  • Switch views between k8s and hosts nodes #3830
  • New CI for finding merge conflicts #3850
  • Upgrade byteman-helper to v4.0.20 #3863
  • Helm: change default webhook port to 10250 #3877
  • Upgrade base image for chaos-mesh to alpine:3.17 #3893
  • Slow down releasing the latest version #3900
  • Update k8s.io dependencies to v0.26.1 #3902
  • Update sigs.k8s.io/controller-runtime to v0.14.1 and sigs.k8s.io/controller-tools to v0.11.1 #3902
  • Change the package manager from yarn to pnpm. #3965
  • Upgrade DNS CoreDNS image url to ghcr.io #3488
  • Upgrade OS image for chaos-daemon container image #3905
  • Replace openapi-generator with Orval and React Query #3748
  • Cleanup makefile and provide make help #3888
  • Remove IN_DOCKER environment variable in Makefile #3992
  • Refine TTL config of Chaos dashboard #4008
  • pause would return non zero exit code when the subcommand failed #4018
  • use helm values to set chaos-daemon capabilities #4030
  • Build binaries locally with local/ prefix targets in Makefile #4004
  • Use kubectl cluster-info dump to enhance e2e profiling #3759
  • Upgrade fx event logger #4036
  • Refine logging in pkg/selector/physicalmachine #4037
  • Setup OWNERS and OWNERS_ALIASES #4039

Deprecated

  • Nothing

Removed

  • Remove no needed file crd-v1beta1.yaml #3807
  • Remove useless kubebuilder comment in webhook #3816
  • Remove the unused inject-v1-pod webhook. #3885

Fixed

  • Fix version comparison in install.sh #3901
  • Fix stuck dashboard updates when using ReadWriteOnce PVCs #3876
  • Fix MySQL NO_ZERO_IN_DATE by using *time.Time to represent finish time #4056

Security

  • Bump go to v1.19.7 to fix CVE-2022-41723 #3978 #3981
  • Bump github.com/opencontainers/runc from 1.1.4 to 1.1.5 #3987

[2.5.0] - 2022-11-22

Added

  • Add controller.securityContext and dashboard.securityContext to Helm chart #3603
  • Add RemoteCluster resource type #3342
  • Add clusterregistry package to help developers to develop multi-cluster reconciler #3342
  • Add features about integration with helm to install Chaos Mesh in remote cluster #3384
  • Add new CI "Manually Sign Container Images" to sign existing container images #3708
  • Install and uninstall chaos mesh in remote cluster through RemoteCluster resource #3414
  • MultiCluster: support inject / recover on remote cluster #3453
  • Add TLS support for HTTPChaos #3549

Changed

  • Use the next generation New Workflow UI by default #3718
  • StressChaos: Support cgroup v2 for docker and crio #3698

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Remove the explicit use of pingcap/log #3674
  • Fix typo in controller error message #3704
  • Fix panic when logging, log kvs as pair #3716
  • Fix timechaos not injected into the child process #3725
  • Ignore ScheduleSkipRemoveHistory events to fix the memory of controller-manager keep increasing #3761
  • Update is mandatory to true in a swagger comment #3743
  • Enable mode when creating PhysicalMachineChaos with addresses in UI #3797

Security

  • Sign images and generate sbom when uploading images in CI #3766

[2.4.2] - 2022-11-07

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fix timechaos not injected into the child process #3730
  • Update is mandatory to true in a swagger comment #3743

Security

  • Nothing

[2.4.1] - 2022-09-27

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fix: mark 2.4.1 not as pre-release version#3679

Security

  • Nothing

[2.4.0] - 2022-09-23

Added

  • Add support for PhysicalMachine in UI #3624

Changed

  • Replace io/ioutil package with os package. #3539
  • Refine logging in pkg/dashboard/apiserver/event, moved package level variable log into struct Service as a field. #3528
  • Refine logging in pkg/dashboard/apiserver/auth/gcp, moved package level variable log into struct Service as a field #3527
  • Change e2e config settings to append "pause image" args. #3567
  • Update display of disabled scope in UI #3621
  • Make the Scope render conditionally #3622
  • Refine logging, remove the usage of klog in chaosctl #3628
  • Dashboard: Fix rbac.yaml for token generation verbs/resources #3370
  • Refine logging, remove the usage of klog in event recorder #3629
  • Use int64 to restore latency for BlockChaos #3638
  • Remove CRD v1beta1 support #3630

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fix NetworkChaos fail with @ifXX in the device #3605
  • Fix BlockChaos can't show Chinese name. #3536
  • Add omitempty JSON tag to optional fields of the CRD objects. #3531
  • Fix "sidecar config" e2e test cases run failed in some scenario.#3564
  • Fix Integration test with bumping kubectl version. #3589

Security

  • Nothing

[2.3.3] - 2022-11-07

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Remove limit action of BlockChaos in the dashboard #3655
  • Sync PhysicalMachineChaos to API client and forms #3660
  • Fix timechaos not injected into the child process #3729
  • Update is mandatory to true in a swagger comment #3743

Security

  • Nothing

[2.3.2] - 2022-09-20

Added

  • Nothing

Changed

  • Use int64 to restore latency for BlockChaos #3638

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fix: update helm chart annotation artifacthub.io/prerelease to false #3626

Security

  • Nothing

[2.3.1] - 2022-09-02

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Protect chaos available namespace and filter namespaces if needed #3473
  • Respect flag enableProfiling and do not register profiler endpoints when it's false #3474
  • Fix the blank screen after creating chaos experiment with "By YAML" #3489
  • Update hint text about the manual token generating process for Kubernetes 1.24+ #3505
  • Fix IOChaos containerNames field in UI #3533
  • Fix BlockChaos can't show Chinese name. #3536
  • Fix recover bug when setting force recover to true #3578
  • Fix generate token failed on chaos dashboard #3595

Security

  • Nothing

[2.3.0] - 2022-07-29

Added

  • Add more status for record #3170
  • Add chaosDaemon.updateStrategy to Helm chart to allow configuring DaemonSetUpdateStrategy for chaos-daemon #3108
  • Add AArch64 support for TimeChaos #3088
  • Add integration test and link test on arm #3177
  • Add spec.privateKey.rotationPolicy to Certificates, to comply with requirements in cert-manager 1.8 #3325
  • Add clusterregistry package to help developers to develop multi-cluster reconciler #3342
  • Support Suspend in next generation New Workflow's UI #3254
  • Add helm annotations for Artifact Hub #3355
  • Add implementation of blockchaos in chaos-daemon #2907
  • Bump chaos-tproxy to v0.5.1 #3412
  • Allow importing external workflows and copying flow nodes in next generation New Workflow #3368
  • Add QPS and Burst for Chaos Dashboard Configuration #3476
  • Add guide and example for monitoring Chaos Mesh #3030
  • Support KernelChaos in AutoForm #3449
  • Sync latest Chaosd and PhysicalMachineChaos #3477
  • Add accept-tcp-flag to network delay in PysicalMachineChaos #3588

Changed

  • Helm charts: update validate-auth to chaos-mesh-validation-auth #3193
  • Helm charts: support latest api version of dashboard ingress #3066
  • Update shell script to support shellchecks #3230
  • CI: build dev-env and build-env for e2e tests if required #3264
  • CI: version unrelated manifests #3293
  • Bump chaos-tproxy to v0.4.6 #3272
  • Helm charts: using 0.0.0 as version and appVersion #3311
  • Add a comment to the flag size of memory stress in the dashboard #3359
  • Refine logging in pkg/dashboard/store, removed global the log #3143
  • Renamed namespace from chaos-testing to chaos-mesh #3353
  • Use ContainerSelector in kernel chaos #3395
  • Make possible to have more than one dns chaos server #3381
  • Helm charts: Relax allowedHostPaths in chaos-daemon PSP #3350
  • Run build image ci on self-hosted machine #3429
  • Simplified logic and add test case about finalizers. #3422
  • Update API requests with OpenAPI generated client #2926
  • Implement some missing methods in ctrl server #3462
  • Use net.Interfaces() to implement getAllInterfaces() #3484

Deprecated

  • Nothing

Removed

  • Removed extra import of common pkg in chaosctl/cmd/logs.go
  • Removed unused local function from statuscheck/manager.go #3228
  • Removed ui build and test for arm64 #3305
  • Remove sed need (SC2001) #3248
  • Removed not used clientset in cmd/chaos-controller-manager/main.go #3334
  • Removed not used globalCacheReader in cmd/chaos-controller-manager/provider/controller.go #3343
  • Removed unsupported action comments of blockchaos #3435

Fixed

  • Update description of memory stressors #3225
  • Isolate target field and Scope when creating NetworkChaos in UI #3223
  • Add arm64 architecture to ci_skip to pass required test #3305
  • Adapt install.sh for kubectl/kubernetes cluster greater than 1.24 #3177
  • SC2166: Use || or && rather than -o or -a #3235
  • SC2206: Use quote to prevent word splitting/globbing #3234
  • Fix make check does not respect the env-images.yaml [#3210] (#3210)
  • SC2004: Remove unnecessary $ on arithmetic variables #3247
  • PhysicalMachineChaos: update stress options type #3347
  • PhysicalMachineChaos: remove validate for IP and host for delay, loss, duplicate, corruption #3483
  • StressChaos: run pause before choom #3405
  • JVMChaos: update the error message that can be ignored #3415
  • Fix Workflow Validating Webhook Panic #3413
  • Overwrite $IMAGE_BUILD_ENV_TAG with $IMAGE_TAG-$ARCH in upload_env_image.yml github action #3444
  • Add a judgement of enterNS in getAllInterfaces() #3459
  • Fix JVMChaos loading missing jar file for injection #3491

Security

  • Nothing

[2.2.3] - 2022-08-04

Added

  • Add QPS and Burst for Chaos Dashboard Configuration #3476

Changed

  • Implement some missing methods in ctrl server #3470

Deprecated

  • Nothing

Changed

  • Nothing

Removed

  • Nothing

Fixed

  • Protect chaos available namespace and filter namespaces if needed #3473
  • Respect flag enableProfiling and do not register profiler endpoints when it's false #3474
  • Fix the blank screen after creating chaos experiment with "By YAML" #3489
  • Update hint text about the manual token generating process for Kubernetes 1.24+ #3505

Security

  • Nothing

[2.2.2] - 2022-07-07

Changed

  • Bump chaos-tproxy to v0.5.1 #3426
  • Run build image ci on self-hosted machine #3429

[2.2.1] - 2022-06-29

Added

  • JVMChaos: support inject fault into MySQL client #3189

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • PhysicalMachineChaos: update stress options type #3354
  • StressChaos: run pause before choom #3405

Security

  • Nothing

[2.2.0] - 2022-04-29

Added

  • Add metrics for archived objects in chaos-dashboard #2568
  • Add metrics for iptables, ipset and tc metrics in chaos-daemon #2540
  • Add metrics for emitted event counter in chaos-controller-manager #2435
  • Add metrics for grpc client #2458
  • Add metrics for grpc and HTTP request duration histogram #2543
  • Add metrics for bpm controlled processes #2497
  • Provide additional printer columns for action and duration #2526
  • Add PhysicalMachine CRD #2587
  • New command physical-machine to chaosctl #2624
  • Add status "Deleting" for chaos experiments on Chaos Dashboard #2708
  • Add time skew for gettimeofday #2742
  • Add support of the Unified cgroup mode (tested with containerd runtime only) for linux stress experiments #2928
  • Add StatusCheck CRD #2954
  • Add support for declaring ports in external targets in NetworkChaos experiments #2932
  • Add forced recovery of httpchaos, iochaos, stresschaos, and networkchaos for chaosctl #2992
  • Add namespace and pod name in failed event for podxxxchaos crd #3178
  • Add next generation New Workflow in UI #3185
  • JVMChaos: support inject fault into MySQL client #3189

Changed

  • Use pipeline controller to serialize common controllers #2465
  • Enable mTLS between chaos-controller-manager and chaosd #2580
  • Rename Physics to Host in Chaos Dashboard #2645
  • Retry oneshot chaos if it's not selected #2618
  • Bump gopsutil to v3 #2681
  • Add prefix for identifier of toda and tproxy in bpm #2673
  • Bump toda to v0.2.2 #2747
  • Bump go to 1.17 #2754
  • Use github.com/pkg/errors to replace fmt.Errorf and "errors" #2779
  • Kill chaos-tproxy while failing to apply config #2672
  • JVMChaos: ignore AgentLoadException when install agent #2701
  • Bump container-runtime to v0.11.0 #2778
  • Bump kubernetes dependencies to v1.23.1 #2778
  • Removed docker registry mirror #2797
  • Use OpenAPI definitions to generate API Client and Form data in UI 2770
  • Refine logging in pkg/selector/pod #3002
  • Add envFollowKubernetesPattern to handle k8s-like format env in helm templates 2955
  • Bump chaos-tproxy to v0.4.5 #2555
  • Re-implement chaosctl based on ctrlserver #2950
  • Fix wrong zero value of httpchaos replace-body-action#2990
  • Bump gqlgen to v0.17.2 #3038
  • Bump go to v1.18 #3055
  • Bump toda to v0.2.3 #3131
  • refactor: rename reconcileContext to reconcileInfo #3154
  • Migrate e2e tests from self-hosted Jenkins to Github Action #2986
  • Bump minimist from 1.2.5 to 1.2.6 in /ui #3058
  • Specify image tag of build-env and dev-env for each branch #3071
  • Specify image tag in e2e tests #3147
  • Must update CHANGELOG #3148
  • Use chaosDaemon.mtls.enabled instead of dashboard.securityMode for chaos-daemon mtls #3168
  • Helm charts: component chaos-dashboard use certain service account and roles #3145
  • Refactor helm charts template, split out webhook configuration and secrets #3159
  • Helm charts: apply webhook.FailurePolicy to all the webhooks with default value Fail #3184
  • Bump memStress from v0.2.1 to v0.3 #3186
  • Helm charts: configure ca bundle for webhook explicitly #3190
  • Refine logging in pkg/selector/generic/namespace #3214

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Unable to load from saved objects #2585
  • Fix helm install error #2591
  • Fix helm conditions in ingress #2604
  • Fix typo in NewExperiment #2535
  • Fix chaos-kernel build, mark bcc version #2693
  • Fix wrong field name of PhysicalMachineChaos on Chaos Dashboard #2724
  • Fix field descriptions of GCPChaos #2791
  • Fix real_gettimeofday on arm64 #2849
  • Fix Github Action upload-image #2935
  • Fix JVMChaos to handle the situation that the container which holds the JVM rules has been deleted #2981
  • Fix typo in comments for Chaos API #3109

Security

  • Nothing

[v2.1.8] - 2022-08-30

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fix recover bug when setting force recover to true #3578
  • Uniformly use Enter to add item in LabelField #3580

[2.1.7] - 2022-07-29

Added

  • Add QPS and Burst for Chaos Dashboard Configuration #3476

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Nothing

[2.1.6] - 2022-07-22

Added

  • Add e2e build image cache #3097
  • PhysicalMachineChaos: add recover command in process #3468

Changed

  • Must update CHANGELOG #3181

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fix: find the correct pid by CommName #3336

Security

  • Nothing

[2.1.5] - 2022-04-18

Added

  • Nothing

Changed

  • Migrate e2e tests from self-hosted Jenkins to Github Action #2986
  • Bump minimist from 1.2.5 to 1.2.6 in /ui #3058
  • Specify image tag of build-env and dev-env for each branch #3071
  • Bump toda to v0.2.3 #3131
  • Specify image tag in e2e tests #3147

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fix real_gettimeofday on arm64 #2849
  • Fix Github Action upload-image #2935
  • Fix JVMChaos to handle the situation that the container which holds the JVM rules has been deleted #2981
  • Fix typo in comments for Chaos API #3109

Security

  • Nothing

[2.1.4] - 2022-03-21

Added

  • Add time skew for gettimeofday #2742

Changed

  • Removed docker registry mirror #2797

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fix default value for concurrencyPolicy #2622
  • Enable the webhooks for Schedule and Workflow #2622
  • Fix PhysicalMachineChaos to make it able to create network bandwidth experiment. #2850
  • Fix workflow emit new events after accomplished #2911
  • Fix human unreadable logging timestamp #2808 #2902 #2973
  • Fix default value of percent field in iochaos #3018
  • Fix the unexpected CPU stress for StressChaos with cpu resource limit #3102
  • Fix the bug that create JVMChaos failed in workflow #3156

Security

  • Nothing

[2.1.3] - 2022-01-27

Added

  • Add status "Deleting" for chaos experiments on Chaos Dashboard #2708

Changed

  • Add prefix for identifier of toda and tproxy in bpm #2673
  • Bump toda to v0.2.2 #2747
  • Bump go to 1.17 #2754
  • JVMChaos ignore AgentLoadException when install agent #2701
  • Bump container-runtime to v0.11.0 #2807
  • Bump kubernetes dependencies to v1.23.1 #2807
  • Kill chaos-tproxy while failing to apply config #2672

Fixed

  • Fix wrong field name of PhysicalMachineChaos on Chaos Dashboard #2724
  • Fix field descriptions of GCPChaos #2791
  • Fix chaos experiment "not found" on Chaos Dashboard #2698

[2.1.2] - 2021-12-29

Changed

  • Provide additional print columns for chaos experiments #2526
  • Refactor pkg/time #2570
  • Rename “physic” to “host” on Chaos Dashboard #2645
  • Restructure UI codebase #2590
  • Upgrade UI dependencies #2685
  • Set default selector mode from “one” to “all” #2680
  • Workflow now ordered by creation time #2680
  • Set up codecov for testing coverage reports #2679
  • Speed up e2e tests #2617 #2702

Fixed

  • Fixed: error when using Schedule and PodChaos for injecting PodChaos as a cron job #2618
  • Fixed: chaos-kernel build failure #2693

[2.0.7] - 2022-01-27

Added

  • Add status "Deleting" for chaos experiments on Chaos Dashboard #2708

Changed

  • Add prefix for identifier of toda and tproxy in bpm #2673
  • Kill chaos-tproxy while failing to apply config #2672

Fixed

  • Fix chaos experiment "not found" on Chaos Dashboard #2698
  • Fix field descriptions of GCPChaos #2791

[2.0.6] - 2021-12-29

Changed

  • Provide additional print columns for chaos experiments #2526
  • Remove redundant codes #2704
  • Speed up e2e tests #2617 #2718

Fixed

  • Fixed: error when using Schedule and PodChaos for injecting PodChaos as a cron job #2618
  • Fixed: fail to recover when Chaos CR was deleted before appending finalizers #2624
  • Fixed: chaos-kernel build failure #2693
  • Fixed: Chaos Dashboard panic when creating StressChaos #2655