X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsamples%2Floadbalancer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsamples%2Floadbalancer%2FConfigManager.java;h=ff91e93f58c97e8b4bf234a8b1a601bb05094700;hp=3cacab784663a66919a06ec0bdbb099c68ac709f;hb=541d0a36997f292bb037a2199463431eee538358;hpb=fad07e38e57f1c0d8d687e3bae01532196d6e99d diff --git a/opendaylight/samples/loadbalancer/src/main/java/org/opendaylight/controller/samples/loadbalancer/ConfigManager.java b/opendaylight/samples/loadbalancer/src/main/java/org/opendaylight/controller/samples/loadbalancer/ConfigManager.java index 3cacab7846..ff91e93f58 100644 --- a/opendaylight/samples/loadbalancer/src/main/java/org/opendaylight/controller/samples/loadbalancer/ConfigManager.java +++ b/opendaylight/samples/loadbalancer/src/main/java/org/opendaylight/controller/samples/loadbalancer/ConfigManager.java @@ -19,36 +19,36 @@ import org.slf4j.LoggerFactory; /** * This class represents a configuration manager for the Load Balancer service. - * This class is responsible for managing(store/update/delete) the load balancer + * This class is responsible for managing(store/update/delete) the load balancer * configuration that it receives through REST APIs or from any other applications * present in the controller. * */ public class ConfigManager implements IConfigManager{ - + /* * Logger instance */ private static final Logger cmLogger = LoggerFactory.getLogger(ConfigManager.class); - + /* - * All the available VIPs + * All the available VIPs */ private HashMap vips = new HashMap(); - + /* * All the available Pools */ private HashMap pools = new HashMap(); - + public ConfigManager(){ } - + @Override public boolean vipExists(String name) { return this.vips.containsKey(name); } - + @Override public boolean vipExists(VIP vip){ if(vip.getName()==null){ @@ -64,80 +64,80 @@ public class ConfigManager implements IConfigManager{ } return true; } - + @Override public boolean vipExists(String name,String ip,String protocol,short protocolPort,String poolName){ - + VIP vip = new VIP(name,ip,protocol,protocolPort,poolName); - + //Check VIP with the same name - + if(!vips.containsKey(name)){ //Check VIP with the same ip, protocol and protocolPort if(!vips.containsValue(vip)){ - + //if you reach here, means this VIP don't exist return false; } } - + //Yeah, i have it. - return true; + return true; } - + @Override public Set getAllVIPs(){ return new HashSet(this.vips.values()); } - + public VIP getVIPWithPoolName(VIP vip){ cmLogger.info("Search a VIP with name:{}",vip); for(VIP vipTemp: this.vips.values()){ if(vipTemp.equals(vip)){ - + cmLogger.info("Found VIP with pool detail : {}",vipTemp); return vipTemp; } } - + cmLogger.info("VIP with pool detail not found "); return null; } - + @Override public VIP createVIP(String name,String ip,String protocol,short protocolPort,String poolName){ - + cmLogger.info("Create VIP with the following details :[ name : "+name +" ip : "+ip +" protocol : "+protocol +" protocol_port : "+protocolPort +" pool name : "+poolName); - + VIP vip = new VIP(name,ip,protocol,protocolPort,poolName); - + if(poolName !=null && !poolName.isEmpty()){ if(pools.containsKey(poolName)){ pools.get(poolName).addVIP(vip); } } - + vip.setStatus(LBConst.STATUS_ACTIVE); this.vips.put(name, vip); - + cmLogger.info("New VIP created : "+vip.toString()); return vip; } - + @Override public String getVIPAttachedPool(String name) { return this.vips.get(name).getPoolName(); } - + @Override public VIP updateVIP(String name, String poolName){ - + cmLogger.info("Updating VIP : "+name+" pool name to "+poolName); - + if(vips.containsKey(name)){ VIP vip = vips.get(name); if(vip.getPoolName() == null){ @@ -150,30 +150,30 @@ public class ConfigManager implements IConfigManager{ cmLogger.error("VIP with name: "+name+" does not exist"); return null; } - + @Override public VIP deleteVIP(String name){ - + cmLogger.info("Deleting VIP : "+name); - + VIP vip = vips.get(name); - + String poolName = vip.getPoolName(); - + if(poolName != null){ if(pools.containsKey(poolName)){ Pool pool = pools.get(poolName); pool.removeVIP(vip.getName()); } } - + cmLogger.info("VIP removed : "+vip.toString()); - + vips.remove(vip.getName()); - + return vip; } - + @Override public boolean memberExists(String name, String poolName) { if(this.pools.containsKey(poolName)){ @@ -182,89 +182,89 @@ public class ConfigManager implements IConfigManager{ } return false; } - + @Override public boolean memberExists(String name, String memberIP,String poolName){ if(!this.pools.containsKey(poolName)) return false; - + return this.pools.get(poolName).poolMemberExists(new PoolMember(name, memberIP, poolName)); } - + @Override public PoolMember addPoolMember(String name, String memberIP, String poolName){ - + PoolMember pm = new PoolMember(name,memberIP,poolName); - + cmLogger.info("Adding pool member : "+pm.toString()); - + pools.get(poolName).addMember(pm); - + return pm; } - + @Override public PoolMember removePoolMember(String name, String poolName){ - + cmLogger.info("Removing pool member : {} from pool {}",name, poolName); - + Pool pool = pools.get(poolName); - + PoolMember pm = pool.getMember(name); - + pool.removeMember(name); - + cmLogger.info("Pool member {} removed from {} ",name,poolName); - + return pm; } - + @Override public Set getAllPools(){ return new HashSet(this.pools.values()); } - + @Override public boolean poolExists(String name) { return this.pools.containsKey(name); } - + @Override public boolean poolExists(String name, String lbMethod){ - + return pools.containsValue(new Pool(name,lbMethod)); } - + @Override public Pool createPool(String name, String lbMethod){ - + Pool newPool = new Pool(name,lbMethod); - + cmLogger.info("New pool created : " + newPool.toString()); - + pools.put(name, newPool); - + return newPool; } - + @Override public Pool deletePool(String poolName){ - + Pool pool = pools.get(poolName); - + for(VIP vip:pool.getAllVip()){ - + vip.setPoolName(null); - + } - + cmLogger.info("Pool removed : "+pool.toString()); - + pools.remove(poolName); - + return pool; } - + @Override public Pool getPool( String poolName){ if(pools.containsKey(poolName)){ @@ -272,16 +272,16 @@ public class ConfigManager implements IConfigManager{ } return null; } - + @Override public Set getAllPoolMembers(String poolName) { - + if(pools.containsKey(poolName)){ return new HashSet(pools.get(poolName).getAllMembers()); } return null; } - + /* (non-Javadoc) * @see java.lang.Object#toString() */