AmitKumarDas / elitmus

litmus test your kubernetes infrastructure without learning curves
Apache License 2.0
2 stars 2 forks source link
bdd docker e2e kubernetes openebs

Litmus

Litmus test your application without learning curves

Motivation

Testing as they say "can show presence of bugs, and not their absence".

However, we can try to eliminate bugs if we are able to let the stakeholders participate in probing for evidences of bugs. Each stakeholder, be it the developer or the analyst or the product manager or the end user or the tester & so on bring their own set of scenarios that can have a snowball effect in finding bugs that might be hidden deep underneath.

Beliefs

Development

Pre-Requisites

NOTE:

Compile

Build & Push the Docker image

Run

Install provider operator(s)

$ kubectl apply -f tests/openebs/openebs-operator-v0.5.3.yaml
$ kubectl apply -f tests/openebs/openebs-storage-classes-v0.5.3.yaml

Install RBAC policies

$ kubectl apply -f ./hack/rbac.yaml

Test these features

test high availability of minio with openebs as litmus provider implementation

# ensure a multi-node kubernetes cluster
# ensure openebs operator is deployed
sh tests/minio/high_availability/run.sh

# check the results
$ kubectl -n litmus pods -a --selector=test=ha-on-minio
$ kubectl -n litmus logs <job pod name>

# tear down
sh tests/minio/high_availability/teardown.sh

Troubleshooting

Check the job pod logs

$ kubectl get pod -a
$ kubectl logs <recent_pod_that_errored_out>

Analyze via docker run

$ sudo docker run -w /go/src/github.com/AmitKumarDas/litmus/cmd/mysql_resiliency_with_3_reps -it openebs/litmus:latest godog e2e.feature

Appendix

Best Practices