The current implementation just reports the pass/fail when
running the pod scenarios. This commit prints the pod scenarios logs
to stdout to give users the ability to understand the actions run by
powerfulseal under the hood - number of pods matching the filter,
pods picked for killing, post checks etc. This also helps in
debugging when the scenarios fail.
With the current implementation, all the scenarios of specific type
(for example, pod scenario) has to be executed together. All
pod_scenarios are followed by node_scenarios and so on.
(pod_scenarios -> node_scenarios -> pod_scenarios is not possible)
This commit enables the user to run a specific type of scenario
multiple times. For example, few pod_scenarios followed by
node_scenarios followed by few_scenarios.
This commit:
- Converts various sections in the readme into individual documents.
- Adds pointers to the public blogs.
- Updates workflow/architecture diagram.
- Adds community info and contributing guidelines.
This commit:
- Adds a node scenario to stop and start an instance
- Adds a node scenario to terminate an instance
- Adds a node scenario to reboot an instance
- Adds a node scenario to stop the kubelet
- Adds a node scenario to crash the node
This commit adds python linters as it improves the code quality.
Travis CI is enabled to run linters on each PR to make sure it
follows the best practices and doesn't break the tool.
This commit adds support to run the tool as a container on the host
with access to kubeconfig for better portability. The plan is to
trigger regular image builds on quay.io to make sure it has the
latest code.
This commit updates readme with the following:
- Information on how to use the tool.
- Information on adding new scenarios.
- Information on using Cerberus tool for pass/fail.
This commit:
- Adds support to run pod chaos scenarios including killing an etcd,
ApiServer and kube-apiserver using powerfulseal tool.
- Adds support to create a report with the details about each chaos
injection along with timestamps. The report is generated in the
run directory.
- Adds kubernetes package with a bunch of functions which can be
used later to talk to the kubernetes API to be able to know the
status of the targeted components/nodes.