litmuschaos / litmus

Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q
https://litmuschaos.io
Apache License 2.0
4.44k stars 698 forks source link

(feat): Add (at least) one negative workflow for each OpenEBS experiment #1118

Closed uditgaurav closed 3 years ago

uditgaurav commented 4 years ago

This issue is for the feature request in the litmus-e2e pipeline

what it is about?

why and how?

List of Experiments:

uditgaurav commented 4 years ago

Test cases which have been added for openebs pool container failure experiment

uditgaurav commented 4 years ago

Validations for OpenEBS Experiments (To be done)

Experiments

Validations (Test Cases)

Before Chaos

After Chaos

Openebs Pool Container Failure 1. Resource Version changes (from old)

2. Restart count of cstor-pool-mgmt and cstor-pool containers.(from old)

3. Container ID changes (from old value)
1. Resource Version changes (to new value)

2. Restart count of cstor-pool-mgmt and cstor-pool containers.(to new value)

3. Container ID changes (to new value)
Openebs Pool Pod Failure 1. New cstor-sparse-pool pod is created in openebs ns - and deleting the old one.
New pod can be tested by checking:-
- Resource Version(old)
- Name
- podIP
- startTime

1. The old cstor-sparse-pool pod Gets deleted and new one gets created with:-
- Resource Version (new)
- Name(different)
- podIP(different)
- startTime(different)

Openebs Target Container Failure 1. Resource Version is changed (from a random number).

2. RestartCount for cstor-istgt container changes (from 0).

3. ContainerID changed (status.containerStatuses[0].containerID).

4. In container cstor-istgt the value of startedAt changed from (random value).

5. lastState contains empty value for cstor-istgt container
1. Resource Version changed (to a random number).

2. ContainerID changed to new value.

3. RestartCount for cstor-istgt container changes (to 1).

4. In container cstor-istgt the value of startedAt changed from (random higher value)

5. lastState now contains value like containerID,exitCode,reason,finishedAt
Openebs Target Network Delay kube-ip tables are used to check network issues. It will give an error message if it finds any network issues.
Openebs Target Network Loss kube-ip tables are used to check network issues. It will give an error message if it finds any network issues.
Openebs Target Pod Failure 1. Restart count changes for target pod (some value)

2. Resource Version of the target pod changes (random value)

3. PodIP gets changed (say 10.32.1.12)

4. Container ID for cstor-volume-mgmt (from some value)

5. lastState contains empty value for cstor-volume-mgmt container

1. Restart count changes for target pod ( some value + 1)

2. Resource Version of the target pod changes(other random value)

3. PodIP gets changed (It will become 10.32.1.13)

4. Container Id for cstor-volume-mgmt (to new value)

5. lastState contains non empty value for cstor-volume-mgmt container

uditgaurav commented 4 years ago

The test cases which are added for openebs pool pod failure experiment:

uditgaurav commented 4 years ago

Test cases which have been added for openebs target container failure

uditgaurav commented 4 years ago

This issue contains:

The tests added for openebs target pod failure are: