Internship Projects/Mentors


Title

CI development and test case creation

Status

Completed

Difficulty

LOW

Description 

Barometer collects system metrics and events to aid in the monitoring of the NFVI and provide means for these metrics and events to be relayed to higher level fault management systems for enforcement and corrective actions. In addition, this information could be fed to analytics systems to enable failure prediction, and can also be used for intelligent workload placement.

Barometer uses collectd to collect the system metrics, and works closely with the collectd community. Increasing the automated test coverage benifits collectd as well as Barometer. The Barometer team has contributed several plugins to collectd, and in some cases, specialised hardware is needed to test that the plugins are functional.

Major work items for the Jerma release are improving the test infrastructure for collectd (particularly for Barometer-contributed plugins).  This project will involve automating existing tests for individual plugins. The test automation being set up will be one instance of a set of collectd community CIs, which will report test results somewhere upstream (details are TBD, and the selected candidate may have the opportunity to participate in this discussion and set up the testing infrastructure). 

Some of the work items include:

  • Integrating with CI
  • Writing test cases for Barometer and collectd (converting manual test cases to the chosen automation tool)
  • Ensuring functest and xtesting frameworks leverage barometer
  • Working with CNTT to create required test cases
  • Documentation, etc.

The prioritization of the activities will be discussed with the mentee based on his/her skillset and expectations.


Additional Information

Each new plugin proposed has a test plan submitted, these are currently not automated,  part of the internship project would be automating these tests. 

In addition to plugin-level tests, there are also higher level integration tests that will be developed in conjunction with the Common NFV testing taskforce (CNTT).

Barometer wiki

Barometer Release plan for Jerma

Learning Objectives

  • Have a comprehensive understanding of Barometer project
  • Have an understanding of exposing and integrating telemetry across cloud sub-systems
  • Familiar with the development process and CICD of Barometer/collectd
  • Take part in the development of test infrastructure for Barometer and collectd
  • Take an active role as a contributor in Barometer

Expected Outcomes

  • Accomplish assigned development and test tasks.
  • Related document and report.

Relation to LF Networking 

OPNFV-Barometer

Education Level

  • Bachelor’s and/or Master’s degree in Computer Science, software Engineering or related technical discipline
  • Hands on experience in one or more of C/Python/C++

Skills

  • Familiar with C and Python
  • Basic understanding of one of the code versioning tools like Git.
  • Strong written and verbal communication and interpersonal skills in English.

Future plans

The development activities will be part of the testing infrastructure for collectd and Barometer and can help testing efforts as part of the collectd release process

Preferred Hours and Length of Internship

Full time or part time

Mentor(s) Names and Contact Info

Emma Foley efoley@redhat.com

Krzysztof Kepka krzysztof.kepka@intel.com

Jabir Kanhira Kadavathu jabir.kanhira.kadavathu@intel.com 

Mentee(s) Names and Contact Info

Vishal Sharma vishaliitr7@gmail.com