Compare commits
513 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 | |
|
e26069fc52 | |
|
cd06a71447 | |
|
784662296b | |
|
0c4b1e1e10 | |
|
ede6e294e7 | |
|
634cd77fe3 | |
|
9cfa30b815 | |
|
28704283dc | |
|
83146e80e3 | |
|
f0f1dff9ae | |
|
0c40ad7983 | |
|
6785e1de07 | |
|
5d9774297d | |
|
8105fbe08a | |
|
d7c57fa6e5 | |
|
48ce809a42 | |
|
93971ddb2f | |
|
c5a281c339 | |
|
aaa4bc8987 | |
|
f3ae5358f4 | |
|
8a19c2a480 | |
|
a745484ea1 | |
|
c7dc861c75 | |
|
a1f0f5d4c9 | |
|
1f6e890245 | |
|
2cd6dc2eb8 | |
|
8f54ad089d | |
|
8bfbd32010 | |
|
b07bf41b49 | |
|
e7b98ecbff | |
|
8f894cbf83 | |
|
c1e4f02a7f | |
|
6d34359dd0 | |
|
8ae10f4e77 | |
|
e1b9db2b2b | |
|
7d8597b7d2 | |
|
9f024007d9 | |
|
08159e73f5 | |
|
3bfed21a6a | |
|
2f5d7b8eec | |
|
12e2b6918a | |
|
ee98abb105 | |
|
c6bd629b84 | |
|
4459e2673f | |
|
09d4532c07 | |
|
88d34e63d7 | |
|
0e0c25aef9 | |
|
19130f43ab | |
|
01b334c075 | |
|
9cb94e4ed9 | |
|
0de90fb209 | |
|
5e7df4bc2a | |
|
779c3df897 | |
|
bb044030c6 | |
|
9745b57b1c | |
|
11cbd5d51a | |
|
1472c15b39 | |
|
b6d60f4475 | |
|
adf5964897 | |
|
5a84df0a00 | |
|
398f3de95b | |
|
daed7df766 | |
|
63893faea3 | |
|
1f7ad0f1e1 | |
|
f1cf739b3b | |
|
bb34ae8610 | |
|
b61504e2ea | |
|
6306dd0a06 | |
|
815405a495 | |
|
a034fcddce | |
|
853211fcf2 | |
|
c0fb98e4d9 | |
|
0e1c2f8657 | |
|
86955ef1d3 | |
|
967665c7bf | |
|
c92f4db433 | |
|
7e33cebd2b | |
|
4adbf74c12 |
|
@ -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,31 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2020-02-24T10:28:08Z
|
||||
name: chaostoolkit
|
||||
version: 0.0.3
|
||||
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,64 +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.2
|
||||
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/data/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'
|
||||
|
||||
labels:
|
||||
name: k8-pod-delete
|
||||
|
||||
---
|
||||
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
|
@ -1,31 +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'
|
|
@ -1,59 +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.2
|
||||
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/data/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'
|
||||
|
||||
labels:
|
||||
name: k8-pod-delete
|
|
@ -1,37 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
name: k8-pod-delete
|
||||
version: 0.0.2
|
||||
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/k8-pod_delete
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/k8-pod-delete/
|
||||
- name: Video
|
||||
url: ''
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/chaostoolkit/k8-pod-delete/experiment.yaml
|
|
@ -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.5
|
||||
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:
|
||||
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,55 +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.5
|
||||
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"
|
||||
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'
|
||||
|
||||
- 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.2
|
||||
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 appications.
|
||||
|
||||
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,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.5
|
||||
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"
|
||||
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'
|
||||
|
||||
- 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,28 +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: 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'
|
|
@ -1,23 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: nginx
|
||||
spec:
|
||||
annotationCheck: 'true'
|
||||
engineState: 'active'
|
||||
appinfo:
|
||||
appns: 'nginx'
|
||||
applabel: 'app=nginx'
|
||||
appkind: 'deployment'
|
||||
chaosServiceAccount: container-kill-sa
|
||||
# use retain to keep the job for debug
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: container-kill
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# specify the name of the container to be killed
|
||||
- name: TARGET_CONTAINER
|
||||
value: 'nginx'
|
|
@ -1,63 +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.12
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "daemonsets"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "pods/exec"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "update"
|
||||
- "patch"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
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'
|
||||
|
||||
# LIB_IMAGE can be - gaiaadm/pumba:0.4.8, gprasath/crictl:ci
|
||||
# For pumba image use: gaiaadm/pumba:0.4.8
|
||||
# For containerd image use: gprasath/crictl:ci
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.4.8'
|
||||
|
||||
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","daemonsets","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","daemonsets","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,30 +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,62 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Fillup Ephemeral Storage of a Resource
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: disk-fill
|
||||
version: 0.1.7
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "daemonsets"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
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: ''
|
||||
|
||||
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","daemonsets","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,53 +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: 'GCP'
|
||||
# set app_check to check application state
|
||||
- name: APP_CHECK
|
||||
value: 'true'
|
||||
# This is a chaos namespace into which all infra chaos resources are created
|
||||
- name: CHAOS_NAMESPACE
|
||||
value: 'default'
|
||||
# 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,79 +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.10
|
||||
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"
|
||||
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'
|
||||
|
||||
- name: CHAOS_NAMESPACE
|
||||
value: ''
|
||||
|
||||
# It supports GCP and AWS
|
||||
- name: CLOUD_PLATFORM
|
||||
value: 'GCP'
|
||||
|
||||
- name: PROJECT_ID
|
||||
value: ''
|
||||
|
||||
- name: NODE_NAME
|
||||
value: ''
|
||||
|
||||
- name: DISK_NAME
|
||||
value: ''
|
||||
|
||||
- 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,769 +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.7
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "extensions"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "events"
|
||||
- "pods/log"
|
||||
- "pods/eviction"
|
||||
- "daemonsets"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs :
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
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'
|
||||
|
||||
# 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.7
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "daemonsets"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
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: ''
|
||||
|
||||
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.7
|
||||
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"
|
||||
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: |
|
||||
Inject network packet corruption into application pod
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: pod-network-corruption
|
||||
version: 0.1.6
|
||||
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"
|
||||
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.10
|
||||
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"
|
||||
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: ''
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '5'
|
||||
|
||||
- name: LIB
|
||||
value: ''
|
||||
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.11
|
||||
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"
|
||||
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.10
|
||||
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"
|
||||
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'
|
||||
|
||||
- name: CHAOS_NAMESPACE
|
||||
value: ''
|
||||
|
||||
# It supports GCP and AWS
|
||||
- name: CLOUD_PLATFORM
|
||||
value: 'GCP'
|
||||
|
||||
- name: PROJECT_ID
|
||||
value: ''
|
||||
|
||||
- name: NODE_NAME
|
||||
value: ''
|
||||
|
||||
- name: DISK_NAME
|
||||
value: ''
|
||||
|
||||
- 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.11
|
||||
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"
|
||||
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.13
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "daemonsets"
|
||||
- "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"
|
||||
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: ''
|
||||
|
||||
- name: PLATFORM
|
||||
value: 'GKE'
|
||||
|
||||
- name: LIB
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: node-cpu-hog
|
||||
---
|
||||
|
||||
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.3
|
||||
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"
|
||||
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: ''
|
||||
|
||||
# It supports GKE and EKS platform
|
||||
- name: PLATFORM
|
||||
value: 'GKE'
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
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.12
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "daemonsets"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "pods/exec"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "update"
|
||||
- "patch"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
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'
|
||||
|
||||
# LIB_IMAGE can be - gaiaadm/pumba:0.4.8, gprasath/crictl:ci
|
||||
# For pumba image use: gaiaadm/pumba:0.4.8
|
||||
# For containerd image use: gprasath/crictl:ci
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.4.8'
|
||||
|
||||
labels:
|
||||
name: container-kill
|
||||
---
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-09-26T10:28:08Z
|
||||
name: generic
|
||||
version: 0.1.10
|
||||
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 easy management and discovery. It will install all the experiments which can be used to inject chaos into containerized appications.
|
||||
|
||||
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
|
||||
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Container
|
||||
- Node
|
||||
- Pod
|
||||
- Disk
|
||||
- Network
|
||||
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,35 +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"
|
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: 2.4 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1,34 +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'
|
||||
# set chaos platform as desired
|
||||
- name: PLATFORM
|
||||
value: 'GKE'
|
||||
# chaos lib used to inject the chaos
|
||||
- name: LIB
|
||||
value: 'litmus'
|
|
@ -1,66 +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.13
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "daemonsets"
|
||||
- "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"
|
||||
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: ''
|
||||
|
||||
- name: PLATFORM
|
||||
value: 'GKE'
|
||||
|
||||
- name: LIB
|
||||
value: ''
|
||||
|
||||
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,71 +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.7
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "batch"
|
||||
- "extensions"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "events"
|
||||
- "pods/log"
|
||||
- "pods/eviction"
|
||||
- "daemonsets"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs :
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
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'
|
||||
|
||||
# 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,38 +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,38 +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'
|
||||
# set chaos platform as desired
|
||||
- name: PLATFORM
|
||||
value: 'GKE'
|
||||
# chaos lib used to inject the chaos
|
||||
- name: LIB
|
||||
value: 'litmus'
|
|
@ -1,71 +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.3
|
||||
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"
|
||||
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: ''
|
||||
|
||||
# It supports GKE and EKS platform
|
||||
- name: PLATFORM
|
||||
value: 'GKE'
|
||||
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
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,61 +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.7
|
||||
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"
|
||||
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,69 +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.10
|
||||
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"
|
||||
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: ''
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '5'
|
||||
|
||||
- name: LIB
|
||||
value: ''
|
||||
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,40 +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","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: 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,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,65 +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.6
|
||||
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"
|
||||
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,65 +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.11
|
||||
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"
|
||||
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
|
|
@ -1,36 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: pod-network-latency-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-latency-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: pod-network-latency-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-latency-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch"]
|
||||
resources: ["pods","jobs","pods/log","events","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: pod-network-latency-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-latency-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: pod-network-latency-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pod-network-latency-sa
|
||||
namespace: default
|
|
@ -1,44 +0,0 @@
|
|||
# chaosengine.yaml
|
||||
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-loss-sa
|
||||
experiments:
|
||||
- name: pod-network-loss
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
#Container name where chaos has to be injected
|
||||
- name: TARGET_CONTAINER
|
||||
value: 'nginx'
|
||||
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
#Network interface inside target container
|
||||
- name: NETWORK_INTERFACE
|
||||
value: 'eth0'
|
||||
|
||||
- name: NETWORK_PACKET_LOSS_PERCENTAGE
|
||||
value: '100'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
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.11
|
||||
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"
|
||||
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
|
|
@ -1,42 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-10-11T10:28:08Z
|
||||
name: pod-network-loss
|
||||
version: 0.1.11
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: pod-network-loss
|
||||
categoryDescription: |
|
||||
Pod-network-loss contains chaos to disrupt network connectivity to kubernetes pods. Experiments can inject percentage packet loss on the app replica pods.
|
||||
- Causes loss of access to application replica by injecting packet loss 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
|
||||
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_loss
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/pod-network-loss/
|
||||
- name: Video
|
||||
url: https://www.youtube.com/watch?v=jqvYy-nWc_I
|
||||
icon:
|
||||
- base64data: ""
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/generic/pod-network-loss/experiment.yaml
|
|
@ -1,35 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: pod-network-loss-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-loss-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: pod-network-loss-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-loss-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-loss-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: pod-network-loss-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: pod-network-loss-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pod-network-loss-sa
|
||||
namespace: default
|
|
@ -1,230 +0,0 @@
|
|||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deleting a kafka broker pod
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: kafka-broker-pod-failure
|
||||
version: 0.1.6
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "statefulsets"
|
||||
- "deployments"
|
||||
- "events"
|
||||
- "pods/log"
|
||||
- "configmaps"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs :
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure-ansible-logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: KAFKA_KIND
|
||||
value: 'statefulset'
|
||||
|
||||
- name: KAFKA_LIVENESS_STREAM
|
||||
value: 'enabled'
|
||||
|
||||
- name: KAFKA_LIVENESS_IMAGE
|
||||
value: 'litmuschaos/kafka-client:ci'
|
||||
|
||||
- name: KAFKA_CONSUMER_TIMEOUT
|
||||
value: '30000'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '5'
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: KAFKA_INSTANCE_NAME
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_LABEL
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_BROKER
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_REPLICATION_FACTOR
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_SERVICE
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_PORT
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_LABEL
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_SERVICE
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_PORT
|
||||
value: ''
|
||||
|
||||
## env var that describes the library used to execute the chaos
|
||||
## default: litmus. Supported values: litmus, powerfulseal
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
labels:
|
||||
name: kafka-broker-pod-failure
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Detaching a persistent disk from a node/instance for kafka.
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: kafka-broker-disk-failure
|
||||
version: 0.1.6
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "statefulsets"
|
||||
- "secrets"
|
||||
- "jobs"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "delete"
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure-ansible-logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: KAFKA_KIND
|
||||
value: 'statefulset'
|
||||
|
||||
- name: KAFKA_LIVENESS_STREAM
|
||||
value: 'enabled'
|
||||
|
||||
- name: KAFKA_LIVENESS_IMAGE
|
||||
value: 'litmuschaos/kafka-client:ci'
|
||||
|
||||
- name: KAFKA_CONSUMER_TIMEOUT
|
||||
value: '30000'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
- name: PROJECT_ID
|
||||
value: ''
|
||||
|
||||
- name: DISK_NAME
|
||||
value: ''
|
||||
|
||||
- name: ZONE_NAME
|
||||
value: ''
|
||||
|
||||
- name: CLOUD_PLATFORM
|
||||
value: 'GCP'
|
||||
|
||||
- name: KAFKA_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_LABEL
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_BROKER
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_INSTANCE_NAME
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_REPLICATION_FACTOR
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_SERVICE
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_PORT
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_LABEL
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_SERVICE
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_PORT
|
||||
value: ''
|
||||
labels:
|
||||
name: kafka-broker-disk-failure
|
||||
secrets:
|
||||
- name: kafka-broker-disk-failure
|
||||
mountPath: /tmp/
|
||||
|
||||
---
|
||||
|
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.1 KiB |
|
@ -1,86 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: kafka-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=cp-kafka'
|
||||
appkind: 'statefulset'
|
||||
chaosServiceAccount: kafka-broker-disk-failure-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: kafka-broker-disk-failure
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# choose based on available kafka broker replicas
|
||||
- name: KAFKA_REPLICATION_FACTOR
|
||||
value: '3'
|
||||
|
||||
# get via 'kubectl get pods --show-labels -n <kafka-namespace>'
|
||||
- name: KAFKA_LABEL
|
||||
value: 'app=cp-kafka'
|
||||
|
||||
- name: KAFKA_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
# get via 'kubectl get svc -n <kafka-namespace>'
|
||||
- name: KAFKA_SERVICE
|
||||
value: 'kafka-cp-kafka-headless'
|
||||
|
||||
# get via 'kubectl get svc -n <kafka-namespace>'
|
||||
- name: KAFKA_PORT
|
||||
value: '9092'
|
||||
|
||||
# in milliseconds
|
||||
- name: KAFKA_CONSUMER_TIMEOUT
|
||||
value: '70000'
|
||||
|
||||
# ensure to set the instance name if using KUDO operator
|
||||
- name: KAFKA_INSTANCE_NAME
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
# get via 'kubectl get pods --show-labels -n <zk-namespace>'
|
||||
- name: ZOOKEEPER_LABEL
|
||||
value: 'app=cp-zookeeper'
|
||||
|
||||
# get via 'kubectl get svc -n <zk-namespace>
|
||||
- name: ZOOKEEPER_SERVICE
|
||||
value: 'kafka-cp-zookeeper-headless'
|
||||
|
||||
# get via 'kubectl get svc -n <zk-namespace>
|
||||
- name: ZOOKEEPER_PORT
|
||||
value: '2181'
|
||||
|
||||
# get from google cloud console or 'gcloud projects list'
|
||||
- name: PROJECT_ID
|
||||
value: 'argon-tractor-237811'
|
||||
|
||||
# attached to (in use by) node where 'kafka-0' is scheduled
|
||||
- name: DISK_NAME
|
||||
value: 'disk-1'
|
||||
|
||||
- name: ZONE_NAME
|
||||
value: 'us-central1-a'
|
||||
|
||||
# Uses 'disk-1' attached to the node on which it is scheduled
|
||||
- name: KAFKA_BROKER
|
||||
value: 'kafka-0'
|
||||
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
|
@ -1,109 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Detaching a persistent disk from a node/instance for kafka.
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: kafka-broker-disk-failure
|
||||
version: 0.1.6
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "statefulsets"
|
||||
- "secrets"
|
||||
- "jobs"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "delete"
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/kafka/kafka-broker-disk-failure/kafka-broker-disk-failure-ansible-logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: KAFKA_KIND
|
||||
value: 'statefulset'
|
||||
|
||||
- name: KAFKA_LIVENESS_STREAM
|
||||
value: 'enabled'
|
||||
|
||||
- name: KAFKA_LIVENESS_IMAGE
|
||||
value: 'litmuschaos/kafka-client:ci'
|
||||
|
||||
- name: KAFKA_CONSUMER_TIMEOUT
|
||||
value: '30000'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
- name: PROJECT_ID
|
||||
value: ''
|
||||
|
||||
- name: DISK_NAME
|
||||
value: ''
|
||||
|
||||
- name: ZONE_NAME
|
||||
value: ''
|
||||
|
||||
- name: CLOUD_PLATFORM
|
||||
value: 'GCP'
|
||||
|
||||
- name: KAFKA_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_LABEL
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_BROKER
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_INSTANCE_NAME
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_REPLICATION_FACTOR
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_SERVICE
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_PORT
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_LABEL
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_SERVICE
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_PORT
|
||||
value: ''
|
||||
labels:
|
||||
name: kafka-broker-disk-failure
|
||||
secrets:
|
||||
- name: kafka-broker-disk-failure
|
||||
mountPath: /tmp/
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-11-15T10:28:08Z
|
||||
name: kafka-broker-disk-failure
|
||||
version: 0.1.8
|
||||
annotations:
|
||||
categories: Kafka
|
||||
vendor: Mayadata
|
||||
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
|
||||
spec:
|
||||
displayName: kafka-broker-disk-failure
|
||||
categoryDescription: |
|
||||
Detaching a persistent disk from a node/instance for kafka
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Disk
|
||||
- Kafka
|
||||
platforms:
|
||||
- GKE
|
||||
- konvoy
|
||||
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/kafka/kafka-broker-disk-failure
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/kafka-broker-disk-failure/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/kafka-broker-disk-failure/experiment.yaml
|
|
@ -1,35 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: kafka-broker-disk-failure-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: kafka-broker-disk-failure-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: kafka-broker-disk-failure-sa
|
||||
labels:
|
||||
name: kafka-broker-disk-failure-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","jobs","pods/log","events","pods/exec","statefulsets","secrets","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: kafka-broker-disk-failure-sa
|
||||
labels:
|
||||
name: kafka-broker-disk-failure-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: kafka-broker-disk-failure-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: kafka-broker-disk-failure-sa
|
||||
namespace: default
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: kafka-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=cp-kafka'
|
||||
appkind: 'statefulset'
|
||||
chaosServiceAccount: kafka-broker-pod-failure-sa
|
||||
monitoring: false
|
||||
# It can be delete/retain
|
||||
jobCleanUpPolicy: 'delete'
|
||||
experiments:
|
||||
- name: kafka-broker-pod-failure
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# choose based on available kafka broker replicas
|
||||
- name: KAFKA_REPLICATION_FACTOR
|
||||
value: '3'
|
||||
|
||||
# get via 'kubectl get pods --show-labels -n <kafka-namespace>'
|
||||
- name: KAFKA_LABEL
|
||||
value: 'app=cp-kafka'
|
||||
|
||||
- name: KAFKA_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
# get via 'kubectl get svc -n <kafka-namespace>'
|
||||
- name: KAFKA_SERVICE
|
||||
value: 'kafka-cp-kafka-headless'
|
||||
|
||||
# get via 'kubectl get svc -n <kafka-namespace>'
|
||||
- name: KAFKA_PORT
|
||||
value: '9092'
|
||||
|
||||
# in milliseconds
|
||||
- name: KAFKA_CONSUMER_TIMEOUT
|
||||
value: '70000'
|
||||
|
||||
# ensure to set the instance name if using KUDO operator
|
||||
- name: KAFKA_INSTANCE_NAME
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_NAMESPACE
|
||||
value: 'default'
|
||||
|
||||
# get via 'kubectl get pods --show-labels -n <zk-namespace>'
|
||||
- name: ZOOKEEPER_LABEL
|
||||
value: 'app=cp-zookeeper'
|
||||
|
||||
# get via 'kubectl get svc -n <zk-namespace>
|
||||
- name: ZOOKEEPER_SERVICE
|
||||
value: 'kafka-cp-zookeeper-headless'
|
||||
|
||||
# get via 'kubectl get svc -n <zk-namespace>
|
||||
- name: ZOOKEEPER_PORT
|
||||
value: '2181'
|
||||
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# set chaos interval (in sec) as desired
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '20'
|
||||
|
||||
# pod failures without '--force' & default terminationGracePeriodSeconds
|
||||
- name: FORCE
|
||||
value: 'false'
|
|
@ -1,114 +0,0 @@
|
|||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Deleting a kafka broker pod
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: kafka-broker-pod-failure
|
||||
version: 0.1.6
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
resources:
|
||||
- "statefulsets"
|
||||
- "deployments"
|
||||
- "events"
|
||||
- "pods/log"
|
||||
- "configmaps"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs :
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/kafka/kafka-broker-pod-failure/kafka-broker-pod-failure-ansible-logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: KAFKA_KIND
|
||||
value: 'statefulset'
|
||||
|
||||
- name: KAFKA_LIVENESS_STREAM
|
||||
value: 'enabled'
|
||||
|
||||
- name: KAFKA_LIVENESS_IMAGE
|
||||
value: 'litmuschaos/kafka-client:ci'
|
||||
|
||||
- name: KAFKA_CONSUMER_TIMEOUT
|
||||
value: '30000'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '15'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '5'
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: KAFKA_INSTANCE_NAME
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_LABEL
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_BROKER
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_REPLICATION_FACTOR
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_SERVICE
|
||||
value: ''
|
||||
|
||||
- name: KAFKA_PORT
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_LABEL
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_SERVICE
|
||||
value: ''
|
||||
|
||||
- name: ZOOKEEPER_PORT
|
||||
value: ''
|
||||
|
||||
## env var that describes the library used to execute the chaos
|
||||
## default: litmus. Supported values: litmus, powerfulseal
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
labels:
|
||||
name: kafka-broker-pod-failure
|
|
@ -1,41 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-11-15T10:28:08Z
|
||||
name: kafka-broker-pod-failure
|
||||
version: 0.1.5
|
||||
annotations:
|
||||
categories: Kafka
|
||||
vendor: Mayadata
|
||||
repository: https://github.com/litmuschaos/chaos-charts
|
||||
support: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
|
||||
spec:
|
||||
displayName: kafka-broker-pod-failure
|
||||
categoryDescription: |
|
||||
This chaos experiment kills (random or specified) kafka broker pods
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Pod
|
||||
- State
|
||||
- Kafka
|
||||
platforms:
|
||||
- GKE
|
||||
- konvoy
|
||||
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/kafka/kafka-broker-pod-failure
|
||||
- name: Documentation
|
||||
url: https://docs.litmuschaos.io/docs/kafka-broker-pod-failure/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/kafka-broker-pod-failure/experiment.yaml
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: kafka-broker-pod-failure-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: kafka-broker-pod-failure-sa
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: kafka-broker-pod-failure-sa
|
||||
labels:
|
||||
name: kafka-broker-pod-failure-sa
|
||||
rules:
|
||||
- apiGroups: ["","litmuschaos.io","batch","apps"]
|
||||
resources: ["pods","deployments","pods/log","events","jobs","pods/exec","statefulsets","configmaps","chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs : ["get","list"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: kafka-broker-pod-failure-sa
|
||||
labels:
|
||||
name: kafka-broker-pod-failure-sa
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: kafka-broker-pod-failure-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: kafka-broker-pod-failure-sa
|
||||
namespace: default
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2019-11-13T10:28:08Z
|
||||
name: kafka
|
||||
version: 0.1.4
|
||||
annotations:
|
||||
categories: Kafka
|
||||
chartDescription: Injects chaos on kafka components
|
||||
spec:
|
||||
displayName: Kafka Chaos
|
||||
categoryDescription: >
|
||||
Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, fast,
|
||||
and runs in production in thousands of companies
|
||||
experiments:
|
||||
- kafka-broker-pod-failure
|
||||
keywords:
|
||||
- Kubernetes
|
||||
- Kafka
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik.s@mayadata.io
|
||||
minKubeVersion: 1.12.0
|
||||
provider:
|
||||
name: Mayadata
|
||||
links:
|
||||
- name: Kafka Website
|
||||
url: http://kafka.apache.org/
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus/tree/master/experiments/kafka
|
||||
- name: Community Slack
|
||||
url: https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN
|
||||
icon:
|
||||
- url:
|
||||
mediatype:
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/kafka/experiments.yaml
|
|
@ -1,8 +0,0 @@
|
|||
packageName: kafka
|
||||
experiments:
|
||||
- name: kafka-broker-pod-failure
|
||||
CSV: kafka-broker-pod-failure.chartserviceversion.yaml
|
||||
desc: "kafka-broker-pod-failure"
|
||||
- name: kafka-broker-disk-failure
|
||||
CSV: kafka-broker-disk-failure.chartserviceversion.yaml
|
||||
desc: "kafka-broker-disk-failure"
|
|
@ -1,902 +0,0 @@
|
|||
---
|
||||
|
||||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Kill the cstor target/Jiva controller container and check if gets created again
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-target-container-failure
|
||||
version: 0.1.8
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
- "storage.k8s.io"
|
||||
resources:
|
||||
- "daemonsets"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "events"
|
||||
- "pods/exec"
|
||||
- "pods/log"
|
||||
- "configmaps"
|
||||
- "secrets"
|
||||
- "persistentvolumeclaims"
|
||||
- "storageclasses"
|
||||
- "persistentvolumes"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "delete"
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-target-container-failure/openebs_target_container_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: OPENEBS_NAMESPACE
|
||||
value: 'openebs'
|
||||
|
||||
- name: APP_PVC
|
||||
value: ''
|
||||
|
||||
# LIB_IMAGE can be - gaiaadm/pumba:0.4.8, gprasath/crictl:ci
|
||||
# For pumba image use : gaiaadm/pumba:0.4.8
|
||||
# For containerd image use : gprasath/crictl:ci
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.4.8'
|
||||
|
||||
# Specify the container runtime used , to pick the relevant chaos util
|
||||
- name: CONTAINER_RUNTIME
|
||||
value: 'docker'
|
||||
|
||||
# TARGET_CONTAINER values: cstor-volume-mgmt , cstor-istgt
|
||||
# For cstor-volume-istgt container kill use : cstor-istgt
|
||||
# For volume-mgmt-kill container use : cstor-volume-mgmt
|
||||
|
||||
- name: TARGET_CONTAINER
|
||||
value: 'cstor-volume-mgmt'
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
- name: DEPLOY_TYPE
|
||||
value: 'deployment'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: "60"
|
||||
|
||||
labels:
|
||||
name: openebs-target-container-failure
|
||||
#configmaps:
|
||||
#- name: openebs-target-container-failure
|
||||
# mountPath: /mnt
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
OpenEBS Pool Disk Loss contains chaos to disrupt state of infra resources. Experiments can inject disk loss against openEBS pool.
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-pool-disk-loss
|
||||
version: 0.1.1
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
- "batch"
|
||||
- "extensions"
|
||||
- "storage.k8s.io"
|
||||
- "openebs.io"
|
||||
resources:
|
||||
- "pods"
|
||||
- "jobs"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "pods/exec"
|
||||
- "cstorpools"
|
||||
- "configmaps"
|
||||
- "secrets"
|
||||
- "storageclasses"
|
||||
- "persistentvolumes"
|
||||
- "persistentvolumeclaims"
|
||||
- "cstorvolumereplicas"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
- "chaosengines"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-pool-disk-loss/openebs_pool_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: '60'
|
||||
|
||||
# Period to wait before injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
- name: CHAOS_NAMESPACE
|
||||
value: ''
|
||||
|
||||
# It supports GCP and AWS
|
||||
- name: CLOUD_PLATFORM
|
||||
value: 'GCP'
|
||||
|
||||
- name: PROJECT_ID
|
||||
value: ''
|
||||
|
||||
- name: NODE_NAME
|
||||
value: ''
|
||||
|
||||
- name: DISK_NAME
|
||||
value: ''
|
||||
|
||||
- name: ZONE_NAME
|
||||
value: ''
|
||||
|
||||
- name: DEVICE_NAME
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
- name: OPENEBS_NAMESPACE
|
||||
value: 'openebs'
|
||||
labels:
|
||||
name: openebs-pool-disk-loss
|
||||
configmaps:
|
||||
- name: openebs-pool-disk-loss
|
||||
mountPath: /mnt/
|
||||
secrets:
|
||||
- name: cloud-secret
|
||||
mountPath: /tmp/
|
||||
---
|
||||
|
||||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Kill the cstor target/Jiva controller pod and check if gets created again
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-target-pod-failure
|
||||
version: 0.1.9
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "extensions"
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
- "storage.k8s.io"
|
||||
resources:
|
||||
- "deployments"
|
||||
- "jobs"
|
||||
- "events"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "pods/exec"
|
||||
- "configmaps"
|
||||
- "secrets"
|
||||
- "services"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
- "persistentvolumeclaims"
|
||||
- "storageclasses"
|
||||
- "persistentvolumes"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-target-pod-failure/openebs_target_pod_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: OPENEBS_NAMESPACE
|
||||
value: 'openebs'
|
||||
|
||||
- name: APP_PVC
|
||||
value: ''
|
||||
|
||||
- name: FORCE
|
||||
value: 'true'
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '15'
|
||||
|
||||
- name: DEPLOY_TYPE
|
||||
value: 'deployment'
|
||||
|
||||
labels:
|
||||
name: openebs-target-pod-failure
|
||||
#configmaps:
|
||||
#- name: openebs-target-pod-failure
|
||||
# mountPath: /mnt
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Kill all openebs control plane pod and check if gets scheduled again
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-control-plane-chaos
|
||||
version: 0.1.3
|
||||
spec:
|
||||
definition:
|
||||
scope: Namespaced
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "litmuschaos.io"
|
||||
- "batch"
|
||||
- "apps"
|
||||
resources:
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "deployments"
|
||||
- "events"
|
||||
- "jobs"
|
||||
- "configmaps"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "list"
|
||||
- "get"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-control-plane-chaos/openebs_control_plane_chaos_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: OPENEBS_NAMESPACE
|
||||
value: 'openebs'
|
||||
|
||||
## Period to wait before injection of chaos
|
||||
- name: RAMP_TIME
|
||||
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: openebs-control-plane-chaos
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Network delay to target pod belonging to a deployment/statefulset/daemonset
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-target-network-delay
|
||||
version: 0.1.9
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "extensions"
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
- "storage.k8s.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "services"
|
||||
- "events"
|
||||
- "pods/exec"
|
||||
- "pods/log"
|
||||
- "configmaps"
|
||||
- "secrets"
|
||||
- "persistentvolumeclaims"
|
||||
- "storageclasses"
|
||||
- "persistentvolumes"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-target-network-delay/openebs_target_network_delay_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: OPENEBS_NAMESPACE
|
||||
value: 'openebs'
|
||||
|
||||
- name: APP_PVC
|
||||
value: ''
|
||||
|
||||
# only pumba supported
|
||||
# For pumba image use : gaiaadm/pumba:0.6.5
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_DELAY
|
||||
value: '60000' # in milliseconds
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: openebs-target-network-delay
|
||||
#configmaps:
|
||||
#- name: openebs-target-network-delay
|
||||
# mountPath: /mnt
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Network loss to target pod belonging to a OpenEBS PVC
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-target-network-loss
|
||||
version: 0.1.10
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "extensions"
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
- "storage.k8s.io"
|
||||
resources:
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "events"
|
||||
- "services"
|
||||
- "pods/log"
|
||||
- "pods/exec"
|
||||
- "configmaps"
|
||||
- "secrets"
|
||||
- "persistentvolumeclaims"
|
||||
- "storageclasses"
|
||||
- "persistentvolumes"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-target-network-loss/openebs_target_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: OPENEBS_NAMESPACE
|
||||
value: 'openebs'
|
||||
|
||||
- name: APP_PVC
|
||||
value: ''
|
||||
|
||||
# only pumba supported
|
||||
# For pumba image use : gaiaadm/pumba:0.6.5
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_PACKET_LOSS_PERCENTAGE
|
||||
value: '100' # in percentage
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '120' # in seconds
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: openebs-target-network-loss
|
||||
#configmaps:
|
||||
#- name: openebs-target-network-loss
|
||||
# mountPath: /mnt
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Network delay to pool pod belonging to a OpenEBS PVC
|
||||
This experiment is using pumba lib for network chaos
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-pool-network-delay
|
||||
version: 0.1.3
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
- "batch"
|
||||
- "extensions"
|
||||
- "storage.k8s.io"
|
||||
- "openebs.io"
|
||||
resources:
|
||||
- "pods"
|
||||
- "pods/exec"
|
||||
- "jobs"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "configmaps"
|
||||
- "services"
|
||||
- "persistentvolumeclaims"
|
||||
- "storageclasses"
|
||||
- "persistentvolumes"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
- "cstorpools"
|
||||
- "cstorvolumereplicas"
|
||||
- "replicasets"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
- "delete"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-pool-network-delay/openebs_pool_network_delay_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: OPENEBS_NAMESPACE
|
||||
value: 'openebs'
|
||||
|
||||
# only pumba supported
|
||||
# For pumba image use : gaiaadm/pumba:0.6.5
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
# in milliseconds
|
||||
- name: NETWORK_DELAY
|
||||
value: '60000'
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60' # in seconds
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: openebs-pool-network-delay
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Kill the pool pod and check if gets scheduled again
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-pool-pod-failure
|
||||
version: 0.1.6
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "extensions"
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
- "openebs.io"
|
||||
- "storage.k8s.io"
|
||||
resources:
|
||||
- "deployments"
|
||||
- "replicasets"
|
||||
- "jobs"
|
||||
- "pods/log"
|
||||
- "events"
|
||||
- "pods"
|
||||
- "configmaps"
|
||||
- "secrets"
|
||||
- "storageclasses"
|
||||
- "persistentvolumeclaims"
|
||||
- "cstorvolumereplicas"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- "nodes"
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-pool-pod-failure/openebs_pool_pod_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: default
|
||||
|
||||
- name: OPENEBS_NS
|
||||
value: 'openebs'
|
||||
|
||||
- name: APP_PVC
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: CHAOS_ITERATIONS
|
||||
value: '2'
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: openebs-pool-pod-failure
|
||||
#configmaps:
|
||||
#- name: openebs-pool-pod-failure
|
||||
# mountPath: /mnt
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Kill the pool container and check if gets scheduled again
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-pool-container-failure
|
||||
version: 0.1.8
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "extensions"
|
||||
- "apps"
|
||||
- "batch"
|
||||
- "litmuschaos.io"
|
||||
- "openebs.io"
|
||||
- "storage.k8s.io"
|
||||
resources:
|
||||
- "daemonsets"
|
||||
- "replicasets"
|
||||
- "events"
|
||||
- "jobs"
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "pods/exec"
|
||||
- "configmaps"
|
||||
- "secrets"
|
||||
- "persistentvolumeclaims"
|
||||
- "cstorvolumereplicas"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-pool-container-failure/openebs_pool_container_failure_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: OPENEBS_NS
|
||||
value: 'openebs'
|
||||
|
||||
- name: APP_PVC
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
# only pumba supported
|
||||
# For pumba image use : gaiaadm/pumba:0.4.8
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.4.8'
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
- name: CHAOS_ITERATIONS
|
||||
value: '2'
|
||||
|
||||
labels:
|
||||
name: openebs-pool-container-failure
|
||||
#configmaps:
|
||||
#- name: openebs-pool-container-failure
|
||||
# mountPath: /mnt
|
||||
|
||||
|
||||
---
|
||||
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Network loss to pool pod belonging to a OpenEBS PVC
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
labels:
|
||||
litmuschaos.io/name: openebs
|
||||
name: openebs-pool-network-loss
|
||||
version: 0.1.3
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "apps"
|
||||
- "litmuschaos.io"
|
||||
- "batch"
|
||||
- "extensions"
|
||||
- "storage.k8s.io"
|
||||
- "openebs.io"
|
||||
resources:
|
||||
- "pods"
|
||||
- "pods/log"
|
||||
- "pods/exec"
|
||||
- "events"
|
||||
- "jobs"
|
||||
- "configmaps"
|
||||
- "services"
|
||||
- "persistentvolumeclaims"
|
||||
- "storageclasses"
|
||||
- "persistentvolumeclaims"
|
||||
- "persistentvolumes"
|
||||
- "chaosengines"
|
||||
- "chaosexperiments"
|
||||
- "chaosresults"
|
||||
- "cstorpools"
|
||||
- "cstorvolumereplicas"
|
||||
- "replicasets"
|
||||
verbs:
|
||||
- "create"
|
||||
- "get"
|
||||
- "delete"
|
||||
- "list"
|
||||
- "patch"
|
||||
- "update"
|
||||
image: "litmuschaos/ansible-runner:latest"
|
||||
args:
|
||||
- -c
|
||||
- ansible-playbook ./experiments/openebs/openebs-pool-network-loss/openebs_pool_network_loss_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: ANSIBLE_STDOUT_CALLBACK
|
||||
value: 'default'
|
||||
|
||||
- name: OPENEBS_NAMESPACE
|
||||
value: 'openebs'
|
||||
|
||||
# only pumba supported
|
||||
# For pumba image use : gaiaadm/pumba:0.6.5
|
||||
- name: LIB_IMAGE
|
||||
value: 'gaiaadm/pumba:0.6.5'
|
||||
|
||||
- name: NETWORK_PACKET_LOSS_PERCENTAGE
|
||||
value: '100' # in percentage
|
||||
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '120' # in seconds
|
||||
|
||||
- name: LIVENESS_APP_LABEL
|
||||
value: ''
|
||||
|
||||
- name: LIVENESS_APP_NAMESPACE
|
||||
value: ''
|
||||
|
||||
- name: DATA_PERSISTENCE
|
||||
value: ''
|
||||
|
||||
labels:
|
||||
name: openebs-pool-network-loss
|
||||
|
||||
---
|
||||
|