Difference between revisions of "Interns/Projects"

From fd.io
Jump to: navigation, search
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}
 
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}
 +
[[File:LFN Internships Image.png|thumb]]
  
=== Project Ideas ===
+
==Onboarding==
Mentors, pleases submit your Project Proposal Ideas following the template below.
+
[[ LFN Mentorship Onboarding | LFN_Mentorship_Onboarding ]]
<br />
+
 
Interns, please review the [[Interns#Intern_Proposal_Guidelines|Intern Project Guidelines]] before submitting your project proposals.
+
==2023==
** Not all all Mentor or Intern projects will be accepted as we have a limited number of Internships available.
+
https://wiki.lfnetworking.org/display/LN/Mentorship+Projects
<br />
+
 
 +
* [https://wiki.lfnetworking.org/display/LN/LFN+Mentorship+project+for+FD.io+web+site+UX+Improvements LFN Mentorship project for FD.io web site UX Improvements]
 +
 
 +
==2019 ==
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 +
 
 +
==== Software Engineer working on CSIT for ARM hardware in FD.io CPL ====
 +
<div class="mw-collapsible-content">
 +
* '''Title:''' Software Engineer: CSIT for Arm flavor hardware in FD.io CPL
 +
* '''Description:''' Looking for an intern to help port existing test scripts to arm based hardware in CPL(community performance lab)
 +
* '''Additional Information:''' 
 +
* '''Desirable Skills:''' Familiarity with Python, Linux, Robot testing framework. Experience with performance testing, Arm architecture will be very helpful.
 +
* '''Expected Outcome:'''  Testing cases/scripts for Arm hardware in FD.io CPL
 +
* '''Difficultly:''' Medium to Hard
 +
* '''Mentors:''' George Zhao<george.y.zhao@huawei.com>, Khemendra Kumar <khemendra.kumar@huawei.com>
 +
* '''Additional Contacts:''' gzhao on IRC
 +
</div>
 +
</div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">  
Line 12: Line 30:
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
 
* '''Title:''' Provide a short but descriptive title of what the intern project is
 
* '''Title:''' Provide a short but descriptive title of what the intern project is
* '''Description:''' Provide at least two or three paragraphs describing the task. Include the problem/opportunity in need of effort, as well as a description of the task to fix the problem or realize the opportunity. If there is a probable implementation path... "this will need steps X, Y, and Z to be completed" please describe it. If part of the task is evaluating one or more potential implementation paths and selecting/executing on one of them, please describe the options and the potential paths to be explored.
+
* '''Description:''' Looking for an intern to help port existing test scripts to arm based hardware in CPL(community performance lab)Provide at least two or three paragraphs describing the task. Include the problem/opportunity in need of effort, as well as a description of the task to fix the problem or realize the opportunity. If there is a probable implementation path... "this will need steps X, Y, and Z to be completed" please describe it. If part of the task is evaluating one or more potential implementation paths and selecting/executing on one of them, please describe the options and the potential paths to be explored.
 
* '''Additional Information:'''  Provide links to bugzilla entries, release-plan notes, and/or other web-references that would be helpful information to potential interns.
 
* '''Additional Information:'''  Provide links to bugzilla entries, release-plan notes, and/or other web-references that would be helpful information to potential interns.
 
* '''Desirable Skills:'''  List both the skills needed and the tools to be used.  ie. Java programing  with working knowledge of OpenStack Neutron and the principals behind SDN, Openflow, and network overlays.  Experience with mininet and wireshark will also be very helpful.
 
* '''Desirable Skills:'''  List both the skills needed and the tools to be used.  ie. Java programing  with working knowledge of OpenStack Neutron and the principals behind SDN, Openflow, and network overlays.  Experience with mininet and wireshark will also be very helpful.
Line 22: Line 40:
 
</div>
 
</div>
  
 +
==2018 ==
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">  
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
==== Develop / Test / Validate (SCTP host-stack) ====
+
==== Getting Started Guide for a Software Engineer -- (PROJECT COMPLETED) ====
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* '''Title:''' Implement missing RFC features, test and validate SCTP implementation in VPP
+
* '''Title:''' Getting Started Guide for a Software Engineer
* '''Description:''' SCTP has been developed and merged in VPP as of February 2018. It is a fairly new implementation which requires thorough testing and validation to make it more robust. Beside, there are still missing features from the RFC which require attention. <strong>Development:</strong> message bundling; multiple streams support at run-time; general hardening and corner-case scenarios. <strong>Testing / validation:</strong> multiple streams support; cross-stack functionality validation (e.g. application running over VPP stack communicates with applications running on standard Linux sockets).
+
* '''Description:''' Looking for an intern to document a Software Engineer Getting Started Guide for FD.io VPP. This should document git cloning, building, installing and contributing to FD.io VPP.
* '''Additional Information:'''   
+
* '''Additional Information:'''  See https://docs.google.com/document/d/1zqYN7qMavgbdkPWIJIrsPXlxNOZ_GhEveHQxpYr3qrg and https://wiki.fd.io/view/VPP#Getting_started_with_VPP_development
* '''Desirable Skills:''' Networking knowledge, Linux knowledge, C programming, Debugging skills, Scripting, Git
+
* '''Desirable Skills:''' Familiarity with Linux, Git, building and compiling unix software is essential.
* '''Expected Outcome:'''  New features / test-cases / test-reports / bug-fixes
+
* '''Expected Outcome:'''  Upstream doxygen document on Getting Started with FD.io
* '''Difficultly:''' Medium/Hard
+
* '''Difficultly:''' Easy
* '''Mentors:''' Marco Varlese <marco.varlese@suse.de>
+
* '''Mentors:''' Ray Kinsella <ray.kinsella>
* '''Additional Contacts:''' mvarlese (IRC) or via vpp-dev@lists.fd.io
+
* '''Additional Contacts:''' mortderire on FreeNode IRC
 
</div>
 
</div>
 
</div>
 
</div>
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 +
 +
==== Getting Started Guide for a K8s DevOps Engineer -- (PROJECT COMPLETED) ====
 +
<div class="mw-collapsible-content">
 +
* '''Title:''' Getting Started Guide for a K8s DevOps Engineer
 +
* '''Description:''' Looking for an intern to document a K8s DevOps Engineer Getting Started Guide for FD.io VPP. This should document installing and configuring K8s, Contiv-VPP and VPP and configuring all of these pieces of software to work together.
 +
* '''Additional Information:'''
 +
* '''Desirable Skills:''' Familiarity with Linux, Containers, Operating System Packaging, installing packages etc.
 +
* '''Expected Outcome:''' Upstream doxygen document on Getting Started with FD.io
 +
* '''Difficultly:''' Easy
 +
* '''Mentors:''' Ray Kinsella <ray.kinsella>
 +
* '''Additional Contacts:''' mortderire on FreeNode IRC
 +
</div>
 +
</div>
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 +
==== Getting Started Guide for a OpenStack DevOps Engineer -- (PROJECT COMPLETED) ====
 +
<div class="mw-collapsible-content">
 +
* '''Title:''' Getting Started Guide for a K8s DevOps Engineer
 +
* '''Description:''' Looking for an intern to document a OpenStack DevOps Engineer Getting Started Guide for FD.io VPP. This should document installing and configuring OpenStack, Networking-VPP and VPP and configuring all of these pieces of software to work together.
 +
* '''Additional Information:'''
 +
* '''Desirable Skills:''' Familiarity with Linux, Virtual Machines, Operating System Packaging, installing packages etc.
 +
* '''Expected Outcome:''' Upstream doxygen document on Getting Started with FD.io
 +
* '''Difficultly:''' Easy
 +
* '''Mentors:''' Ray Kinsella <ray.kinsella>
 +
* '''Additional Contacts:''' mortderire on FreeNode IRC
 +
</div>
 +
</div>
 +
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">  
==== VPP Host Stack: Envoy+VCL Integration and Performance Testing ====
+
==== Create State of the Art Documentation for FDIO -- (PROJECT COMPLETED)====
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* '''Title:''' Design/Develop Envoy+VCL Integration and Performance Test Cases
+
* '''Title:''' Create State of the Art Documentation for FDIO
* '''Description:''' The VPP Host Stack Team is working with the Envoy Community to utilize VPP via the VPP Communications Library (VCL). Integration testing of Envoy+VCL uses cases is required in Envoy for Continuous Integration testing. Additional test cases which measure the performance of both the standard Envoy application and Envoy+VCL are required to identify performance issues in the VPP host stack / VCL. The performance tests will be created in the FD.io CSIT environment.
+
* '''FDIO Description:''' (Fast data - Input/Output) is a collection of several projects and libraries to amplify the transformation to support flexible, programmable and composable services on a generic hardware platform. FD.io offers the Software Defined Infrastructure developer community a landing site with multiple projects fostering innovations in software-based packet processing towards the creation of high-throughput, low-latency and resource-efficient IO services suitable to many architectures (x86, ARM, and PowerPC) and deployment environments (bare metal, VM, container).
* '''Additional Information:''' https://envoyproxy.io, https://github.com/envoyproxy/envoy/pull/3181, https://wiki.fd.io/view/File:Vpp-hoststack.pdf, https://wiki.fd.io/view/File:Vpp-hoststack-kc.pdf
+
* '''Description:''' Create state of the art documentation for FDIO. However, this is much more than a documentation project. By the end of the internship we expect to go live with the new web site. To do this we expect the developer to use the current documentation to install, build, debug and possibly write a module for FDIO. In the process the developer will improve, convert and create complete and accurate FDIO documentation. The developer to should spend about 50% of his/her time coding and 50% documenting. Depending on the skill level and expertise of the developer we expect we can find the appropriate place in FDIO to focus on. We will be flexible.
* '''Desirable Skills:''' Linux skills, Test Development, Git, Python, C, C++, Object oriented design, ability to build software from source
+
* '''Additional Information:'''
* '''Expected Outcome:''' Design/develop integration test cases and performance test cases.
+
 
* '''Difficultly:''' Medium/Hard
+
* [https://fd.io FDIO Main Site]
* '''Mentors:''' Dave Wallace <dwallacelf@gmail.com>, Ed Warnicke <eaw@cisco.com>
+
* [https://wiki.fd.io/view/VPP FDIO wiki]
* '''Additional Contacts:''' dwallacelf on FreeNode IRC, edwarnicke on FreeNode IRC
+
 
 +
*'''Desirable Skills:''' C, Python, Sphinx, readthedocs, git
 +
 
 +
*'''Expected Outcome:'''
 +
 
 +
* Go live with the new Website
 +
* Developer should have written at least 1 module, fixed some issues
 +
 
 +
*'''Skills Acquired:'''
 +
 
 +
* Developer will get a great overview of many sections of FDIO
 +
* Developer will learn to write State of The Documents (an important and overlooked skill)
 +
* Developer will enhance his/her Python, &quot;C&quot; programming skills
 +
 
 +
*'''Difficulty:''' Medium
 +
 
 +
*'''Mentors:''' John Denisco &lt;[mailto:jdenisco@cisco.com jdenisco@cisco.com]&gt;, Ed Warnicke &lt;[mailto:eaw@cisco.com eaw@cisco.com]&gt;
 
</div>
 
</div>
 
</div>
 
</div>

Latest revision as of 21:13, 23 May 2023

LFN Internships Image.png

Onboarding

LFN_Mentorship_Onboarding

2023

https://wiki.lfnetworking.org/display/LN/Mentorship+Projects

2019

Software Engineer working on CSIT for ARM hardware in FD.io CPL

  • Title: Software Engineer: CSIT for Arm flavor hardware in FD.io CPL
  • Description: Looking for an intern to help port existing test scripts to arm based hardware in CPL(community performance lab)
  • Additional Information:
  • Desirable Skills: Familiarity with Python, Linux, Robot testing framework. Experience with performance testing, Arm architecture will be very helpful.
  • Expected Outcome: Testing cases/scripts for Arm hardware in FD.io CPL
  • Difficultly: Medium to Hard
  • Mentors: George Zhao<george.y.zhao@huawei.com>, Khemendra Kumar <khemendra.kumar@huawei.com>
  • Additional Contacts: gzhao on IRC

Template/Sample

  • Title: Provide a short but descriptive title of what the intern project is
  • Description: Looking for an intern to help port existing test scripts to arm based hardware in CPL(community performance lab)Provide at least two or three paragraphs describing the task. Include the problem/opportunity in need of effort, as well as a description of the task to fix the problem or realize the opportunity. If there is a probable implementation path... "this will need steps X, Y, and Z to be completed" please describe it. If part of the task is evaluating one or more potential implementation paths and selecting/executing on one of them, please describe the options and the potential paths to be explored.
  • Additional Information: Provide links to bugzilla entries, release-plan notes, and/or other web-references that would be helpful information to potential interns.
  • Desirable Skills: List both the skills needed and the tools to be used. ie. Java programing with working knowledge of OpenStack Neutron and the principals behind SDN, Openflow, and network overlays. Experience with mininet and wireshark will also be very helpful.
  • Expected Outcome: List the deliverable(s) (features/application(s)/report(s) etc.) expected
  • Difficultly: Easy/Medium/Hard
  • Mentors: John Doe <john.doe@notarealemailaddress.com>, Jane Smith <JSmith@alsonotarealaddress.com>
  • Additional Contacts: Identify the IRC channel(s) and mailing list(s) where potential interns can ask questions and further interact with members of FD.io project they would be working with.

2018

Getting Started Guide for a Software Engineer -- (PROJECT COMPLETED)

Getting Started Guide for a K8s DevOps Engineer -- (PROJECT COMPLETED)

  • Title: Getting Started Guide for a K8s DevOps Engineer
  • Description: Looking for an intern to document a K8s DevOps Engineer Getting Started Guide for FD.io VPP. This should document installing and configuring K8s, Contiv-VPP and VPP and configuring all of these pieces of software to work together.
  • Additional Information:
  • Desirable Skills: Familiarity with Linux, Containers, Operating System Packaging, installing packages etc.
  • Expected Outcome: Upstream doxygen document on Getting Started with FD.io
  • Difficultly: Easy
  • Mentors: Ray Kinsella <ray.kinsella>
  • Additional Contacts: mortderire on FreeNode IRC

Getting Started Guide for a OpenStack DevOps Engineer -- (PROJECT COMPLETED)

  • Title: Getting Started Guide for a K8s DevOps Engineer
  • Description: Looking for an intern to document a OpenStack DevOps Engineer Getting Started Guide for FD.io VPP. This should document installing and configuring OpenStack, Networking-VPP and VPP and configuring all of these pieces of software to work together.
  • Additional Information:
  • Desirable Skills: Familiarity with Linux, Virtual Machines, Operating System Packaging, installing packages etc.
  • Expected Outcome: Upstream doxygen document on Getting Started with FD.io
  • Difficultly: Easy
  • Mentors: Ray Kinsella <ray.kinsella>
  • Additional Contacts: mortderire on FreeNode IRC

Create State of the Art Documentation for FDIO -- (PROJECT COMPLETED)

  • Title: Create State of the Art Documentation for FDIO
  • FDIO Description: (Fast data - Input/Output) is a collection of several projects and libraries to amplify the transformation to support flexible, programmable and composable services on a generic hardware platform. FD.io offers the Software Defined Infrastructure developer community a landing site with multiple projects fostering innovations in software-based packet processing towards the creation of high-throughput, low-latency and resource-efficient IO services suitable to many architectures (x86, ARM, and PowerPC) and deployment environments (bare metal, VM, container).
  • Description: Create state of the art documentation for FDIO. However, this is much more than a documentation project. By the end of the internship we expect to go live with the new web site. To do this we expect the developer to use the current documentation to install, build, debug and possibly write a module for FDIO. In the process the developer will improve, convert and create complete and accurate FDIO documentation. The developer to should spend about 50% of his/her time coding and 50% documenting. Depending on the skill level and expertise of the developer we expect we can find the appropriate place in FDIO to focus on. We will be flexible.
  • Additional Information:
  • Desirable Skills: C, Python, Sphinx, readthedocs, git
  • Expected Outcome:
  • Go live with the new Website
  • Developer should have written at least 1 module, fixed some issues
  • Skills Acquired:
  • Developer will get a great overview of many sections of FDIO
  • Developer will learn to write State of The Documents (an important and overlooked skill)
  • Developer will enhance his/her Python, "C" programming skills
  • Difficulty: Medium