-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/
-----------------------------------------------------------

(Updated July 15, 2014, 11:38 a.m.)


Review request for cloudstack, Alena Prokharchyk, Hugo Trippaers, and Sheng 
Yang.


Changes
-------

Hi Hugo, Alena, Sheng

I have made following changes to the code and submitted for review:

a) Fixed find bug issue found by Hugo

b) Based on Alena's and Sheng's comment on VPC implementation, I removed 
NuageVspVpcElement file and NuageVspVpc provider. Now NuageVspElement handles
NetworkACL and VPCVirtualRouter is used for UserData service.

Thanks Alena and Sheng for pointing me about how to implement VPC

Thanks Hugo on taking care of reviewing our code chnages and sending out email 
regarding noredist...

Regards,
Suresh


Bugs: CLOUDSTACK-6845
    https://issues.apache.org/jira/browse/CLOUDSTACK-6845


Repository: cloudstack-git


Description
-------

This is first code drop for NuageVsp Network plugin support that will bring the 
Nuage VSP network virtualization technology to CloudStack.

We need a new branch to checkin the fixes once the review is done. Please 
create a new branch for NuageVsp plugin.


Diffs (updated)
-----

  api/src/com/cloud/event/EventTypes.java 71bfdb6 
  api/src/com/cloud/network/Network.java 885bffe 
  api/src/com/cloud/network/Networks.java 1e4d229 
  api/src/com/cloud/network/PhysicalNetwork.java 8cc214e 
  client/WEB-INF/classes/resources/messages.properties b192cb0 
  client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95 
  client/pom.xml 46933d9 
  client/tomcatconf/commands.properties.in b9ac27b 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java 
8e4c710 
  
plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
 0922765 
  
plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
 0f42df3 
  plugins/network-elements/nuage-vsp/pom.xml PRE-CREATION 
  
plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/module.properties
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/spring-vsp-context.xml
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/StartupVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/VspResourceAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/VspResourceCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyAclRuleVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyAclRuleVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyStaticNatVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyStaticNatVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ShutDownVpcVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ShutDownVpcVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/DeallocateVmVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/DeallocateVmVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ImplementNetworkVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ImplementNetworkVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ReleaseVmVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ReleaseVmVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ReserveVmInterfaceVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ReserveVmInterfaceVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/TrashNetworkVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/TrashNetworkVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncVspAnswer.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncVspCommand.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/api/commands/AddNuageVspDeviceCmd.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/api/commands/DeleteNuageVspDeviceCmd.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/api/commands/IssueNuageVspResourceRequestCmd.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/api/commands/ListNuageVspDevicesCmd.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/api/commands/VspConstants.java 
PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/api/response/NuageVspDeviceResponse.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/api/response/NuageVspResourceResponse.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/NuageVspDeviceVO.java 
PRE-CREATION 
  plugins/network-elements/nuage-vsp/src/com/cloud/network/dao/NuageVspDao.java 
PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/dao/NuageVspDaoImpl.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/guru/NuageVspGuestNetworkGuru.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManager.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/sync/NuageVspSync.java 
PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/com/cloud/network/sync/NuageVspSyncImpl.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/NuageVspPluginClientLoader.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/client/NuageVspApiClient.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/client/NuageVspElementClient.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/client/NuageVspGuruClient.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/client/NuageVspSyncClient.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/test/com/cloud/network/element/NuageVspElementTest.java
 PRE-CREATION 
  
plugins/network-elements/nuage-vsp/test/com/cloud/network/guru/NuageVspGuestNetworkGuruTest.java
 PRE-CREATION 
  plugins/pom.xml 802e2ea 
  server/src/com/cloud/api/ApiResponseHelper.java 51122e0 
  server/src/com/cloud/configuration/ConfigurationManagerImpl.java 1940f48 
  server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1 
  setup/db/db/schema-440to450.sql d047060 
  tools/apidoc/gen_toc.py 827d6bf 
  ui/dictionary.jsp e9d84de 
  ui/scripts/configuration.js 9311e37 
  ui/scripts/docs.js 74a08bc 
  ui/scripts/system.js 9012580 
  ui/scripts/ui-custom/zoneWizard.js 4091c03 
  vmware-base/src/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java 
dd55439 

Diff: https://reviews.apache.org/r/23282/diff/


Testing
-------

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 are tested

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 2 VMs. Verify that VMs should each get an IP address. They should ping 
each other. Verify that 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) Verify that SSH to box that is in the external network should work
e) Verify that 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 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 2 VMs. Verify that 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) Verify that SSH to box that is in the external network should work


Thanks,

Suresh Ramamurthy

Reply via email to