I've written about deploying devstack before in Contributing OpenStack Support to jclouds. That post covered running devstack locally in VirtualBox. I've been using that method for a while now but with a devstack env in VirtualBox, a jclouds dev env, browser, chat client, mail client, etc. etc. etc. all running on the same laptop it gets bogged down. I'm pretty sure I heard gears grinding and smoke was pouring out of the laptop at one point. I just don't have the cores, RAM, and RPMs to run everything smoothly and you need smoothly or development starts to suck.
The biggest draw on resources is VirtualBox so it's long past time to move that devstack VM to the cloud! Naturally I'm going to deploy on the Rackspace open cloud. It turns out this is significantly simpler/easier to do than deploying on VirtualBox.
- If you don't have one already, Sign Up for an open cloud account
- Go to the Cloud Control Panel
- Click Create Server
- Name: devstack-folsom
- Image: Ubuntu 12.04 LTS
- Size: 4GB RAM (you could probably get away with 2 GB)
- Click Create Server and note the password and IPv4 address (when it appears)
- When your server is Active, switch to a Terminal and run the following commands:
- When devstack is done you can point your browser, OpenStack clients, and jclouds dev env all at
- When you're done with your development/testing you can delete the server to save money and just start fresh next time
The next obvious thing to do is to automate the whole process above. I haven't decided whether to do my own custom script or dive into something like CloudEnvy. Either way it needs to be automated but it's always good to have the manual process documented to fall back on and understand everything end to end.
As you can see there are far fewer steps to creating a devstack env like this than on VirtualBox. There's much less fiddling around with networking too. The big benefit for me though was the immediate increase in speed for the rest of my development tools on laptop.