Heya all,

I’ve pushed support for the NuageVSP feature just now. Technically two days 
after the intended feature freeze for 4.6, but i think i can get away with it 
for the following reasons:

* The feature was submitted on the review board before the feature freeze
* The feature includes extensive unit tests and an integration test
* Minor changes to core (just the minimum to enable the plugin), most real 
functionality is in a plugin
* Review was approved by me before the feature freeze, just didn’t have time to 
run final checks and push it over the weekend.

Does anyone have any objections to this?

Cheers,

Hugo


On 21 jul. 2014, at 10:50, Hugo Trippaers <htrippa...@schubergphilis.com> wrote:

> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/#review48208
> -----------------------------------------------------------
> 
> Ship it!
> 
> 
> commit 03de9cc33507400e0e06ccd84a36334a4660ef4e
> Author: Suresh Ramamurthy <suresh.ramamur...@nuagenetworks.net>
> Date:   Mon Jul 21 09:40:45 2014 +0200
> 
>    CLOUDSTACK-6845 : NuageVsp Network plugin
> 
>    Signed-off-by: Hugo Trippaers <htrippa...@schubergphilis.com>
> 
> 
> - Hugo Trippaers
> 
> 
> On July 19, 2014, 12:49 a.m., Suresh Ramamurthy wrote:
>> 
>> -----------------------------------------------------------
>> This is an automatically generated e-mail. To reply, visit:
>> https://reviews.apache.org/r/23282/
>> -----------------------------------------------------------
>> 
>> (Updated July 19, 2014, 12:49 a.m.)
>> 
>> 
>> Review request for cloudstack, Alena Prokharchyk, Hugo Trippaers, and Sheng 
>> Yang.
>> 
>> 
>> 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
>> -----
>> 
>>  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
>>  a2b9625 
>>  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/network-elements/nuage-vsp/test/com/cloud/network/manager/NuageVspManagerTest.java
>>  PRE-CREATION 
>>  
>> plugins/network-elements/nuage-vsp/test/com/cloud/network/resource/NuageVspResourceTest.java
>>  PRE-CREATION 
>>  
>> plugins/network-elements/nuage-vsp/test/com/cloud/network/sync/NuageVspSyncTest.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 
>>  test/integration/component/test_nuage_vsp.py PRE-CREATION 
>>  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