You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2019/07/10 14:19:17 UTC

[tomcat] branch master updated: Avoid Kubernetes membership failure on startup

This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
     new bf8223a  Avoid Kubernetes membership failure on startup
bf8223a is described below

commit bf8223a7afe4b52513e7a0370d353aecb356b4f8
Author: remm <re...@apache.org>
AuthorDate: Wed Jul 10 16:19:05 2019 +0200

    Avoid Kubernetes membership failure on startup
    
    Failing on startup prevents building a Graal configuration using the
    tooling.
---
 .../tribes/membership/cloud/KubernetesMembershipProvider.java  |  8 ++++++--
 webapps/docs/changelog.xml                                     | 10 ++++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
index 153359d..e977542 100644
--- a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
+++ b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
@@ -80,8 +80,12 @@ public class KubernetesMembershipProvider extends CloudMembershipProvider {
             if (saTokenFile == null) {
                 saTokenFile = "/var/run/secrets/kubernetes.io/serviceaccount/token";
             }
-            byte[] bytes = Files.readAllBytes(FileSystems.getDefault().getPath(saTokenFile));
-            streamProvider = new TokenStreamProvider(new String(bytes, StandardCharsets.US_ASCII), caCertFile);
+            try {
+                byte[] bytes = Files.readAllBytes(FileSystems.getDefault().getPath(saTokenFile));
+                streamProvider = new TokenStreamProvider(new String(bytes, StandardCharsets.US_ASCII), caCertFile);
+            } catch (IOException e) {
+                log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
+            }
         } else {
             if (protocol == null) {
                 protocol = "http";
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index cffca39..dcd6634 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -62,6 +62,16 @@
       </scode>
     </changelog>
   </subsection>
+  <subsection name="Cluster">
+    <changelog>
+      <fix>
+        Avoid failing Kubernetes membership (and preventing startup) if the
+        stream cannot be opened, to get the same behavior as the DNS based
+        membership. The namespace is still a failure on startup but it is easy
+        to provide. (remm)
+      </fix>
+    </changelog>
+  </subsection>
   <subsection name="Other">
     <changelog>
       <fix>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org