-
Notifications
You must be signed in to change notification settings - Fork 32
MyVariant.info deployment notes
- old ES cluster: <myvariant_current>
- new ES cluster: <myvariant_new>
-
Take snapshot of new ES index from dev ES.
-
Start a new data node, change to the new cluster name, and restore snapshot from S3.
-
Enable master and http on this new data node.
-
Point a dev server to use new ES index, and run nose tests to make sure everything passes.
-
Do these steps on one web node (prefer not spot instance):
- take it out of LB
- stop ES, upgrade ES if needed
- change ES cluster name to new cluster name
- restart ES to let this web node to join the new ES cluster
- run nose tests on this web node, make sure everything passes
- add this web node back to LB
-
Take out of the rest of web nodes from LB, and make above changes on one of web nodes, and add it back to LB
-
Create a new ami from a web node, and create new web node spot requests.
-
Once all new spot instances fulfilled, terminate all old SP web nodes and SP requests.
-
Do these steps on all master nodes:
- stop ES, upgrade ES if needed
- change ES cluster name to new cluster name
- restart ES to let them join the new ES cluster
-
Make new data node SP requests:
- Take one SP data node, stop ES.
- update ES if needed.
- change ES cluster name to the new cluster name.
- clean up the /data/es_logs and /data/es_data folders.
- Make a new AMI, and create new data node spot requests.
-
When all new SP data nodes fulfilled, terminate all the new data nodes and SP requests.
-
As the fallback from this upgrade, we can stop the old data node and keep it for at least a week or so. In case of new cluster failure, we can enable master and http on this old data node as the fallback.