For Danube release, OPNFV testing group (Testperf) decides to extend the OPNFV testing scope by introducing basic stress test cases. There are 5 test cases discussed. In Danube, Bottlenecks has implemented 2 of them together with Yardstick while Bottlenecks acts as the load manager calling yardstick to do the tests. These tests are designed to test for breaking points and provide level of confidence of the system to users.
Basically, stress test cases for E release can be seen as extension/enhancement of D release. Reference implementations could be found in Bottlenecks D release repo. So there will be a good reference start and it is natural to do the implementation based on the test cases in D release. More detailed information/explanation could be found in the following link.
As Testperf are requesting for long duration PODs for stress test, these stress tests should also be online on community CI. It may be also to required to cooperate with test projects, e.g. Yardstick, VSPERF.
There are needs to develop monitoring module in Bottlenecks for monitoring KPIs while test and exhibit them dynamically. Bottlenecks currently support Prometheus+Collectd+Node+Grafana installation and want to have monitoring module (class/function/API/CLI) as part of its testing framework.
Some reference codes and introductions:
- Installation codes: https://gerrit.opnfv.org/gerrit/gitweb?p=bottlenecks.git;a=tree;f=monitor;h=e134d2fee6dcf3fb780944a01bcc68a7b95b9174;hb=HEAD
- Prometheus: https://prometheus.io/docs/introduction/overview/
- Collectd: https://collectd.org/
- Cadvisor: https://github.com/google/cadvisor
- Grafana: https://grafana.com/dashboards?dataSource=prometheus
- General linux skills
- Python, Bash
- Minimal skill for Docker
- Minimal skill for OpenStack
- Networking theory
- Familiar with testing techniques or/and OPNFV testing projects (e.g., Yardstick)
- Results plotting (e.g., Kibana)
- Monitoring class/function/CLI/API
- Optimization of system configurations
- Results forms for reporting and plotting
- Docker Monitoring
- Kibana/Grafana results plotting for the test case
- Online Monitor for test cases
- Demo for comparison results
Desired project timeline/completion date (Draft plan that could be changed according to objective situations):
M1: Introduction to you about the requirements of the internship, testing projects, reference code, etc.
M2: Make up detailed tasks.
M3: Go into coding and testing period
M4: Online in CI system for different installers (into debugging and adjustment period)
M5: Finish debugging
M6: Finish the details result report and the demo (comparison results) for internship works
Mentor(s) & contact info:
- @Rutuja Surve