> On Oct. 9, 2013, 2:49 p.m., Murali Reddy wrote:
> > - Is there a reason why no new isolation type was not added for 'contrail 
> > controller'. For other overlay technologies (STT, GRE, VXLAN) that 
> > CloudStack support there is an isolation type and corresponding Guru that 
> > handles isolation type. 
> > 
> > - There is a 'EventBus' on to which all events generated by CloudStack gets 
> > published. Right approach would be to plug-in to subscribe to interested 
> > events from event bus. But the current implementation of EventBus expects 
> > external AMQP server, so it may not be ideal. EventInterceptor approach 
> > implemented in the plug-in works fine to get the notification. But enabling 
> > it by default in ApplicationContext does not seem right thing to do. 
> > 
> > - If you can add some more details in to the FS on deployment model it will 
> > give more perspective to reviewers
> > 
> >     + is the VRouter mentioned in the FS is a appliance provisioned by 
> > CloudStack for each guest network by servicemanager? Or its a logical 
> > router on the dataplane that does the forwarding?
> >     + is BGP/MPLS required on the IP fabric and the Hypervisors
> >
> 
> Pedro Marques wrote:
>     Murali,
>     We didn't add a new isolation type to avoid changing the CloudStack code. 
> The current define describes the encapsulation technology. Contrail can use 
> several encapsulation technologies: MPLS/GRE, MPLS/UDP, MPLS over VXLAN 
> header. I can add one if you find it helpful... from a technology perspective 
> contrail focus on the control plane solution rather than the encapsulation.
>     
>     The event bus doesn't look like an attractive approach. If the 
> ActionEvent listeners will cause a problem we can periodically poll from the 
> plugin.
>     
>     The "VRouter" is a linux kernel module running on each Host. BGP/MPLS is 
> a control plane technology. The fabric is required to be able to transport IP 
> packets between Hosts... No other assumption is made; no need for VLANs or 
> MPLS on the fabric.
>
> 
> Murali Reddy wrote:
>     Pedro,
>     
>     Thanks for clarification. Now I understand that Contrial being control 
> plane solution and its ability support multiple encapsulation technologies. 
> Actually my earlier comment was not so much about isolation method 
> (CloudStack notion of overlay/encapsulation technologies). Currently there is 
> no prescriptive way for CloudStack networking to know which NetworkGuru 
> should be handling the network design, so it just loops through all network 
> guru to implement & design the network. Unfortunately, its network guru to 
> know if it should handle the design/implement call etc for a network. For 
> e.g. VxlanGuestNetworkGuru thinks its authoritative to handle the isolation 
> method 'VXLAN'. If ContrailGuru thinks it can handle VXLAN then there is 
> conflict if both the plug-ins are enabled by default in the componentContext. 
> It should not be plug-in developers problem, but i want to suggest to add a 
> safe-guard. Either add new isolation method (like MIDO for e.g for Midokura) 
> and let Contrail Guru a
 nd Element to handle only if isolation method is for Contrail.
>     
>     I agree that event bus approach is not attractive with current RabbitMq 
> implementation. What my intention was new interceptor 
> (contrailEventInterceptor) be enabled only if some one wants to use Contrail 
> plug-in. If Contrial plug-in is not used then interceptor is just adding 
> additional overhead. You can make this step (of configuring interceptor in 
> applicationContext as setup step).
>

Murali,
My understanding is that there are two mechanisms in play when it comes to 
identifying the Guru: the encapsulation and whether an offering is enabled on 
the physical network attached to the zone. The contrail plugin looks at the 
later in order to allow the user to have multiple zones with different network 
offerings.

I agree that the contrail event interceptor should be enabled only if you want 
to use the plugin. I'll revert the applicationContext.xml.in change.
Is it possible for you to accept this diff into the contrail branch ?
My understanding from Chip is that what we where trying to do is to 
incrementally get the branch to a stage where it can be merged... it would be 
easier to do that as a set of commits into the branch.


- Pedro


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


On Oct. 8, 2013, 11:58 p.m., Pedro Marques wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14549/
> -----------------------------------------------------------
> 
> (Updated Oct. 8, 2013, 11:58 p.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> Rename net.juniper.contrail to org.apache.cloudstack.network.contrail.
> 
> 
> Diffs
> -----
> 
>   client/tomcatconf/applicationContext.xml.in 0ab2515 
>   client/tomcatconf/componentContext.xml.in 157ad5a 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/api/command/CreateServiceInstanceCmd.java
>  92f5eeb 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/api/response/ServiceInstanceResponse.java
>  1b7a7d8 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ContrailElement.java
>  885a60f 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ContrailElementImpl.java
>  3a38020 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ContrailGuru.java
>  c655b0b 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ContrailManager.java
>  5195793 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ContrailManagerImpl.java
>  8a3ca1b 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/DBSyncGeneric.java
>  d169b37 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/EventUtils.java
>  acd1bed 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ManagementNetworkGuru.java
>  bad2502 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ModelDatabase.java
>  f9e7c24 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ServerDBSync.java
>  4c8c2e9 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ServerDBSyncImpl.java
>  06daf12 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ServerEventHandler.java
>  6f0ecf2 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ServerEventHandlerImpl.java
>  aa4e9d5 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ServiceManager.java
>  f3884fb 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ServiceManagerImpl.java
>  b90792c 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/management/ServiceVirtualMachine.java
>  9c8b61d 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/FloatingIpModel.java
>  ca90666 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/FloatingIpPoolModel.java
>  8e238fd 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/InstanceIpModel.java
>  ff08560 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/ModelController.java
>  7abb40a 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/ModelObject.java
>  7cd420c 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/ModelObjectBase.java
>  4b05e96 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/ServiceInstanceModel.java
>  f65bfc7 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/VMInterfaceModel.java
>  0ec7c9e 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/VirtualMachineModel.java
>  df40025 
>   
> plugins/network-elements/juniper-contrail/src/net/juniper/contrail/model/VirtualNetworkModel.java
>  99ab944 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/api/command/CreateServiceInstanceCmd.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/api/response/ServiceInstanceResponse.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ContrailElement.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ContrailElementImpl.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ContrailGuru.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ContrailManager.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/DBSyncGeneric.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/EventUtils.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ManagementNetworkGuru.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ModelDatabase.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServerDBSync.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServerDBSyncImpl.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServerEventHandler.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServerEventHandlerImpl.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServiceManager.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServiceVirtualMachine.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/FloatingIpModel.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/FloatingIpPoolModel.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/InstanceIpModel.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/ModelController.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/ModelObject.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/ModelObjectBase.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/ServiceInstanceModel.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/VMInterfaceModel.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/VirtualMachineModel.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/model/VirtualNetworkModel.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/test/net/juniper/contrail/management/MockAccountManager.java
>  029950a 
>   
> plugins/network-elements/juniper-contrail/test/net/juniper/contrail/management/NetworkProviderTest.java
>  c3e07d0 
>   
> plugins/network-elements/juniper-contrail/test/net/juniper/contrail/management/TestConfiguration.java
>  87feaa9 
>   
> plugins/network-elements/juniper-contrail/test/net/juniper/contrail/management/TestDbSetup.java
>  55cef7c 
>   
> plugins/network-elements/juniper-contrail/test/net/juniper/contrail/management/VirtualNetworkModelTest.java
>  a5767c6 
>   
> plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/NetworkProviderTest.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/TestConfiguration.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/TestDbSetup.java
>  PRE-CREATION 
>   
> plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualNetworkModelTest.java
>  PRE-CREATION 
>   plugins/network-elements/juniper-contrail/test/resources/serviceContext.xml 
> 623d188 
> 
> Diff: https://reviews.apache.org/r/14549/diff/
> 
> 
> Testing
> -------
> 
> Integration test passes.
> 
> 
> Thanks,
> 
> Pedro Marques
> 
>

Reply via email to