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 Balineni <sb...@juniper.net> on 2014/04/04 20:43:34 UTC

Re: Review Request 18552: Internal LB support for Juniper contrail VPC implementation


> On March 27, 2014, 5:02 p.m., Alena Prokharchyk wrote:
> > Suresh, your fix contradicts with whatever you said in your previous comment. You said that your contrail element will play the role of the internal load Balancer. In that case, you should have added the Service LB with capability LbSchemas="internal" to your contrail provider implementation.
> > 
> > The current fix though implies that the separate Internal LB vm will be started? Please elaborate.
> 
> Suresh Balineni wrote:
>     I wanted to re-use the existing Internal LB element as is except required Nic resources should be implemented by Contrail VRouter. 
>     
>
> 
> Alena Prokharchyk wrote:
>     Suresh, InternalLbElement is being managed by InternalLBElementManager. The nics are created there. If you want the rules to be programmed on your VPC contrail element, use your VPC contrail element as a provider for internal lb. With the current code in the patch, the internal lb vm will be created as a separate vm from your contrail vm, with the nics configured the standard way.

Hi Alena,

1. Contrail does not launch any VM for VPC. Routing support is provided by separate kernel module called contrail-vrouter. It does not support internal lb. I want to leverage CS Virtual-Router load balancing capabilities for supporting internal lb in contrail vpc implementation. I just have to create Nics in contrail vrouter for internal lb vm.

2. Since Contrail Network Offering is configured for Internal LB VM, "contrail guru" gets invoked when Internal LB VM is getting launched. 

           for (Service svc : services) {
            if (svc == Service.Lb) {
                if(offeringName.equals(vpcRouterOfferingName)) {
                    Set<Provider> lbProviderSet = new HashSet<Provider>();
                    lbProviderSet.add(Provider.InternalLbVm);
                    serviceProviderMap.put(svc, lbProviderSet);
                }
                continue;
            }
            serviceProviderMap.put(svc, providerSet);
        }
        ConfigurationManager configMgr = (ConfigurationManager)_configService;
        NetworkOfferingVO voffer =
                configMgr.createNetworkOffering(offeringName, offeringDisplayText, TrafficType.Guest, null, false,         Availability.Optional, null, serviceProviderMap, true,
                        Network.GuestType.Isolated, false, null, false, null, false, true, null, true, null, false);

3. I verified this implementation, It works perfectly fine.


- Suresh


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


On March 27, 2014, 12:42 a.m., Suresh Balineni wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18552/
> -----------------------------------------------------------
> 
> (Updated March 27, 2014, 12:42 a.m.)
> 
> 
> Review request for cloudstack and Alena Prokharchyk.
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> Internal LB support for Juniper contrail VPC implementation.
> 
> - This implementation just extends the existing implementation of internal lb.
> - New element  uses juniper contrail network offering so that nics are impelemented by contrail element. 
> - LB VM deployment functionality is reused (new element is extended from existing Internal LB element implementation).
> 
> 
> Diffs
> -----
> 
>   plugins/network-elements/juniper-contrail/pom.xml 8c6877d 
>   plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java 01be7db 
>   server/src/com/cloud/network/vpc/VpcManagerImpl.java fe49981 
> 
> Diff: https://reviews.apache.org/r/18552/diff/
> 
> 
> Testing
> -------
> 
> Tested LB VM deployment. Traffic tests are done.
> 
> 
> Thanks,
> 
> Suresh Balineni
> 
>