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

Reply via email to