Releases: mayadata-io/chaos-ci-lib
Litmus Chaos v0.2.0
New Features and Enhancements
- Add some new experiments like node level IO experiment, pod autoscaler, pod network duplication experiment.
- Update the chaos-ci-lib according to the lib added in litmus.
- Add support for litmus lib for running experiments in containerd runtime.
- Update helm chart installation and uninstallation of litmus and experiments.
Bug Fixes
- Minor fix on container kill experiment
Run tests
For running test using chaos-ci-lib follow the below mentioned steps:
- Clone chaos-ci-lib repository
git clone https://github.com/mayadata-io/chaos-ci-lib.git
cd chaos-ci-lib
- Deploy a sample nginx application
kubectl apply -f app/nginx.yml
- Install litmus
go test litmus/install-litmus.go -v -count=1
- Run any desired test from test folder
go test test/pod-delete_test.go -v -count=1
- Delete litmus
go test litmus/uninstall-litmus.go -v -count=1
Note: Make sure you have Kubernetes cluster installed in your system.
Litmus Chaos v0.1.1
New Features and Enhancements
-
Ability to run the whole test pkg at once: - To achieve this some enhancement were required:
Removal of BeforeScript function from each test file under test pkg to run the pkg at once. If we run all tests usinggo test ./...
or tests in parallelginkgo -nodes=N
it will give an error that only one BeforeScript can't be used multiple times. SeparatingGetKubeConfig()
from types.go to a new file in pkg clienset.go and Usingcommand := flag.NewFlagSet(os.Args[0], flag.ExitOnError)
in clientset.go so that for running all tests it should not give an error for repeated flags. Also, Moving install litmus and uninstall litmus test to a different pkg will help to remove the dependencies between tests. -
A sample application is added to perform chaos in Github action and other places where this lib is used. The sample application contains the Nginx deployment with three replicas and with some empirical storage.
-
Moving helm into the litmus directory this is required to run a test from a different directory. To support both:
go test <some-dir>/install-litmus_test.go
&
go test install-litmus_test.go
We have made the path of test and script to install chaos experiment unique litmus/helm-install.sh
(path to install helm).
- Add
set -e
to get the error for exit 1.
Chaos CI Lib v0.1.0
Litmus Chaos Experiment CI lib
Litmus CI Lib contains different go BDDs for running a number of litmus chaos experiment that can be further used at remote places. The chaos ci lib can also be used in Litmus Github Actions and Gitlab Remote templates for running chaos experiments against the application pod to check the behavior of application pod under different chaos scenarios.