Difference between revisions of "Interns/Projects"

From fd.io
Jump to: navigation, search
Line 22: Line 22:
 
</div>
 
</div>
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
==== Getting Started Guide for a Software Engineer ====
 
<div class="mw-collapsible-content">
 
* '''Title:''' Getting Started Guide for a Software Engineer
 
* '''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:'''  See https://docs.google.com/document/d/1zqYN7qMavgbdkPWIJIrsPXlxNOZ_GhEveHQxpYr3qrg and https://wiki.fd.io/view/VPP#Getting_started_with_VPP_development
 
* '''Desirable Skills:''' Familiarity with Linux, Git, building and compiling unix software is essential.
 
* '''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 K8s DevOps Engineer ====
 
<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 ====
 
<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">
 
==== Create State of the Art Documentation for FDIO ====
 
<div class="mw-collapsible-content">
 
* '''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:'''
 
 
* [https://fd.io FDIO Main Site]
 
* [https://wiki.fd.io/view/VPP FDIO wiki]
 
 
*'''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 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) ====
 
==== Develop / Test / Validate (SCTP host-stack) ====

Revision as of 14:03, 24 May 2018


Project Ideas

Mentors, pleases submit your Project Proposal Ideas following the template below.
Interns, please review the Intern Project Guidelines before submitting your project proposals.

    • Not all all Mentor or Intern projects will be accepted as we have a limited number of Internships available.


Template/Sample

  • 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.
  • 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.


Develop / Test / Validate (SCTP host-stack)

  • Title: Implement missing RFC features, test and validate SCTP implementation in VPP
  • 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. Development: message bundling; multiple streams support at run-time; general hardening and corner-case scenarios. Testing / validation: multiple streams support; cross-stack functionality validation (e.g. application running over VPP stack communicates with applications running on standard Linux sockets).
  • Additional Information:
  • Desirable Skills: Networking knowledge, Linux knowledge, C programming, Debugging skills, Scripting, Git
  • Expected Outcome: New features / test-cases / test-reports / bug-fixes
  • Difficultly: Medium/Hard
  • Mentors: Marco Varlese <marco.varlese@suse.de>
  • Additional Contacts: mvarlese (IRC) or via vpp-dev@lists.fd.io

VPP Host Stack: Envoy+VCL Integration and Performance Testing

  • Title: Design/Develop Envoy+VCL Integration and Performance Test Cases
  • 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.
  • 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
  • Desirable Skills: Linux skills, Test Development, Git, Python, C, C++, Object oriented design, ability to build software from source
  • Expected Outcome: Design/develop integration test cases and performance test cases.
  • Difficultly: Medium/Hard
  • Mentors: Dave Wallace <dwallacelf@gmail.com>, Ed Warnicke <eaw@cisco.com>
  • Additional Contacts: dwallacelf on FreeNode IRC, edwarnicke on FreeNode IRC