I wanted to write a blog post about something that I assume other people might be struggling with when deploying applications to EC2. Specifically how do I tell my deployment scripts (fabric in my case) to wait until puppet has finished before moving on to actually deploying my application.
I’m currently in the process of writing automation to deploy replica sets of mongodb to the cloud with a single command. When attaching my EBS volumes I noticed that I was regularly getting an error that stated: mdadm: cannot open /dev/xvdf: Device or resource busy
I was tasked with the job of assisting my company with the operationalization of emerging technologies such as mongodb. Specifically how we can automate many of the manual steps involved with upgrades, backup and recovery and even deployment. Today, I want to talk about how to handle rolling upgrades of mongodb with fabric and puppet.