GitHub user nicolaferraro opened a pull request: https://github.com/apache/camel/pull/1877
CAMEL-11331: Kubernetes Cluster Service I'm adding a new Camel Cluster Service based on the fabric8-master component. I've changed a bit the algorithm to take into account many possible scenario that can happen in a Kubernetes/Openshift cluster, e.g.: - Not using websocket-based watches because they are unreliable in case of network instability - Adding lease time to shut down automatically routes in pods that are isolated because of network partitions - Using a proper lock mechanism when updating the shared configmap to avoid having multiple leaders at the same time I've done some changes and refactored the default configuration in order to use the "current cluster" when no master URL is provided. This should have no effect in normal route endpoints since the master URL is mandatory. The cluster service can work oob without special configuration (just create a new instance and add to the Camel context). Running it on Openshift require "edit" privileges on the ServiceAccount that is running the pod. I've added examples and tests for common failure scenarios. Can you have a look @oscerd and @lburgazzoli? You can merge this pull request into a Git repository by running: $ git pull https://github.com/nicolaferraro/camel CAMEL-11331-v4 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/camel/pull/1877.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1877 ---- commit 43265d2a39b916f98d6fe96335ac8b56a9e3f4fc Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-06-30T15:42:33Z CAMEL-11331: Implemented KubernetesClusterService commit f9e5f450e6d7fe0532430b68c3ee1d9d7e2f8728 Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-07-07T15:05:31Z CAMEL-11331: Lease based implementation of Kubernetes lock commit c8f5fe298aa3aeb61adb1ee8e8dcbc4bbc30b38b Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-07-07T15:18:05Z CAMEL-11331: Adding clarifications to the leader interface and fix impl commit 4ba197660b0dbcaac72d1b41b3dd6a62b663b2d9 Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-07-14T09:21:50Z CAMEL-11331: Adding tests and fixing impl commit caa1b7c11e1ddfa244137ae76bf14f6cc1689dab Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-07-19T13:24:48Z CAMEL-11331: Adjusted log level commit 21d16f76ac8cbefb9e958b9b770f6877ee04f6e4 Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-07-19T14:34:51Z CAMEL-11331: Removed unnecessary change in leadership for followers commit 930fcee08f8996051166b9ee013fca9fef3d7d01 Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-07-31T15:17:34Z CAMEL-11331: Clock-drift-free version of the protocol commit cc19aa24b9c992fc690114f39ea2ad564c1170fa Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-07-31T15:40:53Z CAMEL-11331: Speeding up default config commit 90f622d3b72e56d8342063d26f269e630860da04 Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-07-31T15:56:08Z CAMEL-11331: Fixed logging and avoid unnecessary wait commit 101dadbc0f1a59181615fd2b7dd4fd76992d7037 Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-08-01T08:30:26Z CAMEL-11331: Added better logging and upgrade library commit 5e2f1d579dfd6d23eeff2e8aeb4790b8edc2a881 Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-08-08T10:05:59Z CAMEL-11331: Adding connection timeout as parameter (auto-computed) commit 9b829f29c8265a5561a4b373a8199d5d1a0c48d1 Author: Nicola Ferraro <ni.ferr...@gmail.com> Date: 2017-08-08T10:40:24Z CAMEL-11331: Fix doc ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---