Page tree
Skip to end of metadata
Go to start of metadata


Project Name:

  • Proposed name for the project: Nextgen VIM Scheduler (NGVS)

  • Proposed name for the repository: ngvs

Project description:

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, “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.

    • Requirements collection

    • 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

  • Future extensions:

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



  • OpenStack Core Services

  • OpenStack Zun

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

Planned deliverables & Schedule:

  • Requirements document

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

Project Leads: Wassim Haddad (, Amar Kapadia (

Jira Project Name: NGVS

Jira Project Prefix: [ngvs]

mailing list tag [ngvs]


See above

  • No labels