Nuage VSP Plugin

Bug References

CLOUDSTACK-6845

Branch

TBD

Introduction

The proposed CloudStack networking plugin will bring the Nuage VSP network virtualization technology to CloudStack.

Purpose

This is a design document of the Nuage VSP Plugin, which has Jira ID CLOUDSTACK-6845

References

External link describing the Nuage SDN solution : http://www.nuagenetworks.net/solutions/

Document History

 

Date

Revision

Author

Description of the change

06/04/2014

0.1

Suresh Ramamurthy

Initial Draft

07/22/20140.2Suresh RamamurhtyAdded information about plugin client dependency and UserData support in VPC

 

Glossary

 

Term

Definition

VSP

Virtualized Services Platform

VSD

Virtualized Services Directory

VSC

Virualized Services Controller

VRS

Virtualized Routing and Switching

 

Feature Specification

Feature Summary

For the Nuage VSP plugin, we plan to support the following network model / service combinations:

1. Advanced Isolated network mode:

  • DHCP

  • Static NAT

  • Source NAT

  • Firewall

  • Virtual Networking

2. VPC network mode:

  • DHCP

  • Static NAT

  • Source NAT

  • Network ACL

  • Virtual Networking

    Note: If User needs Password Reset funtionality, then they can choose UserData Service and select VirtualRouter for isolated networks or VPCVirtualRouter for VPC as the ServiceProvider. The initial implementation targets the Xen Server and ESXI hypervisor. Additional services will be supported in subsequent releases

Advantages

All the network isolation and routing is handled by the Nuage SDN solution. Routing of the packets happen at hypervisor itself. Virtual Router is not used for routing the packets thus the current issue of the Virtual Router being the bottleneck is avoided. The Virtual Router VM is used only for Password reset functionality. The Nuage solution also helps significantly improve the agility and scale of a CS deployment as compared to a Virtual Router based deployment

Nuage VSP Background

The Nuage NetworksTM Virtualized Services Platform (VSP) is a Software-Defined Networking (SDN) solution that virtualizes any datacenter (DC) network infrastructure and automatically establishes connectivity between compute resources upon their creation. The Nuage Networks VSP enables the deployment of massively scalable cloud-based services with the agility and performance demanded by highly dynamic application environments. It deploys the full range of L2-L4 networking services on a per-tenant or per-application basis using overlay technologies.

Test Guidelines

Nuage VSP plugin depends on following components of Nuage SDN solution

a) Nuage VSD

b) Nuage VSC

c) Nuage VRS, this needs installed on the Hypervisor

All the above components needs to be provisioned for the plugin to function properly. Also, Nuage VSP plugin directly talks with Nuage VSD using Rest API. So, all the components needs to be running to test the plugin functionality. NuageVsp plugin depends on the plugin client library. This needs to be installed on the management server as part of CloudStack management server installation.

The following tests should be verified before declaring the feature complete:

Isolated Network Test Cases

a) Create a network offering with default egress deny rule and select services supported by Nuage VSP plugin. Choose NuageVsp as the service provider for DHCP, SourceNAT, StaticNAT, Firewall and Virtual Networking services.

    Choose VirtualRouter as the service provider for UserData service.

b) Create an isolated Network with network offering created above

c) Spawn a 2 VMs. VMs should each get an IP address. They should ping each other. SSH to a box on the external network should fail

b) Create a Static NAT and associate it one of the VM

    1. Add an Egress rule for the network with source CIDR as 0.0.0.0/0, protocol as TCP and ssh port number

d) SSH to box that is in the external network should work

e) Password reset for the VM should work

VPC Test Cases

a) Create a network offering for VPC with default deny all rule and select services supported by Nuage VSP plugin for VPC. Choose NuageVsp as the service provider for DHCP, SourceNAT, StaticNAT, NetworkACL and Virtual Networking services.  

    Choose VPCVirtualRouter as the service provider for UserData service.

b) Create a VPC offering with the same services that were selected to create the network offering. 

c) Create a VPC and select the VPC offering created above.

d) Create a tier and select the network offering created above

e) Spawn a 2 VMs. VMs should each get an IP address. They should ping each other. SSH to a box on the external network should fail

f) Create a Static NAT and associate it one of the VM

g) Add an Network ACL Egress rule for the network with source CIDR as 0.0.0.0/0, protocol as TCP and ssh port number

h) SSH to box that is in the external network should work

Use Cases

Advanced Isolated Network

There is no change in the existing Cloudstack work flow to create an advanced isolated network

VPC

There is not change in the existing Cloudstack work flow to create a VPC.

When the first VM is spawned either in Isolated network or in a tier of VPC, NuageVSP plugin creates logical network topology in VSD and information is pushed down in VSC. Nuage SDN solution then takes care of providing network isolation, connectivity, routing, Static NAT.

Architecture and Design description

A Nuage VSP plugin will be developed to add Nuage network virtualization into CloudStack


NuageVspNetworkGuru

This network guru is implemented to

a) Create/Delete logical topology in VSP

b) Create/Delete VM

NuageVspElement

a) Create/Delete NetworkACL, Firewall and Egress rule in VSP

b) Create/Delete Static NAT

NuageVspManager

a) Handle sync to clean up the stale entities in VSP

The capability / Networking mode combinations to be supported by the NuageVsp plugin are listes in the Feature Summary section above

Configuration changes

A new Isolation Method called VSP will be added(PhysicalNetwork.java)

A new BroadCastDomainType called Vsp will be added(Network.java)

Isolation type VSP should be chosen for Guest Network.

A new Service provider called NuageVsp will be added. This needs to be enabled for the physical network that has the Guest Network with VSP isolation. Nuage VSD information need to be configured for NuageVsp Service provider

Note: NuageVsp network plugin depends on a NuageVsp plugin client library. So, this client library needs to installed on management server as part of CloudStack management server installation. When a NuageVsp provider information is added for the guest network,

plugin loads the client library and then uses the library to make REST API calls to Nuage VSD to create logical topology, VMs etc..

Web Services APIs

None

UI Flow

No change

  • No labels