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

chore(experiment): Add pod network duplication experiment in generic experiments of LitmusChaos #27

Merged
merged 6 commits into from
Jul 3, 2020

Conversation

uditgaurav
Copy link
Member

Signed-off-by: Udit Gaurav udit.gaurav@mayadata.io

This PR contains:

  • Addition a pod network duplication experiment in the generic experiment of litmus. Litmus already has a number of pod level network chaos experiments like pod network latency, loss, corruption. This will help to increase the coverage of network experiments.
  • The experiment should be in go, so the PR will go to the litmus-go repository. This experiment uses netem command to generate a network duplication same as pod network latency and others.
  • This issue will track the addition of the experiment. This experiment will be supported for the docker runtime environment only as of now, support for others will be added soon.

Issues:

Note For Reviewer:

@uditgaurav uditgaurav self-assigned this Jun 22, 2020
@uditgaurav uditgaurav added the enhancement New feature or request label Jun 22, 2020
@uditgaurav
Copy link
Member Author

  • Logs:
Pod Network Duplication W0622 19:09:50.291206 1 client_config.go:541] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work. time="2020-06-22T19:09:50Z" level=info msg="[PreReq]: Getting the ENV for the experiment" time="2020-06-22T19:09:50Z" level=info msg="[PreReq]: Updating the chaos result of pod-network-duplication experiment (SOT)" time="2020-06-22T19:09:50Z" level=info msg="The application informations are as follows\n" Ramp Time=0 Namespace=default Label="run=nginx" time="2020-06-22T19:09:50Z" level=info msg="[Status]: Verify that the AUT (Application Under Test) is running (pre-chaos)" time="2020-06-22T19:09:50Z" level=info msg="[Status]: Checking whether application pods are in running state" time="2020-06-22T19:09:50Z" level=info msg="The running status of Pods are as follows" Pod=nginx-7db9fccd9b-jv85q Status=Running time="2020-06-22T19:09:50Z" level=info msg="The running status of Pods are as follows" Pod=nginx-7db9fccd9b-wxpzv Status=Running time="2020-06-22T19:09:50Z" level=info msg="The running status of Pods are as follows" Status=Running Pod=nginx-7db9fccd9b-xmz77 time="2020-06-22T19:09:50Z" level=info msg="[Status]: Checking whether application containers are in running state" time="2020-06-22T19:09:50Z" level=info msg="The running status of container are as follows" container=nginx Pod=nginx-7db9fccd9b-jv85q Status=Running time="2020-06-22T19:09:50Z" level=info msg="The running status of container are as follows" Status=Running container=nginx Pod=nginx-7db9fccd9b-wxpzv time="2020-06-22T19:09:50Z" level=info msg="The running status of container are as follows" Status=Running container=nginx Pod=nginx-7db9fccd9b-xmz77 time="2020-06-22T19:09:50Z" level=info msg="[Prepare]: Application pod name under chaos: nginx-7db9fccd9b-jv85q" time="2020-06-22T19:09:50Z" level=info msg="[Prepare]: Application node name: gke-cluster-1-default-pool-8774fd9c-v4br" time="2020-06-22T19:09:50Z" level=info msg="[Prepare]: Target container name: nginx" time="2020-06-22T19:09:50Z" level=info msg="[Status]: Checking the status of the helper pod" time="2020-06-22T19:09:50Z" level=info msg="[Status]: Checking whether application pods are in running state" time="2020-06-22T19:09:54Z" level=info msg="The running status of Pods are as follows" Pod=pumba-netem-vbyjby Status=Running time="2020-06-22T19:09:54Z" level=info msg="[Status]: Checking whether application containers are in running state" time="2020-06-22T19:09:54Z" level=info msg="The running status of container are as follows" container=pumba Pod=pumba-netem-vbyjby Status=Running time="2020-06-22T19:09:54Z" level=info msg="[Wait]: waiting till the completion of the helper pod" time="2020-06-22T19:09:54Z" level=info msg="helper pod status: Running" time="2020-06-22T19:09:55Z" level=info msg="helper pod status: Running" time="2020-06-22T19:09:56Z" level=info msg="helper pod status: Running" time="2020-06-22T19:09:57Z" level=info msg="helper pod status: Running" time="2020-06-22T19:09:58Z" level=info msg="helper pod status: Running" time="2020-06-22T19:09:59Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:00Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:01Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:02Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:03Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:04Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:05Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:06Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:07Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:08Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:09Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:10Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:11Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:12Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:13Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:14Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:15Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:16Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:17Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:18Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:19Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:20Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:21Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:22Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:23Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:24Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:25Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:26Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:27Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:28Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:29Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:30Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:31Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:32Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:33Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:34Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:35Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:36Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:37Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:38Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:39Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:40Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:41Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:42Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:43Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:44Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:45Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:46Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:47Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:48Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:49Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:50Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:51Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:52Z" level=info msg="helper pod status: Running" time="2020-06-22T19:10:53Z" level=info msg="helper pod status: Succeeded" time="2020-06-22T19:10:53Z" level=info msg="The running status of Pods are as follows" Pod=pumba-netem-vbyjby Status=Succeeded time="2020-06-22T19:10:53Z" level=info msg="[Cleanup]: Deleting the helper pod" time="2020-06-22T19:10:53Z" level=info msg="[Confirmation]: The app pod network duplication" time="2020-06-22T19:10:53Z" level=info msg="[Status]: Verify that the AUT (Application Under Test) is running (post-chaos)" time="2020-06-22T19:10:53Z" level=info msg="[Status]: Checking whether application pods are in running state" time="2020-06-22T19:10:53Z" level=info msg="The running status of Pods are as follows" Pod=nginx-7db9fccd9b-jv85q Status=Running time="2020-06-22T19:10:53Z" level=info msg="The running status of Pods are as follows" Pod=nginx-7db9fccd9b-wxpzv Status=Running time="2020-06-22T19:10:53Z" level=info msg="The running status of Pods are as follows" Pod=nginx-7db9fccd9b-xmz77 Status=Running time="2020-06-22T19:10:53Z" level=info msg="[Status]: Checking whether application containers are in running state" time="2020-06-22T19:10:53Z" level=info msg="The running status of container are as follows" container=nginx Pod=nginx-7db9fccd9b-jv85q Status=Running time="2020-06-22T19:10:53Z" level=info msg="The running status of container are as follows" container=nginx Pod=nginx-7db9fccd9b-wxpzv Status=Running time="2020-06-22T19:10:53Z" level=info msg="The running status of container are as follows" container=nginx Pod=nginx-7db9fccd9b-xmz77 Status=Running time="2020-06-22T19:10:53Z" level=info msg="[The End]: Updating the chaos result of pod-network-duplication experiment (EOT)"

…experiments of LitmusChaos

Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>
Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>
@ksatchit
Copy link
Member

ksatchit commented Jul 1, 2020

Please resolve conflicts based on previous merge.

@uditgaurav
Copy link
Member Author

Pod Network Duplication with Packet Duplication of 100%

Screenshot from 2020-07-02 12-17-39

Pod Network Duplication with Packet Duplication of 50%

Screenshot from 2020-07-02 13-24-15

Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>
Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>
ksatchit
ksatchit previously approved these changes Jul 3, 2020
Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>
@ksatchit ksatchit merged commit 5564086 into litmuschaos:master Jul 3, 2020
ksatchit pushed a commit that referenced this pull request Jul 6, 2020
* refactor(experiments): Refactor litmus go experiments (#29)

Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>

* feat(experiments): Add pod memory hog experiment (#31)

Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>

* refactor(go-experiments): separate the types.go file for each experiment (#34)

Signed-off-by: shubhamchaudhary <shubham.chaudhary@mayadata.io>

* update(contribution-guide): updating contribution guide according to new schema changes (#35)

Signed-off-by: shubhamchaudhary <shubham.chaudhary@mayadata.io>

* chore(experiment): Add pod network duplication experiment in generic experiments of LitmusChaos (#27)

* chore(experiment): Add pod network duplication experiment in generic experiments of LitmusChaos

Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>

* bug(fix): Add for summary event and getting target container name (#37)

Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>

* bug(fix): Remove extra index from the list in pod duplication experiment (#38)

Signed-off-by: Udit Gaurav <uditgaurav@gmail.com>

Co-authored-by: Shubham Chaudhary <shubham.chaudhary@mayadata.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Pod Network Duplication Experiment in Generic Experiments of Litmus
3 participants