Re: Review Request: MidoNet Networking Plugin [2/2]

2013-03-18 Thread joe mills


 On March 14, 2013, 3:59 a.m., Hiroaki Kawai wrote:
  server/src/com/cloud/network/NetworkManagerImpl.java, line 1773
  https://reviews.apache.org/r/9898/diff/1/?file=270127#file270127line1773
 
  NetworkElement should be always called after NetworkGuru, isn't it?
 
 Dave Cahill wrote:
 Looking at NetworkManagerImpl, Element does seem to be called after Guru 
 most of the time - however in destroyNetwork(), the Elements are destroyed 
 before the Guru.
 
 I'm happy to change the order, but since the order is not always the same 
 in NetworkManagerImpl, do you have any document references / reasons for the 
 suggested order? 
 
 Since we have tested the current version and it works, I just want to 
 make sure the change makes sense before implementing.
 
 Hiroaki Kawai wrote:
 I want to see a documentation, too. After reading the code again, I think 
 NetworkElement#release should not be called in the context with 
 NetworkGuru#deallocate . Do you really need this code block here? 
 NetworkElement#release should be called with NetworkGuru#release, and you 
 would be able to do something there.
 
 
 Network lifecycle:
 --
 
 NetworkManagerImpl#implementNetwork
 - NetworkGuru#implement
 - NetworkManagerImpl#implementNetworkElementsAndResources
 -- NetworkElement#implement
 
 NetworkManagerImpl#restartNetwork
 - NetworkManagerImpl#shutdownNetworkElementsAndResources
 -- NetworkElement#shutdown
 - NetworkManagerImpl#implemetNetworkElementsAndResources
 -- NetworkElement#implement
 
 NetworkManagerImpl#updateGuestNetwork
 - NetworkManagerImpl#shutdownNetworkElementsAndResource
 -- NetworkElement#shutdown
 - NetworkManagerImpl#implemetNetworkElementsAndResources
 -- NetworkElement#implement
 
 NetworkManagerImpl#shutdownNetwork
 - NetworkManagerImpl#shutdownNetworkElementsAndResource
 -- NetworkElement#shutdown
 - NetworkGuru#shutdown
 
 
 Nic lifecycle:
 --
 NetworkManagerImpl#allocate
 - NetworkManagerImpl#allocateNic
 -- NetworkGuru#allocate
 
 NetworkManager#prepareNic
 - NetworkGuru#reserve
 - NetworkManager#prepareElement
 -- NetworkElement#prepare
 
 NetworkManagerImpl#release
 - NetworkManagerImpl#releaseNic
 -- NetworkGuru#release
 -- NetworkElement#release
 
 NetworkManagerImpl#deallocate
 - NetworkManagerImpl#removeNic
 -- NetworkGuru#deallocate
 


NetworkElement#release is being called with NetworkGuru#release, but only for 
NICs that have the start reservation strategy [1].

The start reservation strategy means that the IP address should be assigned 
on start and released on stop [2].

However, the NICs on the public network are assigned a reservation strategy of 
'Create' which means that they should not be released between starts and stops. 
There are no other calls to element.release, so the public NIC never gets 
released.

This is generally not a problem because with the VirtualRouterElement there are 
no resources hanging around that NetworkGuru#dealloc and destroying the entire 
VM won't take care of.

But with our plugin, we want to handle the Public network and we do allocate 
resources that will not go away by simply destroying the VM and calling 
NetworkGuru#dealloc. Therefore we need the corresponding NetworkElement#release 
call to happen, and this is the code path that gets executed when we destroy 
the NIC.

Given that background, do you think any changes are needed?

[1] 
https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob;f=server/src/com/cloud/network/NetworkManagerImpl.java;h=591910b13c63e88d3d831cd584e4e92e0db14eca;hb=HEAD#l1711

[2] 
http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-dev/201205.mbox/%3cb1df26ecc0458748ac97cece2da98d41011d278da...@sjcpmailbox01.citrite.net%3E


- joe


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


On March 13, 2013, 9:32 a.m., Dave Cahill wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/9898/
 ---
 
 (Updated March 13, 2013, 9:32 a.m.)
 
 
 Review request for cloudstack, Hugo Trippaers and Chiradeep Vittal.
 
 
 Description
 ---
 
 Feature spec:
 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Midokura+Networking+Plugin
 
 Jira ticket:
 https://issues.apache.org/jira/browse/CLOUDSTACK-996
 
 Notes:
 
 * Moved plugin to nonoss since the MidoNet client jar is not publicly 
 available
 
 * Documentation will follow as a separate commit
 
 * One main difference from existing networking plugins is the lack of a 
 

Re: Review Request: MidoNet Networking Plugin [2/2]

2013-03-16 Thread Hiroaki Kawai


 On March 14, 2013, 3:59 a.m., Hiroaki Kawai wrote:
  server/src/com/cloud/network/NetworkManagerImpl.java, line 1773
  https://reviews.apache.org/r/9898/diff/1/?file=270127#file270127line1773
 
  NetworkElement should be always called after NetworkGuru, isn't it?
 
 Dave Cahill wrote:
 Looking at NetworkManagerImpl, Element does seem to be called after Guru 
 most of the time - however in destroyNetwork(), the Elements are destroyed 
 before the Guru.
 
 I'm happy to change the order, but since the order is not always the same 
 in NetworkManagerImpl, do you have any document references / reasons for the 
 suggested order? 
 
 Since we have tested the current version and it works, I just want to 
 make sure the change makes sense before implementing.

I want to see a documentation, too. After reading the code again, I think 
NetworkElement#release should not be called in the context with 
NetworkGuru#deallocate . Do you really need this code block here? 
NetworkElement#release should be called with NetworkGuru#release, and you would 
be able to do something there.


Network lifecycle:
--

NetworkManagerImpl#implementNetwork
- NetworkGuru#implement
- NetworkManagerImpl#implementNetworkElementsAndResources
-- NetworkElement#implement

NetworkManagerImpl#restartNetwork
- NetworkManagerImpl#shutdownNetworkElementsAndResources
-- NetworkElement#shutdown
- NetworkManagerImpl#implemetNetworkElementsAndResources
-- NetworkElement#implement

NetworkManagerImpl#updateGuestNetwork
- NetworkManagerImpl#shutdownNetworkElementsAndResource
-- NetworkElement#shutdown
- NetworkManagerImpl#implemetNetworkElementsAndResources
-- NetworkElement#implement

NetworkManagerImpl#shutdownNetwork
- NetworkManagerImpl#shutdownNetworkElementsAndResource
-- NetworkElement#shutdown
- NetworkGuru#shutdown


Nic lifecycle:
--
NetworkManagerImpl#allocate
- NetworkManagerImpl#allocateNic
-- NetworkGuru#allocate

NetworkManager#prepareNic
- NetworkGuru#reserve
- NetworkManager#prepareElement
-- NetworkElement#prepare

NetworkManagerImpl#release
- NetworkManagerImpl#releaseNic
-- NetworkGuru#release
-- NetworkElement#release

NetworkManagerImpl#deallocate
- NetworkManagerImpl#removeNic
-- NetworkGuru#deallocate


- Hiroaki


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


On March 13, 2013, 9:32 a.m., Dave Cahill wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/9898/
 ---
 
 (Updated March 13, 2013, 9:32 a.m.)
 
 
 Review request for cloudstack, Hugo Trippaers and Chiradeep Vittal.
 
 
 Description
 ---
 
 Feature spec:
 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Midokura+Networking+Plugin
 
 Jira ticket:
 https://issues.apache.org/jira/browse/CLOUDSTACK-996
 
 Notes:
 
 * Moved plugin to nonoss since the MidoNet client jar is not publicly 
 available
 
 * Documentation will follow as a separate commit
 
 * One main difference from existing networking plugins is the lack of a 
 Resource class; we didn't feel it was necessary in this case. As mentioned in 
 Extending CloudStack Networking [1]:
 Just like managers, resources are not strictly necessary. In theory a 
 Network Element could implement a client for the API of the new controller 
 and therefore be completely self-contained.
 
 * We allow overriding Public traffic via the MidoNetPublicNetworkGuru. We 
 checked this approach with the list [2] and received no comments, so we're 
 going with it for now.
 
 [1] https://cwiki.apache.org/CLOUDSTACK/extending-cloudstack-networking.html
 [2] http://markmail.org/message/k5qse63eyylszm3i
 
 
 This addresses bug CLOUDSTACK-996.
 
 
 Diffs
 -
 
   api/src/com/cloud/network/Network.java efed5cd 
   api/src/com/cloud/network/Networks.java e3d2158 
   api/src/com/cloud/network/PhysicalNetwork.java 343a2b1 
   api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java 
 bc22804 
   client/pom.xml cda6ab8 
   client/tomcatconf/nonossComponentContext.xml.in 20e0c32 
   deps/install-non-oss.sh 74575a8 
   plugins/hypervisors/kvm/pom.xml 013a58d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
  b622b6d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
  c93aeeb 
   plugins/network-elements/midokura-midonet/pom.xml 7f2e2d3 
   plugins/network-elements/midonet/pom.xml PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java
  48833b3 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/SimpleFirewallRule.java
  PRE-CREATION 
   
 

Re: Review Request: MidoNet Networking Plugin [2/2]

2013-03-14 Thread Dave Cahill


 On March 14, 2013, 3:59 a.m., Hiroaki Kawai wrote:
  The patch set is so big that it is hard to review. It would be nice to 
  separate it into management-server, plugin, agent plugin and UI.

Thanks for the review Kawai-san!

With regard to the patch size, we followed the example of the Big Switch plugin 
by adding the plugin in one shot, see: 
http://markmail.org/message/5c56kylaitmgu7tb

Some of the size is due to trailing whitespace fixes on existing files - we ran 
the git pre-commit hook as advised here: 
http://markmail.org/message/vataj37cy4mnukzg


 On March 14, 2013, 3:59 a.m., Hiroaki Kawai wrote:
  api/src/com/cloud/network/Network.java, line 140
  https://reviews.apache.org/r/9898/diff/1/?file=270107#file270107line140
 
  IMHO, plugins may not have to create a Provider instance here. Instead, 
  it can be created at plugin's configure method or getProvider, etc.

The MidoNet Provider already existed at this place in the code, as did the 
Nicira Provider; we just renamed it. 

We can remove it easily though; we'll upload a new patch once this is done.


 On March 14, 2013, 3:59 a.m., Hiroaki Kawai wrote:
  server/src/com/cloud/network/NetworkManagerImpl.java, line 1773
  https://reviews.apache.org/r/9898/diff/1/?file=270127#file270127line1773
 
  NetworkElement should be always called after NetworkGuru, isn't it?

Looking at NetworkManagerImpl, Element does seem to be called after Guru most 
of the time - however in destroyNetwork(), the Elements are destroyed before 
the Guru.

I'm happy to change the order, but since the order is not always the same in 
NetworkManagerImpl, do you have any document references / reasons for the 
suggested order? 

Since we have tested the current version and it works, I just want to make sure 
the change makes sense before implementing.


- Dave


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


On March 13, 2013, 9:32 a.m., Dave Cahill wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/9898/
 ---
 
 (Updated March 13, 2013, 9:32 a.m.)
 
 
 Review request for cloudstack, Hugo Trippaers and Chiradeep Vittal.
 
 
 Description
 ---
 
 Feature spec:
 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Midokura+Networking+Plugin
 
 Jira ticket:
 https://issues.apache.org/jira/browse/CLOUDSTACK-996
 
 Notes:
 
 * Moved plugin to nonoss since the MidoNet client jar is not publicly 
 available
 
 * Documentation will follow as a separate commit
 
 * One main difference from existing networking plugins is the lack of a 
 Resource class; we didn't feel it was necessary in this case. As mentioned in 
 Extending CloudStack Networking [1]:
 Just like managers, resources are not strictly necessary. In theory a 
 Network Element could implement a client for the API of the new controller 
 and therefore be completely self-contained.
 
 * We allow overriding Public traffic via the MidoNetPublicNetworkGuru. We 
 checked this approach with the list [2] and received no comments, so we're 
 going with it for now.
 
 [1] https://cwiki.apache.org/CLOUDSTACK/extending-cloudstack-networking.html
 [2] http://markmail.org/message/k5qse63eyylszm3i
 
 
 This addresses bug CLOUDSTACK-996.
 
 
 Diffs
 -
 
   api/src/com/cloud/network/Network.java efed5cd 
   api/src/com/cloud/network/Networks.java e3d2158 
   api/src/com/cloud/network/PhysicalNetwork.java 343a2b1 
   api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java 
 bc22804 
   client/pom.xml cda6ab8 
   client/tomcatconf/nonossComponentContext.xml.in 20e0c32 
   deps/install-non-oss.sh 74575a8 
   plugins/hypervisors/kvm/pom.xml 013a58d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
  b622b6d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
  c93aeeb 
   plugins/network-elements/midokura-midonet/pom.xml 7f2e2d3 
   plugins/network-elements/midonet/pom.xml PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java
  48833b3 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/SimpleFirewallRule.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetGuestNetworkGuru.java
  ed0eb3c 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetPublicNetworkGuru.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/resource/MidoNetVifDriver.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/test/com/cloud/network/element/MidoNetElementTest.java
  PRE-CREATION 
   plugins/pom.xml 88f617b 
   

Re: Review Request: MidoNet Networking Plugin [2/2]

2013-03-14 Thread Hugo Trippaers

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



deps/install-non-oss.sh
https://reviews.apache.org/r/9898/#comment37826

I'm not really thrilled by adding components to the non-oss build.

What are the possibilities of making the the midonet-client.jar publicly 
available?

If that is not possible it might be worthwhile to discuss if this plugin 
should be maintained in a separate repository.



plugins/hypervisors/kvm/pom.xml
https://reviews.apache.org/r/9898/#comment37827

This dependency should only be activated during the nonoss build.



plugins/network-elements/midonet/src/com/cloud/network/resource/MidoNetVifDriver.java
https://reviews.apache.org/r/9898/#comment37828

Is this always fixed to this host/port or should this be configurable?


- Hugo Trippaers


On March 13, 2013, 9:32 a.m., Dave Cahill wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/9898/
 ---
 
 (Updated March 13, 2013, 9:32 a.m.)
 
 
 Review request for cloudstack, Hugo Trippaers and Chiradeep Vittal.
 
 
 Description
 ---
 
 Feature spec:
 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Midokura+Networking+Plugin
 
 Jira ticket:
 https://issues.apache.org/jira/browse/CLOUDSTACK-996
 
 Notes:
 
 * Moved plugin to nonoss since the MidoNet client jar is not publicly 
 available
 
 * Documentation will follow as a separate commit
 
 * One main difference from existing networking plugins is the lack of a 
 Resource class; we didn't feel it was necessary in this case. As mentioned in 
 Extending CloudStack Networking [1]:
 Just like managers, resources are not strictly necessary. In theory a 
 Network Element could implement a client for the API of the new controller 
 and therefore be completely self-contained.
 
 * We allow overriding Public traffic via the MidoNetPublicNetworkGuru. We 
 checked this approach with the list [2] and received no comments, so we're 
 going with it for now.
 
 [1] https://cwiki.apache.org/CLOUDSTACK/extending-cloudstack-networking.html
 [2] http://markmail.org/message/k5qse63eyylszm3i
 
 
 This addresses bug CLOUDSTACK-996.
 
 
 Diffs
 -
 
   api/src/com/cloud/network/Network.java efed5cd 
   api/src/com/cloud/network/Networks.java e3d2158 
   api/src/com/cloud/network/PhysicalNetwork.java 343a2b1 
   api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java 
 bc22804 
   client/pom.xml cda6ab8 
   client/tomcatconf/nonossComponentContext.xml.in 20e0c32 
   deps/install-non-oss.sh 74575a8 
   plugins/hypervisors/kvm/pom.xml 013a58d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
  b622b6d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
  c93aeeb 
   plugins/network-elements/midokura-midonet/pom.xml 7f2e2d3 
   plugins/network-elements/midonet/pom.xml PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java
  48833b3 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/SimpleFirewallRule.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetGuestNetworkGuru.java
  ed0eb3c 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetPublicNetworkGuru.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/resource/MidoNetVifDriver.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/test/com/cloud/network/element/MidoNetElementTest.java
  PRE-CREATION 
   plugins/pom.xml 88f617b 
   server/src/com/cloud/configuration/Config.java 64465a2 
   server/src/com/cloud/network/NetworkManagerImpl.java 3220c91 
   ui/scripts/system.js 4d529ae 
 
 Diff: https://reviews.apache.org/r/9898/diff/
 
 
 Testing
 ---
 
 Built and deployed, spun up Advanced Isolated network with two VMs, verified 
 internal and external connectivity via MidoNet.
 
 
 Thanks,
 
 Dave Cahill
 




Re: Review Request: MidoNet Networking Plugin [2/2]

2013-03-14 Thread Dave Cahill


 On March 14, 2013, 8:15 a.m., Hugo Trippaers wrote:
 

Hi Hugo, thanks for the quick review reply.


 On March 14, 2013, 8:15 a.m., Hugo Trippaers wrote:
  deps/install-non-oss.sh, line 19
  https://reviews.apache.org/r/9898/diff/1/?file=270113#file270113line19
 
  I'm not really thrilled by adding components to the non-oss build.
  
  What are the possibilities of making the the midonet-client.jar 
  publicly available?
  
  If that is not possible it might be worthwhile to discuss if this 
  plugin should be maintained in a separate repository.

Making the client jar public is definitely possible - we were making it nonoss 
for the initial commit to avoid the jar distribution logistics, but we can 
certainly tackle it now if needed.

How would it work exactly? Could we upload the jar to a maven repo and have the 
build download it as a dependency, and if so, which maven repo could we upload 
to? Is there a precedent in the code base we can refer to?


 On March 14, 2013, 8:15 a.m., Hugo Trippaers wrote:
  plugins/hypervisors/kvm/pom.xml, line 37
  https://reviews.apache.org/r/9898/diff/1/?file=270114#file270114line37
 
  This dependency should only be activated during the nonoss build.

Nice catch. Let's see how the nonoss discussion above shakes out before 
addressing this.


 On March 14, 2013, 8:15 a.m., Hugo Trippaers wrote:
  plugins/network-elements/midonet/src/com/cloud/network/resource/MidoNetVifDriver.java,
   line 55
  https://reviews.apache.org/r/9898/diff/1/?file=270123#file270123line55
 
  Is this always fixed to this host/port or should this be configurable?

This is configurable - see the // Load Midonet API server location section of 
the configure() method.


- Dave


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


On March 13, 2013, 9:32 a.m., Dave Cahill wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/9898/
 ---
 
 (Updated March 13, 2013, 9:32 a.m.)
 
 
 Review request for cloudstack, Hugo Trippaers and Chiradeep Vittal.
 
 
 Description
 ---
 
 Feature spec:
 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Midokura+Networking+Plugin
 
 Jira ticket:
 https://issues.apache.org/jira/browse/CLOUDSTACK-996
 
 Notes:
 
 * Moved plugin to nonoss since the MidoNet client jar is not publicly 
 available
 
 * Documentation will follow as a separate commit
 
 * One main difference from existing networking plugins is the lack of a 
 Resource class; we didn't feel it was necessary in this case. As mentioned in 
 Extending CloudStack Networking [1]:
 Just like managers, resources are not strictly necessary. In theory a 
 Network Element could implement a client for the API of the new controller 
 and therefore be completely self-contained.
 
 * We allow overriding Public traffic via the MidoNetPublicNetworkGuru. We 
 checked this approach with the list [2] and received no comments, so we're 
 going with it for now.
 
 [1] https://cwiki.apache.org/CLOUDSTACK/extending-cloudstack-networking.html
 [2] http://markmail.org/message/k5qse63eyylszm3i
 
 
 This addresses bug CLOUDSTACK-996.
 
 
 Diffs
 -
 
   api/src/com/cloud/network/Network.java efed5cd 
   api/src/com/cloud/network/Networks.java e3d2158 
   api/src/com/cloud/network/PhysicalNetwork.java 343a2b1 
   api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java 
 bc22804 
   client/pom.xml cda6ab8 
   client/tomcatconf/nonossComponentContext.xml.in 20e0c32 
   deps/install-non-oss.sh 74575a8 
   plugins/hypervisors/kvm/pom.xml 013a58d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
  b622b6d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
  c93aeeb 
   plugins/network-elements/midokura-midonet/pom.xml 7f2e2d3 
   plugins/network-elements/midonet/pom.xml PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java
  48833b3 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/SimpleFirewallRule.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetGuestNetworkGuru.java
  ed0eb3c 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetPublicNetworkGuru.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/resource/MidoNetVifDriver.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/test/com/cloud/network/element/MidoNetElementTest.java
  PRE-CREATION 
   plugins/pom.xml 88f617b 
   server/src/com/cloud/configuration/Config.java 64465a2 
   server/src/com/cloud/network/NetworkManagerImpl.java 3220c91 
   

Re: Review Request: MidoNet Networking Plugin [2/2]

2013-03-14 Thread Dave Cahill


 On March 14, 2013, 8:15 a.m., Hugo Trippaers wrote:
  deps/install-non-oss.sh, line 19
  https://reviews.apache.org/r/9898/diff/1/?file=270113#file270113line19
 
  I'm not really thrilled by adding components to the non-oss build.
  
  What are the possibilities of making the the midonet-client.jar 
  publicly available?
  
  If that is not possible it might be worthwhile to discuss if this 
  plugin should be maintained in a separate repository.
 
 Dave Cahill wrote:
 Making the client jar public is definitely possible - we were making it 
 nonoss for the initial commit to avoid the jar distribution logistics, but we 
 can certainly tackle it now if needed.
 
 How would it work exactly? Could we upload the jar to a maven repo and 
 have the build download it as a dependency, and if so, which maven repo could 
 we upload to? Is there a precedent in the code base we can refer to?


Updating to keep status info on the ticket. 

Discussed on #cloudstack-dev yesterday, options would be:
1. Upload to Maven Central (several hoops to jump through)
2. Upload to own Maven repo

We have started on Option 2, but as it will take a while to complete, we would 
like to go ahead with the nonoss commit initially. 

This appears to be the approach Netscaler took; nonoss first, then switch to 
oss once jar distribution was in place.


- Dave


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


On March 13, 2013, 9:32 a.m., Dave Cahill wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/9898/
 ---
 
 (Updated March 13, 2013, 9:32 a.m.)
 
 
 Review request for cloudstack, Hugo Trippaers and Chiradeep Vittal.
 
 
 Description
 ---
 
 Feature spec:
 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Midokura+Networking+Plugin
 
 Jira ticket:
 https://issues.apache.org/jira/browse/CLOUDSTACK-996
 
 Notes:
 
 * Moved plugin to nonoss since the MidoNet client jar is not publicly 
 available
 
 * Documentation will follow as a separate commit
 
 * One main difference from existing networking plugins is the lack of a 
 Resource class; we didn't feel it was necessary in this case. As mentioned in 
 Extending CloudStack Networking [1]:
 Just like managers, resources are not strictly necessary. In theory a 
 Network Element could implement a client for the API of the new controller 
 and therefore be completely self-contained.
 
 * We allow overriding Public traffic via the MidoNetPublicNetworkGuru. We 
 checked this approach with the list [2] and received no comments, so we're 
 going with it for now.
 
 [1] https://cwiki.apache.org/CLOUDSTACK/extending-cloudstack-networking.html
 [2] http://markmail.org/message/k5qse63eyylszm3i
 
 
 This addresses bug CLOUDSTACK-996.
 
 
 Diffs
 -
 
   api/src/com/cloud/network/Network.java efed5cd 
   api/src/com/cloud/network/Networks.java e3d2158 
   api/src/com/cloud/network/PhysicalNetwork.java 343a2b1 
   api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java 
 bc22804 
   client/pom.xml cda6ab8 
   client/tomcatconf/nonossComponentContext.xml.in 20e0c32 
   deps/install-non-oss.sh 74575a8 
   plugins/hypervisors/kvm/pom.xml 013a58d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
  b622b6d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
  c93aeeb 
   plugins/network-elements/midokura-midonet/pom.xml 7f2e2d3 
   plugins/network-elements/midonet/pom.xml PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java
  48833b3 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/SimpleFirewallRule.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetGuestNetworkGuru.java
  ed0eb3c 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetPublicNetworkGuru.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/resource/MidoNetVifDriver.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/test/com/cloud/network/element/MidoNetElementTest.java
  PRE-CREATION 
   plugins/pom.xml 88f617b 
   server/src/com/cloud/configuration/Config.java 64465a2 
   server/src/com/cloud/network/NetworkManagerImpl.java 3220c91 
   ui/scripts/system.js 4d529ae 
 
 Diff: https://reviews.apache.org/r/9898/diff/
 
 
 Testing
 ---
 
 Built and deployed, spun up Advanced Isolated network with two VMs, verified 
 internal and external connectivity via MidoNet.
 
 
 Thanks,
 
 Dave Cahill
 




Review Request: MidoNet Networking Plugin [2/2]

2013-03-13 Thread Dave Cahill

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

Review request for cloudstack, Hugo Trippaers and Chiradeep Vittal.


Description
---

Feature spec:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Midokura+Networking+Plugin

Jira ticket:
https://issues.apache.org/jira/browse/CLOUDSTACK-996

Notes:

* Moved plugin to nonoss since the MidoNet client jar is not publicly available

* Documentation will follow as a separate commit

* One main difference from existing networking plugins is the lack of a 
Resource class; we didn't feel it was necessary in this case. As mentioned in 
Extending CloudStack Networking [1]:
Just like managers, resources are not strictly necessary. In theory a Network 
Element could implement a client for the API of the new controller and 
therefore be completely self-contained.

* We allow overriding Public traffic via the MidoNetPublicNetworkGuru. We 
checked this approach with the list [2] and received no comments, so we're 
going with it for now.

[1] https://cwiki.apache.org/CLOUDSTACK/extending-cloudstack-networking.html
[2] http://markmail.org/message/k5qse63eyylszm3i


This addresses bug CLOUDSTACK-996.


Diffs
-

  api/src/com/cloud/network/Network.java efed5cd 
  api/src/com/cloud/network/Networks.java e3d2158 
  api/src/com/cloud/network/PhysicalNetwork.java 343a2b1 
  api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java 
bc22804 
  client/pom.xml cda6ab8 
  client/tomcatconf/nonossComponentContext.xml.in 20e0c32 
  deps/install-non-oss.sh 74575a8 
  plugins/hypervisors/kvm/pom.xml 013a58d 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
 b622b6d 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java 
c93aeeb 
  plugins/network-elements/midokura-midonet/pom.xml 7f2e2d3 
  plugins/network-elements/midonet/pom.xml PRE-CREATION 
  
plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java
 48833b3 
  
plugins/network-elements/midonet/src/com/cloud/network/element/SimpleFirewallRule.java
 PRE-CREATION 
  
plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetGuestNetworkGuru.java
 ed0eb3c 
  
plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetPublicNetworkGuru.java
 PRE-CREATION 
  
plugins/network-elements/midonet/src/com/cloud/network/resource/MidoNetVifDriver.java
 PRE-CREATION 
  
plugins/network-elements/midonet/test/com/cloud/network/element/MidoNetElementTest.java
 PRE-CREATION 
  plugins/pom.xml 88f617b 
  server/src/com/cloud/configuration/Config.java 64465a2 
  server/src/com/cloud/network/NetworkManagerImpl.java 3220c91 
  ui/scripts/system.js 4d529ae 

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


Testing
---

Built and deployed, spun up Advanced Isolated network with two VMs, verified 
internal and external connectivity via MidoNet.


Thanks,

Dave Cahill



Re: Review Request: MidoNet Networking Plugin [2/2]

2013-03-13 Thread Hiroaki Kawai

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


The patch set is so big that it is hard to review. It would be nice to separate 
it into management-server, plugin, agent plugin and UI.


api/src/com/cloud/network/Network.java
https://reviews.apache.org/r/9898/#comment37807

IMHO, plugins may not have to create a Provider instance here. Instead, it 
can be created at plugin's configure method or getProvider, etc.



server/src/com/cloud/network/NetworkManagerImpl.java
https://reviews.apache.org/r/9898/#comment37808

NetworkElement should be always called after NetworkGuru, isn't it?


- Hiroaki Kawai


On March 13, 2013, 9:32 a.m., Dave Cahill wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/9898/
 ---
 
 (Updated March 13, 2013, 9:32 a.m.)
 
 
 Review request for cloudstack, Hugo Trippaers and Chiradeep Vittal.
 
 
 Description
 ---
 
 Feature spec:
 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Midokura+Networking+Plugin
 
 Jira ticket:
 https://issues.apache.org/jira/browse/CLOUDSTACK-996
 
 Notes:
 
 * Moved plugin to nonoss since the MidoNet client jar is not publicly 
 available
 
 * Documentation will follow as a separate commit
 
 * One main difference from existing networking plugins is the lack of a 
 Resource class; we didn't feel it was necessary in this case. As mentioned in 
 Extending CloudStack Networking [1]:
 Just like managers, resources are not strictly necessary. In theory a 
 Network Element could implement a client for the API of the new controller 
 and therefore be completely self-contained.
 
 * We allow overriding Public traffic via the MidoNetPublicNetworkGuru. We 
 checked this approach with the list [2] and received no comments, so we're 
 going with it for now.
 
 [1] https://cwiki.apache.org/CLOUDSTACK/extending-cloudstack-networking.html
 [2] http://markmail.org/message/k5qse63eyylszm3i
 
 
 This addresses bug CLOUDSTACK-996.
 
 
 Diffs
 -
 
   api/src/com/cloud/network/Network.java efed5cd 
   api/src/com/cloud/network/Networks.java e3d2158 
   api/src/com/cloud/network/PhysicalNetwork.java 343a2b1 
   api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java 
 bc22804 
   client/pom.xml cda6ab8 
   client/tomcatconf/nonossComponentContext.xml.in 20e0c32 
   deps/install-non-oss.sh 74575a8 
   plugins/hypervisors/kvm/pom.xml 013a58d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
  b622b6d 
   
 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
  c93aeeb 
   plugins/network-elements/midokura-midonet/pom.xml 7f2e2d3 
   plugins/network-elements/midonet/pom.xml PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java
  48833b3 
   
 plugins/network-elements/midonet/src/com/cloud/network/element/SimpleFirewallRule.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetGuestNetworkGuru.java
  ed0eb3c 
   
 plugins/network-elements/midonet/src/com/cloud/network/guru/MidoNetPublicNetworkGuru.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/src/com/cloud/network/resource/MidoNetVifDriver.java
  PRE-CREATION 
   
 plugins/network-elements/midonet/test/com/cloud/network/element/MidoNetElementTest.java
  PRE-CREATION 
   plugins/pom.xml 88f617b 
   server/src/com/cloud/configuration/Config.java 64465a2 
   server/src/com/cloud/network/NetworkManagerImpl.java 3220c91 
   ui/scripts/system.js 4d529ae 
 
 Diff: https://reviews.apache.org/r/9898/diff/
 
 
 Testing
 ---
 
 Built and deployed, spun up Advanced Isolated network with two VMs, verified 
 internal and external connectivity via MidoNet.
 
 
 Thanks,
 
 Dave Cahill