...
- Figure out how to run tests locally. Currently, functest is being used. We might need to investigate the feasibility and if required, set up new testing tool/architecture.
- The existing tests defined for functest/xtesting are old and cover only a subset of plugins that existed 2 years ago.
- So tests will be needed for most plugins. There are a bunch of plugins that barometer uses:
- Log-parser -> Easy plugin to understand and get started
- Network Capabilities Plugin -> For influx DB
- SNMP Write Plugin
- Memory RAS
Plugins from the Collectd PR's(Plus sign indicate a high frequency of PR's):- ethstat plugin
- SNMP +
- Processes plugin +
- SQL plugin +
- Exec Plugin
- Threshold plugin +
- Memory plugin +
- Bind Plugin
- Network Plugin +
- A review will be needed for the tests in baro_tests/ and determine whether these are suitable for the collectd community
- Set up triggering a Jenkins build when a PR is submitted to the collectd repository, run the job on node 5 of intel pod13 on a nightly basis ( can be triggered upon a github PR at a later stage)
- Contribute to making the barometer docs better, wherever there is confusion and things aren't mentioned clearly to make things easy for future contributors.
...
Week | Activity |
---|
Week 1 - Week 3
| - Explore Github Status API & Check how results could be posted back to Github with Jenkins
- Get familiar with opnfv Jenkins CI
- Selection of plugins for writing tests based on activity in collectd
- Update barometer set-up documentation in the repository to align with the docs
- A review of the tests in baro_tests/ , fix, update and get them working
- Decide upon the testing framework and architecture for writing tests.
|
Week 4 - Week 6
| - Test case development for log parser plugin
- Setting up CI pipeline with Jenkins (the slave Jenkins & webhooks on the collectd side)
Documenting the test cases and expected output and overall Jenkins CI architecture. Get started with the review of Network Plugins
- Create a small demo to illustrate the working of the final project, like a POC
|
Week 7 - Week 9 | - Test case creation for network plugin
- Review of SNMP write plugin followed by test case creation
- Review and creation of test cases for
- Document and update the test details in barometer docs
- capabilities plugin
- Set up docker containers for running tests
- Optimizing build time for images for running tests
|
Week 10 - Week 12 | - Review and test case development for SQL Plugin (high collectd PRs) Set up the jenkins job and test on OPNFV Jenkins sandbox
-
Finishing up tasks, cleanup, possible demo, user guide etc. More focus on documenting existing work. Can possibly take up more plugins if we have cycles.
|
...
However, the list of plugins is tentative and subject to change upon further discussions with Barometer and collectd community.
Note: The Jenkins Job set up for running the tests cannot be triggered upon PR submission to Collectd github repository as the tool decided to be used was not quite the right fit. It can be taken up in the future once more tests are added to the barometer project and we figure out a way to set up the triggers.
Milestones
Evaluation Date
| Evaluation Criteria |
Q1 June 19 | - Reviewed the tests in baro_tests/
- Test framework and tools have been decided
|
Q2 July 10 | - Fixed Looked at existing test cases
- Added test cases for (2) new plugins
- Setup CI pipelineSetup a working example of one of the plugins in the sandbox/pod 13 Jenkins (depending on availability)
|
Q3 July 31 | - Added tests for more plugins (3), mentioned in the timeline
- Setup CI pipeline
- Ensure all tests are automated
|
Q4 August 21 | | Q4 August 21 | - Make sure all mentioned plugins(2+3+2) are covered
- Make sure all kinds of tests exist (negative tests, unit tests, functional tests)
- Ensure proper documentation
|
Project Report
OPNFV Barometer - Final Presentation.pdf