protected String toStringValue() { return cluster.type().name() + "/" + cluster.id().value() + (cluster.group().isPresent() ? "/" + cluster.group().get().index() : "") + "/" + index + ( cluster.isExclusive() ? "/exclusive" : "") + ( retired ? "/retired" : "") + ( !cluster.rotations().isEmpty() ? "/" + rotationsAsString(cluster.rotations()) : ""); }
/** * Provision load balancer(s) for given application. * * If the application has multiple container clusters, one load balancer will be provisioned for each cluster. */ public Map<LoadBalancerId, LoadBalancer> provision(ApplicationId application) { try (Mutex applicationLock = nodeRepository.lock(application)) { try (Mutex loadBalancersLock = db.lockLoadBalancers()) { Map<LoadBalancerId, LoadBalancer> loadBalancers = new LinkedHashMap<>(); for (Map.Entry<ClusterSpec, List<Node>> kv : activeContainers(application).entrySet()) { LoadBalancer loadBalancer = create(application, kv.getKey().id(), kv.getValue()) .with(kv.getKey().rotations()); loadBalancers.put(loadBalancer.id(), loadBalancer); db.writeLoadBalancer(loadBalancer); } return Collections.unmodifiableMap(loadBalancers); } } }