Have questions? Stuck? Please check our FAQ for some common questions and answers.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Under construction

CHO stands for ...

Architecture Overview


We are redesigning the CHO test. Since CHO test is expected to run for several days or longer, we want to bring more scalability and flexibility into the test. For example, we may want to do some debugging when the test is running, or change test configurations or even test logic in real time, or run multiple test cases in parallel. However, the old CHO test can only run a predefined sequence of test cases, this is why we introduce a Chaos Monkey style CHO test. We call it CHOTestMonkey.

This is a framework of CHOTestMonkey. We abstracted all the test logics in the old CHO test into different types of events. Each event stands for an atomic test logic such as installing an intent, bringing down a link, check ONOS status and so on. Basically we have four event families including … We have several ways to inject the events into the test. We can still specify a list of events to run from the params file, or we can inject arbitrary events from external scripts or CLI at any time during the test. Under the hood we have a listener for the event triggers from outside, which will then trigger the generation of events in the eventGenerator. All the generated events will go to the eventScheduler, transit from a pending event to a running event. We can implement different scheduling methods. We may want to run some events in parallel, or block some events until others finish. For example, we may want to finish all the checks before injecting the next failure event. And we can also reschedule the events when they fail.


  • No labels