Commit Graph
48 Commits
Author SHA1 Message Date
Naga Ravi Chaitanya Elluri a2c24ab7ed Install latest version of krkn-lib-kubernetes (#446) 2023-06-28 15:21:19 -04:00
Tullio Sebastiani 68dc17bc44 krkn-lib-kubernetes refactoring proposal (#400)
* run_kraken.py updated + renamed kubernetes library folder


unstaged files


kubecli marker

* container scenarios updated

* node scenarios updated


typo


injected kubecli

* managed cluster scenarios updated

* time scenarios updated

* litmus scenarios updated

* cluster scenarios updated

* namespace scenarios updated

* pvc scenarios updated

* network chaos scenarios updated

* common_managed_cluster functions updated

* switched draft library to official one

* regression on rebase
2023-06-13 10:02:35 -04:00
Tullio Sebastiani 83b811bee4 Arcaflow stress-ng hogs with parallelism support (#418)
* 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
2023-05-15 09:45:16 -04:00
Paige Rubendall 16ea18c718 Ibm plugin node scenario (#417)
* Node scenarios for ibmcloud

* adding openshift check info
2023-05-09 12:07:38 -04:00
Tullio Sebastiani 278b2bafd7 Kraken is pointing to a buggy kill-pod plugin implementation (#416) 2023-05-04 18:19:54 +02:00
Naga Ravi Chaitanya Elluri bc863fa01f Add support to check for critical alerts
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
2023-05-03 16:14:13 -04:00
Tullio Sebastiani 82b8df4e85 kill-pod plugin dependency pointing to specific commit
switched to redhat-chaos repo
2023-04-20 08:26:51 -04:00
Tullio SebastianiandTullio Sebastiani fee4f7d2bf arcaflow integration (#384)
arcaflow library version

Co-authored-by: Tullio Sebastiani <tsebasti@redhat.com>
2023-03-08 12:01:03 +01:00
e5f97434d3 Bump werkzeug from 2.0.3 to 2.2.3 (#385)
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.0.3 to 2.2.3.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.0.3...2.2.3)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Naga Ravi Chaitanya Elluri <nelluri@redhat.com>
2023-02-20 14:34:31 -05:00
José Castillo Lema 493a8a245f Docker provider for node actions (#369)
* Docker provider for node actions

* Adjusted dependencies and imports

* Update config_kind.yaml

Signed-off-by: José Castillo Lema <josecastillolema@gmail.com>

Signed-off-by: José Castillo Lema <josecastillolema@gmail.com>
2023-01-10 14:36:18 -05:00
dependabot[bot] bed40b0c6a Bump setuptools from 63.4.1 to 65.5.1
Bumps [setuptools](https://github.com/pypa/setuptools) from 63.4.1 to 65.5.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v63.4.1...v65.5.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 18:42:52 +05:30
Paige Rubendall 3c5c3c5665 Giving more details on configuration (#371)
* givng more details on configuration

* adding few changes
2022-12-08 11:18:42 +05:30
Sandro Bonazzola 1c4a51cbfa refactor: use arcaflow plugin
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
2022-10-18 16:43:33 +02:00
Paige RubendallandSandro Bonazzola da749339f7 Adding scenarios sub folders to container creation (#337)
* adding scenarios sub folders to container creation
* adding req
* trying other package installations
* more specific versions
* removing vsphere
* adding wheel
* put vmware back

Fixes: #335 
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
Co-authored-by: Sandro Bonazzola <sbonazzo@redhat.com>
2022-10-14 09:51:04 +02:00
Sandro Bonazzola 6589e50743 require recent aliyun-python-sdk
reducing the time needed by pip to figure out the version to be
installed.

Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
2022-10-14 08:51:04 +02:00
Sandro Bonazzola 4357ce5386 adjust vmware requirement to latest tag
Require latest tag rather than main branch as main branch is broken.

Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
2022-10-14 08:51:04 +02:00
Sandro Bonazzola 51a2fbd77d automation: add coverage report
Add coverage report for performed tests.

Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
2022-09-13 07:35:58 +02:00
Shreyas Anantha Ramaprasad 08deae63dd Added VMware Node Scenarios (#285)
* Added VMware node scenarios

* Made vmware plugin independent of Krkn

* Revert changes made to node status watch

* Fixed minor documentation changes
2022-08-15 23:35:16 +02:00
Janos Bonic ccd902565e Fixes #265: Replace Powerfulseal and introduce Wolkenwalze SDK for plugin system 2022-08-02 16:25:03 +01:00
Janos Bonic ca7bc3f67b Removing cryptography pinning
Signed-off-by: Janos Bonic <86970079+janosdebugs@users.noreply.github.com>
2022-07-20 13:31:56 -04:00
Janos a01fd70cc7 Workaround for paramiko/paramiko#2038 2022-05-06 09:24:44 -04:00
Sanja Bonic 0b596cdfb0 Revert "Bump Kubernetes python client version (#223)"
This reverts commit ccae2fba1e.
2022-04-12 11:37:29 -04:00
Naga Ravi Chaitanya Elluri ccae2fba1e Bump Kubernetes python client version (#223)
This commit also fixes CVE-2021-29923 in order to improve the security
when running Kraken. For more details, see https://quay.io/repository/openshift-scale/kraken/manifest/sha256:c570794ff1edd58251497fad8eecf9d3ec536707f977f07ac6774849edab30d5?tab=vulnerabilities.
2022-04-12 17:23:45 +02:00
yogananth subramanian d3765f3872 set jinja2 to 3.0.3 and werkzeug to 2.03
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.
2022-04-07 09:52:42 -04:00
Paige Rubendall 7f60701444 adding alibaba node scenario start 2022-04-01 16:46:29 -04:00
yogananth subramanian be6d8fe6d5 Set itsdangerous package to 2.0.1
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
2022-03-24 10:09:43 -04:00
yogananth subramanian d07f956b20 Bump jinja2 version to use latest MarkupSafe
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.
2022-03-02 15:21:29 -05:00
Naga Ravi Chaitanya Elluri cdf3bc03d2 Add support to block traffic to an application
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.
2021-10-01 10:13:40 -04:00
Naga Ravi Chaitanya Elluri b736f87695 Bump Kubernetes python version 2021-09-22 09:26:14 -04:00
Paige Rubendall 8e09e0a61b Adding specific tag version of powerfulseal 2021-09-21 13:49:41 -04:00
Naga Ravi Chaitanya Elluri d7ba19c382 Automate the infrastruture pieces
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.
2021-07-07 15:52:26 -04:00
Jared O'Connellandjaredoconnell 9b83dbcf04 Baremetal Node Support (#74)
* 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>
2021-07-02 17:31:40 -04:00
Amit Sagtani d00d6ec69e Install pre-commit and use GitHub Actions (#94)
* added pre-commit and code-cleaning

* removed tox and TravisCI
2021-05-05 09:53:45 -04:00
Naga Ravi Chaitanya Elluri 93ec3bc14b Fix dependency issues
This commit installs setuptools and tox as part of the requirements.
2021-04-16 08:25:12 -04:00
prubenda c7bb32f633 Adding azure to node scenarios 2021-03-17 17:41:07 -04:00
Pravin Dsilva 918b5fb6d3 Add node level chaos scenarios for bastion node
Signed-off-by: Pravin Dsilva <pravin.d-silva@ibm.com>
2021-02-16 09:04:55 -08:00
Naga Ravi Chaitanya Elluri a7e28ca490 Add support to deploy performance dashboards
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.
2021-02-10 16:06:55 -05:00
arcprabh 8dd18af161 Enable support for Openstack cloud.
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>
2021-02-02 20:47:30 +05:30
prubenda 906244f99d adding kubernetes and oauth2 client to requirements 2020-11-23 15:31:56 -05:00
prubenda 72fe662e05 Adding GCP node scenarios support 2020-11-17 09:57:39 -05:00
Sai Sindhur Malleni 2351026203 Add pyyaml to requirements
Fixes: #51
2020-11-12 16:50:31 -05:00
prubenda 8f5b688fba working on powerfulseal retry logic 2020-09-11 17:08:31 -04:00
Yashashree Suresh 31f06b861a Added node scenarios to stop and terminate instance
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
2020-08-27 16:50:42 -04:00
prubenda c44a1fb8d6 adding updated rc powerfulseal version 2020-07-16 19:36:59 -04:00
prubenda 44e753867f Adding random regex pod kill 2020-07-06 22:00:12 -04:00
prubenda 07db8f4690 Adding updated scenarios for 3.0 powerfulseal version 2020-06-16 15:59:32 -04:00
Naga Ravi Chaitanya Elluri eec52cf613 Containerize kraken
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.
2020-04-27 22:29:15 -04:00
Naga Ravi Chaitanya Elluri 649134e492 Add initial version of kraken
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.
2020-04-20 08:57:00 -04:00