Skip to content

travelping/un-orchestrator

 
 

Repository files navigation

Universal Node Repository Summary

This repository contains the current implementation of the Universal Node and is divided in different sub-modules. Please check individual README's in each subfolder.

An high-level overview of this software is given by the picture blow.

universal-node

Orchestrator

The Universal Node orchestrator (un-orchestrator) is the main component of the Universal Node (UN). It handles the orchestration of compute and network resources within a UN, hence managing the complete lifecycle of computing containers (e.g., VMs, Docker, DPDK processes) and networking primitives (e.g., OpenFlow rules, logical switching instances, etc).

In a nutshell, when it receives a new Network Functions Forwarding Graph (NF-FG) to be deployed, it does the following operations:

  • retrieve the most appropriate images for the selected virtual network functions (VNFs) through the VNF name resolver;
  • configure the virtual switch (vSwitch) to create a new logical switching instance (LSI) and the ports required to connect it to the VNFs to be deployed;
  • deploy and start the VNFs;
  • translate the rules to steer the traffic into OpenFlow flowmod messages to be sent to the vSwitch (some flowmod are sent to the new LSI, others to the LSI-0, i.e. an LSI that steers the traffic towards the proper graph.)

Similarly, the un-orchestrator takes care of updating or destroying a graph, when the proper messages are received.

Name Resolver

The Name Resolver is a module that returns a set of implementations for a given NF. It is exploited by the un-orchestrator each time that a NF must be started in order to translate the 'abstract' name (e.g., firewall) into the proper suitable software image (e.g., firewall_vmimage_abc).

Virtualizer

The Virtualizer is a module that enables the un-orchestrator to interact with the upper layers of the Unify architecture, by means of the NF-FG defined in UNIFY. It in fact converts that NF-FG in the native representation accepted by the un-orchestrator.

The virtualizer operates as operates as follows:

  • it receives the NFFG commands through its northbound interface, based on the virtualizer library defined in UNIFY that implements the official NF-FG specification;
  • converts those commands in the NFFG formalism natively supported by the un-orchestrator;
  • through its southbound API, sends the equivalent command to the un-orchestrator.

This module is only required to integrate the un-orchestrator with the upper layers of the Unify architecture. Instead, it is not needed when the un-orchestrator is controller through its native interface; in the case, the native NF-FG specification must be used.

NFs

This folder contains some examples of virtual network functions that are known to work on the UN.

Use-cases

This folder contains some running use-cases for the UN, including configuration files and VNFs.

About

Universal Node Orchestrator

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 67.7%
  • C 11.5%
  • Python 7.1%
  • Shell 4.2%
  • Java 3.1%
  • JavaScript 2.2%
  • Other 4.2%