----------------------------------------------------------- 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. Changes ------- Hi Hugo, I have fixed the license header. I ran mvn license:check -Dlicense.header=LICENSE.header and also mvn license:format -Dlicense.header=LICENSE.header to make sure every thing is fine. I have also done changes for noredist. Please review it, hopefully I have modified all the needed pom.xml files. I had following questions regarding compiling only nuagevsp plugin a) To build only nuagevsp, is below command correct. mvn clean install -P developer,nuagevsp b) To run client with nuagevsp in development setup, is the below correct: mvn -pl :cloud-client-ui jetty:run -P nuagevsp c) To create rpm using package.sh, we need to pass NOREDIST option. But, this requires all the dependent jar file to be copied. Please correct me if my understanding is wrong. How do we build rpm with only nuagevsp plugin? I tried to create a patch, but it created lot of files. So, I attached the diff files. Sorry for the inconvenience. Thanks for helping us, Suresh Ramamurthy 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 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