# Automated cluster rolling restart and upgade

**URL:** <https://discuss.elastic.co/t/automated-cluster-rolling-restart-and-upgade/29074>\
**Category:** Elasticsearch\
**Created:** [September 10, 2015, 9:25pm UTC](https://discuss.elastic.co/t/automated-cluster-rolling-restart-and-upgade/29074 "2015-09-10T21:25:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![trevorj](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/trevorj/32/4711_2.png) [@trevorj](https://discuss.elastic.co/u/trevorj)\
**Post date:** [September 10, 2015, 9:25pm UTC](https://discuss.elastic.co/t/automated-cluster-rolling-restart-and-upgade/29074/1 "2015-09-10T21:25:58Z")

</div>

It gets rather sickening to do these by hand, especially for large clusters, so I wrote a package to handle performing rolling restarts and upgrades for you. Thought I'd drop a link to it here in case it could help anyone out.

We use Salt to deploy our clusters, so this is somewhat attached to that for now, ie it's how we restart the service after hitting the shutdown API. That said, it's very easy to modify it to add in a different method.

Github is here (also on PyPi): [https://github.com/vertical-knowledge/rollastic](https://github.com/vertical-knowledge/rollastic)

Ty!  
Trevor

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [September 11, 2015, 7:00am UTC](https://discuss.elastic.co/t/automated-cluster-rolling-restart-and-upgade/29074/2 "2015-09-11T07:00:41Z")

</div>

Nice, thanks for sharing 🙂

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:50pm UTC](https://discuss.elastic.co/t/automated-cluster-rolling-restart-and-upgade/29074/3 "2017-07-05T23:50:56Z")

</div>


