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