Talk:OpenVIM installation

From OSM Public Wiki
Revision as of 09:14, 7 September 2017 by Garciadeblas (talk | contribs) (Created page with "=Introduction= Openvim is an implementation of an NFV VIM supporting EPA features and control of an underlay switching infrastructure through an OFC. Some of the EPA features...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

Openvim is an implementation of an NFV VIM supporting EPA features and control of an underlay switching infrastructure through an OFC. Some of the EPA features included in openvim are:

  • CPU pinning
  • Memory pinning
  • NUMA pinning
  • Support of memory huge pages
  • Port passthrough interfaces
  • SR-IOV interfaces
  • Injection of virtual PCI addresses

Openvim controller interfaces with Openvim compute nodes in the NFV Infrastructure and an Openflow controller in order to provide computing and networking capabilities and to deploy virtual machines. It offers a northbound interface, based on REST (openvim API), where enhanced cloud services are offered including the creation, deletion and management of images, flavors, instances and networks.

Next figure shows a general diagram of a datacenter controlled by openvim.


Openvim controller relies on an NFS server as image repository, an Openflow Clontroller to configure the underlay switches, and a DHCP server to provide management IP addresses to the VMs. For simplicity, these instructions will asume that these three additional modules (image repo, OFC and DHCP server will be hosted in the same machine as Openvim controller.

Requirements

Openvim controller

Openvim compute nodes

Installation

Openvim Controller

NFS server

DHCP server (Bridge)

For bridge type openvim (network_type : bridge) relays on precreated bridges at compute nodes that has L2 connectivity using e.g. a switch in trunk mode. In this mode you should provide an external DHCP server for the management network

Open openvimd.cfg and modify network_type:

network_type : bridge

For the management network a DHCP server is needed. Install the package dhcp3-server. This package will install the actual DHCP server based on isc-dhcp-server package.

Ubuntu 14.04:  sudo apt-get install dhcp3-server
Ubuntu 16.04:  sudo apt install isc-dhcp-server

Configure it editing file /etc/default/isc-dhcp-server to enable DHCP server in the appropriate interface, the one attached to Telco/VNF management network (e.g. eth1).

$ sudo vi /etc/default/isc-dhcp-server
INTERFACES="eth1"

Edit file /etc/dhcp/dhcpd.conf to specify the subnet, netmask and range of IP addresses to be offered by the server.

$ sudo vi /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 86400;
max-lease-time 86400;
log-facility local7;
option subnet-mask 255.255.0.0;
option broadcast-address 10.210.255.255;
subnet 10.210.0.0 netmask 255.255.0.0 {
 range 10.210.1.2 10.210.1.254;
}

Restart the service:

sudo service isc-dhcp-server restart

OVS controller

For ovs type openvim creates a ovs vxlan tunnel and launches a dhcp server in the ovs_controller. The ovs_controller can be a different or the same machine where openvim is running.

Some preparation is need it before for DHCP management through OVS networks:


Execute scripts/configure-dhcp-server-UBUNTU16.0.4.sh to prepare ovs controller. Can be placed in the same Openvim VM or in a new one.

 $sudo ./openvim/scripts/configure-dhcp-server-UBUNTU16.0.4.sh <user-name>

Open openvimd.cfg and modify network_type:

network_type : ovs
ovs_controller_ip:        <ovs_controller ip>    # dhcp controller IP address, must be change in 
                                                 # order to reach computes. 
ovs_controller_user:      <ovs_controller user>  # User for the dchp controller for OVS networks
ovs_controller_file_path: '/var/lib/openvim'     # ovs_controller Path for dhcp daemon 
                                                 # configuration, by default '/var/lib/openvim

For automatic login from openvim controller to OVS controller computes fill the ovs_controller_keyfile path to the public ssh key must be specify in openvimd.cfg.

ovs_controller_keyfile:   /path/to/ssh-key-file  # ssh-access-key file to connect host
host_ssh_keyfile: /path/to/ssh-key-file  # Default ssh_kye to use for connecting to compute nodes

Openvim Compute Node configuration

Configuring openvim

Configure openvimd.cfg

Restarting openvim

Adding a compute node

Creating the management network

Creating a tenant