Talk:OpenVIM installation
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