Compare commits
435 Commits
Author | SHA1 | Date |
---|---|---|
|
f4dfe58d78 | |
|
92e2120b9a | |
|
caeb1a389d | |
|
55299cbc7a | |
|
44ddb75e96 | |
|
160f11c322 | |
|
682949e5c2 | |
|
b93ed83cf0 | |
|
13119089c7 | |
|
a26b30e112 | |
|
fe30b73860 | |
|
08d2a6e574 | |
|
625df46807 | |
|
6d0fb711a2 | |
|
19a05d9515 | |
|
d482aa76af | |
|
c7f3d2683c | |
|
e846d97ea3 | |
|
aca9eadce0 | |
|
f993e37cdc | |
|
468dd4c429 | |
|
40891c5517 | |
|
840fa6861b | |
|
71bc8e9848 | |
|
26c87550d7 | |
|
123e7450ef | |
|
3f2c0b0aeb | |
|
fb5c66d451 | |
|
5dc83f77fb | |
|
3a56d69410 | |
|
0488947ce6 | |
|
bd3e240e30 | |
|
ff78e5b029 | |
|
baa27bbad2 | |
|
2cb4a10e69 | |
|
ec90d6e953 | |
|
c01dfc2748 | |
|
294375af2b | |
|
48a0779d8a | |
|
3e1cdecab0 | |
|
a7f7d0fa19 | |
|
dff7caa36a | |
|
ae8467237a | |
|
e4f5d12eb0 | |
|
ca86988004 | |
|
9bf371a651 | |
|
2336656ac6 | |
|
f4b6ab6316 | |
|
df22a472d6 | |
|
a6d3bc647b | |
|
cf3add3950 | |
|
5c54b62c43 | |
|
fa7dc162a7 | |
|
796ebce0ca | |
|
89f495c5ba | |
|
6ae06914d9 | |
|
9577fa100b | |
|
7e8949cd46 | |
|
06d58309df | |
|
f41ae89302 | |
|
6596977c5d | |
|
7c18aeaa13 | |
|
f027f86980 | |
|
42839580a8 | |
|
16ceadeea4 | |
|
86e3e1b239 | |
|
b12cd5037d | |
|
6f3cec8567 | |
|
8b9d124ffe | |
|
91bf895316 | |
|
dfe3053b8b | |
|
01ea15b324 | |
|
25b7168d66 | |
|
c70e2508c6 | |
|
020be97af6 | |
|
5cdee8979e | |
|
201336c71e | |
|
7adf5d35a1 | |
|
15a0ec5d48 | |
|
1b5e4de2a1 | |
|
71fa950c74 | |
|
d360040213 | |
|
fc95d63abb | |
|
e52323b659 | |
|
de27fd9170 | |
|
81d5c4017e | |
|
f7dd546a07 | |
|
eb645f48d5 | |
|
26239d8895 | |
|
d5208bb787 | |
|
abff585e59 | |
|
1f873641ef | |
|
238784bb69 | |
|
7b07fa66dc | |
|
c815fdfaf2 | |
|
ac8c26ce4b | |
|
8d2c4b31e1 | |
|
3f7a059e16 | |
|
ef3b241a78 | |
|
4f5aa335c1 | |
|
fb47a2a2a0 | |
|
22a459827e | |
|
abdb28ccf6 | |
|
e2f369b4ed | |
|
f57218f942 | |
|
abf8d43906 | |
|
d62f2f45e5 | |
|
df552789bd | |
|
127acee8e1 | |
|
b97da2ac4e | |
|
f174f7ab65 | |
|
14c472265f | |
|
aff27bc0ee | |
|
35ba5909eb | |
|
89d99df5e4 | |
|
a1b589657f | |
|
76b7c8b002 | |
|
788acc4acb | |
|
2a60b8c537 | |
|
fa29cf9905 | |
|
ef7595e3b3 | |
|
2ce7eb12b4 | |
|
d41eecd02f | |
|
8e8c3665ab | |
|
1d4cb6c28a | |
|
5494e89a0a | |
|
5ccea872ce | |
|
14f7d7e20f | |
|
11681f7b15 | |
|
2260c8309b | |
|
07253c6d84 | |
|
be89e34763 | |
|
065e962561 | |
|
caa258cfe2 | |
|
e808bfcbc0 | |
|
a2faee68a1 | |
|
caa71e7a56 | |
|
b27f3eadd8 | |
|
8d3c5eb57e | |
|
15a1c4355f | |
|
755110178f | |
|
4b97e39544 | |
|
5b9c5a4681 | |
|
83f182ef40 | |
|
7a65033b80 | |
|
c808dfc90b | |
|
844a1453ee | |
|
b3e542499f | |
|
a5af71f24a | |
|
b170f84c4d | |
|
6c9b0b889f | |
|
be80d8025a | |
|
00570a79dc | |
|
2c87b79afb | |
|
bd278ef948 | |
|
4b8e224c04 | |
|
edec972e3e | |
|
78ebbcc774 | |
|
f9bed80c79 | |
|
32f2d43146 | |
|
40f6b75965 | |
|
82dbc6f955 | |
|
ae5e6e34a1 | |
|
7524892603 | |
|
324f7734b1 | |
|
9612693c55 | |
|
94061395c8 | |
|
eadc6aa135 | |
|
a3b9118972 | |
|
a9c07c7fd6 | |
|
f024ca968a | |
|
84edb9666c | |
|
29476c9d36 | |
|
cb425d8522 | |
|
de46820cdb | |
|
aef7d97c23 | |
|
1ba09eb4b7 | |
|
cf3296e110 | |
|
4b6892b628 | |
|
d28af2de09 | |
|
d7ffc9b445 | |
|
9f98d25199 | |
|
d02ba61ba9 | |
|
2648198ed9 | |
|
42285cbfc2 | |
|
204814e945 | |
|
27e362482c | |
|
19db35022b | |
|
c9a37f4a3d | |
|
c6dafaa31a | |
|
dd872759aa | |
|
579aeb0356 | |
|
f2f6564f61 | |
|
da9e3c7c2f | |
|
04d0e98358 | |
|
5559e467f5 | |
|
cf76d04a57 | |
|
02431f01b5 | |
|
eb35a20834 | |
|
8a90c74b44 | |
|
75b0e5e8ef | |
|
3575803f51 | |
|
8378a1b843 | |
|
a6c77ce30b | |
|
6fd03fdc44 | |
|
b59914768f | |
|
bf44a78565 | |
|
ea6e7b427e | |
|
402748a241 | |
|
8ec5ea3605 | |
|
6641a0897d | |
|
eedfedcd94 | |
|
5698eda18d | |
|
443e010fd2 | |
|
cae35a7d1e | |
|
7b7cba0f70 | |
|
df11ea13fe | |
|
7d4f722e19 | |
|
d1cd94da87 | |
|
14c0c95ee9 | |
|
edcfa96b79 | |
|
7a641456d7 | |
|
122d106026 | |
|
dfb9587f8e | |
|
5ad91f42cd | |
|
b4ac287994 | |
|
16dc9ea6d5 | |
|
a5be9fb27c | |
|
ee60d03cfd | |
|
7a9c0c5bf0 | |
|
7f2f57cb33 | |
|
64dce8553f | |
|
cbf68efe9a | |
|
656872e964 | |
|
05635f2ff8 | |
|
8e035f0c23 | |
|
60dd681c31 | |
|
85b8995345 | |
|
38fad9e732 | |
|
16307c6b18 | |
|
29f0d18632 | |
|
ca568bf209 | |
|
1104250e43 | |
|
6ced128ee5 | |
|
8e69a7e196 | |
|
558f02a3c8 | |
|
39d3319894 | |
|
467dbc8e42 | |
|
5a5e386de0 | |
|
8eec20a1a6 | |
|
beda9b8dcd | |
|
4801dd124a | |
|
2e5eddc68f | |
|
6d478514a5 | |
|
b746c78640 | |
|
c6173f3b6b | |
|
c73bd79bc0 | |
|
66a4f0391c | |
|
7ff25a13bf | |
|
546a47758a | |
|
0b316a90c0 | |
|
44752414ea | |
|
f8961a5a75 | |
|
cf773ce392 | |
|
e0578bd580 | |
|
7b02259913 | |
|
12ac9fb80b | |
|
42cb2fa965 | |
|
e8a570ab25 | |
|
7fc3b067c5 | |
|
8b2615897c | |
|
29e6aae411 | |
|
6b2b7038e5 | |
|
01d74f6753 | |
|
cb880805e0 | |
|
f755288330 | |
|
356f704b51 | |
|
784c3c954d | |
|
fd2b90b3ab | |
|
c8bc22d68e | |
|
81bf04fe16 | |
|
12918f7a82 | |
|
880304856d | |
|
f44ec4ce69 | |
|
3e77c63312 | |
|
031a41d9bf | |
|
beb4b00aa5 | |
|
5e1ab3310d | |
|
1d07710a94 | |
|
4ba276cfbf | |
|
3f2fcd6197 | |
|
2f4e7e3b88 | |
|
0d91debef4 | |
|
e37962fd84 | |
|
c7e7a411c2 | |
|
e5c16d5aaa | |
|
4bc9fc3435 | |
|
cc72cae1b9 | |
|
2df1f674a3 | |
|
aaddf565be | |
|
823dbdce26 | |
|
f1373a3232 | |
|
38a571521e | |
|
a28501ead5 | |
|
3985859250 | |
|
dc1d0812ba | |
|
6a70da5f89 | |
|
a0f19878a3 | |
|
0a552fca6c | |
|
fad6474808 | |
|
a7c4e90d33 | |
|
3082b09589 | |
|
f765b7438c | |
|
59a9726e7f | |
|
56f95eeb42 | |
|
bdb626f617 | |
|
b98c25a150 | |
|
7069de857f | |
|
b7179d2d22 | |
|
544e800d53 | |
|
4d55bf1fa7 | |
|
9f4da08b86 | |
|
b5f3527ff4 | |
|
d045169ac8 | |
|
4063c7cf63 | |
|
39e7cbd19f | |
|
12e3f2fabf | |
|
aa5e3d9c32 | |
|
71b718cd2a | |
|
4a9f816799 | |
|
7a15f91aa8 | |
|
6c3f62f7c8 | |
|
2ffcb7ef04 | |
|
3e61bfbefe | |
|
199056cbad | |
|
81cf280169 | |
|
983ae3e35e | |
|
1e86227a6f | |
|
2090ccfdff | |
|
8fa510c93c | |
|
218ed3a658 | |
|
5705ef61d6 | |
|
dfdf15090f | |
|
3ddb4b173a | |
|
615f58dfe9 | |
|
ab7e638a68 | |
|
24558b0493 | |
|
210930c11b | |
|
e5066f98a0 | |
|
31f23fbe54 | |
|
b376c225fe | |
|
090daaf9b8 | |
|
3dfbecaed7 | |
|
cbfb84fb04 | |
|
97802976d8 | |
|
f7e7662633 | |
|
82c8194444 | |
|
a4685af005 | |
|
e17f0b9dd3 | |
|
2026552598 | |
|
5160bfc61e | |
|
6cd57dc2a3 | |
|
8d3350f86c | |
|
2ffc396faf | |
|
9c28b971e5 | |
|
b2a82c18ba | |
|
16e912c054 | |
|
bd6c48dfdd | |
|
b90561aab4 | |
|
d349658564 | |
|
bcaafdb134 | |
|
d7485ded6c | |
|
33680ce868 | |
|
3e50e15497 | |
|
7526cdb529 | |
|
573284b31d | |
|
ff39fbff89 | |
|
5950a2d11e | |
|
9847a5d13d | |
|
0ebcb6ad81 | |
|
7e62c050e8 | |
|
fbbc16c2a3 | |
|
e4068f6fc0 | |
|
2fb1c27c89 | |
|
c61a89a4a8 | |
|
cc6fc618b2 | |
|
da55c113d6 | |
|
dbae2325f4 | |
|
e3d5228bef | |
|
c675f576ac | |
|
2575334f96 | |
|
4bfa98b2da | |
|
5f03ce9828 | |
|
174bd30c68 | |
|
c78e6668bc | |
|
baaddada84 | |
|
6ebfd3057e | |
|
eb5a49065a | |
|
b5dbc57d02 | |
|
d4839b2379 | |
|
7e853569ff | |
|
be4058198a | |
|
0681926210 | |
|
72d78f2d3d | |
|
9a353c39a4 | |
|
c0bfcb2e9b | |
|
f0d6cab67e | |
|
1b60cdfa8e | |
|
2db5ea3a88 | |
|
903e5accb9 | |
|
e17ee97788 | |
|
14581f5fdb | |
|
133281e288 | |
|
9c7b9f653b | |
|
30e757e9bb | |
|
90518ed0de | |
|
645013310f | |
|
b24c6d7631 | |
|
52615cb691 | |
|
2af0f7c458 | |
|
d73a4190f8 | |
|
45c7e8db80 | |
|
f3bc378a45 | |
|
e6ac88bdab | |
|
9f50ce42dc | |
|
869e0d90bb | |
|
1b7ca2ea2f | |
|
1965bf5e41 | |
|
f41e0d5ff2 | |
|
b45c197ab5 | |
|
d99013da7d | |
|
d783efb1dc | |
|
bd844dd901 | |
|
831bf8dba8 | |
|
a4ab5551c4 |
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
# This workflow will combine the experiment CRs for different
|
||||
# Categories of experiments into the experiment.yaml in respective
|
||||
# Chart directory. It will only build and not push the changes.
|
||||
|
||||
name: ChaosCharts
|
||||
on:
|
||||
pull_request:
|
||||
types: [ opened, synchronize, reopened ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
# Install golang
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: '1.14'
|
||||
|
||||
# Setup gopath
|
||||
- name: Setting up GOPATH
|
||||
run: |
|
||||
echo "GOPATH=${GITHUB_WORKSPACE}/go" >> $GITHUB_ENV
|
||||
|
||||
# Checkout to the latest commit
|
||||
# On specific directory/path
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
path: go/src/github.com/${{github.repository}}
|
||||
|
||||
# Combine the experiment CRs
|
||||
- name: Combine experiment CR
|
||||
run: |
|
||||
export PATH=$PATH:$(go env GOPATH)/bin
|
||||
cd ${GOPATH}/src/github.com/${{github.repository}}
|
||||
make combineExpCR
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
# This workflow will combine the experiment CRs for different
|
||||
# Categories of experiments into the experiment.yaml in respective
|
||||
# Chart directory and push the changes.
|
||||
|
||||
name: ChaosCharts
|
||||
on: [ push ]
|
||||
|
||||
jobs:
|
||||
push:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'litmuschaos/chaos-charts'
|
||||
steps:
|
||||
|
||||
# Install golang
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: '1.14'
|
||||
|
||||
# Setup gopath
|
||||
- name: Setting up GOPATH
|
||||
run: |
|
||||
echo "GOPATH=${GITHUB_WORKSPACE}/go" >> $GITHUB_ENV
|
||||
|
||||
# Checkout to the latest commit
|
||||
# On specific directory/path
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
path: go/src/github.com/${{github.repository}}
|
||||
token: ${{ secrets.ADMIN_TOKEN }}
|
||||
|
||||
# Combine the experiment CRs
|
||||
- name: Combine experiment CR
|
||||
run: |
|
||||
export PATH=$PATH:$(go env GOPATH)/bin
|
||||
cd ${GOPATH}/src/github.com/${{github.repository}}
|
||||
make combineExpCR
|
||||
|
||||
# Commit and push the changes from the chart directory
|
||||
- name: Commit and Push the changes
|
||||
run: |
|
||||
cd ${GOPATH}/src/github.com/${{github.repository}}
|
||||
make push
|
|
@ -0,0 +1,45 @@
|
|||
# The CI will create a release branch
|
||||
# with CR updated with release tag
|
||||
|
||||
# The workflow will trigger when a release tag is created
|
||||
name: ChaosCharts-Release
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
logLevel:
|
||||
description: 'Log level'
|
||||
required: true
|
||||
default: 'warning'
|
||||
tags:
|
||||
description: 'Test scenario tags'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# It will checkout to the relase branch provided in the secret
|
||||
- name: Checkout to release branch
|
||||
run: |
|
||||
git config --local user.email "litmuschaos@gmail.com"
|
||||
git config --local user.name "LitmusChaos"
|
||||
git checkout -b ${{ secrets.RELEASE_BRANCH }}
|
||||
|
||||
# It will update the image tag as provided in the secret
|
||||
- name: Update the chaos-charts version
|
||||
run: |
|
||||
find charts -type f -exec sed -i 's/\:latest/\:${{ secrets.RELEASE_VERSION }}/g' {} \;
|
||||
|
||||
- name: Commit files
|
||||
run: |
|
||||
git add .
|
||||
git commit -s -m "New Release ${{ secrets.RELEASE_VERSION }}"
|
||||
|
||||
# It will push the changes in realse branch
|
||||
- name: Push changes
|
||||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: ${{ secrets.RELEASE_BRANCH }}
|
|
@ -0,0 +1,215 @@
|
|||
# Created by https://www.toptal.com/developers/gitignore/api/git,visualstudiocode,goland+all,jetbrains+all,macos
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=git,visualstudiocode,goland+all,jetbrains+all,macos
|
||||
|
||||
### Git ###
|
||||
# Created by git for backups. To disable backups in Git:
|
||||
# $ git config --global mergetool.keepBackup false
|
||||
*.orig
|
||||
|
||||
# Created by git when using merge tools for conflicts
|
||||
*.BACKUP.*
|
||||
*.BASE.*
|
||||
*.LOCAL.*
|
||||
*.REMOTE.*
|
||||
*_BACKUP_*.txt
|
||||
*_BASE_*.txt
|
||||
*_LOCAL_*.txt
|
||||
*_REMOTE_*.txt
|
||||
|
||||
### GoLand+all ###
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# AWS User-specific
|
||||
.idea/**/aws.xml
|
||||
|
||||
# Generated files
|
||||
.idea/**/contentModel.xml
|
||||
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/artifacts
|
||||
# .idea/compiler.xml
|
||||
# .idea/jarRepositories.xml
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
# *.iml
|
||||
# *.ipr
|
||||
|
||||
# CMake
|
||||
cmake-build-*/
|
||||
|
||||
# Mongo Explorer plugin
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
# File-based project format
|
||||
*.iws
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# SonarLint plugin
|
||||
.idea/sonarlint/
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
.idea/caches/build_file_checksums.ser
|
||||
|
||||
### GoLand+all Patch ###
|
||||
# Ignore everything but code style settings and run configurations
|
||||
# that are supposed to be shared within teams.
|
||||
|
||||
.idea/*
|
||||
|
||||
!.idea/codeStyles
|
||||
!.idea/runConfigurations
|
||||
|
||||
### JetBrains+all ###
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
|
||||
# AWS User-specific
|
||||
|
||||
# Generated files
|
||||
|
||||
# Sensitive or high-churn files
|
||||
|
||||
# Gradle
|
||||
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/artifacts
|
||||
# .idea/compiler.xml
|
||||
# .idea/jarRepositories.xml
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
# *.iml
|
||||
# *.ipr
|
||||
|
||||
# CMake
|
||||
|
||||
# Mongo Explorer plugin
|
||||
|
||||
# File-based project format
|
||||
|
||||
# IntelliJ
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
|
||||
# JIRA plugin
|
||||
|
||||
# Cursive Clojure plugin
|
||||
|
||||
# SonarLint plugin
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
|
||||
# Editor-based Rest Client
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
|
||||
### JetBrains+all Patch ###
|
||||
# Ignore everything but code style settings and run configurations
|
||||
# that are supposed to be shared within teams.
|
||||
|
||||
|
||||
|
||||
### macOS ###
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
### macOS Patch ###
|
||||
# iCloud generated files
|
||||
*.icloud
|
||||
|
||||
### VisualStudioCode ###
|
||||
.vscode/
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
!.vscode/*.code-snippets
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
.history/
|
||||
|
||||
# Built Visual Studio Code Extensions
|
||||
*.vsix
|
||||
|
||||
### VisualStudioCode Patch ###
|
||||
# Ignore all local history of files
|
||||
.history
|
||||
.ionide
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/git,visualstudiocode,goland+all,jetbrains+all,macos
|
10
.travis.yml
|
@ -1,10 +0,0 @@
|
|||
dist: xenial # ubuntu 16.04 distro
|
||||
script:
|
||||
# Install dependencies
|
||||
- make deps
|
||||
# It will ignore if travis ci committed, else works as it is.
|
||||
- author=`git log -1 --pretty=format:'%an'` && if [[ "$author" != "Travis CI" ]]; then make versionmaker; fi
|
||||
- make combineExpCR
|
||||
after_success:
|
||||
# runs only when PR is merged and push the version file to master version
|
||||
- if [[ $TRAVIS_PULL_REQUEST == 'false' ]]; then make push; fi
|
|
@ -6,5 +6,37 @@ contributions. This repository is the canonical source for the chaos charts that
|
|||
Chaos Charts are a groups of categorized chaos experiments, represented as custom resource definitions that can be executed by the
|
||||
[Litmus Chaos Operator](https://github.com/litmuschaos/chaos-operator). We would love to see your charts added to the list of community-charts.
|
||||
|
||||
To get started, refer the [developer guide](https://github.com/litmuschaos/litmus/tree/master/contribute/developer_guide)
|
||||
## Categories In Charts
|
||||
|
||||
- <b>Generic</b>: It contains chaos to disrupt state of kubernetes resources. i.e, pod-delete
|
||||
- <b>OpenEBS</b>: It contains chaos to disrupt state of OpenEBS control/date plane components. i.e, openebs-target-failure
|
||||
- <b>Coredns</b>: It contains chaos to disrupt state of Coredns pod. i.e, coredns-pod-delete
|
||||
- <b>Kube-AWS</b>: It contains chaos to disrupt state of AWS resources running part of the kubernetes cluster. i.e, ebs-loss
|
||||
- <b>Kube-Components</b>: It contains chaos to disrupt the state of kubernetes components. i.e, k8-kube-proxy.
|
||||
|
||||
## Components/Files Of A Category
|
||||
- <b>experiments.yaml</b>: It contains combined/concatenated experiments CRs present inside that category.
|
||||
- <b><</b><b>category</b><b>>-chartserviceversion.yaml</b>: It contains all the metadata of the category, which is rendered in ChaosHub.
|
||||
- <b><</b><b>category</b><b>>.package.yaml</b>: It contains list of all experiments present in that category.
|
||||
- <b>icons</b>: `icons` directory contains category icon and icons of all experiments present inside that category. The name of the icon file should follow this `<exp-name>.png` convention.
|
||||
|
||||
## Components/Files Of A Experiment
|
||||
- <b>engine.yaml</b>: It contains ChaosEngine CR manifest of the experiment.
|
||||
- <b>experiment.yaml</b>: It contains ChaosExperiment CR manifest of the experiment.
|
||||
- <b>rbac.yaml</b>: It contains RBAC(serviceAccount, Role/ClusterRole, RoleBinding/ClusterRoleBinding) manifest of the experiment.
|
||||
- <b><</b><b>exp-name</b><b>>-chartserviceversion.yaml</b>: It contains all the metadata of the experiment, which is rendered in ChaosHub.
|
||||
|
||||
|
||||
## Raising PR For New Experiment
|
||||
|
||||
- It should contains all the required file for experiment(engine.yaml, experiment.yaml, rbac.yaml, <exp-name>-chartserviceversion.yaml). For more details [refer](https://github.com/litmuschaos/chaos-charts/blob/master/CONTRIBUTING.md#componentsfiles-of-a-experiment).
|
||||
|
||||
- If the experiment belongs to an existing category then add an entry for the experiment in `<category.package.yaml>` and `<category.chartserviceversion.yaml>`. Add the icon for the experiment in `<category/icons>` directory. The name of the icon should be `<exp-name.png>`.
|
||||
|
||||
- If the experiment belongs to a new category then Create all the required files for the category and add the entries. For more details [refer](https://github.com/litmuschaos/chaos-charts/blob/master/CONTRIBUTING.md#componentsfiles-of-a-category)
|
||||
|
||||
|
||||
<strong>Notes:</strong> The name of directories/files should follow the same naming convention prescribed above for [experiment](https://github.com/litmuschaos/chaos-charts/blob/master/CONTRIBUTING.md#componentsfiles-of-a-experiment) and [category](https://github.com/litmuschaos/chaos-charts/blob/master/CONTRIBUTING.md#componentsfiles-of-a-category).
|
||||
|
||||
|
||||
To get started, refer to the [developer guide](https://github.com/litmuschaos/litmus-go/tree/master/contribute/developer-guide)
|
||||
|
|
7
Makefile
|
@ -17,12 +17,7 @@ versionmaker:
|
|||
.PHONY: combineExpCR
|
||||
combineExpCR:
|
||||
@echo "--------Combining Experiments CR-------"
|
||||
bash ./scripts/combine_all_cr.sh
|
||||
|
||||
.PHONY: combineExpCR
|
||||
combineExpCR:
|
||||
@echo "--------Combining Experiments CR-------"
|
||||
bash ./scripts/combine_all_cr.sh
|
||||
@cd scripts && go run ./combine-all-crs.go
|
||||
|
||||
.PHONY: push
|
||||
push:
|
||||
|
|
210
README.md
|
@ -1,34 +1,218 @@
|
|||
# Chaos-Charts
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Flitmuschaos%2Fchaos-charts?ref=badge_shield)
|
||||
[](https://slack.litmuschaos.io)
|
||||

|
||||
[](https://hub.docker.com/r/litmuschaos/go-runner)
|
||||
[](https://github.com/litmuschaos/chaos-charts/issues)
|
||||
[](https://twitter.com/LitmusChaos)
|
||||
[](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw)
|
||||
<br><br>
|
||||
|
||||
This repository hosts the Litmus Chaos Charts.
|
||||
This repository hosts the Litmus Chaos Charts. A set of related chaos faults are bundled into a Chaos Chart. Chaos Charts are classified into the following categories.
|
||||
|
||||
## Installation Steps for Chart Releases
|
||||
- [Kubernetes Chaos](#kubernetes-chaos)
|
||||
- [Application Chaos](#application-chaos)
|
||||
- [Platform Chaos](#platform-chaos)
|
||||
|
||||
*Note: Supported from release 1.1.0*
|
||||
### Kubernetes Chaos
|
||||
|
||||
- To install the chaos experiments from a specific chart for a given release, execute the following commands
|
||||
Chaos faults that apply to Kubernetes resources are classified in this category. Following chaos faults are supported for Kubernetes:
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th> Fault Name </th>
|
||||
<th> Description </th>
|
||||
<th> Link </th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Container Kill </td>
|
||||
<td> Kill one container in the application pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/container-kill"> container-kill </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Disk Fill </td>
|
||||
<td> Fill the Ephemeral Storage of the Pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/disk-fill"> disk-fill </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Docker Service Kill </td>
|
||||
<td> Kill docker service of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/docker-service-kill"> docker-service-kill </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Kubelet Service Kill </td>
|
||||
<td> Kill kubelet service of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/kubelet-service-kill"> kubelet-service-kill </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node CPU Hog </td>
|
||||
<td> Stress the cpu of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-cpu-hog"> node-cpu-hog </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node Drain </td>
|
||||
<td> Drain the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-drain"> node-drain </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node IO Stress </td>
|
||||
<td> Stress the IO of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-io-stress"> node-io-stress </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node Memory Hog </td>
|
||||
<td> Stress the memory of the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-memory-hog"> node-memory-hog </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node Restart </td>
|
||||
<td> Restart the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-restart"> node-restart </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Node Taint </td>
|
||||
<td> Taint the target node </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/node-taint"> node-taint </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Autoscaler </td>
|
||||
<td> Scale the replicas of the target application </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-autoscaler"> pod-autoscaler </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod CPU Hog </td>
|
||||
<td> Stress the CPU of the target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-cpu-hog"> pod-cpu-hog </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Delete </td>
|
||||
<td> Delete the target pods </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-delete"> pod-delete </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod DNS Spoof </td>
|
||||
<td> Spoof dns requests to desired target hostnames </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-dns-spoof"> pod-dns-spoof </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod DNS Error </td>
|
||||
<td> Error the dns requests of the target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-dns-error"> pod-dns-error </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod IO Stress </td>
|
||||
<td> Stress the IO of the target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-io-stress"> pod-io-stress </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Memory Hog </td>
|
||||
<td> Stress the memory of the target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-memory-hog"> pod-memory-hog </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Latency </td>
|
||||
<td> Induce the network latency in target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-latency"> pod-network-latency </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Corruption </td>
|
||||
<td> Induce the network packet corruption in target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-corruption"> pod-network-corruption </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Duplication </td>
|
||||
<td> Induce the network packet duplication in target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-duplication"> pod-network-duplication </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Loss </td>
|
||||
<td> Induce the network loss in target pod </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-loss"> pod-network-loss </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Pod Network Partition </td>
|
||||
<td> Disrupt network connectivity to kubernetes pods </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/kubernetes/pod-network-partition"> pod-network-partition </a></td>
|
||||
<tr>
|
||||
</table>
|
||||
|
||||
### Application Chaos
|
||||
|
||||
While chaos faults under the Kubernetes category offer the ability to induce chaos into Kubernetes resources, it is difficult to analyze and conclude if the induced chaos found a weakness in a given application. The application specific chaos faults are built with some checks on *pre-conditions* and some expected outcomes after the chaos injection. The result of the chaos faults is determined by matching the outcome with the expected outcome.
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th> Fault Category </th>
|
||||
<th> Description </th>
|
||||
<th> Link </th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Spring Boot Faults </td>
|
||||
<td> Injects faults in Spring Boot applications </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/spring-boot"> Spring Boot Faults</a></td>
|
||||
<tr>
|
||||
</table>
|
||||
|
||||
### Platform Chaos
|
||||
|
||||
Chaos faults that inject chaos into the platform and infrastructure resources are classified into this category. Management of platform resources vary significantly from each other, Chaos Charts may be maintained separately for each platform (For example: AWS, GCP, Azure, VMWare etc.)
|
||||
|
||||
Following chaos faults are classified in this category:
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th> Fault Category </th>
|
||||
<th> Description </th>
|
||||
<th> Link </th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> AWS Faults </td>
|
||||
<td> AWS Platform specific chaos </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/aws"> AWS Faults </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> Azure Faults </td>
|
||||
<td> Azure Platform specific chaos </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/azure"> Azure Faults </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> GCP Faults </td>
|
||||
<td> GCP Platform specific chaos </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/gcp"> GCP Faults </a></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td> VMWare Faults </td>
|
||||
<td> VMWare Platform specific chaos </td>
|
||||
<td> <a href="https://github.com/litmuschaos/chaos-charts/tree/master/faults/vmware"> VMWare Faults </a></td>
|
||||
<tr>
|
||||
</table>
|
||||
|
||||
|
||||
## Installation Steps for Chart Releases
|
||||
|
||||
*Note: Supported from release 3.0.0*
|
||||
|
||||
- To install the chaos faults from a specific chart for a given release, execute the following commands
|
||||
with the desired `<release_version>`, `<chart_name>` & `<namespace>`
|
||||
|
||||
```bash
|
||||
## downloads and unzips the released source
|
||||
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/<release_version>.tar.gz)
|
||||
|
||||
## installs the chaosexperiment resources
|
||||
## installs the chaosexperiment resources
|
||||
find chaos-charts-<release_version> -name experiments.yaml | grep <chart-name> | xargs kubectl apply -n <namespace> -f
|
||||
```
|
||||
- For example, to install the *generic* experiment chart bundle for release *1.1.0*, in the *sock-shop* namespace, run:
|
||||
```
|
||||
- For example, to install the *Kubernetes* fault chart bundle for release *3.0.0*, in the *sock-shop* namespace, run:
|
||||
|
||||
```bash
|
||||
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/1.1.0.tar.gz)
|
||||
find chaos-charts-1.1.0 -name experiments.yaml | grep generic | xargs kubectl apply -n sock-shop -f
|
||||
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/3.0.0.tar.gz)
|
||||
find chaos-charts-3.0.0 -name experiments.yaml | grep kubernetes | xargs kubectl apply -n sock-shop -f
|
||||
```
|
||||
|
||||
- If you would like to install a specific experiment, replace the `experiments.yaml` in the above command with the relative
|
||||
path of the experiment manifest within the parent chart. For example, to install only the *pod-delete* experiment, run:
|
||||
- If you would like to install a specific fault, replace the `experiments.yaml` in the above command with the relative path of the fault manifest within the parent chart. For example, to install only the *pod-delete* fault, run:
|
||||
|
||||
```bash
|
||||
find chaos-charts-1.1.0 -name experiment.yaml | grep 'generic/pod-delete' | xargs kubectl apply -n sock-shop -f
|
||||
find chaos-charts-3.0.0 -name fault.yaml | grep 'kubernetes/pod-delete' | xargs kubectl apply -n sock-shop -f
|
||||
```
|
||||
|
||||
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-04-14T10:28:08Z
|
||||
name: cassandra-pod-delete
|
||||
version: 0.1.2
|
||||
annotations:
|
||||
categories: Cassandra
|
||||
vendor: CNCF
|
||||
support: https://cassandra-slack.herokuapp.com
|
||||
spec:
|
||||
displayName: cassandra-pod-delete
|
||||
categoryDescription: |
|
||||
This experiment causes (forced/graceful) pod failure of random replicas of an cassandra statefulset.
|
||||
It tests statefulset sanity (replica availability & uninterrupted service) and recovery workflows of the cassandra pod
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Cassandra
|
||||
- Pod
|
||||
platforms:
|
||||
- GKE
|
||||
- Konvoy
|
||||
- Packet(Kubeadm)
|
||||
- Minikube
|
||||
- EKS
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Shubham Chaudhary
|
||||
email: shubham.chaudhary@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/cassandra/pod_delete
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/cassandra-pod-delete/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/cassandra-pod-delete/experiment.yaml
|
|
@ -1,57 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: cassandra-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=cassandra'
|
||||
appkind: 'statefulset'
|
||||
# It can be true/false
|
||||
annotationCheck: 'true'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
chaosServiceAccount: cassandra-pod-delete-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: cassandra-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
# set chaos interval (in sec) as desired
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '15'
|
||||
|
||||
# pod failures without '--force' & default terminationGracePeriodSeconds
|
||||
- name: FORCE
|
||||
value: 'false'
|
||||
|
||||
# provide cassandra service name
|
||||
# default service: cassandra
|
||||
- name: CASSANDRA_SVC_NAME
|
||||
value: 'cassandra'
|
||||
|
||||
# provide the keyspace replication factor
|
||||
- name: KEYSPACE_REPLICATION_FACTOR
|
||||
value: '3'
|
||||
|
||||
# provide cassandra port
|
||||
# default port: 9042
|
||||
- name: CASSANDRA_PORT
|
||||
value: '9042'
|
||||
|
||||
# SET THE CASSANDRA_LIVENESS_CHECK
|
||||
# IT CAN BE `enabled` OR `disabled`
|
||||
- name: CASSANDRA_LIVENESS_CHECK
|
||||
value: ''
|
||||
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a casandra statefulset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: cassandra-pod-delete
|
||||
version: 0.1.3
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "deployments"
|
||||
- "statefulsets"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "pods/exec"
|
||||
- "services"
|
||||
- "events"
|
||||
- "configmaps"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/cassandra/pod-delete/pod_delete_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
# provide cassandra service name
|
||||
# default service: cassandra
|
||||
- name: CASSANDRA_SVC_NAME
|
||||
value: ''
|
||||
|
||||
# provide the keyspace replication factor
|
||||
- name: KEYSPACE_REPLICATION_FACTOR
|
||||
value: ''
|
||||
|
||||
# provide cassandra port
|
||||
# default port: 9042
|
||||
- name: CASSANDRA_PORT
|
||||
value: ''
|
||||
|
||||
# provide liveness deployement port
|
||||
# default port: 8088, It only supports 8088 port
|
||||
- name: LIVENESS_SVC_PORT
|
||||
value: '8088'
|
||||
|
||||
# provide cassandra liveness image
|
||||
- name: CASSANDRA_LIVENESS_IMAGE
|
||||
value: 'litmuschaos/cassandra-client:latest'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '15'
|
||||
|
||||
# SET THE CASSANDRA_LIVENESS_CHECK
|
||||
# IT CAN BE `enabled` OR `disabled`
|
||||
- name: CASSANDRA_LIVENESS_CHECK
|
||||
value: ''
|
||||
|
||||
## Period to wait before injection of chaos
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# provide the kill count
|
||||
- name: KILL_COUNT
|
||||
value: ''
|
||||
|
||||
- name: FORCE
|
||||
value: ''
|
||||
|
||||
## env var that describes the library used to execute the chaos
|
||||
## default: litmus. Supported values: litmus, powerfulseal
|
||||
- name: LIB
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: cassandra-pod-delete
|
|
@ -1,38 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: cassandra-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: cassandra-pod-delete-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: cassandra-pod-delete-sa
|
||||
labels:
|
||||
name: cassandra-pod-delete-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","deployments","statefulsets","pods/log","pods/exec","services","events","jobs","configmaps","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: cassandra-pod-delete-sa
|
||||
labels:
|
||||
name: cassandra-pod-delete-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: cassandra-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: cassandra-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: cassandra-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: cassandra-pod-delete-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: cassandra-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: cassandra-pod-delete-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","deployments","statefulsets","services","pods/log","pods/exec","events","jobs","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: cassandra-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: cassandra-pod-delete-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: cassandra-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: cassandra-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-04-14T10:28:08Z
|
||||
name: cassandra
|
||||
version: 0.1.3
|
||||
annotations:
|
||||
categories: Cassandra
|
||||
chartDescription: Injects cassandra kubernetes chaos
|
||||
spec:
|
||||
displayName: Cassandra Chaos
|
||||
categoryDescription: >
|
||||
Cassandra is a free and open-source, distributed, wide column store, NoSQL database management system designed to handle
|
||||
large amounts of data across many commodity servers, providing high availability with no single point of failure.
|
||||
It will install all the experiments which can be used to inject chaos into cassandra applications.
|
||||
experiments:
|
||||
- cassandra-pod-delete
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Pod
|
||||
- Cassandra
|
||||
- Statefulset
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik.s@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Kubernetes Website
|
||||
url: https://kubernetes.io
|
||||
- name: Cassandra Website
|
||||
url: http://cassandra.apache.org/
|
||||
- name: Source Code
|
||||
url: https://github.com/apache/cassandra
|
||||
- name: Cassandra Slack
|
||||
url: https://cassandra-slack.herokuapp.com
|
||||
- name: Documentation
|
||||
url: http://cassandra.apache.org/doc/latest/
|
||||
icon:
|
||||
- url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/icons/cassandra.png
|
||||
mediatype: image/png
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/cassandra/experiments.yaml
|
|
@ -1,5 +0,0 @@
|
|||
packageName: cassandra
|
||||
experiments:
|
||||
- name: cassandra-pod-delete
|
||||
CSV: cassandra-pod-delete.chartserviceversion.yaml
|
||||
desc: "cassandra-pod-delete"
|
|
@ -1,113 +0,0 @@
|
|||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a casandra statefulset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: cassandra-pod-delete
|
||||
version: 0.1.3
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "deployments"
|
||||
- "statefulsets"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "pods/exec"
|
||||
- "services"
|
||||
- "events"
|
||||
- "configmaps"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/cassandra/pod-delete/pod_delete_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
# provide cassandra service name
|
||||
# default service: cassandra
|
||||
- name: CASSANDRA_SVC_NAME
|
||||
value: ''
|
||||
|
||||
# provide the keyspace replication factor
|
||||
- name: KEYSPACE_REPLICATION_FACTOR
|
||||
value: ''
|
||||
|
||||
# provide cassandra port
|
||||
# default port: 9042
|
||||
- name: CASSANDRA_PORT
|
||||
value: ''
|
||||
|
||||
# provide liveness deployement port
|
||||
# default port: 8088, It only supports 8088 port
|
||||
- name: LIVENESS_SVC_PORT
|
||||
value: '8088'
|
||||
|
||||
# provide cassandra liveness image
|
||||
- name: CASSANDRA_LIVENESS_IMAGE
|
||||
value: 'litmuschaos/cassandra-client:latest'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '15'
|
||||
|
||||
# SET THE CASSANDRA_LIVENESS_CHECK
|
||||
# IT CAN BE `enabled` OR `disabled`
|
||||
- name: CASSANDRA_LIVENESS_CHECK
|
||||
value: ''
|
||||
|
||||
## Period to wait before injection of chaos
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# provide the kill count
|
||||
- name: KILL_COUNT
|
||||
value: ''
|
||||
|
||||
- name: FORCE
|
||||
value: ''
|
||||
|
||||
## env var that describes the library used to execute the chaos
|
||||
## default: litmus. Supported values: litmus, powerfulseal
|
||||
- name: LIB
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: cassandra-pod-delete
|
||||
|
||||
---
|
||||
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 28 KiB |
|
@ -1,20 +0,0 @@
|
|||
# In Namespace Changes
|
||||
* Apply experiments for k8 - `kubectl apply -f experiments.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiment`
|
||||
* Setup RBAC - for pod delete RBAC - `kubectl apply -f rbac.yaml`
|
||||
* Create pod Experiment - for health experiment -`kubectl create -f engine.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine.yaml`
|
||||
* Clean up rbac -`kubectl delete -f rbac.yaml`
|
||||
|
||||
|
||||
# Remote namespace
|
||||
* Apply experiments for K8 - `kubectl apply -f experiments.yaml`
|
||||
* Validate the experiments for k8 - `kubectl get chaosexperiments`
|
||||
* Setup RBAC as admin mode - `kubectl apply -f rbac-admin.yaml`
|
||||
* Create pod Experiment - for health experiment for IKS 1.0 -`kubectl create -f engine-kiam.yaml`
|
||||
* Validate experiment - `kubectl get pods -w`
|
||||
* Validate logs - `kubectl logs -f <delete pod>`
|
||||
* Clean up chaosexperiment -`kubectl delete -f engine-kiam.yaml`
|
||||
* Clean up rbac -`kubectl delete -f rbac-admin.yaml`
|
|
@ -1,31 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
name: chaostoolkit
|
||||
version: 0.0.5
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
chartDescription: Injects chaostoolkit chaos
|
||||
spec:
|
||||
displayName: Chaostoolkit Chaos
|
||||
categoryDescription:
|
||||
experiments:
|
||||
- k8-pod-delete
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- pod
|
||||
- State
|
||||
maintainers:
|
||||
- name: sumit
|
||||
email: sumit_nagal@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/chaostoolkit/kubernetes
|
||||
icon:
|
||||
- url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/chaostoolkit/icons/k8-pod-delete.png
|
||||
mediatype: image/png
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/chaostoolkit/experiments.yaml
|
|
@ -1,5 +0,0 @@
|
|||
packageName: chaostoolkit
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
CSV: k8-pod-delete.chartserviceversion.yaml
|
||||
desc: "chaostoolkit pod delete experiment"
|
|
@ -1,70 +0,0 @@
|
|||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
version: 0.0.3
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "deployments"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "configmaps"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/chaostoolkit:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /app/chaos/chaostest/kubernetes/k8_wrapper.py; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: CHAOSTOOLKIT_IN_POD
|
||||
value: 'true'
|
||||
|
||||
- name: FILE
|
||||
value: 'pod-app-kill-count.json'
|
||||
|
||||
- name: NAME_SPACE
|
||||
value: ''
|
||||
|
||||
- name: LABEL_NAME
|
||||
value: ''
|
||||
|
||||
- name: APP_ENDPOINT
|
||||
value: ''
|
||||
|
||||
- name: PERCENTAGE
|
||||
value: '50'
|
||||
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
|
||||
---
|
||||
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
|
@ -1,36 +0,0 @@
|
|||
# chaosengine.yaml
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: k8-kiam-delete-count
|
||||
namespace: default
|
||||
spec:
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
appinfo:
|
||||
appns: kube-system
|
||||
# FYI, To see app label, apply kubectl get pods --show-labels
|
||||
#applabel: "app=nginx"
|
||||
applabel: "app=kiam"
|
||||
appkind: deployment
|
||||
jobCleanUpPolicy: retain
|
||||
monitoring: false
|
||||
annotationCheck: 'false'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: chaos-admin
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
- name: NAME_SPACE
|
||||
value: kube-system
|
||||
- name: LABEL_NAME
|
||||
value: kiam
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-app-kill-count.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
annotationCheck: 'true'
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: k8-pod-delete-sa
|
||||
monitoring: false
|
||||
jobCleanUpPolicy: 'retain'
|
||||
experiments:
|
||||
- name: k8-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos namespace
|
||||
- name: NAME_SPACE
|
||||
value: 'default'
|
||||
# set chaos label name
|
||||
- name: LABEL_NAME
|
||||
value: 'nginx'
|
||||
# pod endpoint
|
||||
- name: APP_ENDPOINT
|
||||
value: 'localhost'
|
||||
- name: FILE
|
||||
value: 'pod-app-kill-count.json'
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
version: 0.0.3
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "deployments"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "configmaps"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/chaostoolkit:latest"
|
||||
args:
|
||||
- -c
|
||||
- python /app/chaos/chaostest/kubernetes/k8_wrapper.py; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: CHAOSTOOLKIT_IN_POD
|
||||
value: 'true'
|
||||
|
||||
- name: FILE
|
||||
value: 'pod-app-kill-count.json'
|
||||
|
||||
- name: NAME_SPACE
|
||||
value: ''
|
||||
|
||||
- name: LABEL_NAME
|
||||
value: ''
|
||||
|
||||
- name: APP_ENDPOINT
|
||||
value: ''
|
||||
|
||||
- name: PERCENTAGE
|
||||
value: '50'
|
||||
|
||||
- name: REPORT
|
||||
value: 'true'
|
||||
|
||||
- name: REPORT_ENDPOINT
|
||||
value: 'none'
|
||||
|
||||
labels:
|
||||
name: k8-pod-delete
|
|
@ -1,33 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
version: 0.0.4
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: k8-pod-delete
|
||||
categoryDescription: |
|
||||
K8 Pod delete contains chaos to disrupt state of kubernetes resources. It uses chaostoolkit to inject random pod delete failures against specified applications
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
platforms:
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: sumit
|
||||
email: sumit_nagal@intuit.com
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Intuit
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/chaostoolkit/kubernetes/pod-delete
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/chaostoolkit/k8-pod-delete/experiment.yaml
|
|
@ -1,35 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
rules:
|
||||
- apiGroups: ["","apps","batch","extensions","litmuschaos.io","openebs.io","storage.k8s.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults","configmaps","cstorpools","cstorvolumereplicas","events","jobs","persistentvolumeclaims","persistentvolumes","pods","pods/exec","pods/log","secrets","storageclasses","chaosengines","chaosexperiments","chaosresults","configmaps","cstorpools","cstorvolumereplicas","daemonsets","deployments","events","jobs","persistentvolumeclaims","persistentvolumes","pods","pods/eviction","pods/exec","pods/log","replicasets","secrets","services","statefulsets","storageclasses"]
|
||||
verbs: ["create","delete","get","list","patch","update"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get","list","patch"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: chaos-admin
|
||||
labels:
|
||||
name: chaos-admin
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: chaos-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: chaos-admin
|
||||
namespace: msaasfmea4-perf-infra-usw2-ppd-pfi
|
|
@ -1,40 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","deployments","jobs","configmaps","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: k8-pod-delete-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: k8-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: k8-pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-12-30T10:28:08Z
|
||||
name: coredns-pod-delete
|
||||
version: 0.1.6
|
||||
annotations:
|
||||
categories: CoreDNS
|
||||
vendor: CNCF
|
||||
support: https://slack.cncf.io/
|
||||
spec:
|
||||
displayName: coredns-pod-delete
|
||||
categoryDescription: |
|
||||
Pod delete contains chaos to disrupt state of coredns resources. Experiments can inject random pod delete failures against specified application.
|
||||
- Causes (forced/graceful) pod failure of coredns replicas of an application deployment.
|
||||
- Tests of successful resolution of app services during chaos injection
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- CoreDNS
|
||||
- Pod delete
|
||||
platforms:
|
||||
- GKE
|
||||
- Minikube
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Raj Babu Das
|
||||
email: raj.das@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/coredns/pod_delete
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/coredns-pod-delete/
|
||||
- name: Video
|
||||
url: https://www.youtube.com/watch?v=pwo5idKW7q8
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuchaos/chaos-charts/master/charts/coredns/coredns-pod-delete/experiment.yaml
|
|
@ -1,35 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: engine-coredns
|
||||
namespace: kube-system
|
||||
spec:
|
||||
appinfo:
|
||||
appns: 'kube-system'
|
||||
applabel: 'k8s-app=kube-dns'
|
||||
appkind: 'deployment'
|
||||
# It can be true/false
|
||||
annotationCheck: 'false'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
chaosServiceAccount: coredns-pod-delete-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: coredns-pod-delete
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '30'
|
||||
|
||||
# set chaos interval (in sec) as desired
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '10'
|
||||
|
||||
- name: CHAOS_NAMESPACE
|
||||
value: 'kube-system'
|
|
@ -1,60 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes coredns pod in kube-system namespace
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: coredns-pod-delete
|
||||
version: 0.1.8
|
||||
spec:
|
||||
definition:
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "services"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "create"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/coredns/pod_delete/pod_delete_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
# provide the kill count
|
||||
- name: KILL_COUNT
|
||||
value: ''
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '5'
|
||||
|
||||
- name: LIB
|
||||
value: ''
|
||||
labels:
|
||||
name: coredns-pod-delete
|
|
@ -1,33 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: coredns-pod-delete-sa
|
||||
namespace: kube-system
|
||||
labels:
|
||||
name: coredns-pod-delete-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: coredns-pod-delete-sa
|
||||
labels:
|
||||
name: coredns-pod-delete-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch"]
|
||||
resources: ["services", "pods","jobs","events","pods/log","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: coredns-pod-delete-sa
|
||||
labels:
|
||||
name: coredns-pod-delete-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: coredns-pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: coredns-pod-delete-sa
|
||||
namespace: kube-system
|
|
@ -1,43 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-12-30T10:28:08Z
|
||||
name: coredns
|
||||
version: 0.1.4
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
chartDescription: Injects coredns chaos
|
||||
spec:
|
||||
displayName: CoreDNS chaos
|
||||
categoryDescription: >
|
||||
CoreDNS is an open-source system for DNS management of containerized applications.
|
||||
It helps to resolve services to IP address. It will install all the experiments which can be used to inject chaos into containerized applications.
|
||||
|
||||
experiments:
|
||||
- coredns-pod-delete
|
||||
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Container
|
||||
- node
|
||||
- pod
|
||||
- DNS
|
||||
maintainers:
|
||||
- name: Raj Babu Das
|
||||
email: raj.das@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: CoreDNS Website
|
||||
url: https://coredns.io
|
||||
- name: Source Code
|
||||
url: https://github.com/coredns/coredns
|
||||
- name: CoreDNS Slack
|
||||
url: https://slack.cncf.io/
|
||||
- name: Documentation
|
||||
url: https://coredns.io/manual/toc/
|
||||
icon:
|
||||
- url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/coredns/icons/coredns-pod-delete.png
|
||||
mediatype: image/png
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/coredns/experiments.yaml
|
|
@ -1,5 +0,0 @@
|
|||
packageName: coredns
|
||||
experiments:
|
||||
- name: coredns-pod-delete
|
||||
CSV: coredns-pod-delete.chartserviceversion.yaml
|
||||
desc: "coredns pod delete experiment"
|
|
@ -1,65 +0,0 @@
|
|||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes coredns pod in kube-system namespace
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: coredns-pod-delete
|
||||
version: 0.1.8
|
||||
spec:
|
||||
definition:
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "services"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "create"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/coredns/pod_delete/pod_delete_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
# provide the kill count
|
||||
- name: KILL_COUNT
|
||||
value: ''
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '5'
|
||||
|
||||
- name: LIB
|
||||
value: ''
|
||||
labels:
|
||||
name: coredns-pod-delete
|
||||
|
||||
---
|
||||
|
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 20 KiB |
|
@ -1,42 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-10-15T10:28:08Z
|
||||
name: container-kill
|
||||
version: 0.1.11
|
||||
annotations:
|
||||
categories: "Kubernetes"
|
||||
vendor: "CNCF"
|
||||
support: https://slack.openebs.io/
|
||||
spec:
|
||||
displayName: container-kill
|
||||
categoryDescription: |
|
||||
Container kill contains chaos to disrupt state of kubernetes resources. Experiments can inject random container delete failures against specified application.
|
||||
- Executes SIGKILL on containers of random replicas of an application deployment.
|
||||
- Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the application pod.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Container
|
||||
platforms:
|
||||
- GKE
|
||||
- Minikube
|
||||
- Packet(Kubeadm)
|
||||
- EKS
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik.s@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/container_kill
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/container-kill/
|
||||
- name: Video
|
||||
url: https://www.youtube.com/watch?v=XKyMNdVsKMo
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/container-kill/experiment.yaml
|
|
@ -1,44 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: nginx
|
||||
spec:
|
||||
# It can be true/false
|
||||
annotationCheck: 'true'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
appinfo:
|
||||
appns: 'nginx'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: container-kill-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: container-kill
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# specify the name of the container to be killed
|
||||
- name: TARGET_CONTAINER
|
||||
value: 'nginx'
|
||||
|
||||
# provide the chaos interval
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '10'
|
||||
|
||||
# provide the total chaos duration
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '20'
|
||||
|
||||
# For containerd image use: litmuschaos/container-kill-helper:latest
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
# It supports pumba and containerd
|
||||
- name: LIB
|
||||
value: 'pumba'
|
|
@ -1,76 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: "Kills a container belonging to an application pod \n"
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: container-kill
|
||||
version: 0.1.20
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "pods/exec"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "update"
|
||||
- "patch"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/container_kill/container_kill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# It supports pumba and containerd
|
||||
- name: LIB
|
||||
value: 'pumba'
|
||||
|
||||
# provide the chaos interval
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '10'
|
||||
|
||||
# provide the container runtime path for containerd
|
||||
# applicable only for containerd runtime
|
||||
- name: CONTAINER_PATH
|
||||
value: '/run/containerd/containerd.sock'
|
||||
|
||||
# provide the total chaos duration
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '20'
|
||||
|
||||
# LIB_IMAGE can be - gaiaadm/pumba:0.6.5, litmuschaos/container-kill-helper:latest
|
||||
# For pumba image use: gaiaadm/pumba:0.6.5
|
||||
# For containerd image use: litmuschaos/container-kill-helper:latest
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
labels:
|
||||
name: container-kill
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: container-kill-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: container-kill-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: container-kill-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: container-kill-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","jobs","pods/exec","pods/log","events","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: container-kill-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: container-kill-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: container-kill-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: container-kill-sa
|
||||
namespace: default
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: container-kill-sa
|
||||
namespace: nginx
|
||||
labels:
|
||||
name: container-kill-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: container-kill-sa
|
||||
namespace: nginx
|
||||
labels:
|
||||
name: container-kill-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","jobs","pods/exec","pods/log","events","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: container-kill-sa
|
||||
namespace: nginx
|
||||
labels:
|
||||
name: container-kill-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: container-kill-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: container-kill-sa
|
||||
namespace: nginx
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
# It can be true/false
|
||||
annotationCheck: 'false'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: disk-fill-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: disk-fill
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# specify the fill percentage according to the disk pressure required
|
||||
- name: FILL_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: 'nginx'
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Fillup Ephemeral Storage of a Resource
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: disk-fill
|
||||
version: 0.1.12
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/disk_fill/disk_fill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
- name: FILL_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# Provide the LIB here
|
||||
# Only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
# Provide the container runtime path
|
||||
# Default set to docker
|
||||
- name: CONTAINER_PATH
|
||||
value: '/var/lib/docker/containers'
|
||||
|
||||
labels:
|
||||
name: disk-fill
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: disk-fill-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: disk-fill-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: disk-fill-sa
|
||||
labels:
|
||||
name: disk-fill-sa
|
||||
rules:
|
||||
- apiGroups: ["","apps","litmuschaos.io","batch"]
|
||||
resources: ["pods","jobs","pods/exec","events","pods/log","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: disk-fill-sa
|
||||
labels:
|
||||
name: disk-fill-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: disk-fill-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: disk-fill-sa
|
||||
namespace: default
|
|
@ -1,44 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-11-13T10:28:08Z
|
||||
name: disk-loss
|
||||
version: 0.1.10
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: Mayadata
|
||||
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
|
||||
spec:
|
||||
displayName: disk-loss
|
||||
categoryDescription: |
|
||||
Disk Loss contains chaos to disrupt state of infra resources. Experiments can inject disk loss against specified application.
|
||||
- Causes (forced/graceful) disk loss from node/instance..
|
||||
- Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the application pod.
|
||||
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- AWS
|
||||
- GCP
|
||||
- Disk
|
||||
platforms:
|
||||
- GKE
|
||||
- AWS(KOPS)
|
||||
maturity: alpha
|
||||
chaosType: infra
|
||||
maintainers:
|
||||
- name: Raj Babu Das
|
||||
email: raj.das@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/disk_loss
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/disk-loss/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/disk-loss/experiment.yaml
|
|
@ -1,57 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
# It can be true/false
|
||||
annotationCheck: 'false'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: disk-loss-sa
|
||||
monitoring: false
|
||||
# It can be retain/delete
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: disk-loss
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# set cloud platform name
|
||||
- name: CLOUD_PLATFORM
|
||||
value: 'GKE'
|
||||
|
||||
# set app_check to check application state
|
||||
- name: APP_CHECK
|
||||
value: 'true'
|
||||
|
||||
# GCP project ID
|
||||
- name: PROJECT_ID
|
||||
value: 'litmus-demo-123'
|
||||
|
||||
# Node name of the cluster
|
||||
- name: NODE_NAME
|
||||
value: 'demo-node-123'
|
||||
|
||||
# Disk Name of the node, it must be an external disk.
|
||||
- name: DISK_NAME
|
||||
value: 'demo-disk-123'
|
||||
|
||||
# Enter the device name which you wanted to mount only for AWS.
|
||||
- name: DEVICE_NAME
|
||||
value: '/dev/sdb'
|
||||
|
||||
# Name of Zone in which node is present (GCP)
|
||||
# Use Region Name when running with AWS (ex: us-central1)
|
||||
- name: ZONE_NAME
|
||||
value: 'us-central1-a'
|
|
@ -1,82 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Detaching a persistent disk from a node/instance. Supports only for AWS and GCP
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: disk-loss
|
||||
version: 0.1.13
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "events"
|
||||
- "pods/log"
|
||||
- "secrets"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/disk_loss/disk_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: APP_CHECK
|
||||
value: 'true'
|
||||
|
||||
# GKE and AWS supported
|
||||
- name: CLOUD_PLATFORM
|
||||
value: 'GKE'
|
||||
|
||||
- name: PROJECT_ID
|
||||
value: ''
|
||||
|
||||
- name: NODE_NAME
|
||||
value: ''
|
||||
|
||||
- name: DISK_NAME
|
||||
value: ''
|
||||
|
||||
# provide the LIB
|
||||
# only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
- name: ZONE_NAME
|
||||
value: ''
|
||||
|
||||
- name: DEVICE_NAME
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: disk-loss
|
||||
secrets:
|
||||
- name: cloud-secret
|
||||
mountPath: /tmp/
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: disk-loss-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: disk-loss-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: disk-loss-sa
|
||||
labels:
|
||||
name: disk-loss-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch"]
|
||||
resources: ["pods","jobs","secrets","events","pods/log","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: disk-loss-sa
|
||||
labels:
|
||||
name: disk-loss-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: disk-loss-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: disk-loss-sa
|
||||
namespace: default
|
|
@ -1,958 +0,0 @@
|
|||
---
|
||||
|
||||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Drain the node where application pod is scheduled
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: node-drain
|
||||
version: 0.1.11
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "extensions"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "events"
|
||||
- "pods/log"
|
||||
- "daemonsets"
|
||||
- "pods/eviction"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/node_drain/node_drain_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: APP_NODE
|
||||
value: ''
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# Provide the LIB here
|
||||
# Only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: node-drain
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Fillup Ephemeral Storage of a Resource
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: disk-fill
|
||||
version: 0.1.12
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/disk_fill/disk_fill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
- name: FILL_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# Provide the LIB here
|
||||
# Only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
# Provide the container runtime path
|
||||
# Default set to docker
|
||||
- name: CONTAINER_PATH
|
||||
value: '/var/lib/docker/containers'
|
||||
|
||||
labels:
|
||||
name: disk-fill
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Injects cpu consumption on pods belonging to an app deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-cpu-hog
|
||||
version: 0.1.10
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_cpu_hog/pod_cpu_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
- name: CPU_CORES
|
||||
value: '1'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/app-cpu-stress:latest'
|
||||
labels:
|
||||
name: pod-cpu-hog
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Injects memory consumption on pods belonging to an app deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-memory-hog
|
||||
version: 0.1.2
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_memory_hog/pod_memory_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
# Provide name of target container
|
||||
# where chaos has to be injected
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
# Enter the amount of memory in megabytes to be consumed by the application pod
|
||||
# default: 500 (Megabytes)
|
||||
- name: MEMORY_CONSUMPTION
|
||||
value: '500'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# Period to wait before and after injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/app-memory-stress:latest'
|
||||
labels:
|
||||
name: pod-memory-hog
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Inject network packet corruption into application pod
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-network-corruption
|
||||
version: 0.1.9
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "get"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_network_corruption/pod_network_corruption_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_INTERFACE
|
||||
value: 'eth0'
|
||||
|
||||
- name: NETWORK_PACKET_CORRUPTION_PERCENTAGE
|
||||
value: '100' #in PERCENTAGE
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# Time period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'pumba'
|
||||
labels:
|
||||
name: pod-network-corruption
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-delete
|
||||
version: 0.1.16
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "deployments"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "configmaps"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_delete/pod_delete_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# provide the kill count
|
||||
- name: KILL_COUNT
|
||||
value: ''
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '5'
|
||||
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/pod-delete-helper:latest'
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
labels:
|
||||
name: pod-delete
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Injects network packet loss on pods belonging to an app deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-network-loss
|
||||
version: 0.1.14
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "create"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_network_loss/pod_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_INTERFACE
|
||||
value: 'eth0'
|
||||
|
||||
- name: NETWORK_PACKET_LOSS_PERCENTAGE
|
||||
value: '100' #in PERCENTAGE
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# ime period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'pumba'
|
||||
labels:
|
||||
name: pod-network-loss
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Detaching a persistent disk from a node/instance. Supports only for AWS and GCP
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: disk-loss
|
||||
version: 0.1.13
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "events"
|
||||
- "pods/log"
|
||||
- "secrets"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/disk_loss/disk_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: APP_CHECK
|
||||
value: 'true'
|
||||
|
||||
# GKE and AWS supported
|
||||
- name: CLOUD_PLATFORM
|
||||
value: 'GKE'
|
||||
|
||||
- name: PROJECT_ID
|
||||
value: ''
|
||||
|
||||
- name: NODE_NAME
|
||||
value: ''
|
||||
|
||||
- name: DISK_NAME
|
||||
value: ''
|
||||
|
||||
# provide the LIB
|
||||
# only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
- name: ZONE_NAME
|
||||
value: ''
|
||||
|
||||
- name: DEVICE_NAME
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: disk-loss
|
||||
secrets:
|
||||
- name: cloud-secret
|
||||
mountPath: /tmp/
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Injects network latency on pods belonging to an app deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-network-latency
|
||||
version: 0.1.14
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_network_latency/pod_network_latency_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
- name: NETWORK_INTERFACE
|
||||
value: 'eth0'
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_LATENCY
|
||||
value: '60000' #in ms
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# Time period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'pumba'
|
||||
labels:
|
||||
name: pod-network-latency
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Give a cpu spike on a node belonging to a deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: node-cpu-hog
|
||||
version: 0.1.18
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/node_cpu_hog/node_cpu_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
## ENTER THE NUMBER OF CORES OF CPU FOR CPU HOGGING
|
||||
## OPTIONAL VALUE IN CASE OF EMPTY VALUE IT WILL TAKE NODE CPU CAPACITY
|
||||
- name: NODE_CPU_CORE
|
||||
value: ''
|
||||
|
||||
# PROVIDE THE LIB HERE
|
||||
# ONLY LITMUS SUPPORTED
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/stress-ng:latest'
|
||||
|
||||
labels:
|
||||
name: node-cpu-hog
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Kills the kubelet service on the application node to check the resiliency.
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: kubelet-service-kill
|
||||
version: 0.1.1
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/kubelet_service_kill/kubelet_service_kill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '90' # in seconds
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
labels:
|
||||
name: kubelet-service-kill
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Give a memory hog on a node belonging to a deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: node-memory-hog
|
||||
version: 0.1.8
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/node_memory_hog/node_memory_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '120'
|
||||
|
||||
## specify the size as percent of total available memory (in percentage %)
|
||||
## Default value "90%"
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '90'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# Provide the LIB here
|
||||
# Only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/stress-ng:latest'
|
||||
|
||||
labels:
|
||||
name: node-memory-hog
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: "Kills a container belonging to an application pod \n"
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: container-kill
|
||||
version: 0.1.20
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "pods/exec"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "update"
|
||||
- "patch"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/container_kill/container_kill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# It supports pumba and containerd
|
||||
- name: LIB
|
||||
value: 'pumba'
|
||||
|
||||
# provide the chaos interval
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '10'
|
||||
|
||||
# provide the container runtime path for containerd
|
||||
# applicable only for containerd runtime
|
||||
- name: CONTAINER_PATH
|
||||
value: '/run/containerd/containerd.sock'
|
||||
|
||||
# provide the total chaos duration
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '20'
|
||||
|
||||
# LIB_IMAGE can be - gaiaadm/pumba:0.6.5, litmuschaos/container-kill-helper:latest
|
||||
# For pumba image use: gaiaadm/pumba:0.6.5
|
||||
# For containerd image use: litmuschaos/container-kill-helper:latest
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
labels:
|
||||
name: container-kill
|
||||
|
||||
---
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-09-26T10:28:08Z
|
||||
name: generic
|
||||
version: 0.1.13
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
chartDescription: Injects generic kubernetes chaos
|
||||
spec:
|
||||
displayName: Generic Chaos
|
||||
categoryDescription: >
|
||||
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easier management and discovery. It will install all the experiments which can be used to inject chaos into containerized applications.
|
||||
|
||||
experiments:
|
||||
- pod-delete
|
||||
- container-kill
|
||||
- pod-cpu-hog
|
||||
- pod-network-loss
|
||||
- pod-network-latency
|
||||
- pod-network-corruption
|
||||
- node-drain
|
||||
- node-cpu-hog
|
||||
- disk-loss
|
||||
- disk-fill
|
||||
- node-memory-hog
|
||||
- pod-memory-hog
|
||||
- kubelet-service-kill
|
||||
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Container
|
||||
- Node
|
||||
- Pod
|
||||
- Disk
|
||||
- Network
|
||||
- CPU
|
||||
- Memory
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik.s@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Kubernetes Website
|
||||
url: https://kubernetes.io
|
||||
- name: Source Code
|
||||
url: https://github.com/kubernetes/kubernetes
|
||||
- name: Kubernetes Slack
|
||||
url: https://slack.kubernetes.io/
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/chaoshub/#generic-chaos
|
||||
icon:
|
||||
- url: https://raw.githubusercontent.com/litmuschaos/charthub.litmuschaos.io/master/public/litmus.ico
|
||||
mediatype: image/png
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/experiments.yaml
|
|
@ -1,42 +0,0 @@
|
|||
packageName: generic
|
||||
experiments:
|
||||
- name: pod-delete
|
||||
CSV: pod-delete.chartserviceversion.yaml
|
||||
desc: "pod-delete"
|
||||
- name: container-kill
|
||||
CSV: container-kill.chartserviceversion.yaml
|
||||
desc: "container-kill"
|
||||
- name: pod-network-loss
|
||||
CSV: pod-network-loss.chartserviceversion.yaml
|
||||
desc: "Pod-network-loss"
|
||||
- name: pod-network-latency
|
||||
CSV: pod-network-latency.chartserviceversion.yaml
|
||||
desc: "pod-network-latency"
|
||||
- name: pod-cpu-hog
|
||||
CSV: pod-cpu-hog.chartserviceversion.yaml
|
||||
desc: "pod-cpu-hog"
|
||||
- name: node-cpu-hog
|
||||
CSV: node-cpu-hog.chartserviceversion.yaml
|
||||
desc: "node-cpu-hog"
|
||||
- name: disk-fill
|
||||
CSV: disk-fill.chartserviceversion.yaml
|
||||
desc: "disk-fill"
|
||||
- name: disk-loss
|
||||
CSV: disk-loss.chartserviceversion.yaml
|
||||
desc: "disk-loss"
|
||||
- name: node-drain
|
||||
CSV: node-drain.chartserviceversion.yaml
|
||||
desc: "node-drain"
|
||||
- name: pod-network-corruption
|
||||
CSV: pod-network-corruption.chartserviceversion.yaml
|
||||
desc: "pod-network-corruption"
|
||||
- name: node-memory-hog
|
||||
CSV: node-memory-hog.chartserviceversion.yaml
|
||||
desc: "node-memory-hog"
|
||||
- name: pod-memory-hog
|
||||
CSV: pod-memory-hog.chartserviceversion.yaml
|
||||
desc: "pod-memory-hog"
|
||||
- name: kubelet-service-kill
|
||||
CSV: kubelet-service-kill.chartserviceversion.yaml
|
||||
desc: "kubelet-service-kill"
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1,61 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Kills the kubelet service on the application node to check the resiliency.
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: kubelet-service-kill
|
||||
version: 0.1.1
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/kubelet_service_kill/kubelet_service_kill_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '90' # in seconds
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
labels:
|
||||
name: kubelet-service-kill
|
|
@ -1,45 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-06-13T10:28:08Z
|
||||
name: kubelet-service-kill
|
||||
version: 0.1.1
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: kubelet-service-kill
|
||||
categoryDescription: |
|
||||
kubelet-service-kill contains killing kubelet service gracefully for a certain chaos duration.
|
||||
- Causes replicas may be evicted or becomes unreachable on account on nodes turning unschedulable (Not Ready) due to kubelet service kill.
|
||||
- The application node should be healthy once chaos is stopped and the services are reaccessable.
|
||||
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Kubelet
|
||||
- Node
|
||||
- Service
|
||||
platforms:
|
||||
- GKE
|
||||
- Packet(Kubeadm)
|
||||
- Minikube
|
||||
- EKS
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Udit Gaurav
|
||||
email: udit.gaurav@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/kubelet_service_kill
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/kubelet-service-kill/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- base64data: ""
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/kubelet-service-kill/experiment.yaml
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: kubelet-service-kill
|
||||
namespace: default
|
||||
labels:
|
||||
name: kubelet-service-kill
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: kubelet-service-kill
|
||||
labels:
|
||||
name: kubelet-service-kill
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","jobs","pods/log","events","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: kubelet-service-kill
|
||||
labels:
|
||||
name: kubelet-service-kill
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: kubelet-service-kill
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: kubelet-service-kill
|
||||
namespace: default
|
|
@ -1,31 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
# It can be true/false
|
||||
annotationCheck: 'false'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: node-cpu-hog-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: node-cpu-hog
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
- name: NODE_CPU_CORE
|
||||
value: ''
|
|
@ -1,74 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Give a cpu spike on a node belonging to a deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: node-cpu-hog
|
||||
version: 0.1.18
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/node_cpu_hog/node_cpu_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
## ENTER THE NUMBER OF CORES OF CPU FOR CPU HOGGING
|
||||
## OPTIONAL VALUE IN CASE OF EMPTY VALUE IT WILL TAKE NODE CPU CAPACITY
|
||||
- name: NODE_CPU_CORE
|
||||
value: ''
|
||||
|
||||
# PROVIDE THE LIB HERE
|
||||
# ONLY LITMUS SUPPORTED
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/stress-ng:latest'
|
||||
|
||||
labels:
|
||||
name: node-cpu-hog
|
|
@ -1,44 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-01-28T10:28:08Z
|
||||
name: node-cpu-hog
|
||||
version: 0.0.11
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: node-cpu-hog
|
||||
categoryDescription: |
|
||||
Node CPU hog contains chaos to disrupt the state of Kubernetes resources. Experiments can inject a CPU spike on a node where the application pod is scheduled.
|
||||
- CPU hog on a particular node where the application deployment is available.
|
||||
- After test, the recovery should be manual for the application pod and node in case they are not in an appropriate state.
|
||||
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- CPU
|
||||
- State
|
||||
- Node
|
||||
platforms:
|
||||
- GKE
|
||||
- EKS
|
||||
maturity: alpha
|
||||
chaosType: infra
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik.s@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/node_cpu_hog
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/node-cpu-hog/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/node-cpu-hog/experiment.yaml
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: node-cpu-hog-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: node-cpu-hog-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: node-cpu-hog-sa
|
||||
labels:
|
||||
name: node-cpu-hog-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","jobs","events","chaosengines","pods/log","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: node-cpu-hog-sa
|
||||
labels:
|
||||
name: node-cpu-hog-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: node-cpu-hog-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: node-cpu-hog-sa
|
||||
namespace: default
|
|
@ -1,28 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
# It can be true/false
|
||||
annotationCheck: 'false'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: node-drain-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: node-drain
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set node name
|
||||
- name: APP_NODE
|
||||
value: 'node-1'
|
|
@ -1,77 +0,0 @@
|
|||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Drain the node where application pod is scheduled
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: node-drain
|
||||
version: 0.1.11
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "extensions"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "events"
|
||||
- "pods/log"
|
||||
- "daemonsets"
|
||||
- "pods/eviction"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/node_drain/node_drain_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: APP_NODE
|
||||
value: ''
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# Provide the LIB here
|
||||
# Only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: node-drain
|
|
@ -1,44 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-01-13T10:28:08Z
|
||||
name: node-drain
|
||||
version: 0.1.9
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: Mayadata
|
||||
repository: https://github.com/litmuschaos/chaos-charts
|
||||
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
|
||||
spec:
|
||||
displayName: node-drain
|
||||
categoryDescription: >
|
||||
Drain the node where application pod is scheduled
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Node
|
||||
- State
|
||||
platforms:
|
||||
- GKE
|
||||
- AWS(KOPS)
|
||||
- Packet(Kubeadm)
|
||||
- Konvoy
|
||||
- EKS
|
||||
maturity: alpha
|
||||
chaosType: infra
|
||||
maintainers:
|
||||
- name: shubham chaudhary
|
||||
email: shubham.chaudhary@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/node_drain
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/node-drain/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url: ""
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/node-drain/experiment.yaml
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: node-drain-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: node-drain-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: node-drain-sa
|
||||
labels:
|
||||
name: node-drain-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","extensions"]
|
||||
resources: ["pods","jobs","events","chaosengines","pods/log","daemonsets","pods/eviction","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["patch","get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: node-drain-sa
|
||||
labels:
|
||||
name: node-drain-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: node-drain-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: node-drain-sa
|
||||
namespace: default
|
|
@ -1,33 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
# It can be true/false
|
||||
annotationCheck: 'false'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: node-memory-hog-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: node-memory-hog
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '120'
|
||||
|
||||
## specify the size as percent of total available memory (in percentage %)
|
||||
## default value 90%
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '90'
|
|
@ -1,74 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Give a memory hog on a node belonging to a deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: node-memory-hog
|
||||
version: 0.1.8
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/node_memory_hog/node_memory_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '120'
|
||||
|
||||
## specify the size as percent of total available memory (in percentage %)
|
||||
## Default value "90%"
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '90'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# Provide the LIB here
|
||||
# Only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/stress-ng:latest'
|
||||
|
||||
labels:
|
||||
name: node-memory-hog
|
|
@ -1,43 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-03-28T10:28:08Z
|
||||
name: node-memory-hog
|
||||
version: 0.1.2
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: node-memory-hog
|
||||
categoryDescription: |
|
||||
Kubernetes Node memory hog contains chaos to disrupt the state of Kubernetes resources. Experiments can inject a memory spike on a node where the application pod is scheduled.
|
||||
- Memory hog on a particular node where the application deployment is available.
|
||||
- After the test, the recovery should be manual for the application pod and node in case they are not in an appropriate state.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Memory
|
||||
- State
|
||||
- Node
|
||||
platforms:
|
||||
- GKE
|
||||
- EKS
|
||||
maturity: alpha
|
||||
chaosType: infra
|
||||
maintainers:
|
||||
- name: Udit Gaurav
|
||||
email: udit.gaurav@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/node_memory_hog
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/node-memory-hog/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url: ""
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/node-memory-hog/experiment.yaml
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: node-memory-hog-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: node-memory-hog-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: node-memory-hog-sa
|
||||
labels:
|
||||
name: node-memory-hog-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","jobs","pods/log","events","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: node-memory-hog-sa
|
||||
labels:
|
||||
name: node-memory-hog-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: node-memory-hog-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: node-memory-hog-sa
|
||||
namespace: default
|
|
@ -1,38 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
# It can be true/false
|
||||
annotationCheck: 'true'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: pod-cpu-hog-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: pod-cpu-hog
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# Provide name of target container
|
||||
# where chaos has to be injected
|
||||
- name: TARGET_CONTAINER
|
||||
value: 'nginx'
|
||||
|
||||
#number of cpu cores to be consumed
|
||||
#verify the resources the app has been launched with
|
||||
- name: CPU_CORES
|
||||
value: '1'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Injects cpu consumption on pods belonging to an app deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-cpu-hog
|
||||
version: 0.1.10
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_cpu_hog/pod_cpu_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
- name: CPU_CORES
|
||||
value: '1'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/app-cpu-stress:latest'
|
||||
labels:
|
||||
name: pod-cpu-hog
|
|
@ -1,42 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-01-07T10:28:08Z
|
||||
name: pod-cpu-hog
|
||||
version: 0.1.6
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: pod-cpu-hog
|
||||
categoryDescription: |
|
||||
Pod-CPU-Hog contains chaos to consume CPU resouces of specified containers in Kubernetes pods.
|
||||
- Causes high CPU resource consumption utilizing one or more cores by triggering md5sum commands
|
||||
- The application pod should be healthy once chaos is stopped. Expectation is that service-requests should be served despite chaos.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- CPU
|
||||
platforms:
|
||||
- GKE
|
||||
- Packet(Kubeadm)
|
||||
- Minikube
|
||||
- EKS
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik.s@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/pod_cpu_hog
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/pod-cpu-hog/
|
||||
- name: Video
|
||||
url: https://www.youtube.com/watch?v=MBGSPmZKb2I
|
||||
icon:
|
||||
- base64data: ""
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-cpu-hog/experiment.yaml
|
|
@ -1,36 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: pod-cpu-hog-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-cpu-hog-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: pod-cpu-hog-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-cpu-hog-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch"]
|
||||
resources: ["pods","jobs","events","pods/log","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: pod-cpu-hog-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-cpu-hog-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: pod-cpu-hog-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pod-cpu-hog-sa
|
||||
namespace: default
|
|
@ -1,77 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deletes a pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-delete
|
||||
version: 0.1.16
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "deployments"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "configmaps"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_delete/pod_delete_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# provide the kill count
|
||||
- name: KILL_COUNT
|
||||
value: ''
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '5'
|
||||
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/pod-delete-helper:latest'
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
labels:
|
||||
name: pod-delete
|
|
@ -1,44 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-10-15T10:28:08Z
|
||||
name: pod-delete
|
||||
version: 0.1.11
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: pod-delete
|
||||
categoryDescription: |
|
||||
Pod delete contains chaos to disrupt state of kubernetes resources. Experiments can inject random pod delete failures against specified application.
|
||||
- Causes (forced/graceful) pod failure of random replicas of an application deployment.
|
||||
- Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the application pod.
|
||||
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- State
|
||||
platforms:
|
||||
- GKE
|
||||
- Konvoy
|
||||
- Packet(Kubeadm)
|
||||
- Minikube
|
||||
- EKS
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik.s@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/pod_delete
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/pod-delete/
|
||||
- name: Video
|
||||
url: https://www.youtube.com/watch?v=X3JvY_58V9A
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-delete/experiment.yaml
|
|
@ -1,38 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-delete-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: pod-delete-sa
|
||||
labels:
|
||||
name: pod-delete-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","deployments","pods/log","events","jobs","configmaps","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: pod-delete-sa
|
||||
labels:
|
||||
name: pod-delete-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-delete-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-delete-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","deployments","pods/log","events","jobs","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: pod-delete-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-delete-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: pod-delete-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pod-delete-sa
|
||||
namespace: default
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Injects memory consumption on pods belonging to an app deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-memory-hog
|
||||
version: 0.1.2
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_memory_hog/pod_memory_hog_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
# Provide name of target container
|
||||
# where chaos has to be injected
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
# Enter the amount of memory in megabytes to be consumed by the application pod
|
||||
# default: 500 (Megabytes)
|
||||
- name: MEMORY_CONSUMPTION
|
||||
value: '500'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# Period to wait before and after injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
- name: LIB_IMAGE
|
||||
value: 'litmuschaos/app-memory-stress:latest'
|
||||
labels:
|
||||
name: pod-memory-hog
|
|
@ -1,42 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-04-10T10:28:08Z
|
||||
name: pod-memory-hog
|
||||
version: 0.1.1
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: pod-memory-hog
|
||||
categoryDescription: |
|
||||
Pod-Memory-Hog contains chaos to consume Memory resouces of specified containers in Kubernetes pods.
|
||||
- Consumes the memory specified by executing a dd command against special files /dev/zero(input) and /dev/null(output)
|
||||
- The application pod should be healthy once chaos is stopped. Expectation is that service-requests should be served despite chaos.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Memory
|
||||
platforms:
|
||||
- GKE
|
||||
- Packet(Kubeadm)
|
||||
- Minikube
|
||||
- EKS
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: Udit Gaurav
|
||||
email: udit.gaurav@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/pod_memory_hog
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/pod-memory-hog/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- base64data: ""
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-memory-hog/experiment.yaml
|
|
@ -1,36 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: pod-memory-hog-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-memory-hog-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: pod-memory-hog-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-memory-hog-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch"]
|
||||
resources: ["pods","jobs","events","pods/log","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: pod-memory-hog-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-memory-hog-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: pod-memory-hog-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pod-memory-hog-sa
|
||||
namespace: default
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-network-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
# It can be true/false
|
||||
annotationCheck: 'true'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
monitoring: false
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
# FYI, To see app label, apply kubectl get pods --show-labels
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: pod-network-corruption-sa
|
||||
experiments:
|
||||
- name: pod-network-corruption
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
#Container name where chaos has to be injected
|
||||
- name: TARGET_CONTAINER
|
||||
value: 'nginx'
|
||||
|
||||
#Network interface inside target container
|
||||
- name: NETWORK_INTERFACE
|
||||
value: 'eth0'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
|
@ -1,66 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Inject network packet corruption into application pod
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-network-corruption
|
||||
version: 0.1.9
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "get"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_network_corruption/pod_network_corruption_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_INTERFACE
|
||||
value: 'eth0'
|
||||
|
||||
- name: NETWORK_PACKET_CORRUPTION_PERCENTAGE
|
||||
value: '100' #in PERCENTAGE
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# Time period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'pumba'
|
||||
labels:
|
||||
name: pod-network-corruption
|
|
@ -1,43 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-01-07T10:28:08Z
|
||||
name: pod-network-corruption
|
||||
version: 0.1.8
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: pod-network-corruption
|
||||
categoryDescription: |
|
||||
Pod-network-corruption contains chaos to disrupt network connectivity to kubernetes pods. Experiments can inject percentage packet corruption on the app replica pods.
|
||||
- Causes packet corruption of application replica by injecting packet corruption using pumba.
|
||||
- The application pod should be healthy once chaos is stopped. Service-requests should be served (say, via alternate replicas) despite chaos.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Network
|
||||
- Corruption
|
||||
platforms:
|
||||
- GKE
|
||||
- Packet(Kubeadm)
|
||||
- Minikube
|
||||
- EKS
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: LaumiH
|
||||
email: laura-marie.henning@stud.h-da.de
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Laura-Marie Henning
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/pod_network_corruption
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/pod-network-corruption/
|
||||
- name: Video
|
||||
url: https://www.youtube.com/watch?v=kSiLrIaILvs
|
||||
icon:
|
||||
- base64data: ""
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-network-corruption/experiment.yaml
|
|
@ -1,36 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: pod-network-corruption-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-corruption-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: pod-network-corruption-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-corruption-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch"]
|
||||
resources: ["pods","jobs","events","pods/log","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: pod-network-corruption-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-corruption-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: pod-network-corruption-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pod-network-corruption-sa
|
||||
namespace: default
|
|
@ -1,42 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-network-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
# It can be true/false
|
||||
annotationCheck: 'true'
|
||||
# It can be active/stop
|
||||
engineState: 'active'
|
||||
#ex. values: ns1:name=percona,ns2:run=nginx
|
||||
auxiliaryAppInfo: ''
|
||||
monitoring: false
|
||||
appinfo:
|
||||
appns: 'default'
|
||||
# FYI, To see app label, apply kubectl get pods --show-labels
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: pod-network-latency-sa
|
||||
experiments:
|
||||
- name: pod-network-latency
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
#Container name where chaos has to be injected
|
||||
- name: TARGET_CONTAINER
|
||||
value: 'nginx'
|
||||
|
||||
#Network interface inside target container
|
||||
- name: NETWORK_INTERFACE
|
||||
value: 'eth0'
|
||||
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_LATENCY
|
||||
value: '60000'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
|
@ -1,66 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Injects network latency on pods belonging to an app deployment
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-network-latency
|
||||
version: 0.1.14
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/generic/pod_network_latency/pod_network_latency_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: ''
|
||||
|
||||
- name: NETWORK_INTERFACE
|
||||
value: 'eth0'
|
||||
|
||||
# provide lib image
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_LATENCY
|
||||
value: '60000' #in ms
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
# Time period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: LIB
|
||||
value: 'pumba'
|
||||
labels:
|
||||
name: pod-network-latency
|
|
@ -1,42 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-10-11T10:28:08Z
|
||||
name: pod-network-latency
|
||||
version: 0.1.11
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: pod-network-latency
|
||||
categoryDescription: |
|
||||
Pod-network-latency contains chaos to disrupt network connectivity of kubernetes pods. Experiments can inject random network delays on the app replica pods.
|
||||
- Causes flaky access to application replica by injecting network delay using pumba.
|
||||
- The application pod should be healthy once chaos is stopped. Service-requests should be served despite chaos.
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Network
|
||||
platforms:
|
||||
- GKE
|
||||
- Minikube
|
||||
- Packet(Kubeadm)
|
||||
- EKS
|
||||
maturity: alpha
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik.s@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/generic/pod_network_latency
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/pod-network-latency/
|
||||
- name: Video
|
||||
url: https://www.youtube.com/watch?v=QsQZyXVCcCw
|
||||
icon:
|
||||
- base64data: ""
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-network-latency/experiment.yaml
|