OSM15 Hackfest: Difference between revisions

From OSM Public Wiki
Jump to: navigation, search
No edit summary
 
(57 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:OSM15_Banner.png|800px|center|top]]      
[[File:OSM15_Banner.png|800px|center|top]]      
 
   
   
[[File:OSM15_Hack.png|300px|right|top|link=https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=45715]]   
[[File:OSM15_Hack.png|300px|right|top|link=https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=45715]]   
= Overview =  
= 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 '''[https://www.cttc.cat/ CTTC]''' and co-located with the '''[https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=45641 OSM#15 Plenary Meeting]'''.
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 '''[https://www.cttc.cat/ CTTC]''' and co-located with the '''[https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=45641 OSM#15 Plenary Meeting]'''.
On Wednesday, 14 June, Hackfest and Plenary participants will meet at the  '''[https://osm.etsi.org/wikipub/index.php/OSM15_Ecosystem_Day OSM#15 Ecosystem Day] '''.


Participation in ETSI Hackfests is free and open to all upon '''[https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=45715 registration]'''.
Participation in ETSI Hackfests is free and open to all upon '''[https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=45715 registration]'''.


= Venue =
= Venue =
  Parc Mediterrani de la Tecnologia (PMT) - Building B4
CTTC
  Parc Mediterrani de la Tecnologia (PMT) - Building B6 - Auditorium (Level 0)
  Av. Carl Friedrich Gauss 7
  Av. Carl Friedrich Gauss 7
  08860 - Castelldefels  
  08860 - Castelldefels  
Line 17: Line 19:
* [https://www.cttc.cat/contact/ Directions]
* [https://www.cttc.cat/contact/ Directions]
* [https://www.barcelonaturisme.com  Local information]
* [https://www.barcelonaturisme.com  Local information]
* VISA: Should you require a personal invitation letter for their visa application please fill in this [[media:OSM15_VISA_Letter.docx | template]] and send it to Ricard Vilalta ricard.vilalta ''_at_'' cttc.es
* VISA: Should you require a personal invitation letter for your visa application, please fill in this [[media:OSM15_VISA_Letter.docx | template]] and send it to Ricard Vilalta ricard.vilalta ''_at_'' cttc.es


= Scope =
= 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. Challenges will be mentored by key members of the OSM community.  
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 through the week. Participants will select a challenge to work on individually or by pairs.
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 by pairs) to solve their challenges. Daily sessions will be scheduled with the mentors, so that participants can ask questions and solve blocking points.
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 learn with the OSM community.
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.
All active participants will receive a Certificate of Participation. Certificates of Excellence will be awarded to all those participants that complete their challenge.
Line 34: Line 36:
* Understanding OSM architecture and relationship with ETSI NFV Specifications
* Understanding OSM architecture and relationship with ETSI NFV Specifications
*  Getting familiar with OSM installation
*  Getting familiar with OSM installation
* Understanding OSM development workflow, practices and tools: git, tox, gerrit, jenkins..
* Understanding OSM development workflow, practices, and tools: Git, Tox, Gerrit, Jenkins...
*  Understanding the way of working in an open source project: contributing code, code reviews, automated testing...  
*  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  
* Developing a first-hand experience with code development in OSM  
* Getting to meet and interact with key OSM community members.
* Getting to meet and interact with crucial OSM community members.
 
= Prerequisites =
* '''[https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=45715 Registration]''' is mandatory!
* Participants are expected to have previous knowledge of '''Linux''' and '''Python'''.
* Experience with '''Git''' and '''Docker''' will be a plus.
* Participants will need ''' their laptop'''.
* A '''remote lab''' environment will be provided.


= Who should attend =
= Who should attend =
* This Hackfest is dedicated to software developers willing to gain a first-hand experience in contributing to Open Source MANO (ETSI OSM).
* This Hackfest is dedicated to software developers willing to gain first-hand experience contributing to Open Source MANO (ETSI OSM).


[[File:OSM_community_barcelona.jpg|800px|center]]
[[File:OSM15_community.jpg|800px|center]]


= Week Plan  =   
= Agenda =
<iframe key="teamup" path="ks785k7novpbigqwxv?date=2023-06-12&showProfileAndInfo=0&showSidepanel=1&showAgendaHeader=1&showAgendaDetails=0&showYearViewHeader=1" width="90%"/>
<!-----
  <iframe key="teamup" path="ks785k7novpbigqwxv?date=2023-06-12&showProfileAndInfo=0&showSidepanel=1&showAgendaHeader=1&showAgendaDetails=0&showYearViewHeader=1" width="90%"/>


[https://teamup.com/ks785k7novpbigqwxv See details]
[https://teamup.com/ks785k7novpbigqwxv See details]
 
----->
<!--
== Theory Sessions ==
==Tuesday 18 October 2022==
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.
* 11:00 am - 11:10 am - '''[https://osm-download.etsi.org/ftp/osm-12.0-twelve/OSM-MR13_Hackfest/OSM%20MR%2313%20Hackfest_%201.0%20Welcome%20&%20Logistics.pptx.pdf Welcome & Logistics]''' 
* P1 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P1%20Welcome%20and%20Logistics%20for%20the%20Week.pdf Host Welcome and Logistics for OSM#15] by Pol Alemany, CTTC
** by '''Silvia Almagia (ETSI)'''
* P2 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P2%20Intro%20to%20the%20Hackfest%20for%20OSM%20developers.pdf Introduction to the Hackfest] by Gerardo Garcia, Telefonica
* 11:10 am - 01:00 pm - Session 1: '''[https://osm-download.etsi.org/ftp/osm-12.0-twelve/OSM-MR13_Hackfest/OSM%20MR%2313%20Hackfest_%201.1%20Intro%20to%20OSM.pptx.pdf Introduction to OSM & Orchestration Business Cases]'''
{{#evu:https://www.youtube.com/watch?v=ZUJplWD0o-Q
** By '''Mark Beierl, Wajeeha Hamid (Canonical)''' and '''Ramesh Ramanathan (Tata Elxsi)'''
|alignment=inline
* 01:00 pm - 02:00 pm - Lunch Break
|dimensions="120"
* 02:00 pm - 03:30 pm - Session 2a: '''[https://osm-download.etsi.org/ftp/osm-12.0-twelve/OSM-MR13_Hackfest/OSM%20MR%2313%20Hackfest_%201.2%20VNFs.pptx.pdf VNF Orchestration: Virtual Machines, Public and Private Cloud]'''
}}
** By '''Preethika P. (Tata Elxsi)'''
* P3 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P3%20Introduction%20to%20OSM.pdf Introduction to OSM] by Gerardo Garcia, Telefonica
* 03:30 pm - 04:00 pm - Coffee Break
{{#evu:https://www.youtube.com/watch?v=9FmLfB2Ls0c
* 04:00 pm - 05:00 pm - Session 2b: '''[https://osm-download.etsi.org/ftp/osm-12.0-twelve/OSM-MR13_Hackfest/OSM%20MR%2313%20Hackfest_%201.2%20VNFs.pptx.pdf VNF Orchestration and Open Discussion]'''
|alignment=inline
** By '''Preethika P. (Tata Elxsi)'''
|dimensions="120"
{{#evu:https://www.youtube.com/watch?v=PZ4B-LSrBiM
}}
* P4 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P4%20OSM%20Architecture.pdf OSM Architecture] by Guillermo Calvino (Canonical)
{{#evu:https://www.youtube.com/watch?v=H9_LkjVYrJQ
|alignment=inline
|dimensions="120"
}}
* P5 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P5%20OSM%20installation.pdf OSM Installation Demo] by Gerardo Garcia, Telefonica
* P6 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P6%20OSM%20Usage.%20Onboarding.pdf OSM Usage. Onboarding] by Gulsum Atici (Canonical)
{{#evu:https://www.youtube.com/watch?v=79rWx37_NiE
|alignment=inline
|dimensions="120"
}}
* P7 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P7%20OSM%20Usage.%20Instantiation%20and%20Operation.pdf OSM Usage. Instantiation and Operation] by Mark Beierl (Canonical)
{{#evu:https://www.youtube.com/watch?v=GDLL6pns39c
|alignment=inline
|dimensions="120"
}}
* P8 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P8%20Hackfest%20environment.pdf Hackfest environment] by Chiara Grasselli (Unibo)
{{#evu:https://www.youtube.com/watch?v=Yblu41wDIjc
|alignment=inline
|dimensions="120"
}}
* P9 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P9%20OSM%20Developement%20Environment.pdf OSM Development Environment] by Pedro Escaleira (IT)
{{#evu:https://www.youtube.com/watch?v=98BYVi8epVU
|alignment=inline
|alignment=inline
|dimensions="120"
|dimensions="120"
}}
}}
 
* P10 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P10%20How%20to%20contribute%20to%20OSM.pdf How to Contribute to OSM] by Gulsum Atici (Canonical)
==Wednesday 19 October 2022==
{{#evu:https://www.youtube.com/watch?v=6Vn1Oiv3QfA
* 11:00 am - 01:00 pm - Session 3:  '''[https://osm-download.etsi.org/ftp/osm-12.0-twelve/OSM-MR13_Hackfest/OSM%20MR%2313%20Hackfest_%202.1%20KNFs.pdf KNF Orchestration: Kubernetes Functions, Helm and Juju bundles]'''
** By '''Gulsum Atici (Canonical)'''
{{#evu:https://www.youtube.com/watch?v=JYEr6tO5bH4
|alignment=inline
|alignment=inline
|dimensions="120"
|dimensions="120"
}}
}}
* 01:00 pm - 02:00 pm - Lunch Break
* P11 [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315%20Hackfest%20P11%20Hackfest%20challenges.pdf Presentation of Challenges]
* 02:00 pm - 03:30 pm - Session 4: '''[https://osm-download.etsi.org/ftp/osm-12.0-twelve/OSM-MR13_Hackfest/OSM%20MR%2313%20Hackfest_%202.2%20PNFs.pptx.pdf PNF Orchestration: Working in Brown Fields, Managing Existing Functions]'''
{{#evu:https://www.youtube.com/watch?v=zYFjOBxsUf8
** By '''Mark Beierl (Canonical)'''
{{#evu:https://www.youtube.com/watch?v=CjOay2N4X6s
|alignment=inline
|alignment=inline
|dimensions="120"
|dimensions="120"
}}
}}
* 03:30 pm - 04:00 pm - Coffee Break
* Q&A
* '''04:00 pm - 05:30 pm - Networking event @ETSI Booth'''
* 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 [https://osm.etsi.org/wikipub/index.php/OSM_Ecosystem OSM Ecosystem] to share about their Open Source MANO experience and how OSM is helping them to achieve their goals. [https://osm.etsi.org/wikipub/index.php/OSM15_Ecosystem_Day#Agenda 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.
* [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315_Hackfest_Results_Challenge_1_CARLOS_HERNANDEZ_CHULDE.pdf Challenge 1 - Carlos Hernandez-Chulde]
* [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315_Hackfest_Results_Challenge_2_Daniel_Adanza_Dopazo.pdf Challenge 2 - Daniel Adanza Dopazo]
* [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315_Hackfest_Results_Challenge_5_Patricia_Reinoso.pdf Challenge 5 - Patricia Reinoso]
* [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/OSM%2315_Hackfest_Results_Challenge_7_Dario_Faccin.pdf Challenge 7 - Dario Faccin]
 
== Hackfest Material ==
* [https://osm-download.etsi.org/ftp/Hackfests/OSM15_Hackfest/ Hackfest Presentations]
* [https://osm-download.etsi.org/ftp/Ecosystem_Days/OSM15_Ecosystem_Day/ Ecosystem Day Presentations]
 
= How to get ready =
== Prerequisites ==
* '''[https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=45715 Registration]''' is mandatory!
* Participants will need an '''[https://portal.etsi.org/CreateAccount#/home ETSI Online Account]''' (if they work for an '''[https://portal.etsi.org/TB-SiteMap/OSM/List-of-OSM-Members OSM Member or Participant]''') or an '''[https://osm.etsi.org/register Individual Contributor Account]''' to '''[https://osm.etsi.org/gerrit contribute code in Gerrit]''' or to '''[https://osm.etsi.org/bugzilla 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 ===
<pre>
# 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


==Thursday 20 October 2022==
# Install VSCode (https://code.visualstudio.com/docs/setup/linux)
* ''1st ETSI TeraFlowSDN Hackfest - [https://labs.etsi.org/rep/groups/tfs/-/wikis/TFS-HACKFEST-1 Learn more here!]''
$ 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


= Hackfest Material =
# Install Docker (https://docs.docker.com/engine/install/ubuntu/ and https://docs.docker.com/engine/install/linux-postinstall/)
* [https://osm-download.etsi.org/ftp/osm-12.0-twelve/OSM-MR13_Hackfest Presentations]
$ sudo apt-get update
* [https://osm.etsi.org/docs/vnf-onboarding-guidelines/ VNF Onboarding Guidelines]
$ sudo apt-get install ca-certificates curl gnupg
* [https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages VNF/NS Packages]
$ 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


= Call for Technical Expertise =
##############################################################################################################################
We are looking to hire some OSM experts to help us prepare and run this Hackfest. On-site presence during the Hackfest will be required. Deadline to apply is April 10th 2023.
# 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
</pre>


See [[media:CL(23)_3939_CfE_OSM15_Hackfests.pdf | How to Apply]]
=== Preparation for Windows ===
* '''[https://code.visualstudio.com/ VSCode]''' or other IDE with Python support.
* '''[https://www.python.org/downloads/release/python-3100/ Python 3.10]'''.
* '''[https://git-scm.com/ Git]'''.
* Program to access remote machines via SSH. Participants can now use SSH from PowerShell. Other alternatives are '''[https://www.putty.org/ Putty]''' or '''[https://mobaxterm.mobatek.net/ Mobaxterm]'''.
* Participants can also set up '''[https://learn.microsoft.com/en-us/windows/wsl/install Windows Subsystem for Linux (WSL)]'''.
* '''[https://docs.docker.com/desktop/install/windows-install/ Docker]''' (participants can set up Docker using WSL or Hyper-V and Windows containers, although the first is preferred).


= Previous Hackfests =
= Previous Hackfests =
Line 136: Line 227:
Please send your technical questions to [mailto:OSM_TECH@list.etsi.org OSM_TECH@list.etsi.org] or join the [https://join.slack.com/t/opensourcemano/shared_invite/zt-1688p662q-2ZUJghK_XeCJsoZWLh_KPA OSM Community Slack Workspace]
Please send your technical questions to [mailto:OSM_TECH@list.etsi.org OSM_TECH@list.etsi.org] or join the [https://join.slack.com/t/opensourcemano/shared_invite/zt-1688p662q-2ZUJghK_XeCJsoZWLh_KPA OSM Community Slack Workspace]


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

Latest revision as of 09:19, 17 July 2023

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