Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test/chaos experiments: Tests for handlers and services #4137

Merged
merged 26 commits into from Oct 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
3e37cd0
fix: use local mongo operator
SohamRatnaparkhi Aug 16, 2023
a47bfff
feat: gitops mocks added
SohamRatnaparkhi Aug 16, 2023
9334397
feat: mongo mocks added
SohamRatnaparkhi Aug 16, 2023
8b46c91
feat: chaos experiment run mocks added
SohamRatnaparkhi Aug 16, 2023
05e51f3
feat: infra mocks added
SohamRatnaparkhi Aug 16, 2023
53d2f9f
feat: chaos experiment mocks added
SohamRatnaparkhi Aug 16, 2023
f57f40b
feat: temporary manifests
SohamRatnaparkhi Aug 18, 2023
8147ebd
fix: missing exp-run operator
SohamRatnaparkhi Aug 18, 2023
9b8e7c4
feat: service tests
SohamRatnaparkhi Aug 18, 2023
54afc14
feat: handler tests
SohamRatnaparkhi Aug 18, 2023
7ee8b97
Merge branch 'master' of https://github.com/litmuschaos/litmus into t…
SohamRatnaparkhi Aug 27, 2023
6f2a97e
fix: errors due to package restructure conflicts with upstream
SohamRatnaparkhi Aug 27, 2023
e435c6f
Merge branch 'master' into test/chaos-exps
SohamRatnaparkhi Sep 14, 2023
60615ae
Merge branch 'master' into test/chaos-exps
SohamRatnaparkhi Sep 17, 2023
d7e7421
fix: infra resolver bug
SohamRatnaparkhi Sep 17, 2023
b1ec893
feat: add exp_run mock service
SohamRatnaparkhi Sep 20, 2023
7f083e6
fix: gitops mocks
SohamRatnaparkhi Sep 20, 2023
7ce68a0
fix: typos
SohamRatnaparkhi Sep 20, 2023
bbc3189
feat: add exp run test files
SohamRatnaparkhi Sep 30, 2023
9dd434c
chore: remove redundant package
SohamRatnaparkhi Sep 30, 2023
db3418b
Merge branch 'master' into test/chaos-exps
SohamRatnaparkhi Sep 30, 2023
6031c35
Merge branch 'master' into test/chaos-exps
namkyu1999 Oct 4, 2023
25947c8
fix: update exp bugs
SohamRatnaparkhi Oct 4, 2023
aed11ef
Merge branch 'master' into test/chaos-exps
Saranya-jena Oct 16, 2023
7b41d66
Merge branch 'master' into test/chaos-exps
Saranya-jena Oct 26, 2023
9436f63
Merge branch 'master' into test/chaos-exps
Saranya-jena Oct 26, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view

Large diffs are not rendered by default.

@@ -0,0 +1,34 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
generateName: nginx-chaos
name: nginx-chaos
namespace: default
spec:
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
# It can be active/stop
engineState: 'active'
chaosServiceAccount: pod-delete-sa
experiments:
- name: 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'

# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'

## percentage of total pods to target
- name: PODS_AFFECTED_PERC
value: ''
@@ -0,0 +1,33 @@
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosSchedule
metadata:
name: schedule-nginx
generateName: schedule-nginx
spec:
schedule:
now: true
engineTemplateSpec:
engineState: 'active'
appinfo:
appns: 'default'
applabel: 'app=nginx'
appkind: 'deployment'
annotationCheck: 'true'
chaosServiceAccount: pod-delete-sa
jobCleanUpPolicy: 'delete'
experiments:
- name: 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'

# pod failures without '--force' & default terminationGracePeriodSeconds
- name: FORCE
value: 'false'
@@ -0,0 +1,177 @@
kind: CronWorkflow
apiVersion: argoproj.io/v1alpha1
metadata:
name: test-podtato-head-1682669740
namespace: litmus
creationTimestamp: null
labels:
subject: podtato-head_litmus
workflows.argoproj.io/controller-instanceid: 83c20016-f7ec-4c5d-bb84-3a067a7010c2
spec:
workflowSpec:
templates:
- name: argowf-chaos
inputs: {}
outputs: {}
metadata: {}
steps:
- - name: install-application
template: install-application
arguments: {}
- - name: install-chaos-experiments
template: install-chaos-experiments
arguments: {}
- - name: pod-delete
template: pod-delete
arguments: {}
- - name: revert-chaos
template: revert-chaos
arguments: {}
- name: delete-application
template: delete-application
arguments: {}
- name: install-application
inputs: {}
outputs: {}
metadata: {}
container:
name: ""
image: litmuschaos/litmus-app-deployer:latest
args:
- -namespace={{workflow.parameters.adminModeNamespace}}
- -typeName=resilient
- -operation=apply
- -timeout=400
- -app=podtato-head
- -scope=namespace
resources: {}
- name: install-chaos-experiments
inputs: {}
outputs: {}
metadata: {}
container:
name: ""
image: litmuschaos/k8s:latest
command:
- sh
- -c
args:
- kubectl apply -f
https://hub.litmuschaos.io/api/chaos/3.0.0-beta3?file=charts/generic/experiments.yaml
-n {{workflow.parameters.adminModeNamespace}} ; sleep 30
resources: {}
- name: pod-delete
inputs:
artifacts:
- name: pod-delete
path: /tmp/chaosengine.yaml
raw:
data: >
apiVersion: litmuschaos.io/v1alpha1

kind: ChaosEngine

metadata:
namespace: "{{workflow.parameters.adminModeNamespace}}"
labels:
workflow_run_id: "{{workflow.uid}}"
workflow_name: podtato-head-1683012309
generateName: podtato-main-pod-delete-chaos
spec:
appinfo:
appns: "{{workflow.parameters.adminModeNamespace}}"
applabel: name=podtato-main
appkind: deployment
engineState: active
chaosServiceAccount: litmus-admin
jobCleanUpPolicy: retain
components:
runner:
imagePullPolicy: Always
experiments:
- name: pod-delete
spec:
probe:
- name: check-podtato-main-access-url
type: httpProbe
httpProbe/inputs:
url: http://podtato-main.{{workflow.parameters.adminModeNamespace}}.svc.cluster.local:9000
insecureSkipVerify: false
method:
get:
criteria: ==
responseCode: "200"
mode: Continuous
runProperties:
probeTimeout: 1
interval: 1
retry: 1
components:
env:
- name: TOTAL_CHAOS_DURATION
value: "30"
- name: CHAOS_INTERVAL
value: "10"
- name: FORCE
value: "false"
outputs: {}
metadata:
labels:
weight: "10"
container:
name: ""
image: litmuschaos/litmus-checker:latest
args:
- -file=/tmp/chaosengine.yaml
- -saveName=/tmp/engine-name
resources: {}
- name: delete-application
inputs: {}
outputs: {}
metadata: {}
container:
name: ""
image: litmuschaos/litmus-app-deployer:latest
args:
- -namespace={{workflow.parameters.adminModeNamespace}}
- -typeName=resilient
- -operation=delete
- -app=podtato-head
resources: {}
- name: revert-chaos
inputs: {}
outputs: {}
metadata: {}
container:
name: ""
image: litmuschaos/k8s:latest
command:
- sh
- -c
args:
- kubectl delete chaosengine -l workflow_run_id={{workflow.uid}} -n
{{workflow.parameters.adminModeNamespace}}
resources: {}
entrypoint: argowf-chaos
arguments:
parameters:
- name: adminModeNamespace
value: litmus
serviceAccountName: argo-chaos
securityContext:
runAsUser: 1000
runAsNonRoot: true
schedule: 28 16 * * 0-6
concurrencyPolicy: Forbid
startingDeadlineSeconds: 0
timezone: Asia/Seoul
workflowMetadata:
creationTimestamp: null
labels:
cluster_id: 83c20016-f7ec-4c5d-bb84-3a067a7010c2
workflow_id: eb7eb07f-5a60-470a-89e8-7b98ab7e6b11
workflows.argoproj.io/controller-instanceid: 83c20016-f7ec-4c5d-bb84-3a067a7010c2
status:
? active
? lastScheduledTime
? conditions