You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Suresh Ramamurthy <su...@nuagenetworks.net> on 2014/07/06 03:55:54 UTC

Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

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

Review request for cloudstack and Hugo Trippaers.


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.


Diffs
-----

  api/src/com/cloud/event/EventTypes.java 5b9ea5c 
  api/src/com/cloud/network/Network.java 885bffe 
  api/src/com/cloud/network/Networks.java 1e4d229 
  api/src/com/cloud/network/PhysicalNetwork.java 8cc214e 
  build/replace.properties 265f335 
  client/WEB-INF/classes/resources/messages.properties b192cb0 
  client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95 
  client/pom.xml 29fef4f 
  client/tomcatconf/commands.properties.in b9ac27b 
  client/tomcatconf/log4j-cloud.xml.in 08021f2 
  packaging/debian/replace.properties 5a0bd58 
  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java 8e4c710 
  plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java 5b49e5b 
  plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
  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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini 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/element/NuageVspVpcElement.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 b5e6a61 
  server/src/com/cloud/api/ApiResponseHelper.java 51122e0 
  server/src/com/cloud/configuration/ConfigurationManagerImpl.java 897f8e1 
  server/src/com/cloud/network/NetworkServiceImpl.java b3de9e3 
  server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1 
  setup/db/create-schema.sql fe5cd0a 
  setup/db/db/schema-440to450.sql c88a18a 
  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


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
Hi Hugo, Sheng Yang,

I have posted the first code drop for NuageVsp network plugin in the review
board(https://reviews.apache.org/r/23282/).

Could you please review them and let me know your comments.

Also, we need a new branch to check-in the fixes once the review is done.
Could you please create a new branch for NuageVsp network plugin.

Thanks,
Suresh




On Sat, Jul 5, 2014 at 6:55 PM, Suresh Ramamurthy <
suresh.ramamurthy@nuagenetworks.net> wrote:

>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
> -----------------------------------------------------------
>
> Review request for cloudstack and Hugo Trippaers.
>
>
> 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.
>
>
> Diffs
> -----
>
>   api/src/com/cloud/event/EventTypes.java 5b9ea5c
>   api/src/com/cloud/network/Network.java 885bffe
>   api/src/com/cloud/network/Networks.java 1e4d229
>   api/src/com/cloud/network/PhysicalNetwork.java 8cc214e
>   build/replace.properties 265f335
>   client/WEB-INF/classes/resources/messages.properties b192cb0
>   client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95
>   client/pom.xml 29fef4f
>   client/tomcatconf/commands.properties.in b9ac27b
>   client/tomcatconf/log4j-cloud.xml.in 08021f2
>   packaging/debian/replace.properties 5a0bd58
>
> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
> 8e4c710
>
> plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
> 5b49e5b
>
> plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
> a9840bd
>   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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini
> 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/element/NuageVspVpcElement.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 b5e6a61
>   server/src/com/cloud/api/ApiResponseHelper.java 51122e0
>   server/src/com/cloud/configuration/ConfigurationManagerImpl.java 897f8e1
>   server/src/com/cloud/network/NetworkServiceImpl.java b3de9e3
>   server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1
>   setup/db/create-schema.sql fe5cd0a
>   setup/db/db/schema-440to450.sql c88a18a
>   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
>
>

Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.

> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java, line 196
> > <https://reviews.apache.org/r/23282/diff/1/?file=624333#file624333line196>
> >
> >     I'm not really agreeing with this method of loading the client. The client should be loaded using the classloader.
> >     
> >     Is the library available from maven central or is distribution restricted? If the latter case we need to move this plugin and the dependency on the library to the noredist build.
> 
> Suresh Ramamurthy wrote:
>     Yes, NuageVsp plugin client library is distribution restricted. I had some design question regarding dropping the library and loading it dynamically. Please find below our requirement'
>     
>     1) We wanted to drop our NuageVsp plugin client after installing CloudStack. 
>     2) We wanted to create an NuageVsp plugin Client RPM and then install the RPM that copies in a location. The location could be some other location that NuageVsp Plugin client chooses.
>        In this case I thought of copying it under /usr/share/cloudstack-management/webapps/client/WEB-INF/lib but it could be different location
>     3) Then restart CloudStack.
>     4) When NuageVsp Device is added, then the class files will be dynamically loaded and things will work seamlessly
>     
>     Advantages of above approach:
>     
>     1) Cloudstack build does not have any dependency on our jar files. This is because, we do not have any reference of NuageVsp Plugin client code 
>        and the client classes are loaded dynamically
>     2) There is no maven central dependency
>     3) Version Upgrade of NuageVsp Plugin client does not depend on Cloudstack version. We will just uninstall our RPM and re-install the new version of NuageVsp Plugin client code and restart CloudStack
>     
>     Hugo, above was our suggestion. Is it okay to follow the above approach of loading the Plugin Client files? 
>     
>     If the above approach is not acceptable then we are open to follow the noredist build approach. If we are following the noredist build approach then I just want to clarify the procedure to be
>     followed to use NuageVsp Plugin
>     
>     1) User needs to download NuageVsp Plugin client jar file
>     2) Copy the jar under deps folder
>     3) Run install-non-oss.sh
>     4) Build RPM using -p NOREDIST option
>     
>     Could you please let me know details of the forum where we can have design discussions?
>     
>     I know, I am asking too many question :)
>     
>     Thanks reviewing and supporting us.
>
> 
> Hugo Trippaers wrote:
>     That makes sense, thanks for the clarification. I think we can work that way, actually our plugin system is designed to work in such a way that the entire plugin could technically be separated into an rpm package. 
>     
>     Probably the best way to go forward is to agree on a file location. Probably something like /usr/share/nuage/lib for unix alike systems is a better place to store the library. The actual location would need to be configured as a global setting in CloudStack and passed to the resource during initialization. 
>     
>     However to use this type of loading i would like to make sure that a user will receive a clear error message explaining that the correct library is not installed when it tries to use it. 
>     
>     For functional testing this introduces number of problems as only people with access to those libraries can do any kind of testing on the library or are you delivering a stub together with the functional tests so we can integrate it in the functional test stream.
>     
>     In short, i'm ok with this type of loading, provided:
>       * we have a way of testing the plugin or execute functional tests against something that has access to the libraries.
>       * the cloudstack plugin documentation makes it clear that the plugin requires an additional library.
>       * the user receives an error message when he tries to configure the nauge plugin in cloudstack without the library.
>     
>     I'll take the question whether or not we need to put this plugin in the noredist build to the dev-list as i would like some more input on that.

Hi Hugo,

Thanks for quick response.

Please find my response below for you comments

  * we have a way of testing the plugin or execute functional tests against something that has access to the libraries.

<Suresh> We are doing functional testing here at Nuage Networks. Will community also perform functional test. Could you 
         please clarify me regarding what kind of functional testing does the community perform. Could you please point me
         to any document? As our plugin will need additional library and an SDN setup, how will community test it. Let me 
         know so that I can work on that ASAP

  * the cloudstack plugin documentation makes it clear that the plugin requires an additional library.

<Suresh> Yes, I will update the NuageVsp plugin design spec regarding the additional library once the process is approved by you 
         and others in community

  * the user receives an error message when he tries to configure the nauge plugin in cloudstack without the library.

<Suresh> The way I have written the logic in NuageVspResource is if the client library is not configured, we throw error message and also log the error 
         message in log files.

I am perfectly fine with the location that you mentioned and it makes sense. And, I can make is configurable too in global properties.
May be in future, as an enhancement, we can also make this location as a common location for all the network plugins to drop their client libraries.


- Suresh


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


On July 7, 2014, 6 p.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
> -----------------------------------------------------------
> 
> (Updated July 7, 2014, 6 p.m.)
> 
> 
> Review request for cloudstack and Hugo Trippaers.
> 
> 
> 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 5b9ea5c 
>   api/src/com/cloud/network/Network.java 885bffe 
>   api/src/com/cloud/network/Networks.java 1e4d229 
>   api/src/com/cloud/network/PhysicalNetwork.java 8cc214e 
>   build/replace.properties 265f335 
>   client/WEB-INF/classes/resources/messages.properties b192cb0 
>   client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95 
>   client/pom.xml 29fef4f 
>   client/tomcatconf/commands.properties.in b9ac27b 
>   client/tomcatconf/log4j-cloud.xml.in 08021f2 
>   packaging/debian/replace.properties 5a0bd58 
>   plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java 8e4c710 
>   plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java 5b49e5b 
>   plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
>   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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini 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/element/NuageVspVpcElement.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 b5e6a61 
>   server/src/com/cloud/api/ApiResponseHelper.java 51122e0 
>   server/src/com/cloud/configuration/ConfigurationManagerImpl.java 897f8e1 
>   server/src/com/cloud/network/NetworkServiceImpl.java b3de9e3 
>   server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1 
>   setup/db/create-schema.sql fe5cd0a 
>   setup/db/db/schema-440to450.sql c88a18a 
>   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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.

> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > client/tomcatconf/log4j-cloud.xml.in, line 66
> > <https://reviews.apache.org/r/23282/diff/1/?file=624288#file624288line66>
> >
> >     Why do you introduce a new logfile specific for Nuage? Isn't is easier for admins if all cloudstack related messages appear in the already existing logfile that admins are familiar with?

Sure, I will remove our logger.


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini, line 1
> > <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line1>
> >
> >     Missing Apache License Header

Accepted, I will add the header. Sorry, I missed it.


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini, line 4
> > <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line4>
> >
> >     Why introduce another configuration file? CloudStack provides options to set configuration using either network service provides or global configuration.

noOfSyncThreads=5
syncUpIntervalInMinutes=480

Both the above configurations are for NuageVsp plugin sync behavior. So, I will add them to Global configuration.


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java, line 95
> > <https://reviews.apache.org/r/23282/diff/1/?file=624333#file624333line95>
> >
> >     Don't depend on file locations as they will change. Use the java class loader to load any libraries.

Could you please at my comments for dynamic class loader...


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini, line 10
> > <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line10>
> >
> >     Please do not make any assumptions on the locations of jar files. That is up to the people doing the packaging and might vary from distribution to distribution. Expect everything to be available using the web app class loader.

Could you please at my comments for dynamic class loader...


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java, line 196
> > <https://reviews.apache.org/r/23282/diff/1/?file=624333#file624333line196>
> >
> >     I'm not really agreeing with this method of loading the client. The client should be loaded using the classloader.
> >     
> >     Is the library available from maven central or is distribution restricted? If the latter case we need to move this plugin and the dependency on the library to the noredist build.

Yes, NuageVsp plugin client library is distribution restricted. I had some design question regarding dropping the library and loading it dynamically. Please find below our requirement'

1) We wanted to drop our NuageVsp plugin client after installing CloudStack. 
2) We wanted to create an NuageVsp plugin Client RPM and then install the RPM that copies in a location. The location could be some other location that NuageVsp Plugin client chooses.
   In this case I thought of copying it under /usr/share/cloudstack-management/webapps/client/WEB-INF/lib but it could be different location
3) Then restart CloudStack.
4) When NuageVsp Device is added, then the class files will be dynamically loaded and things will work seamlessly

Advantages of above approach:

1) Cloudstack build does not have any dependency on our jar files. This is because, we do not have any reference of NuageVsp Plugin client code 
   and the client classes are loaded dynamically
2) There is no maven central dependency
3) Version Upgrade of NuageVsp Plugin client does not depend on Cloudstack version. We will just uninstall our RPM and re-install the new version of NuageVsp Plugin client code and restart CloudStack

Hugo, above was our suggestion. Is it okay to follow the above approach of loading the Plugin Client files? 

If the above approach is not acceptable then we are open to follow the noredist build approach. If we are following the noredist build approach then I just want to clarify the procedure to be
followed to use NuageVsp Plugin

1) User needs to download NuageVsp Plugin client jar file
2) Copy the jar under deps folder
3) Run install-non-oss.sh
4) Build RPM using -p NOREDIST option

Could you please let me know details of the forum where we can have design discussions?

I know, I am asking too many question :)

Thanks reviewing and supporting us.


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/test/com/cloud/network/element/NuageVspElementTest.java, line 103
> > <https://reviews.apache.org/r/23282/diff/1/?file=624341#file624341line103>
> >
> >     copy-paste error ;-)

:) I will fix it


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > server/src/com/cloud/network/vpc/VpcManagerImpl.java, line 1394
> > <https://reviews.apache.org/r/23282/diff/1/?file=624347#file624347line1394>
> >
> >     Depending on a size here looks like a bug waiting to happen when somebody adds an element. Is there another way to solve this?

I will remove this line and add our provider just like it is added for VPCVR and JuniperVPCVR


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > setup/db/create-schema.sql, line 149
> > <https://reviews.apache.org/r/23282/diff/1/?file=624348#file624348line149>
> >
> >     Modifying create-schema.sql is not allowed. Please make all necessary database changes in the upgrade scripts for the current master branch.

I have already modified upgrade  script to create external_nuage_vsp_devices. Do you want me to remove just line "DROP TABLE IF EXISTS `cloud`.`external_nuage_vsp_devices`;" or remove even the creation of
external_nuage_vsp_devices table


- Suresh


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


On July 7, 2014, 6 p.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
> -----------------------------------------------------------
> 
> (Updated July 7, 2014, 6 p.m.)
> 
> 
> Review request for cloudstack and Hugo Trippaers.
> 
> 
> 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 5b9ea5c 
>   api/src/com/cloud/network/Network.java 885bffe 
>   api/src/com/cloud/network/Networks.java 1e4d229 
>   api/src/com/cloud/network/PhysicalNetwork.java 8cc214e 
>   build/replace.properties 265f335 
>   client/WEB-INF/classes/resources/messages.properties b192cb0 
>   client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95 
>   client/pom.xml 29fef4f 
>   client/tomcatconf/commands.properties.in b9ac27b 
>   client/tomcatconf/log4j-cloud.xml.in 08021f2 
>   packaging/debian/replace.properties 5a0bd58 
>   plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java 8e4c710 
>   plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java 5b49e5b 
>   plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
>   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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini 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/element/NuageVspVpcElement.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 b5e6a61 
>   server/src/com/cloud/api/ApiResponseHelper.java 51122e0 
>   server/src/com/cloud/configuration/ConfigurationManagerImpl.java 897f8e1 
>   server/src/com/cloud/network/NetworkServiceImpl.java b3de9e3 
>   server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1 
>   setup/db/create-schema.sql fe5cd0a 
>   setup/db/db/schema-440to450.sql c88a18a 
>   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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.

> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > client/tomcatconf/log4j-cloud.xml.in, line 66
> > <https://reviews.apache.org/r/23282/diff/1/?file=624288#file624288line66>
> >
> >     Why do you introduce a new logfile specific for Nuage? Isn't is easier for admins if all cloudstack related messages appear in the already existing logfile that admins are familiar with?
> 
> Suresh Ramamurthy wrote:
>     Sure, I will remove our logger.

Fixed this comment. I removed NuageVsp logger.


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini, line 1
> > <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line1>
> >
> >     Missing Apache License Header
> 
> Suresh Ramamurthy wrote:
>     Accepted, I will add the header. Sorry, I missed it.

This file is no longer needed as I am using global configuration


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/test/com/cloud/network/element/NuageVspElementTest.java, line 103
> > <https://reviews.apache.org/r/23282/diff/1/?file=624341#file624341line103>
> >
> >     copy-paste error ;-)
> 
> Suresh Ramamurthy wrote:
>     :) I will fix it

Fixed this...


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java, line 196
> > <https://reviews.apache.org/r/23282/diff/1/?file=624333#file624333line196>
> >
> >     I'm not really agreeing with this method of loading the client. The client should be loaded using the classloader.
> >     
> >     Is the library available from maven central or is distribution restricted? If the latter case we need to move this plugin and the dependency on the library to the noredist build.
> 
> Suresh Ramamurthy wrote:
>     Yes, NuageVsp plugin client library is distribution restricted. I had some design question regarding dropping the library and loading it dynamically. Please find below our requirement'
>     
>     1) We wanted to drop our NuageVsp plugin client after installing CloudStack. 
>     2) We wanted to create an NuageVsp plugin Client RPM and then install the RPM that copies in a location. The location could be some other location that NuageVsp Plugin client chooses.
>        In this case I thought of copying it under /usr/share/cloudstack-management/webapps/client/WEB-INF/lib but it could be different location
>     3) Then restart CloudStack.
>     4) When NuageVsp Device is added, then the class files will be dynamically loaded and things will work seamlessly
>     
>     Advantages of above approach:
>     
>     1) Cloudstack build does not have any dependency on our jar files. This is because, we do not have any reference of NuageVsp Plugin client code 
>        and the client classes are loaded dynamically
>     2) There is no maven central dependency
>     3) Version Upgrade of NuageVsp Plugin client does not depend on Cloudstack version. We will just uninstall our RPM and re-install the new version of NuageVsp Plugin client code and restart CloudStack
>     
>     Hugo, above was our suggestion. Is it okay to follow the above approach of loading the Plugin Client files? 
>     
>     If the above approach is not acceptable then we are open to follow the noredist build approach. If we are following the noredist build approach then I just want to clarify the procedure to be
>     followed to use NuageVsp Plugin
>     
>     1) User needs to download NuageVsp Plugin client jar file
>     2) Copy the jar under deps folder
>     3) Run install-non-oss.sh
>     4) Build RPM using -p NOREDIST option
>     
>     Could you please let me know details of the forum where we can have design discussions?
>     
>     I know, I am asking too many question :)
>     
>     Thanks reviewing and supporting us.
>
> 
> Hugo Trippaers wrote:
>     That makes sense, thanks for the clarification. I think we can work that way, actually our plugin system is designed to work in such a way that the entire plugin could technically be separated into an rpm package. 
>     
>     Probably the best way to go forward is to agree on a file location. Probably something like /usr/share/nuage/lib for unix alike systems is a better place to store the library. The actual location would need to be configured as a global setting in CloudStack and passed to the resource during initialization. 
>     
>     However to use this type of loading i would like to make sure that a user will receive a clear error message explaining that the correct library is not installed when it tries to use it. 
>     
>     For functional testing this introduces number of problems as only people with access to those libraries can do any kind of testing on the library or are you delivering a stub together with the functional tests so we can integrate it in the functional test stream.
>     
>     In short, i'm ok with this type of loading, provided:
>       * we have a way of testing the plugin or execute functional tests against something that has access to the libraries.
>       * the cloudstack plugin documentation makes it clear that the plugin requires an additional library.
>       * the user receives an error message when he tries to configure the nauge plugin in cloudstack without the library.
>     
>     I'll take the question whether or not we need to put this plugin in the noredist build to the dev-list as i would like some more input on that.
> 
> Suresh Ramamurthy wrote:
>     Hi Hugo,
>     
>     Thanks for quick response.
>     
>     Please find my response below for you comments
>     
>       * we have a way of testing the plugin or execute functional tests against something that has access to the libraries.
>     
>     <Suresh> We are doing functional testing here at Nuage Networks. Will community also perform functional test. Could you 
>              please clarify me regarding what kind of functional testing does the community perform. Could you please point me
>              to any document? As our plugin will need additional library and an SDN setup, how will community test it. Let me 
>              know so that I can work on that ASAP
>     
>       * the cloudstack plugin documentation makes it clear that the plugin requires an additional library.
>     
>     <Suresh> Yes, I will update the NuageVsp plugin design spec regarding the additional library once the process is approved by you 
>              and others in community
>     
>       * the user receives an error message when he tries to configure the nauge plugin in cloudstack without the library.
>     
>     <Suresh> The way I have written the logic in NuageVspResource is if the client library is not configured, we throw error message and also log the error 
>              message in log files.
>     
>     I am perfectly fine with the location that you mentioned and it makes sense. And, I can make is configurable too in global properties.
>     May be in future, as an enhancement, we can also make this location as a common location for all the network plugins to drop their client libraries.
>

As per our discussion, I am using a different location and it is configurable in global configuration. I have updated the design spec to mention about this client plugin to be installed


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini, line 10
> > <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line10>
> >
> >     Please do not make any assumptions on the locations of jar files. That is up to the people doing the packaging and might vary from distribution to distribution. Expect everything to be available using the web app class loader.
> 
> Suresh Ramamurthy wrote:
>     Could you please at my comments for dynamic class loader...

I am using a different location that configurable in global configuration


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java, line 95
> > <https://reviews.apache.org/r/23282/diff/1/?file=624333#file624333line95>
> >
> >     Don't depend on file locations as they will change. Use the java class loader to load any libraries.
> 
> Suresh Ramamurthy wrote:
>     Could you please at my comments for dynamic class loader...

Fixed this. I am using a different location as per our discussion..


> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini, line 4
> > <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line4>
> >
> >     Why introduce another configuration file? CloudStack provides options to set configuration using either network service provides or global configuration.
> 
> Suresh Ramamurthy wrote:
>     noOfSyncThreads=5
>     syncUpIntervalInMinutes=480
>     
>     Both the above configurations are for NuageVsp plugin sync behavior. So, I will add them to Global configuration.

This file is no longer needed as I am using global configuration


- Suresh


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


On July 14, 2014, 7:29 a.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
> -----------------------------------------------------------
> 
> (Updated July 14, 2014, 7:29 a.m.)
> 
> 
> Review request for cloudstack and Hugo Trippaers.
> 
> 
> 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 15eeb13 
>   plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
>   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/element/NuageVspVpcElement.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/Config.java fbcb1f4 
>   server/src/com/cloud/configuration/ConfigurationManagerImpl.java 1940f48 
>   server/src/com/cloud/network/NetworkServiceImpl.java c8105e8 
>   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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <ht...@schubergphilis.com>.

> On July 8, 2014, 10:07 a.m., Hugo Trippaers wrote:
> > plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java, line 196
> > <https://reviews.apache.org/r/23282/diff/1/?file=624333#file624333line196>
> >
> >     I'm not really agreeing with this method of loading the client. The client should be loaded using the classloader.
> >     
> >     Is the library available from maven central or is distribution restricted? If the latter case we need to move this plugin and the dependency on the library to the noredist build.
> 
> Suresh Ramamurthy wrote:
>     Yes, NuageVsp plugin client library is distribution restricted. I had some design question regarding dropping the library and loading it dynamically. Please find below our requirement'
>     
>     1) We wanted to drop our NuageVsp plugin client after installing CloudStack. 
>     2) We wanted to create an NuageVsp plugin Client RPM and then install the RPM that copies in a location. The location could be some other location that NuageVsp Plugin client chooses.
>        In this case I thought of copying it under /usr/share/cloudstack-management/webapps/client/WEB-INF/lib but it could be different location
>     3) Then restart CloudStack.
>     4) When NuageVsp Device is added, then the class files will be dynamically loaded and things will work seamlessly
>     
>     Advantages of above approach:
>     
>     1) Cloudstack build does not have any dependency on our jar files. This is because, we do not have any reference of NuageVsp Plugin client code 
>        and the client classes are loaded dynamically
>     2) There is no maven central dependency
>     3) Version Upgrade of NuageVsp Plugin client does not depend on Cloudstack version. We will just uninstall our RPM and re-install the new version of NuageVsp Plugin client code and restart CloudStack
>     
>     Hugo, above was our suggestion. Is it okay to follow the above approach of loading the Plugin Client files? 
>     
>     If the above approach is not acceptable then we are open to follow the noredist build approach. If we are following the noredist build approach then I just want to clarify the procedure to be
>     followed to use NuageVsp Plugin
>     
>     1) User needs to download NuageVsp Plugin client jar file
>     2) Copy the jar under deps folder
>     3) Run install-non-oss.sh
>     4) Build RPM using -p NOREDIST option
>     
>     Could you please let me know details of the forum where we can have design discussions?
>     
>     I know, I am asking too many question :)
>     
>     Thanks reviewing and supporting us.
>

That makes sense, thanks for the clarification. I think we can work that way, actually our plugin system is designed to work in such a way that the entire plugin could technically be separated into an rpm package. 

Probably the best way to go forward is to agree on a file location. Probably something like /usr/share/nuage/lib for unix alike systems is a better place to store the library. The actual location would need to be configured as a global setting in CloudStack and passed to the resource during initialization. 

However to use this type of loading i would like to make sure that a user will receive a clear error message explaining that the correct library is not installed when it tries to use it. 

For functional testing this introduces number of problems as only people with access to those libraries can do any kind of testing on the library or are you delivering a stub together with the functional tests so we can integrate it in the functional test stream.

In short, i'm ok with this type of loading, provided:
  * we have a way of testing the plugin or execute functional tests against something that has access to the libraries.
  * the cloudstack plugin documentation makes it clear that the plugin requires an additional library.
  * the user receives an error message when he tries to configure the nauge plugin in cloudstack without the library.

I'll take the question whether or not we need to put this plugin in the noredist build to the dev-list as i would like some more input on that.


- Hugo


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


On July 7, 2014, 6 p.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
> -----------------------------------------------------------
> 
> (Updated July 7, 2014, 6 p.m.)
> 
> 
> Review request for cloudstack and Hugo Trippaers.
> 
> 
> 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 5b9ea5c 
>   api/src/com/cloud/network/Network.java 885bffe 
>   api/src/com/cloud/network/Networks.java 1e4d229 
>   api/src/com/cloud/network/PhysicalNetwork.java 8cc214e 
>   build/replace.properties 265f335 
>   client/WEB-INF/classes/resources/messages.properties b192cb0 
>   client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95 
>   client/pom.xml 29fef4f 
>   client/tomcatconf/commands.properties.in b9ac27b 
>   client/tomcatconf/log4j-cloud.xml.in 08021f2 
>   packaging/debian/replace.properties 5a0bd58 
>   plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java 8e4c710 
>   plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java 5b49e5b 
>   plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
>   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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini 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/element/NuageVspVpcElement.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 b5e6a61 
>   server/src/com/cloud/api/ApiResponseHelper.java 51122e0 
>   server/src/com/cloud/configuration/ConfigurationManagerImpl.java 897f8e1 
>   server/src/com/cloud/network/NetworkServiceImpl.java b3de9e3 
>   server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1 
>   setup/db/create-schema.sql fe5cd0a 
>   setup/db/db/schema-440to450.sql c88a18a 
>   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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
Hi Hugo,

Thanks for reviewing NuageVsp plugin and supporting us.

I have update the comments with my response.

Thanks,
Suresh


On Tue, Jul 8, 2014 at 3:07 AM, Hugo Trippaers <
htrippaers@schubergphilis.com> wrote:

>    This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
>
> Hey Suresh,
>
> Great to see this review, happy to help integrate the NuageVsp code into CloudStack. I did an initial review an put my first feedback in the line comments. I haven't tested functionality or tried to apply the patch yet, but will do that after you had a chance to review these comments.
>
> Cheers,
>
> Hugo
>
>
>    client/tomcatconf/log4j-cloud.xml.in
> <https://reviews.apache.org/r/23282/diff/1/?file=624288#file624288line66> (Diff
> revision 1)
>
> 66
>
>    <appender name="NUAGEVSP" class="org.apache.log4j.rolling.RollingFileAppender">
>
>   Why do you introduce a new logfile specific for Nuage? Isn't is easier for admins if all cloudstack related messages appear in the already existing logfile that admins are familiar with?
>
>
>
> plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini
> <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line1> (Diff
> revision 1)
>
> 1
>
> #This property file contains the default values to be set for the entities that are
>
>   Missing Apache License Header
>
>
>
> plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini
> <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line4> (Diff
> revision 1)
>
> 4
>
> noOfSyncThreads=5
>
>   Why introduce another configuration file? CloudStack provides options to set configuration using either network service provides or global configuration.
>
>
>
> plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini
> <https://reviews.apache.org/r/23282/diff/1/?file=624296#file624296line10> (Diff
> revision 1)
>
> 10
>
> nuagePluginClientJarLocation=/usr/share/cloudstack-management/webapps/client/WEB-INF/lib
>
>   Please do not make any assumptions on the locations of jar files. That is up to the people doing the packaging and might vary from distribution to distribution. Expect everything to be available using the web app class loader.
>
>
>
> plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java
> <https://reviews.apache.org/r/23282/diff/1/?file=624333#file624333line95> (Diff
> revision 1)
>
> 95
>
>     private static final String NUAGE_PLUGIN_CLIENT_JAR_LOCATION = "/usr/share/cloudstack-management/webapps/client/WEB-INF/lib";
>
>   Don't depend on file locations as they will change. Use the java class loader to load any libraries.
>
>
>
> plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java
> <https://reviews.apache.org/r/23282/diff/1/?file=624333#file624333line196> (Diff
> revision 1)
>
> 196
>
>     private <A extends NuageVspApiClient, B extends NuageVspElementClient, C extends NuageVspSyncClient, D extends NuageVspGuruClient> void loadNuageClient() throws Exception {
>
>   I'm not really agreeing with this method of loading the client. The client should be loaded using the classloader.
>
> Is the library available from maven central or is distribution restricted? If the latter case we need to move this plugin and the dependency on the library to the noredist build.
>
>
>
> plugins/network-elements/nuage-vsp/test/com/cloud/network/element/NuageVspElementTest.java
> <https://reviews.apache.org/r/23282/diff/1/?file=624341#file624341line103> (Diff
> revision 1)
>
> 103
>
>         // NVP provider does not provide Connectivity for this network
>
>   copy-paste error ;-)
>
>
>    server/src/com/cloud/network/vpc/VpcManagerImpl.java
> <https://reviews.apache.org/r/23282/diff/1/?file=624347#file624347line1394> (Diff
> revision 1)
>
> public void doInTransactionWithoutResult(TransactionStatus status) {
>
>    1394
>
>         if (vpcElements != null && vpcElements.size() < 3) {
>
>   Depending on a size here looks like a bug waiting to happen when somebody adds an element. Is there another way to solve this?
>
>
>    setup/db/create-schema.sql
> <https://reviews.apache.org/r/23282/diff/1/?file=624348#file624348line149> (Diff
> revision 1)
>
> 149
>
> DROP TABLE IF EXISTS `cloud`.`external_nuage_vsp_devices`;
>
>   Modifying create-schema.sql is not allowed. Please make all necessary database changes in the upgrade scripts for the current master branch.
>
>
> - Hugo Trippaers
>
> On July 7th, 2014, 6 p.m. UTC, Suresh Ramamurthy wrote:
>   Review request for cloudstack and Hugo Trippaers.
> By Suresh Ramamurthy.
>
> *Updated July 7, 2014, 6 p.m.*
>  *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.
>
>
>   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
>
>   Diffs
>
>    - api/src/com/cloud/event/EventTypes.java (5b9ea5c)
>    - api/src/com/cloud/network/Network.java (885bffe)
>    - api/src/com/cloud/network/Networks.java (1e4d229)
>    - api/src/com/cloud/network/PhysicalNetwork.java (8cc214e)
>    - build/replace.properties (265f335)
>    - client/WEB-INF/classes/resources/messages.properties (b192cb0)
>    - client/WEB-INF/classes/resources/messages_zh_CN.properties (1ec4e95)
>    - client/pom.xml (29fef4f)
>    - client/tomcatconf/commands.properties.in (b9ac27b)
>    - client/tomcatconf/log4j-cloud.xml.in (08021f2)
>    - packaging/debian/replace.properties (5a0bd58)
>    - plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
>    (8e4c710)
>    - plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
>    (5b49e5b)
>    - plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
>    (a9840bd)
>    - 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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini
>    (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/element/NuageVspVpcElement.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 (b5e6a61)
>    - server/src/com/cloud/api/ApiResponseHelper.java (51122e0)
>    - server/src/com/cloud/configuration/ConfigurationManagerImpl.java
>    (897f8e1)
>    - server/src/com/cloud/network/NetworkServiceImpl.java (b3de9e3)
>    - server/src/com/cloud/network/vpc/VpcManagerImpl.java (c7237c1)
>    - setup/db/create-schema.sql (fe5cd0a)
>    - setup/db/db/schema-440to450.sql (c88a18a)
>    - 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)
>
> View Diff <https://reviews.apache.org/r/23282/diff/>
>

Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <ht...@schubergphilis.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/#review47436
-----------------------------------------------------------


Hey Suresh,

Great to see this review, happy to help integrate the NuageVsp code into CloudStack. I did an initial review an put my first feedback in the line comments. I haven't tested functionality or tried to apply the patch yet, but will do that after you had a chance to review these comments.

Cheers,

Hugo


client/tomcatconf/log4j-cloud.xml.in
<https://reviews.apache.org/r/23282/#comment83259>

    Why do you introduce a new logfile specific for Nuage? Isn't is easier for admins if all cloudstack related messages appear in the already existing logfile that admins are familiar with?



plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini
<https://reviews.apache.org/r/23282/#comment83260>

    Missing Apache License Header



plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini
<https://reviews.apache.org/r/23282/#comment83261>

    Why introduce another configuration file? CloudStack provides options to set configuration using either network service provides or global configuration. 



plugins/network-elements/nuage-vsp/resources/META-INF/cloudstack/vsp/vsp-defaults.ini
<https://reviews.apache.org/r/23282/#comment83262>

    Please do not make any assumptions on the locations of jar files. That is up to the people doing the packaging and might vary from distribution to distribution. Expect everything to be available using the web app class loader.



plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java
<https://reviews.apache.org/r/23282/#comment83264>

    Don't depend on file locations as they will change. Use the java class loader to load any libraries.



plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java
<https://reviews.apache.org/r/23282/#comment83265>

    I'm not really agreeing with this method of loading the client. The client should be loaded using the classloader.
    
    Is the library available from maven central or is distribution restricted? If the latter case we need to move this plugin and the dependency on the library to the noredist build.



plugins/network-elements/nuage-vsp/test/com/cloud/network/element/NuageVspElementTest.java
<https://reviews.apache.org/r/23282/#comment83266>

    copy-paste error ;-)



server/src/com/cloud/network/vpc/VpcManagerImpl.java
<https://reviews.apache.org/r/23282/#comment83267>

    Depending on a size here looks like a bug waiting to happen when somebody adds an element. Is there another way to solve this?



setup/db/create-schema.sql
<https://reviews.apache.org/r/23282/#comment83268>

    Modifying create-schema.sql is not allowed. Please make all necessary database changes in the upgrade scripts for the current master branch.


- Hugo Trippaers


On July 7, 2014, 6 p.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
> -----------------------------------------------------------
> 
> (Updated July 7, 2014, 6 p.m.)
> 
> 
> Review request for cloudstack and Hugo Trippaers.
> 
> 
> 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 5b9ea5c 
>   api/src/com/cloud/network/Network.java 885bffe 
>   api/src/com/cloud/network/Networks.java 1e4d229 
>   api/src/com/cloud/network/PhysicalNetwork.java 8cc214e 
>   build/replace.properties 265f335 
>   client/WEB-INF/classes/resources/messages.properties b192cb0 
>   client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95 
>   client/pom.xml 29fef4f 
>   client/tomcatconf/commands.properties.in b9ac27b 
>   client/tomcatconf/log4j-cloud.xml.in 08021f2 
>   packaging/debian/replace.properties 5a0bd58 
>   plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java 8e4c710 
>   plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java 5b49e5b 
>   plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
>   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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini 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/element/NuageVspVpcElement.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 b5e6a61 
>   server/src/com/cloud/api/ApiResponseHelper.java 51122e0 
>   server/src/com/cloud/configuration/ConfigurationManagerImpl.java 897f8e1 
>   server/src/com/cloud/network/NetworkServiceImpl.java b3de9e3 
>   server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1 
>   setup/db/create-schema.sql fe5cd0a 
>   setup/db/db/schema-440to450.sql c88a18a 
>   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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.

> On July 15, 2014, 11:02 a.m., Hugo Trippaers wrote:
> > The patch applies cleanly on current master and i did some additional checking:
> > 
> > Findbugs report:
> > [INFO] --- findbugs-maven-plugin:2.5.3:check (cloudstack-findbugs) @ cloud-plugin-network-vsp ---
> > [INFO] BugInstance size is 1
> > [INFO] Error size is 0
> > [INFO] Total bugs: 1
> > [INFO] Found reliance on default encoding in com.cloud.network.manager.NuageVspManagerImpl.addNuageVspDevice(AddNuageVspDeviceCmd): String.getBytes() ["com.cloud.network.manager.NuageVspManagerImpl"] At NuageVspManagerImpl.java:[lines 90-420]
> > 
> > Can you have a look at this issue?
> > 
> > The coverage of the unit tests is at the moment 54 out of 1233 lines (4%) based on the cobertura coverage reports. We need either a significant unit test coverage or functional smoke tests so the community can validate that this plugin works when preparing for a release.
> > 
> >

I have fixed the find bugs issue. I will work on functional test cases tomorrow. I will also send email to community as you suggested regarding FT for plugins.


> On July 15, 2014, 11:02 a.m., Hugo Trippaers wrote:
> > plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java, line 1413
> > <https://reviews.apache.org/r/23282/diff/2-3/?file=629462#file629462line1413>
> >
> >     Are these your changes, they seem unrelated to the Nuage implementation?

I do not see this diff in my latest file uploads. This is not our change.


- Suresh


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


On July 15, 2014, 11:38 a.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> 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.
> 
> 
> 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 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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <ht...@schubergphilis.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/#review47766
-----------------------------------------------------------


The patch applies cleanly on current master and i did some additional checking:

Findbugs report:
[INFO] --- findbugs-maven-plugin:2.5.3:check (cloudstack-findbugs) @ cloud-plugin-network-vsp ---
[INFO] BugInstance size is 1
[INFO] Error size is 0
[INFO] Total bugs: 1
[INFO] Found reliance on default encoding in com.cloud.network.manager.NuageVspManagerImpl.addNuageVspDevice(AddNuageVspDeviceCmd): String.getBytes() ["com.cloud.network.manager.NuageVspManagerImpl"] At NuageVspManagerImpl.java:[lines 90-420]

Can you have a look at this issue?

The coverage of the unit tests is at the moment 54 out of 1233 lines (4%) based on the cobertura coverage reports. We need either a significant unit test coverage or functional smoke tests so the community can validate that this plugin works when preparing for a release.




plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
<https://reviews.apache.org/r/23282/#comment83971>

    Are these your changes, they seem unrelated to the Nuage implementation?


- Hugo Trippaers


On July 15, 2014, 1:45 a.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
> -----------------------------------------------------------
> 
> (Updated July 15, 2014, 1:45 a.m.)
> 
> 
> Review request for cloudstack and Hugo Trippaers.
> 
> 
> 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 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/element/NuageVspVpcElement.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/NetworkServiceImpl.java c8105e8 
>   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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
Hi Hugo,

Could you please test the latest diffs. I have removed default NuageVspVpc
offering. This could have caused the issue.
I will also test my changes locally.

Thanks,
Suresh


On Tue, Jul 15, 2014 at 8:02 AM, Hugo Trippaers <
htrippaers@schubergphilis.com> wrote:

>    This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
>
> On July 15th, 2014, 3:01 p.m. UTC, *Hugo Trippaers* wrote:
>
> Suresh,
>
> While testing the new plugin i noticed that i get a popup telling me "Provider NuageVsp should be enabled in at least one physical network of the zone specified" even though i have not configured anything. I was just trying to create a VPC on a clean cloudstack installation (using VLAN isolation on the networks).
>
> Can you have a look? The plugin should not impact anybody that is not using Nuage.
>
>
>  Hah, i think you just fixed my problem with diff 4, will retry.
>
>
> - Hugo
>
> On July 15th, 2014, 11:38 a.m. UTC, Suresh Ramamurthy wrote:
>   Review request for cloudstack, Alena Prokharchyk, Hugo Trippaers, and
> Sheng Yang.
> By Suresh Ramamurthy.
>
> *Updated July 15, 2014, 11:38 a.m.*
>  *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.
>
>
>   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
>
>   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
>    (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)
>
> View Diff <https://reviews.apache.org/r/23282/diff/>
>

Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <ht...@schubergphilis.com>.

> On July 15, 2014, 3:01 p.m., Hugo Trippaers wrote:
> > Suresh,
> > 
> > While testing the new plugin i noticed that i get a popup telling me "Provider NuageVsp should be enabled in at least one physical network of the zone specified" even though i have not configured anything. I was just trying to create a VPC on a clean cloudstack installation (using VLAN isolation on the networks).
> > 
> > Can you have a look? The plugin should not impact anybody that is not using Nuage.
> > 
> >

Hah, i think you just fixed my problem with diff 4, will retry.


- Hugo


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


On July 15, 2014, 11:38 a.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> 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.
> 
> 
> 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 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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <ht...@schubergphilis.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/#review47774
-----------------------------------------------------------


Suresh,

While testing the new plugin i noticed that i get a popup telling me "Provider NuageVsp should be enabled in at least one physical network of the zone specified" even though i have not configured anything. I was just trying to create a VPC on a clean cloudstack installation (using VLAN isolation on the networks).

Can you have a look? The plugin should not impact anybody that is not using Nuage.



- Hugo Trippaers


On July 15, 2014, 11:38 a.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> 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.
> 
> 
> 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 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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <ht...@schubergphilis.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/#review48121
-----------------------------------------------------------


* Unit tests complete successfully

* Findbugs output reports no problems
[INFO] <<< findbugs-maven-plugin:2.5.3:check (default-cli) @ cloud-plugin-network-vsp <<<
[INFO] 
[INFO] --- findbugs-maven-plugin:2.5.3:check (default-cli) @ cloud-plugin-network-vsp ---
[INFO] BugInstance size is 0
[INFO] Error size is 0
[INFO] No errors/warnings found

* rat check failed
  plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/NuageVspPluginClientLoader.java
  plugins/network-elements/nuage-vsp/test/com/cloud/network/manager/NuageVspManagerTest.java
  plugins/network-elements/nuage-vsp/test/com/cloud/network/sync/NuageVspSyncTest.java


These are the last two remaining items. 
1) Can you add the following to the pom.xml for the plugin in the build/plugins section and fix any detected license issues?
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>cloudstack-checklicence</id>
            <phase>process-classes</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

2) It would be nice if you could add the plugin to the noredist build as discussed on the dev list, but i can do that as well if you like. 

When the license is fixed i can merge it into master. If you could create the next diff with git format-patch that would be great, but i can work with the current format as well.

Cheers,

Hugo



- Hugo Trippaers


On July 18, 2014, 3:15 a.m., Suresh Ramamurthy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
> -----------------------------------------------------------
> 
> (Updated July 18, 2014, 3:15 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 5881d68 
>   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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by ASF Subversion and Git Services <as...@urd.zones.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/#review48207
-----------------------------------------------------------


Commit 03de9cc33507400e0e06ccd84a36334a4660ef4e in cloudstack's branch refs/heads/master from Suresh Ramamurthy
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=03de9cc ]

CLOUDSTACK-6845 : NuageVsp Network plugin

Signed-off-by: Hugo Trippaers <ht...@schubergphilis.com>


- ASF Subversion and Git Services


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


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
Hi Hugo,

Thanks for reviewing NuageVsp plugin on time and making it part for
CloudStack's virtual networking solution.

Thanks,
Suresh


On Mon, Jul 21, 2014 at 1:56 AM, Hugo Trippaers <hu...@trippaers.nl> wrote:

> 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 <ht...@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 <su...@nuagenetworks.net>
> > Date:   Mon Jul 21 09:40:45 2014 +0200
> >
> >    CLOUDSTACK-6845 : NuageVsp Network plugin
> >
> >    Signed-off-by: Hugo Trippaers <ht...@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
> >>
> >>
> >
>
>

Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <hu...@trippaers.nl>.
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 <ht...@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 <su...@nuagenetworks.net>
> Date:   Mon Jul 21 09:40:45 2014 +0200
> 
>    CLOUDSTACK-6845 : NuageVsp Network plugin
> 
>    Signed-off-by: Hugo Trippaers <ht...@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
>> 
>> 
> 


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <ht...@schubergphilis.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/#review48208
-----------------------------------------------------------

Ship it!


commit 03de9cc33507400e0e06ccd84a36334a4660ef4e
Author: Suresh Ramamurthy <su...@nuagenetworks.net>
Date:   Mon Jul 21 09:40:45 2014 +0200

    CLOUDSTACK-6845 : NuageVsp Network plugin
    
    Signed-off-by: Hugo Trippaers <ht...@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
> 
>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Hugo Trippaers <hu...@trippaers.nl>.
On 19 jul. 2014, at 02:49, Suresh Ramamurthy <su...@nuagenetworks.net> wrote:
<snip>
> I had following questions regarding compiling only nuagevsp plugin
>  a) To build only nuagevsp, is below command correct. 
>         mvn clean install -P developer,nuagevsp

Correct

> 
>  b) To run client with nuagevsp in development setup, is the below correct:
>         mvn -pl :cloud-client-ui jetty:run -P nuagevsp

Correct

> 
>  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?
> 

At the moment we do not build an RPM with only the a single plugin enabled. People in the community distribute two sets of RPMs, the regular version and the version with all optional components. If you want to build a version of CloudStack with just the Nuage plugin you can modify the cloud.spec file yourself and add nuagevsp to the profiles manually.


<snip>


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
Hi Hugo,

I closed all your review comments. Did you get a chance to look at the
latest code changes done for NuageVsp plugin?

Thanks
Suresh


On Fri, Jul 18, 2014 at 5:49 PM, Suresh Ramamurthy <
suresh.ramamurthy@nuagenetworks.net> wrote:

>    This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
>   Review request for cloudstack, Alena Prokharchyk, Hugo Trippaers, and
> Sheng Yang.
> By Suresh Ramamurthy.
>
> *Updated July 19, 2014, 12:49 a.m.*
> 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.
>
>
>   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
>
>   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)
>
> View Diff <https://reviews.apache.org/r/23282/diff/>
>

Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
-----------------------------------------------------------
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


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/
-----------------------------------------------------------

(Updated July 18, 2014, 3:15 a.m.)


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


Changes
-------

Hi Hugo,

We have added more unit test for all the major classes like Manager, Element, Guru and Resource. It has around 43% of the code coveragen now.
We also added marvin integration cases and also verified the results. Our integration test covers

1. Setup stage.
    a. The testcase check for the presence of the nuage VSP as network service provider
    b. If it does not exist the testcase adds it, and also adds the Nuage vsp device
    c. Network offering is created and enabled
2. Start testcase
    a. Create network using network offering
    b. Start 1 vm
    c. Verify that this vm is in Running state.
    d. Start another vm
    e. Verify that this vm is in Running state.
    f. Delete vms
    g. Delete network and verify
3. Teardown

Could you please have a look at the diffs and let us know if we are fine with our plugin code changes?

Thanks,
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 5881d68 
  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


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
-----------------------------------------------------------
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


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/
-----------------------------------------------------------

(Updated July 15, 2014, 1:45 a.m.)


Review request for cloudstack and Hugo Trippaers.


Changes
-------

Followed the approach mentioned in the email alias regarding how to create global properties for Plugins and update the code accordingly.
Plugin global properties are no longer added in Config.java


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/element/NuageVspVpcElement.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/NetworkServiceImpl.java c8105e8 
  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


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
Hi Hugo,

I have updated NuageVsp plugin with you comments and also implemented your
suggesions.

Could you please review them and let me know if you have any further
comments so that i can quickly implement them and check-in the code by July
19.

Thanks for your support,
Suresh Ramamurthy


On Mon, Jul 14, 2014 at 12:29 AM, Suresh Ramamurthy <
suresh.ramamurthy@nuagenetworks.net> wrote:

>    This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/23282/
>   Review request for cloudstack and Hugo Trippaers.
> By Suresh Ramamurthy.
>
> *Updated July 14, 2014, 7:29 a.m.*
> Changes
>
> Hi Hugo,
>
> Thanks for reveiwing NuageVsp plugin code and reponding to our comments.
>
> I have fixed all your comments and also implemented your suggestion to use global configuration. I have also used a different location to load
> the plugin client.
>
> Could you please review the latest changes and let me know you comments so that we can publish our plugin by July 19 which is only 5 days away :)
>
> Thanks,
> 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.
>
>
>   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
>
>   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
>    (15eeb13)
>    - plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
>    (a9840bd)
>    - 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/element/NuageVspVpcElement.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/Config.java (fbcb1f4)
>    - server/src/com/cloud/configuration/ConfigurationManagerImpl.java
>    (1940f48)
>    - server/src/com/cloud/network/NetworkServiceImpl.java (c8105e8)
>    - 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)
>
> View Diff <https://reviews.apache.org/r/23282/diff/>
>

Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/
-----------------------------------------------------------

(Updated July 14, 2014, 7:29 a.m.)


Review request for cloudstack and Hugo Trippaers.


Changes
-------

Hi Hugo,

Thanks for reveiwing NuageVsp plugin code and reponding to our comments.

I have fixed all your comments and also implemented your suggestion to use global configuration. I have also used a different location to load
the plugin client.

Could you please review the latest changes and let me know you comments so that we can publish our plugin by July 19 which is only 5 days away :)

Thanks,
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 15eeb13 
  plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
  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/element/NuageVspVpcElement.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/Config.java fbcb1f4 
  server/src/com/cloud/configuration/ConfigurationManagerImpl.java 1940f48 
  server/src/com/cloud/network/NetworkServiceImpl.java c8105e8 
  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


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/
-----------------------------------------------------------

(Updated July 7, 2014, 6 p.m.)


Review request for cloudstack and Hugo Trippaers.


Changes
-------

Added request to create a branch for NuageVsp Plugin.


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


Repository: cloudstack-git


Description (updated)
-------

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 5b9ea5c 
  api/src/com/cloud/network/Network.java 885bffe 
  api/src/com/cloud/network/Networks.java 1e4d229 
  api/src/com/cloud/network/PhysicalNetwork.java 8cc214e 
  build/replace.properties 265f335 
  client/WEB-INF/classes/resources/messages.properties b192cb0 
  client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95 
  client/pom.xml 29fef4f 
  client/tomcatconf/commands.properties.in b9ac27b 
  client/tomcatconf/log4j-cloud.xml.in 08021f2 
  packaging/debian/replace.properties 5a0bd58 
  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java 8e4c710 
  plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java 5b49e5b 
  plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
  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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini 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/element/NuageVspVpcElement.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 b5e6a61 
  server/src/com/cloud/api/ApiResponseHelper.java 51122e0 
  server/src/com/cloud/configuration/ConfigurationManagerImpl.java 897f8e1 
  server/src/com/cloud/network/NetworkServiceImpl.java b3de9e3 
  server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1 
  setup/db/create-schema.sql fe5cd0a 
  setup/db/db/schema-440to450.sql c88a18a 
  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


Re: Review Request 23282: CLOUDSTACK-6845 : First Code drop for NuageVsp Network plugin

Posted by Suresh Ramamurthy <su...@nuagenetworks.net>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23282/
-----------------------------------------------------------

(Updated July 6, 2014, 2:02 a.m.)


Review request for cloudstack and Hugo Trippaers.


Changes
-------

Added Sheng Yang as one of the reviewer..


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.


Diffs
-----

  api/src/com/cloud/event/EventTypes.java 5b9ea5c 
  api/src/com/cloud/network/Network.java 885bffe 
  api/src/com/cloud/network/Networks.java 1e4d229 
  api/src/com/cloud/network/PhysicalNetwork.java 8cc214e 
  build/replace.properties 265f335 
  client/WEB-INF/classes/resources/messages.properties b192cb0 
  client/WEB-INF/classes/resources/messages_zh_CN.properties 1ec4e95 
  client/pom.xml 29fef4f 
  client/tomcatconf/commands.properties.in b9ac27b 
  client/tomcatconf/log4j-cloud.xml.in 08021f2 
  packaging/debian/replace.properties 5a0bd58 
  plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java 8e4c710 
  plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java 5b49e5b 
  plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java a9840bd 
  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/resources/META-INF/cloudstack/vsp/vsp-defaults.ini 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/element/NuageVspVpcElement.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 b5e6a61 
  server/src/com/cloud/api/ApiResponseHelper.java 51122e0 
  server/src/com/cloud/configuration/ConfigurationManagerImpl.java 897f8e1 
  server/src/com/cloud/network/NetworkServiceImpl.java b3de9e3 
  server/src/com/cloud/network/vpc/VpcManagerImpl.java c7237c1 
  setup/db/create-schema.sql fe5cd0a 
  setup/db/db/schema-440to450.sql c88a18a 
  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