TBD
The proposed CloudStack networking plugin will bring the Nuage VSP network virtualization technology to CloudStack.
This is a design document of the Nuage VSP Plugin, which has Jira ID CLOUDSTACK-6845
External link describing the Nuage SDN solution : http://www.nuagenetworks.net/solutions/
Date | Revision | Author | Description of the change |
---|---|---|---|
06/04/2014 | 0.1 | Suresh Ramamurthy | Initial Draft |
Term | Definition |
---|---|
VSP | Virtualized Services Platform |
VSD | Virtualized Services Directory |
VSC | Virualized Services Controller |
VRS | Virtualized Routing and Switching |
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
Network ACL
2. VPC network mode:
DHCP
Static NAT
Source NAT
Network ACL
If User needs Password Reset funtionality, then they can choose UserData Service and select VirtualRouter as the ServiceProvider. UserData Service support will be available only in Isolated Network.
The initial implementation targets the Xen Server and ESXI hypervisor. Additional services will be supported in subsequent releases
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 spawned 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
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.
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.
The following tests should be verified before declaring the feature complete:
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
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
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 and Virtual Networking services. Choose NuageVspVpc for NerworkACL service.
b) Create an VPC and select "Default VPC offering with NuageVsp" as the VPC offering
c) Create a tier and select the 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
d) Create a Static NAT and associate it one of the VM
e) 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
f) SSH to box that is in the external network should work
There is no change in the existing Cloudstack work flow to create an advanced isolated network
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.
A Nuage VSP pluign 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 Firewall and Egress rule in VSP
b) Create/Delete Static NAT
NuageVspVpcElement
a) Create/Delete NetworkACL
b) Spawn/Delete VR
NuageVspManager
a) Create a default VPC offering
b) 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
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 enabled for the physical network that has the Guest Network with VSP isolation. Nuage VSD information need to be configured for NuageVsp Service provider
None
No change