Home

Note

This project is under active development.

The Network Resource Management offered by CNIT is called NFVCL and it is an open-source software[1] devoted to network-oriented meta-orchestration, specifically designed for zeroOps and continuous automation. The NFVCL is deploying network ecosystem instances using Blueprints (Day-0 and Day-1), these network ecosystems can be composed by different components, such VMs or K8S pods, offering a service. The deployment of a Blueprint can be done over a VIM and a Kubernetes cluster (some components may require to be VMs and others Containers). In detail, a network ecosystem is meant to be a complete functional network environment, such as a 5G system, an overlay system for network cybersecurity or a simple application service mesh. Once a Blueprint instance has been deployed, the NFVCL is capable of managing Day-2 and Day-N operation, requested by the user, to the specific instance. The supported operations (Day-X) must be supported by the code of the specific Blueprint. In general, it can be said that the NFVCL is managing all the life-cycle of the Blueprint (LCM).

The installation procedure is described in the main README.

The NFVCL is working through REST API calls, you can see every available API in the swagger offered by the NFVCL. You can find the swagger at URL: http://NFVCL-IP:5002/docs

The NFVCL is deploying ecosystems instances using Blueprints. The deployment of a Blueprint can be done over a VIM and a Kubernetes cluster (some components may require to be VMs and others Containers). The Blueprint general description and list is available there Blueprint)

General Scheme

An example of deployment by the NFVCL can be an interconnected mix between VMs and PODs in Kubernetes as follow

Example deployment 1

Or maybe a Blueprint that creates only inter-connected Virtual Machines

Example deployment 2

Getting started

In order to be able to deploy Blueprints you will need to:

  1. Create the Topology information (You can find a general description here Topology description, Topology creation)

    1. Including at least 1 VIM where VMs are deployed

    2. Including at least 1 K8S clusters where Helm Charts are deployed (The cluster can be generated using the dedicated K8S blueprint that does not require a K8S Cluster to be present in the Topology)

  2. Set up the VIM Topology VIM setup

  3. Deploy the desired Blueprint from the available list Blueprint. You can use the dedicated Blueprint to create and onboard a K8S cluster (over VMs) in the Topology.

Creation of Virtual Machines

VM Creation

Configuration of Virtual Machines

VM Configuration

Prometheus scraping

Prometheus is used as metrics database. Once a Prometheus server as been added to the Topology, it can be used by the NFVCL:

  • The NFVCL install exporters on supported Blueprints.

  • Edit the Prometheus configuration to scrape from all the installed exporters

For more details you can go to Prometheus