Difference between revisions of "Interns/Projects"
From fd.io
< Interns
(→Project Ideas) |
(→Project Ideas) |
||
Line 75: | Line 75: | ||
* '''Mentors:''' Ray Kinsella <ray.kinsella> | * '''Mentors:''' Ray Kinsella <ray.kinsella> | ||
* '''Additional Contacts:''' mortderire on FreeNode IRC | * '''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"> | ||
+ | |||
+ | * '''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:''' The goal is to 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, "C" programming skills | ||
+ | |||
+ | *'''Difficulty:''' Medium | ||
+ | |||
+ | *'''Mentors:''' John Denisco <[mailto:jdenisco@cisco.com jdenisco@cisco.com]>, Ed Warnicke <[mailto:eaw@cisco.com eaw@cisco.com]> | ||
</div> | </div> | ||
</div> | </div> |
Revision as of 13:46, 16 April 2018
Contents
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.
Characterizing Kubernetes Networking at Scale
- Title: Characterize Performance Bottlenecks in Kubernetes which can be addressed by VPP
- Description: There are a number of places at scale where existing solutions to Kubernetes networking problems breakd down. Intern would develop an open source set of testing to characterize those bottlenecks, apply it to both kernel based and VPP based Kubernetes networking solutions, and report results.
- Additional Information: Example: Slide 13 of https://www.slideshare.net/LCChina/scale-kubernetes-to-support-50000-services
- Desirable Skills: Ability to write tests in a language like Python, attention to detail. Kubernetes skills a plus. Linux skills a must.
- Expected Outcome: Open Sourced tooling for characterizing performance at scale of Kubernetes Networking given kernel and VPP implementations.
- Difficultly: Easy
- Mentors: Ed Warnicke <eaw@cisco.com>
- Additional Contacts: edwarnicke on FreeNode IRC
Getting Started Guide for a Software Engineer
- 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
Getting Started Guide for a K8s DevOps Engineer
- 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
- 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
- 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: The goal is to 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
- Mentors: John Denisco <jdenisco@cisco.com>, Ed Warnicke <eaw@cisco.com>