...
Table of Contents
- Summary
- How to Contribute to CHOTestMonkey
Anchor Summary Summary
Summary
| Summary | |
| Summary |
...
By realizing the above ideas, we greatly improve the flexibility and debuggability of CHO test.
Anchor Framework Framework
CHOTestMonkey Framework
| Framework | |
| Framework |
Overview
The figure above demonstrates the 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.
...
EventGenerator has a listener which listens on local port 6000. It allows connections from outside to trigger the generation of events inside CHOTestMonkey. With this functionality, more flexibility can be achieved via a complete separation of event triggering and scheduling. One can run multiple processes on local or even remote machines as different sources of events without worrying about the scheduling of all events triggered.
Event Generator
Anchor Run Run
How to Run CHOTestMonkey
| Run | |
| Run |
Basically CHOTestMonkey runs the same way as other tests:
...
The first command above triggers a link down event between switch s1 and s2. The second command above enters the debug mode, which means all messages sent to CHOTestMonkey will be set to debug messages (explained above) by default. For instance, the third command above will insert a pause-test event into the event pending list by force no matter how many pending events there are.(Note: currently all events inserted will go to the tail of the pending event list, we are working on an update to make it possible to insert events into other positions of the list.)
Anchor Contribute Contribute
How to Contribute to CHOTestMonkey
| Contribute | |
| Contribute |
Add more events
