You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Table of Contents

Project application dates

The complete GSoC 2019 timeline is here: https://developers.google.com/open-source/gsoc/timeline

  • Project applications open: January 15, 2019
  • Project applications close: February 6, 2019, 20:00 UTC
  • Projects announced: February 26, 2019

Roles

People who have committed to helping with the TF GSoC project application and mentoring in 2019.

NOTA BENE: As a first year project, if selected TF would be limited to 2 students.

  • TF GSoC Organisation Administrators: VM Brasseur, Valentin Sinitsyn
  • Mentor Candidate: Valentin Sinitsyn
  • Mentor Candidate: Syed Ahmed
  • Mentor Candidate: Darien Hirotsu

Project List

The Project List is very important for the GSoC application process. Please read the project ideas list tips as well as the advice for projects before adding to the list below.

We should have at least 4 projects on the list. The person who will mentor the project should be the one to suggest it.

There is a project template at the bottom of this page. Please copy it then use it to add your project suggestion to this list.

Quickstart Guide for Tungsten fabric in Kubernetes

  • Project title: Quickstart Guide for Tungsten fabric in Kubernetes
  • Project description (2-5 sentences): The project is to create documentation and other tools/scripts around easily deploying a Tungsten fabric CNI in Kubernetes 
  • Expected outcomes of the project: Documentation and Scripts
  • Student skills required/preferred: Linux knowledge, Knowledge of Kubernetes and Tungsten fabric an asset but not required
  • Project difficulty rating (easy, medium, hard): easy
  • Mentor (person who suggested the project): Syed Ahmed

Extend Contrail Ansible Deployer to Support Software Upgrades

  • Project title: Extend Contrail Ansible Deployer to Support Software Upgrades
  • Project description (2-5 sentences): The purpose of this project is to enhance the current Contrail Ansible Deployer tool to include required playbooks or modules to automate upgrades between specific versions of Tungsten Fabric. Currently, it appears the main documentation resides within Juniper and a number of the steps are executed manually as CLI commands. To help solidify Tungsten Fabric as a reliable networking solution for any orchestrator, it would be useful to have well documented tools to automate supported upgrade paths between Tungsten Fabric versions.
  • Expected outcomes of the project
    • Documentation illustrating the usage of upgrade tools
    • Ansible playbooks to automate relevant tasks
    • Python code for relevant new modules for current manual tasks
  • Student skills required/preferred: Python, Ansible, Linux, Kubernetes/Docker, Cassandra, RabbitMQ
  • Project difficulty rating (easy, medium, hard): medium
  • Mentor (person who suggested the project): Darien Hirotsu

Allocate a block of IP addresses per instance

  • Project title: Allocate a block of IP addresses per instance
  • Project description (2-5 sentences): Currently, instances (such as virtual machines or pods) under Tungsten Fabric control get a single IP address, that is, /32 prefix for IPv4 and /128 for IPv6. The idea behind this project is to make prefix size configurable, thus enabling allocation of (say) /28 for IPv4 or /64 for IPv6. So, a Kubernetes CNI running on top of the TF overlay will be able to allocate pod IP addresses from the same range as overlay itself, thus reducing operation overhead. For IPv6 overlay networks, having a /64 prefix per instance is a prerequisite for many established scenarios, say SRv6.
  • Expected outcomes of the project: Patches to implement block IP address allocation in tf-config, tf-control and tf-vrouter-agent.
  • Student skills required/preferred: A solid understanding of C++ (including multithreading) and Python is required, background in networking would be a bonus
  • Project difficulty rating (easy, medium, hard): medium
  • Mentor (person who suggested the project): Valentin Sinitsyn

Support Segment Routing (SR-MPLS)

  • Project title: Support Segment Routing (SR-MPLS)
  • Project description (2-5 sentences): Segment Routing (RFC 8402) is a variation of source routing paradigm where source node steers a packet through a network with a set of "programming instructions". This makes implementing advanced scenarios such as service chaining or zero-downtime live migration straightforward. An MPLS dataplane for Segment Routing (SR-MPLS) can be seen as an extension to the current MPLS dataplane in Tungsten Fabric, while SRv6 dataplane can serve as a similar extension for IPv6 underlay networks. In course of this project, you'll make both TF dataplane (vRouter and vRouter Agent) and TF control plane "SR-ready".
  • Expected outcomes of the project: Patches to support segment routing in tf-control, tf-vrouter-agent and tf-vrouter; the exact set of instructions to support and configuration means are negotiable. A possible MVP is to introduce SR-MPLS as yet another dataplane in TF, in addition to plain MPLS and VXLAN.
  • Student skills required/preferred: A solid understanding of C/C++ and Python is required, some experience with Linux kernel programming and DPDK is recommended
  • Project difficulty rating (easy, medium, hard): hard
  • Mentor (person who suggested the project): Valentin Sinitsyn


(add more projects here; use the template from below)

Template for Project for the List

  • Project title:
  • Project description (2-5 sentences):
  • Expected outcomes of the project:
  • Student skills required/preferred:
  • Project difficulty rating (easy, medium, hard):
  • Mentor (person who suggested the project):



Application



  • No labels