MERGED WITH OPENRETRIEVER ON APRIL 11, 2017
Proposed name for the project: Nextgen VIM Scheduler (NGVS)
Proposed name for the repository: ngvs
Project “Nextgen VIM Scheduler (NGVS)” aims to collect requirements for a next generation VIM scheduler (that supports VMs, containers, unikernels with static and serverless scheduling), choose the best upstream open source project(s) that meets these requirements, and subsequently work with the specific upstream community project(s) to incorporate the required features.
Currently the default VIM scheduler in OPNFV is OpenStack Nova. However, with newer technologies such as containers and unikernels, the scheduler will need to be improved or replaced in order to meet upcoming NFV requirements. Specifically we need:
The ability to schedule a mix of VMs, containers and unikernels.
For those new to unikernels, here’s a brief description: according to unikernel.org, “Unikernels are specialized, single-address-space machine images constructed by using library operating systems”. Unikernels are fundamentally VMs which implies users will get the best of containers and VMs in terms lightweight instances that are highly secure and fit within current management frameworks.
Ability to support heavily distributed NFV deployments.
Ability to support newer serverless scheduling techniques (i.e. event-driven similar to AWS Lambda) in addition to static scheduling. Serverless scheduling has the potential to dramatically increase the density of compute instances per server node by order(s) of magnitude.
Problem statement: For certain use cases e.g. vCPE, the current OpenStack NFVI suffers from a low density of compute instance/ node and security & performance limitations. We propose that the NFVI compute instances be expanded to include containers and unikernels in addition to VMs. This requires an improved or new scheduler that can schedule a mix of all three types of instances. To improve density, the scheduler also needs to be expanded to include serverless scheduling in addition to static, so that resource utilization is maximized.
The project will be in three phases and it is limited to being a requirements project for now.
Identification of an existing or new open source scheduler that is best suited to satisfy these requirements. The options range from improving Nova to half a dozen open source schedulers or container orchestration engines.
Identifying a different hypervisor if needed.
Influence the upstream community project(s) selected to incorporate the required features
Out of scope:
Integration or test
The project could be extended to integration & test to include scenarios, testing, documentation etc.
This is a requirements project. No work is anticipated in this area unless the scope is expanded at a future time.
Analysis of existing solutions
OpenStack Core Services
OPNFV OpenRetriever: This project is related but is more focused on integration and testing. There may be room to combine the two projects if NGVS comes to the conclusion that Kubernetes is the best solution.
Committers and Contributors:
Wassim Haddad (firstname.lastname@example.org)
Heikki Mahkonen (email@example.com)
Amar Kapadia (firstname.lastname@example.org)
Sriram Rupanagunta (email@example.com)
Planned deliverables & Schedule:
Analysis of existing solutions
Blueprints to influence upstream project
Proposed Release Schedule:
Completion by E-release
Use the above information to create a key project facts section on your project page
Key Project Facts
Project Name: Nextgen VIM Scheduler (NGVS)
Repo name: ngvs
Lifecycle State: Proposal
Primary Contact: Amar Kapadia (firstname.lastname@example.org)
Jira Project Name: NGVS
Jira Project Prefix: [ngvs]
mailing list tag [ngvs]