Rolling upgrade Elasticsearch, Couchbase, and CouchDB

By Pieter Vogelaar 8 December 2017

For a client we automated the patching process of Linux operating systems and middleware. We created a python action for that in StackStorm. The script retrieved all servers from the CMDB and patched per data center.

Non cluster hosts parallel

All non cluster hosts where patched in parallel with the Python ParallelSSHClient.

Cluster hosts rolling upgrade

For hosts in a cluster it’s a bit harder. The minimum amount of nodes in a cluster is most of the time 3 and only one node can be down without downtime of the cluster. So a rolling upgrade is required, patching one node at a time. Only start patching if the cluster status is healthy. After patching a node, only continue with the next node if the cluster is completely healthy again.

We created standalone upgrade scripts written in Python for:


Elasticsearch rolling upgrade



Couchbase rolling upgrade



CouchDB rolling upgrade

Are you looking for a partner with this expertise for your project?
Vogelaar Solutions helps organizations with DevOps, platform engineering, and web development. Contact us for a consultation without obligation.