nuage vsd #1

Description

Nuage VSD provides a highly scalable, high availability, high performance SDN controller for network virtualization of data centers.
.
This charm is used to configure the VSD node as a VM inside a KVM machine orchestrated by Juju and is used to control the Nuage VSC.


Overview

Nuage VSD - Policy Engine

The principle use of this charm is with the Nuage VSC and VRS components. The VSD Charm orchestrates the deployment of the The Nuage VSD: a programmable policy and analytics engine with a flexible and hierarchical network policy framework for a Cloud Management System such as OpenStack.

This charm should be used with other principle openstack charms to configure and control the data-path service units configured using the Nuage VRS Charms

NOTE: this charm relies on binaries and VSD VM definition file that are distributed to customers of Nuage Networks VSP solution.

Usage

The VSD service is deployed as a KVM virtual machine.
The VSD repository: The VSD VM (.qcow) image and its VM definition file are provided either as a payload or as an URL to customers to download and deploy on Juju machines.

This VSD VM image must be placed either in the 'payload' folder within the charm or as part of a valid repository URL prior
to deployment. The charm expects to find the image; if they are missing the install hook will error out.

The charm will use the VSD image and VM definition xml specified and deploy it on a kvm.

To deploy:

juju deploy nuage-vsd
juju add-relation neutron-api nuage-vsd // This relation is required to plugin VSD details in Neutron-api for communication between these two services.
juju add-relation nuage-vsd nuage-vsc  // This relation is requrired for VSD to talk to VSC
juju expose nuage-vsd

VSD VM (KVM) Configuration

The VSD service VM is required to have a minimum of 12GB of memory and a minimum of 4 cores.

The VSD VM management IP address is a static IP address and is a configuration parameter of the VSD charm.
In a MaaS deployment this IP address must be obtained from the IP range defined for the MaaS DHCP configuration.
The following nuage-vsd charm configuration parameters are required(MUST) otherwise your installation will fail:
vsd-vm-ip-address: This is the Ip Address you want to give to your VSD VM.
Note: Make sure your VSD IP corresponds to any DNS name because while installing VSD service, hooks checks for DNS Name associated to VSD IP address.
vsd-vm-default-gw: Gateway that your VSD-VM will use to talk to other services in juju env like nauge-VSC and Neutron-api
vsd-vm-dns-server: "DNS Server which will be used to reslove the DNS for VSD-VM IP."
vsd-vm-subnet-mask-length: "Please provide the subnet mask of the network you gave VSD-VM IP form"
vsd-repository-url: "URL to get the Nuage VSD image". This will typically contain two files: vsd.qcow2 adn vsd.xml which are used to virsh define the VSD VM.

Note: Also make sure the vsp-license-file that you provide to fetch vsd license must be set and valid.

Please install python modules nose, mock flake8 yaml and pycurl for unit test to pass.

Known Limitations and Issues

MaaS 1.7 API does not yet support the API to obtain an IP address from the IP range defined for the MaaS DHCP configuration.

Restrictions

This charm only support deployment with OpenStack Icehouse or better.

Contact Information

Nuage Networks
755 Ravendale Drive
Mountain View CA 94043
info@nuagenetworks.net

Configuration

admin-user
(string) vsd user name
admin
vsd-vm-memory
(string) Optional: Memory for VSD VM
13168816
vsd-vm-ip-address
(string) "IP Address of the VSD VM" Note: Make sure your VSD IP corresponds to any DNS name because while installing VSD service, hooks will checks for DNS Name associated to VSD IP address.
vsp-license-file
(string) License file for Nuage VSP. The VSD License must be set and valid.
vsd-vm-default-gw
(string) Gateway for the VSD VM. Gateway that your VSD-VM will use to reach to other services in juju env like nauge-VSC and Neutron-api
vsd-vm-dns-server
(string) DNS Server which will be used to reslove the DNS for VSD-VM IP.
ntp-server
(string) Optional: ntp server. Used only when you want to use different ntp-server
golem.canonical.com
bridge-name
(string) Optional: Bridge you want to use for VSD-VM
juju-br0
vsd-vm-disk-size
(string) Optional: VSD VM disk size in G
20G
vsd-api-version
(string) "Optional: Nuage VSD API version ex: 3.2" 'Please configure this parameter appropriately. Default is "3.2". Must be used for version above 3.2.'
3.2
vsd-image-name
(string) Optional: A image file name that is present in the payload or fetched directory to configure the VSC image on KVM
vsd.qcow2
vsd-vm-subnet-mask
(string) Subnet mask for the VM IP
vsd-template-name
(string) Optional: A vm definition file template name that is present in the templates directory to configure the VSC image on KVM
vsd.xml
vsd-repository-url
(string) Provide URL to get the Nuage VSD image
admin-password
(string) vsd password.
admin