protected void setupMembers(Map<Long, ClusterMembership> activeSet, ClusterConfig config) throws IOException { Map<Long, ClusteredMember> members = new TreeMap<>(); for (Map.Entry<Long, ClusterMembership> entry : activeSet.entrySet()) { Long id = entry.getKey(); ClusterMembership member = entry.getValue(); ClusterConfig memberConfig = jsonMapper.readValue(member.getConfig(), ClusterConfig.class); members.put(id, new ClusteredMember(id, memberConfig, uuid.equals(member.getUuid()), member.getClustered())); } this.members = members; }
protected void setupHz(Map<Long, ClusterMembership> activeSet, ClusterConfig selfConfig) { Map<String, DiscoveryNode> newNodes = new TreeMap<>(); for (ClusterMembership member : activeSet.values()) { try { ClusterConfig config = jsonMapper.readValue(member.getConfig(), ClusterConfig.class); String address = getAddress(config.getAdvertiseAddress()); String[] parts = address.split(":"); newNodes.put(address, new SimpleDiscoveryNode(new Address(parts[0], Integer.parseInt(parts[1])))); } catch (Exception e) { log.error("Failed to register cluster member {} {}", member.getUuid(), member.getConfig()); } } if (selfNode != null) { newNodes.put(selfConfig.getAdvertiseAddress(), selfNode); } if (!this.hzNodes.keySet().equals(newNodes.keySet())) { log.info("Cluster membership changed {}", newNodes.keySet()); } this.hzNodes = newNodes; }
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.ClusterMembership from) { setId(from.getId()); setName(from.getName()); setUuid(from.getUuid()); setHeartbeat(from.getHeartbeat()); setConfig(from.getConfig()); setClustered(from.getClustered()); }