OSM15 Hackfest

From OSM Public Wiki
Jump to: navigation, search
OSM15 Banner.png
OSM15 Hack.png

Overview

ETSI's Centre for Testing and Interoperability and the OpenSourceMANO community are organizing the OSM#15 Hackfest on 12-16 June 2023. The event will be hosted by CTTC and co-located with the OSM#15 Plenary Meeting.

On Wednesday, 14 June, Hackfest and Plenary participants will meet at the OSM#15 Ecosystem Day .

Participation in ETSI Hackfests is free and open to all upon registration.

Venue

CTTC
Parc Mediterrani de la Tecnologia (PMT) - Building B6 - Auditorium (Level 0)
Av. Carl Friedrich Gauss 7
08860 - Castelldefels 
Barcelona, Spain

Scope

This event is a development-oriented Hackfest in the form of several self-contained challenges such as bug fixes, developing small features, writing unit tests, or automating end-to-end tests exercising some use case. Key members of the OSM community will mentor challenges.

The Hackfest will start on Monday, 12 June, and finish on Friday, 16 June. On Monday, some theory sessions will be provided, followed by a description of the different challenges to be completed throughout the week. Participants will select a challenge to work on individually or in pairs.

During the week, participants will code autonomously (individually or in pairs) to solve their challenges. Daily sessions will be scheduled with the mentors so that participants can ask questions and solve blocking points.

On Friday, participants will share their achievements and lessons learned with the OSM community.

All active participants will receive a Certificate of Participation. Certificates of Excellence will be awarded to all those participants that complete their challenge.

This event will be an opportunity for participants:

  • Understanding the role of NFV Orchestration and OSM
  • Understanding OSM architecture and relationship with ETSI NFV Specifications
  • Getting familiar with OSM installation
  • Understanding OSM development workflow, practices, and tools: Git, Tox, Gerrit, Jenkins...
  • Understanding how to work in an open source project: contributing code, code reviews, automated testing...
  • Developing a first-hand experience with code development in OSM
  • Getting to meet and interact with crucial OSM community members.

Who should attend

  • This Hackfest is dedicated to software developers willing to gain first-hand experience contributing to Open Source MANO (ETSI OSM).
OSM15 community.jpg

Agenda

Theory Sessions

The Hackfest will start on Monday morning 10 am with some theory sessions and presentation of the challenges. Local registration will open at 9 am.

  • Q&A
  • Challenges Distribution

Hacking Sessions

Participants will spend most of the week working autonomously on their challenges, with the support of some OSM community members.

Meeting with Mentors

Several times a day, participants will get the chance to meet with their mentors in order to discuss progress and overcome blocking points.

Ecosystem Day

On Wednesday afternoon, the OSM Community will meet for the OSM Ecosystem Day, a workshop allowing organizations in the OSM Ecosystem to share about their Open Source MANO experience and how OSM is helping them to achieve their goals. See agenda.

Demos & Wrap Up

On Friday morning, after a last hacking session, participants to the challenges share their achievements and lessons learnt with the OSM community.

Hackfest Material

How to get ready

Prerequisites

  • Registration is mandatory!
  • Participants will need an ETSI Online Account (if they work for an OSM Member or Participant) or an Individual Contributor Account to contribute code in Gerrit or to file bug reports.
  • Participants are expected to have previous knowledge of Python.
    • Experience with Git, Docker, Linux, Kubernetes, Openstack, and the Robot Framework for testing, will be a plus.
  • Participants will need their laptop to develop, and a remote lab environment will be provided for testing. There are several options:
    • Recommended: Ubuntu 22.04
    • Other options:
      • Windows10 or higher
      • Other Linux OS, as long as they can meet the requirements below in terms of SW installation.
  • Optionally, if they want to install OSM in their laptop, the only recommended setup is a computer with Ubuntu 22.04 and the following HW requirements:
    • 4 CPUs;
    • 12 GB of RAM;
    • 120 GB of disk free space.

Prepare your environment for the Hackfest

Preparation for Linux Ubuntu 22.04

# Install Python 3.10
$ sudo apt-get update
$ sudo apt-get install python3 python3-pip python3-dev
$ python3 --version     # Python 3.10.X expected as output
$ sudo apt-get install git

# Install VSCode (https://code.visualstudio.com/docs/setup/linux)
$ sudo apt-get install wget gpg
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
$ sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
$ sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
$ rm -f packages.microsoft.gpg
$ sudo apt install apt-transport-https
$ sudo apt update 
$ sudo apt install code # or code-insiders

# Install Docker (https://docs.docker.com/engine/install/ubuntu/ and https://docs.docker.com/engine/install/linux-postinstall/)
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$ echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker

##############################################################################################################################
# In some challenges, you may also need Openstack CLI and kubectl
## For Openstack CLI (https://docs.openstack.org/newton/user-guide/common/cli-install-openstack-command-line-clients.html)
$ sudo apt install python-dev python-pip
$ pip install python-openstackclient
## For kubectl (https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
$ sudo apt-get update
$ sudo apt-get install -y ca-certificates curl
$ sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg; echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list'
$ echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
$ sudo apt-get update
$ sudo apt-get install -y kubectl

Preparation for Windows

  • VSCode or other IDE with Python support.
  • Python 3.10.
  • Git.
  • Program to access remote machines via SSH. Participants can now use SSH from PowerShell. Other alternatives are Putty or Mobaxterm.
  • Participants can also set up Windows Subsystem for Linux (WSL).
  • Docker (participants can set up Docker using WSL or Hyper-V and Windows containers, although the first is preferred).

Previous Hackfests

Get involved in OpenSourceMANO

Contact

Please send your technical questions to OSM_TECH@list.etsi.org or join the OSM Community Slack Workspace

Questions about ETSI, joining OSM, this Hackfest, and future events can be sent to: OSMSupport@etsi.org