Wrappers around etcd for ease of integration into Project Clearwater
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
build-infra @ b4a39c4
clearwater-cluster-manager.root
clearwater-config-manager.root
clearwater-etcd
clearwater-queue-manager.root
common @ 0752ffe
debian
docs Add etcd_version plumbing May 10, 2017
src
.coveragerc
.gitignore
.gitmodules
COPYING
Makefile Allow SAS migration (#575) Mar 16, 2018
README.md Correct version number in etcd readme Oct 11, 2017
cluster_mgr-requirements.txt
cluster_mgr_setup.py
config_mgr-requirements.txt
config_mgr_setup.py
fv-requirements.txt
fvtest_setup.py
plugins_setup.py
queue_mgr-requirements.txt Fix python packaging Sep 11, 2017
queue_mgr_setup.py
requirements-test.txt
shared-requirements.txt
shared_setup.py

README.md

clearwater-etcd

This package contains packaging wrappers around etcd that allow for easy installation, clustering and management of an etcd cluster.

Configuration

Configuration for the clearwater-etcd cluster is done through the standard /etc/clearwater/local_config file, the following values must be provided:

  • etcd_cluster - See below
  • local_ip - The local IP address

You can also provide a etcd_key value. This controls what key is used to store the clustering and configuration values in etcd. It defaults to clearwater if it isn't set.

Creating a Cluster

clearwater-etcd forms a cluster across your nodes to allow configuration to be easily shared. Most of the extra function added by the clearwater-etcd wrapper is to simplify the management of the cluster. The operations that can be performed are:

  • Create a new cluster
  • Join an existing cluster
  • Decommission a node (remove it permanently from the cluster)

Create a Cluster

Creating a cluster is as easy as determining the list of nodes that will be in the cluster and populating the etcd_cluster configuration parameter with the comma-separated list of nodes:

etcd_cluster=10.0.0.1,10.0.0.2,10.0.0.3

When you now install clearwater-etcd on each of these nodes, the cluster will automatically form.

Join an Existing Cluster

Joining an existing cluster requires determining the list of nodes that are currently in the cluster and providing that list in the etcd_cluster. Note that the newly added node MUST NOT be included in this list (otherwise we'll attempt to form the cluster from scratch).

Decommissioning

To decommission a node run sudo service clearwater-etcd decommission which will gracefully remove the local node, stop the local etcd service and destroy the node's state. At this point, the etcd service can be re-attached to that (or another) etcd cluster by updating etcd_cluster and starting the clearwater-etcd service.

etcd sources