* kubeconfig management for arcaflow + hogs scenario refactoring
* kubeconfig authentication parsing refactored to support arcaflow kubernetes deployer
* reimplemented all the hog scenarios to allow multiple parallel containers of the same scenarios
(eg. to stress two or more nodes in the same run simultaneously)
* updated documentation
* removed sysbench scenarios
* recovered cpu hogs
* updated requirements.txt
* updated config.yaml
* added gitleaks file for test fixtures
* imported sys and logging
* removed config_arcaflow.yaml
* updated readme
* refactored arcaflow documentation entrypoint
This commit enables users to opt in to check for critical alerts firing
in the cluster post chaos at the end of each scenario. Chaos scenario is
considered as failed if the cluster is unhealthy in which case user can
start debugging to fix and harden respective areas.
Fixes https://github.com/redhat-chaos/krkn/issues/410
Since jinja2 3.1.0, escape need to be imported from MarkupSafe, which conflicts with flask1.x.x, so pining jinja2 to 3.0.3 to work with flask 1.x.x and latest version of werkzeug deprecates BaseResponse hence pining to 2.0.3.
Since import of JSON is deprecated from itsdangerous version 2.1.0 [1], this patch fixes the version to 2.0.1.
By fixing to version, we can avoid the below import error.
Error "from itsdangerous import json as _json ImportError: cannot import name 'json' from 'itsdangerous'"
[1] https://itsdangerous.palletsprojects.com/en/2.1.x/changes/#version-2-1-0
By default a jinja2 version less then 3.0.1 is installed, which raises error "cannot import name 'soft_unicode' from 'markupsafe'".
Using jinja2 3.0.1 or greater avoids this issue.
This commit enables users to simulate a downtime of an application
by blocking the traffic for the specified duration to see how
it/other components communicating with it behave in case of downtime.
This commit:
- Adds support to automate the infrastructure pieces leveraged by Kraken
including Cerberus and Elasticsearch
- Adds a Kraken config that can be used to discover all the infra pieces
automatically without having to tweak the configuration.
* Support for baremtal node scenarious
* Finished baremetal support
* Added documentation for baremetal
* Clarify limitations of implementation in documentation
* Add baremetal support to new run.py file
* Allow use on newer machines
Some older machines require lanplus instead of lan
* Setup to allow per-device user, pass, and bmc address
Also set min version for a dependency
* Fix linting issues
* More linting issue fixes
* More linter issues
* Account for linter standard non-conformity
* Added baremetal warning
Co-authored-by: jaredoconnell <jocnnel@redhat.com>
This commit enables performance monitoring on the cluster when
running Kraken to be able to observe how cluster reacts to failures
as it's important to make sure the cluster is healthy in terms of
both recovery as well as performance.
Signed-off-by: arcprabh <arcprabh@in.ibm.com>
Incorporated first round of review comments
Signed-off-by: arcprabh <arcprabh@in.ibm.com>
Resolve multiple node name issue for single ip
Signed-off-by: arcprabh <arcprabh@in.ibm.com>
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 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:
- 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.