OSM Community Awards Best OSM#15 Hackfest Challenge Solvers

June 2023 

By Gerardo Garcia, Telefonica and OSM TSC Chair, on behalf of OSM#15 Challenge mentors

The OSM Community met in Castelldefels, Barcelona, hosted by CTTC, for a Hackfest in the form of several self-contained development-oriented challenges, mentored by key members of the community.
The OSM#15 Hackfest ran for a whole week,  from 12 to 16 June, co-located with the OSM#15 Plenary meeting and OSM#15 Ecosystem Day

During the week, participants coded autonomously to solve the challenge of their choice. Regular sessions were scheduled with the mentors so that participants could ask questions, solve blocking points and discuss their progress.

On Friday, participants shared their achievements and lessons learned with the OSM community. Those who successfully solved the challenge received recognition from the OSM community

The challenges offered to participants were self-contained work items such as implementing bug fixes, developing small features, writing unit tests, or automating end-to-end tests exercising some use cases. The challenges completed by participants included:

Configurable output format settings for OSM client

The goal of this challenge was to implement a global option `-o <FORMAT>` in osmclient to provide a customizable output format.

Participant Carlos Hernandez Chulde from CTTC successfully completed this challenge by  extending the osmclient code to allow the selection of different output formats for OSM commands like ns-list, vim-list, and vnf-list. Users can now select if they want the output of their command in a "table", "json", "yaml", or "csv '' format, depending on their needs.

Adoption of best-of-breed HTTP library in OSM client

The goal of this challenge was to replace the “pycurl” library in osmclient by the more widely adopted one, the “requests” library.

Participant Pol González Pacheco, from the UPC, successfully completed this challenge by replacing the "pycurl" library in the osmclient source code with "requests". He correctly updated all the client methods and fixed the code dependencies accordingly, including the changes in the community installer.

Cleanup of NF records in vertical scaling operations

OSM supports a vertical scale operation on VNFs, effectively resizing the CPU, Memory and Disk allocation given to VM based VNFs.  When such an operation occurs, certain status fields about the VIM hosting the VNF become duplicated in different parts of the VNF’s VDU Resource record. The goal of this challenge was to fix that behavior.

Participant Patricia Reinoso, from Canonical, successfully completed the challenge, and now OSM no longer duplicates information during vertical scaling operations.

This process also made possible the discovery of unseen bugs in the code that were correctly reported.

Optimizing Execution Environments resources

The goal of this challenge was to optimize the Execution Environment Charms when a VNF has only day-1 operations.
Participant Dario Faccin, from Canonical successfully completed his challenge by updating the LCM and N2VC modules. Thanks to the changes made, the Execution Environments (EE) of VNFs that only have day-one operations are removed after its execution, which improves resource efficiency of OSM, saving up the space taken by unneeded EE.

Vulnerability fixes in LCM component

The goal of this challenge was to implement a fix for a vulnerability bug 2088 regarding Remote Code Execution in N2VC/LCM, corresponding to the critical vulnerability identified as CVE-2022-35503.

Participant Daniel Arndt from Canonical, successfully fixed this problem by analyzing and updating the NBI and N2VC code, which will prevent injection of malicious code.

A dedicated blogpost on this issue and full details on CVE-2022-35503 disclosure will follow.