X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openstack%2Fnet-virt%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fovsdb%2Fopenstack%2Fnetvirt%2FLBaaSHandler.java;h=764ddc484e090bd203df768d4b7ec118bcf46ec9;hb=49482ce80d73e0a250dcb81842edc67da5de7223;hp=3710696f24b6bb3e5e187ad29946199b0a878f52;hpb=2c898dfea9a1af579cd9f6176bc2bdad14fbe1bb;p=netvirt.git diff --git a/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/LBaaSHandler.java b/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/LBaaSHandler.java index 3710696f24..764ddc484e 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/LBaaSHandler.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/LBaaSHandler.java @@ -1,15 +1,17 @@ /* - * Copyright (C) 2014 SDN Hub, LLC. + * Copyright (c) 2014, 2015 SDN Hub, LLC. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * Authors : Srini Seetharaman */ package org.opendaylight.ovsdb.openstack.netvirt; +import java.net.HttpURLConnection; +import java.util.List; +import java.util.Map; + import org.opendaylight.neutron.spi.INeutronLoadBalancerAware; import org.opendaylight.neutron.spi.INeutronLoadBalancerCRUD; import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolCRUD; @@ -23,8 +25,8 @@ import org.opendaylight.ovsdb.openstack.netvirt.api.Action; import org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher; import org.opendaylight.ovsdb.openstack.netvirt.api.LoadBalancerConfiguration; import org.opendaylight.ovsdb.openstack.netvirt.api.LoadBalancerProvider; -import org.opendaylight.ovsdb.openstack.netvirt.api.NodeCacheManager; import org.opendaylight.ovsdb.openstack.netvirt.api.NodeCacheListener; +import org.opendaylight.ovsdb.openstack.netvirt.api.NodeCacheManager; import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.osgi.framework.BundleContext; @@ -34,10 +36,6 @@ import org.slf4j.LoggerFactory; import com.google.common.base.Preconditions; -import java.net.HttpURLConnection; -import java.util.List; -import java.util.Map; - /** * Handle requests for OpenStack Neutron v2.0 LBaaS API calls for /v2.0/loadbalancers. */ @@ -46,7 +44,7 @@ import java.util.Map; public class LBaaSHandler extends AbstractHandler implements INeutronLoadBalancerAware, ConfigInterface, NodeCacheListener { - private static final Logger logger = LoggerFactory.getLogger(LBaaSHandler.class); + private static final Logger LOG = LoggerFactory.getLogger(LBaaSHandler.class); // The implementation for each of these services is resolved by the OSGi Service Manager private volatile INeutronLoadBalancerCRUD neutronLBCache; @@ -56,7 +54,6 @@ public class LBaaSHandler extends AbstractHandler private volatile INeutronSubnetCRUD neutronSubnetCache; private volatile LoadBalancerProvider loadBalancerProvider; private volatile NodeCacheManager nodeCacheManager; - private volatile EventDispatcher eventDispatcher; @Override public int canCreateNeutronLoadBalancer(NeutronLoadBalancer neutronLB) { @@ -66,7 +63,7 @@ public class LBaaSHandler extends AbstractHandler @Override public void neutronLoadBalancerCreated(NeutronLoadBalancer neutronLB) { - logger.debug("Neutron LB Creation : {}", neutronLB.toString()); + LOG.debug("Neutron LB Creation : {}", neutronLB.toString()); enqueueEvent(new NorthboundEvent(neutronLB, Action.ADD)); } @@ -81,9 +78,9 @@ public class LBaaSHandler extends AbstractHandler final List nodes = nodeCacheManager.getBridgeNodes(); if (!lbConfig.isValid()) { - logger.debug("Neutron LB pool configuration invalid for {} ", lbConfig.getName()); + LOG.debug("Neutron LB pool configuration invalid for {} ", lbConfig.getName()); } else if (nodes.isEmpty()) { - logger.debug("Noop with LB {} creation because no nodes available.", lbConfig.getName()); + LOG.debug("Noop with LB {} creation because no nodes available.", lbConfig.getName()); } else { for (Node node : nodes) { loadBalancerProvider.programLoadBalancerRules(node, lbConfig, Action.ADD); @@ -99,7 +96,7 @@ public class LBaaSHandler extends AbstractHandler @Override public void neutronLoadBalancerUpdated(NeutronLoadBalancer neutronLB) { - logger.debug("Neutron LB Update : {}", neutronLB.toString()); + LOG.debug("Neutron LB Update : {}", neutronLB.toString()); enqueueEvent(new NorthboundEvent(neutronLB, Action.UPDATE)); } @@ -111,7 +108,7 @@ public class LBaaSHandler extends AbstractHandler @Override public void neutronLoadBalancerDeleted(NeutronLoadBalancer neutronLB) { - logger.debug("Neutron LB Deletion : {}", neutronLB.toString()); + LOG.debug("Neutron LB Deletion : {}", neutronLB.toString()); enqueueEvent(new NorthboundEvent(neutronLB, Action.DELETE)); } @@ -121,9 +118,9 @@ public class LBaaSHandler extends AbstractHandler final List nodes = nodeCacheManager.getBridgeNodes(); if (!lbConfig.isValid()) { - logger.debug("Neutron LB pool configuration invalid for {} ", lbConfig.getName()); + LOG.debug("Neutron LB pool configuration invalid for {} ", lbConfig.getName()); } else if (nodes.isEmpty()) { - logger.debug("Noop with LB {} deletion because no nodes available.", lbConfig.getName()); + LOG.debug("Noop with LB {} deletion because no nodes available.", lbConfig.getName()); } else { for (Node node : nodes) { loadBalancerProvider.programLoadBalancerRules(node, lbConfig, Action.DELETE); @@ -139,9 +136,9 @@ public class LBaaSHandler extends AbstractHandler */ @Override public void processEvent(AbstractEvent abstractEvent) { - logger.debug("Processing Loadbalancer event " + abstractEvent); + LOG.debug("Processing Loadbalancer event {}", abstractEvent); if (!(abstractEvent instanceof NorthboundEvent)) { - logger.error("Unable to process abstract event " + abstractEvent); + LOG.error("Unable to process abstract event {}", abstractEvent); return; } NorthboundEvent ev = (NorthboundEvent) abstractEvent; @@ -161,7 +158,7 @@ public class LBaaSHandler extends AbstractHandler doNeutronLoadBalancerCreate(ev.getLoadBalancer()); break; default: - logger.warn("Unable to process event action " + ev.getAction()); + LOG.warn("Unable to process event action {}", ev.getAction()); break; } } @@ -184,13 +181,9 @@ public class LBaaSHandler extends AbstractHandler } lbConfig.setVmac(NeutronCacheUtils.getMacAddress(neutronPortCache, loadBalancerSubnetID, loadBalancerVip)); - String memberID, memberIP, memberMAC, memberProtocol, memberSubnetID; - Integer memberPort; - Boolean memberAdminStateIsUp; - for (NeutronLoadBalancerPool neutronLBPool: neutronLBPoolCache.getAllNeutronLoadBalancerPools()) { List members = neutronLBPool.getLoadBalancerPoolMembers(); - memberProtocol = neutronLBPool.getLoadBalancerPoolProtocol(); + String memberProtocol = neutronLBPool.getLoadBalancerPoolProtocol(); if (memberProtocol == null) { continue; } @@ -201,20 +194,18 @@ public class LBaaSHandler extends AbstractHandler continue; } for (NeutronLoadBalancerPoolMember neutronLBPoolMember: members) { - memberAdminStateIsUp = neutronLBPoolMember.getPoolMemberAdminStateIsUp(); - memberSubnetID = neutronLBPoolMember.getPoolMemberSubnetID(); - if (memberSubnetID == null || memberAdminStateIsUp == null) { - continue; - } - else if (memberSubnetID.equals(loadBalancerSubnetID) && memberAdminStateIsUp.booleanValue()) { - memberID = neutronLBPoolMember.getPoolMemberID(); - memberIP = neutronLBPoolMember.getPoolMemberAddress(); - memberPort = neutronLBPoolMember.getPoolMemberProtoPort(); - if (memberSubnetID == null || memberID == null || memberIP == null || memberPort == null) { - logger.debug("Neutron LB pool member details incomplete: {}", neutronLBPoolMember); + Boolean memberAdminStateIsUp = neutronLBPoolMember.getPoolMemberAdminStateIsUp(); + String memberSubnetID = neutronLBPoolMember.getPoolMemberSubnetID(); + if (memberSubnetID != null && memberAdminStateIsUp != null && + memberSubnetID.equals(loadBalancerSubnetID) && memberAdminStateIsUp) { + String memberID = neutronLBPoolMember.getID(); + String memberIP = neutronLBPoolMember.getPoolMemberAddress(); + Integer memberPort = neutronLBPoolMember.getPoolMemberProtoPort(); + if (memberID == null || memberIP == null || memberPort == null) { + LOG.debug("Neutron LB pool member details incomplete: {}", neutronLBPoolMember); continue; } - memberMAC = NeutronCacheUtils.getMacAddress(neutronPortCache, memberSubnetID, memberIP); + String memberMAC = NeutronCacheUtils.getMacAddress(neutronPortCache, memberSubnetID, memberIP); if (memberMAC == null) { continue; } @@ -232,13 +223,13 @@ public class LBaaSHandler extends AbstractHandler */ @Override public void notifyNode(Node node, Action type) { - logger.debug("notifyNode: Node {} update {} from Controller's inventory Service", node, type); + LOG.debug("notifyNode: Node {} update {} from Controller's inventory Service", node, type); Preconditions.checkNotNull(loadBalancerProvider); for (NeutronLoadBalancer neutronLB: neutronLBCache.getAllNeutronLoadBalancers()) { LoadBalancerConfiguration lbConfig = extractLBConfiguration(neutronLB); if (!lbConfig.isValid()) { - logger.debug("Neutron LB configuration invalid for {} ", lbConfig.getName()); + LOG.debug("Neutron LB configuration invalid for {} ", lbConfig.getName()); } else { if (type.equals(Action.ADD)) { loadBalancerProvider.programLoadBalancerRules(node, lbConfig, Action.ADD); @@ -250,8 +241,6 @@ public class LBaaSHandler extends AbstractHandler */ //(type.equals(UpdateType.REMOVED) || type.equals(UpdateType.CHANGED)) - } else { - continue; } } } @@ -269,7 +258,6 @@ public class LBaaSHandler extends AbstractHandler (EventDispatcher) ServiceHelper.getGlobalInstance(EventDispatcher.class, this); eventDispatcher.eventHandlerAdded( bundleContext.getServiceReference(INeutronLoadBalancerAware.class.getName()), this); - super.setDispatcher(eventDispatcher); } @Override