In Nuage Networks solutions family (see previous post for a quick intro), Virtualized Services Directory is the foundation for enterprise-class SDN. VSD serves as a policy, business logic and analytics engine for the network services.
VSD includes the architect role, a HTML5-based UI that allows operations to occur in a user-friendly way. It also comes with a command line interface and every single operation can also be done by REST API calls.
VSD contains a multi-tenanted service directory that supports role-based administration of users, compute and network resources. It also manages network resource assignments such as IP and MAC addresses.
For the purpose of network service assurance, the VSD allows the definition of statistics rules such as collection frequencies, rolling averages and samples, as well as Threshold Crossing Alerts. When a TCA occurs, it will trigger an event that can be exported to external systems through a generic messaging bus. Statistics are aggregated over hours, days and months and stored in an analytics cluster to facilitate data mining and performance reporting.
VSD Supported Configurations
VSD supported configurations are detailed here, but in a nutshell, VSD is composed of two roles:
- VSD Server itself
- VSD Statistics server (can be a Hadoop or Elastic Search storage)
In this post, I will focus on VSD Server itself.
The VSD can be deployed stand-alone for testing and validation environments, and will be deployed in clusters for production environments in order to achieve high-availability and scaling needs.
As a customer, Nuage Networks provides you with the following form factors for VSD server deployment:
- VMware Image: supported on ESXi 5.5/6.0
- QCOW Image: supported on KVM for CentOS 6.X, RHEL 6.X/7.X
- ISO file for your own setup.
The ISO files allows it to be deployed on a physical server running: CentOS and RHEL versions 6.5, 6.6 and 6.7 with minimal install.
Objectives of this setup
So there is no reference to Hyper-V in the supported platforms list, but it was too tempting for me not to test it’s installation and running.
Warning! This post does not depict any current Nuage Networks best practice nor supported configuration for hosting VSD platform.
I will provide here some platform-level recommendations to make VSD usable for some small demo/POC environments where you want the platform to be usable and stable.
We will deploy a VSD role on a Hyper-V host name CLOUDHOST, which is running Windows Server 2012 R2. This host has an external virtual switch called “Management” which is linked to the datacenter world and has connectivity to the Internet.
Prerequisites for this setup
In order to start with this setup, you should have the following elements available:
- A running Windows Server 2012 R2 host machine with Hyper-V role, management console and PowerShell enabled.
- Latest VSD binaries from Nokia Online Support Center.
- CentOS 6.7 ISO Minimal Install Setup files.
- SSH Client: Anything like Putty, I personally like MobaXterm.
- A NTP server.
- The VSD VM will need internet connectivity to download various components during the setup process.
VSD VM Recommendations for Hyper-V
The first step consists of creating a Hyper-V Virtual Machine with CentOS 6.7 binaries installed. The specifics recommended parameters (Recommended by me, not officially Nuage Networks!) for this VM are:
|| Recommended value
- 8192 GB (bare minimum)
- NO dynamic memory used
|Disk type and Size
- Use VHDX format
- Dynamic Size (127 GB by default)
- 1 VNIC for management
- Use Synthetic NIC and not the emulated (legacy)
- NOT using the Time Synchronization option
- Stop action: Shutdown the guest operating system
In Windows Server 2012 R2 UI, the following steps need to be completed:
VM Creation: PowerShell
If you prefer to use PowerShell, you can do the previous steps in just a couple of lines where I define the following variables:
- vmpath and vhdpath as the paths for the VM and the virtual hard disk file to be created.
- vmname as the name of the VM.
- vmswitchname as the name of the hyper-v virtual switch where this VM will be attached.
- Linuxisopath with the path to the CentOS 6.7 minimal install ISO.
New-VM -NewVHDPath $vhdpath -NewVHDSizeBytes 127GB -Generation 1 -MemoryStartupBytes 8GB -Name $vmname -Path $vmpath -SwitchName $vswitchname
Set-VM -Name $vmname -ProcessorCount 4 -AutomaticStopAction ShutDown
Get-VMIntegrationService -VMName $vmname -Name “Time Synchronization” | Disable-VMIntegrationService
Set-VMDvdDrive -VMName $vmname -Path $linuxisopath
Start-VM -Name $vmname
This is quick so in many times, I prefer PowerShell!
That was easy! This is it for this first part of this post, in the second part, we will proceed to Linux CentOS 6.7 setup with the prerequisites for VSD and proceed to VSD server setup!
For more information in the meantime: