Tullio Sebastiani
a142f6e7a4
Service hijacking scenario ( #617 )
...
* WIP: service hijacking scenario
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* wip
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* error handling
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
adapted run_raken.py
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* restored config.yaml
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* added funtest
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
test fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fixed test
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fix test
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fixed funtest
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
funtest fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
minor nit
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
added explicit curl method
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
push
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
restored all funtests
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
added mime type test
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fixed pipeline
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
commented unit
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
utf-8
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
test restored
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fix test pipeline
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* documentation
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* krkn-lib 2.1.3
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* added other funtests to main merge to collect coverage
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
---------
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
2024-05-13 10:04:06 +02:00
Tullio Sebastiani
ab98e416a6
Integration of the new pod recovery monitoring strategy implemented in krkn-lib ( #609 )
...
* pod monitoring integration in plugin scenario
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* pod monitoring integration in container scenario
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* removed wait-for-pod step from plugin scenario config files
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* introduced global pod recovery time
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
nit
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* introduced krkn_pod_recovery_time in plugin scenario and removed all the references to wait-for-pods
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* functional test fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* main branch functional test fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
* increased recovery times
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
---------
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
2024-04-23 10:49:01 +02:00
Tullio Sebastiani
fac7c3c6fb
lowered arcaflow log level to error ( #591 )
...
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
2024-03-07 15:32:53 +01:00
Tullio Sebastiani
2e38b8b033
Kubernetes prometheus telemetry + functional tests ( #566 )
...
added comment on the node selector input.yaml
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
2024-02-09 16:38:12 +01:00
Tullio Sebastiani
f801dfce54
functional tests pointing to real scenario config files
...
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
typo
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
app_outage fix
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
typo
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
typo
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
2024-01-18 12:54:39 -05:00
Tullio Sebastiani
aa16cb1bf2
fixed io-hog scenario ( #555 )
...
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
2024-01-17 16:05:35 +01:00
Paige Rubendall
462f93ad87
updating scenarios to have deployers ( #537 )
...
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
2024-01-10 12:06:15 +01:00
Tullio Sebastiani
f2d7f88cb8
Krkn lib prometheus client + kube_burner references removed
...
Signed-off-by: Tullio Sebastiani <tsebasti@redhat.com >
2024-01-09 10:43:32 -05:00
Paige Rubendall
b03511850b
taking out more litmus references
2023-12-03 13:10:52 +05:30
yogananth-subramanian
2111bab9a4
Pod ingress network shaping Chaos scenario
...
The scenario introduces network latency, packet loss, and bandwidth restriction in the Pod's network interface. The purpose of this scenario is to observe faults caused by random variations in the network.
Below example config applies ingress traffic shaping to openshift console.
````
- id: pod_ingress_shaping
config:
namespace: openshift-console # Required - Namespace of the pod to which filter need to be applied.
label_selector: 'component=ui' # Applies traffic shaping to access openshift console.
network_params:
latency: 500ms # Add 500ms latency to ingress traffic from the pod.
````
2023-11-06 23:34:17 -05:00
Tullio Sebastiani
c9778474f1
arcaflow version bump ( #520 )
...
arcaflow version bump
stressng version typo
2023-10-27 18:09:46 +02:00
jtydlack
86d1fda325
Fix container scenario to accept only signal number ( #350 ) ( #485 )
2023-10-24 16:51:48 -04:00
Tullio Sebastiani
f6f686e8fe
fixed io-hog scenario
2023-09-13 09:57:00 -04:00
Sahil Shah
585d519687
Adding Prometheus Disruption Scenario ( #484 )
2023-09-11 11:18:29 -04:00
Dustin Black
2c6b50bcdc
bump arcaflow stressng plugin to 0.3.1 for bug fix
2023-08-24 12:50:28 -04:00
Naga Ravi Chaitanya Elluri
ab84f09448
Use release tags vs latest for kubeconfig arca plugins ( #473 )
2023-08-23 09:59:33 -04:00
Dustin Black
6ace3c952b
update to plugin release stressng:0.3.0 ( #472 )
2023-08-23 09:15:30 -04:00
Naga Ravi Chaitanya Elluri
ef88005985
Use images tagged with a release for hog scenarios
...
This commit switches from using latest images to a specific release
to review changes and update configs before using the latest bits.
2023-08-18 01:47:17 -04:00
yogananth-subramanian
b2b5002f45
Pod egress network shapping Chaos scenario
...
The scenario introduces network latency, packet loss, and bandwidth restriction in the Pod's network interface.
The purpose of this scenario is to observe faults caused by random variations in the network.
Below example config applies egress traffic shaping to openshift console.
````
- id: pod_egress_shaping
config:
namespace: openshift-console # Required - Namespace of the pod to which filter need to be applied.
label_selector: 'component=ui' # Applies traffic shaping to access openshift console.
network_params:
latency: 500ms # Add 500ms latency to egress traffic from the pod.
````
2023-08-08 11:45:03 -04:00
Tullio Sebastiani
72b46f8393
temporarly removed io-hog scenario ( #433 )
...
* temporarly removed io-hog scenario
* removed litmus documentation & config
2023-06-05 11:03:44 -04:00
Tullio Sebastiani
b9c08a45db
extracted the namespace as scenario input ( #419 )
...
fixed sub-workflow and input
Co-authored-by: Naga Ravi Chaitanya Elluri <nelluri@redhat.com >
2023-05-15 18:24:23 +02:00
yogananth-subramanian
8806781a4f
Pod network outage Chaos scenario
...
Pod network outage chaos scenario blocks traffic at pod level irrespective of the network policy used.
With the current network policies, it is not possible to explicitly block ports which are enabled
by allowed network policy rule. This chaos scenario addresses this issue by using OVS flow rules
to block ports related to the pod. It supports OpenShiftSDN and OVNKubernetes based networks.
Below example config blocks access to openshift console.
````
- id: pod_network_outage
config:
namespace: openshift-console
direction:
- ingress
ingress_ports:
- 8443
label_selector: 'component=ui'
````
2023-05-15 10:43:58 -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
Naga Ravi Chaitanya Elluri
1ab94754e3
Add missing parameters supported by container scenarios ( #415 )
...
Also renames retry_wait to expected_recovery_time to make it clear that
the Kraken will exit 1 if the container doesn't recover within the expected
time.
Fixes https://github.com/redhat-chaos/krkn/issues/414
2023-05-05 13:02:07 -04:00
Tullio Sebastiani
3627b5ba88
cpu hog scenario + basic arcaflow documentation ( #391 )
...
typo
typo
updated documentation
fixed workflow map issue
2023-03-15 16:52:20 +01: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
José Castillo Lema
d76ab31155
OCM/ACM integration ( #370 )
...
* OCM support for ManagedClusters
* Updated docs and general adjustments
* Improved docs
* Improved docs2
* Removed io packet import
Signed-off-by: José Castillo Lema <josecastillolema@gmail.com >
* Removed time from imports
Signed-off-by: José Castillo Lema <josecastillolema@gmail.com >
* Removed duplicate logging import
Signed-off-by: José Castillo Lema <josecastillolema@gmail.com >
* Removed sys import
Signed-off-by: José Castillo Lema <josecastillolema@gmail.com >
* Update run.py
Signed-off-by: José Castillo Lema <josecastillolema@gmail.com >
Signed-off-by: José Castillo Lema <josecastillolema@gmail.com >
2023-01-10 08:58:17 -05:00
Paige Rubendall
4035f2724b
Adding wait duration for pods ( #368 )
...
* adding wait duration for pods
* adding kube apiserver with plugin schema
2022-11-18 07:43:26 +05:30
Naga Ravi Chaitanya Elluri
b9d5a7af4d
Use safe loader for Yaml
...
This fixes the security vulnerabilities for example - it raises an
exception when opening a yaml file with code.
Fixes https://github.com/redhat-chaos/krkn/issues/352
2022-11-08 13:35:06 -05:00
Naga Ravi Chaitanya Elluri
9f23699cfa
Document node scenario actions for VMware
...
This commit also updates the id's for the VMware scenarios to be aligned
with other cloud providers.
2022-09-07 11:34:14 -04:00
Sandro Bonazzola
fcc7145b98
post_action_regex: fix log message for list_namespace
...
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com >
2022-09-07 16:48:58 +02:00
Sandro Bonazzola
bce5be9667
make post_action_regex importable
...
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com >
2022-09-07 16:48:58 +02:00
Sandro Bonazzola
0031912000
post_action_regex: avoid redevining variables from outer scope
...
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com >
2022-09-07 16:48:58 +02:00
Sandro Bonazzola
1a1a9c9bfe
pycodestyle fixes: scenarios/openshift/post_action_regex.py
...
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com >
2022-09-07 16:48:58 +02:00
Sandro Bonazzola
d0d289fb7c
update references to github organization
...
Updated references from chaos-kubox to redhat-chaos.
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com >
2022-09-02 14:38:25 +02:00
Shreyas Anantha Ramaprasad
9421a0c2c2
Added support for ingress traffic shaping ( #299 )
...
* Added plugin for ingress network traffic shaping
* Documentation changes
* Minor changes
* Documentation and formatting fixes
* Added trap to sleep infinity command running in containers
* Removed shell injection threat for modprobe commands
* Added docstrings to cerberus functions
* Added checks to prevent shell injection
* Bug fix
2022-09-02 07:54:11 +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
Naga Ravi Chaitanya Elluri
9208f39e06
Add support to run on Kubernetes
...
This commit:
- Leverages distribution flag in the config set by the user to skip
things not supported on OpenShift to be able to run scenarios on
Kubernetes.
- Adds sample config and scenario files that work on Kubernetes.
2022-06-01 07:27:06 -05:00
Paige Rubendall
23d9a26f52
adding namespace deletion using kuberenetes python client
2022-05-26 14:24:36 -05:00
yogananth-subramanian
50dd9873c1
Node egress traffic shaping
...
Patch adds a scenario to create variations in egress traffic of a Node's interface using the tc and Netem.
2021-12-16 12:54:53 -05:00
Paige Rubendall
01f1075eb3
Adding namespace or label selector error; delete_count option
2021-12-08 15:45:25 -05:00
Alejandro Gullón
baa812b7f0
Added new scenario to fill up a given volumen ( #182 )
...
* Added new scenario to fill up a given volumen
* fixing small issues and style
* adding PVC as input param instead of pod name
* small fix
* get container name and volumen name
replace oc with kubectl commands
* adding yaml file to create a pv, pvc and pod to run pvc_scenario
* adding support to match both string for describe command when looking for pod_name
* added support to find the pvc from a given pod
* small fix
* small fix
2021-11-24 12:18:49 -05:00
prubenda
8e0f4e63af
Adding container for pod_exec in time scenarios
2021-11-23 11:33:49 -05:00
Naga Ravi Chaitanya Elluri
f3bbc85dd5
Fix issue with matching labels
...
This commit fixes the issue with application outages scenario where
the pod-selector is not being mapped properly.
2021-10-29 10:45:46 -04:00
Paige Rubendall
87aa9eef4d
Adding multiple node names and instance count for label selectors
2021-10-26 13:44:28 -04: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
Paige Rubendall
22df024312
adding validation that namespace becomes active
2021-09-28 09:58:55 -04:00
Naga Ravi Chaitanya Elluri
f36da323e7
Prioritize filtering on namespace to improve performance
...
This will avoid querying all namespaces for pods matching the label_selector
if defined as shown in the sample scenario config. This commit also prints a
pointer to the report generated at the end of the run.
2021-09-22 15:03:39 -04:00