GitHub user nicolaferraro opened a pull request:

    CAMEL-11331: Kubernetes Cluster Service

    I'm adding a new Camel Cluster Service based on the fabric8-master 
    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 CAMEL-11331-v4

Alternatively you can review and apply these changes as the patch at:

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 <>
Date:   2017-06-30T15:42:33Z

    CAMEL-11331: Implemented KubernetesClusterService

commit f9e5f450e6d7fe0532430b68c3ee1d9d7e2f8728
Author: Nicola Ferraro <>
Date:   2017-07-07T15:05:31Z

    CAMEL-11331: Lease based implementation of Kubernetes lock

commit c8f5fe298aa3aeb61adb1ee8e8dcbc4bbc30b38b
Author: Nicola Ferraro <>
Date:   2017-07-07T15:18:05Z

    CAMEL-11331: Adding clarifications to the leader interface and fix impl

commit 4ba197660b0dbcaac72d1b41b3dd6a62b663b2d9
Author: Nicola Ferraro <>
Date:   2017-07-14T09:21:50Z

    CAMEL-11331: Adding tests and fixing impl

commit caa1b7c11e1ddfa244137ae76bf14f6cc1689dab
Author: Nicola Ferraro <>
Date:   2017-07-19T13:24:48Z

    CAMEL-11331: Adjusted log level

commit 21d16f76ac8cbefb9e958b9b770f6877ee04f6e4
Author: Nicola Ferraro <>
Date:   2017-07-19T14:34:51Z

    CAMEL-11331: Removed unnecessary change in leadership for followers

commit 930fcee08f8996051166b9ee013fca9fef3d7d01
Author: Nicola Ferraro <>
Date:   2017-07-31T15:17:34Z

    CAMEL-11331: Clock-drift-free version of the protocol

commit cc19aa24b9c992fc690114f39ea2ad564c1170fa
Author: Nicola Ferraro <>
Date:   2017-07-31T15:40:53Z

    CAMEL-11331: Speeding up default config

commit 90f622d3b72e56d8342063d26f269e630860da04
Author: Nicola Ferraro <>
Date:   2017-07-31T15:56:08Z

    CAMEL-11331: Fixed logging and avoid unnecessary wait

commit 101dadbc0f1a59181615fd2b7dd4fd76992d7037
Author: Nicola Ferraro <>
Date:   2017-08-01T08:30:26Z

    CAMEL-11331: Added better logging and upgrade library

commit 5e2f1d579dfd6d23eeff2e8aeb4790b8edc2a881
Author: Nicola Ferraro <>
Date:   2017-08-08T10:05:59Z

    CAMEL-11331: Adding connection timeout as parameter (auto-computed)

commit 9b829f29c8265a5561a4b373a8199d5d1a0c48d1
Author: Nicola Ferraro <>
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 or file a JIRA ticket
with INFRA.

Reply via email to