Author: remm Date: Wed Oct 10 09:31:54 2018 New Revision: 1843415 URL: http://svn.apache.org/viewvc?rev=1843415&view=rev Log: There's a "uid" in metadata, so try to use it. Also add back a needed test I accidentally removed.
Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java?rev=1843415&r1=1843414&r2=1843415&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java Wed Oct 10 09:31:54 2018 @@ -22,6 +22,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.nio.file.FileSystems; import java.nio.file.Files; import java.time.Duration; @@ -156,6 +157,8 @@ public class KubernetesMembershipProvide @SuppressWarnings("unchecked") LinkedHashMap<String, Object> metadata = (LinkedHashMap<String, Object>) pod.get("metadata"); String name = metadata.get("name").toString(); + Object objectUid = metadata.get("uid"); + String uid = (objectUid == null) ? name : objectUid.toString(); String creationTimestamp = metadata.get("creationTimestamp").toString(); @SuppressWarnings("unchecked") LinkedHashMap<String, Object> status = (LinkedHashMap<String, Object>) pod.get("status"); @@ -164,8 +167,12 @@ public class KubernetesMembershipProvide } String podIP = status.get("podIP").toString(); - // id = md5(hostname) - byte[] id = md5.digest(name.getBytes()); + // We found ourselves, ignore + if (name.equals(hostName)) { + continue; + } + + byte[] id = md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); long aliveTime = Duration.between(Instant.parse(creationTimestamp), startTime).getSeconds() * 1000; // aliveTime is in ms MemberImpl member = null; @@ -177,7 +184,6 @@ public class KubernetesMembershipProvide log.error(sm.getString("kubernetesMembershipProvider.memberError"), e); continue; } - member.setUniqueId(id); members.add(member); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org