Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a few ideas for cloud apps that I want to play with, and I don't want to pay for Amazon AWS or anything like that. Also, I don't want my projects to be in any way exposed to the general Internet while they're still half-baked.

Here's what I have to work with:

  • 1 quad-core machine that acts as a file server, DHCP server, and DNS server. I am OK with letting MAAS handle DHCP and DNS on my network. I am NOT OK with reinstalling the OS in a special configuration.
  • 1 quad-core machine that can be freely reinstalled or whatever.

So far, I've installed MAAS on the first machine (although it seems I'm getting bitten by bug #1067929 still, despite my use of the workaround), added the second machine as a node, and (apparenlty) commissioned it. MAAS lists the status of the second machine as "Allocated to root" (root being my MAAS user). Juju, however, obstinately refuses to do anything. Running it from my laptop ended in failure because apparently it can't handle MAAS with an HTTPS URL. Running it on the first machine using HTTP gets further, but bootstrapping fails because "No matching node is available." Research suggests that Juju needs at minimum 2 actual, physical machines, but I have yet to see an adequate explanation of why.

(I have to say, I'm rather intrigued by MAAS. With a bit more work (especially in QA), it looks like it could be the centralized machine management platform I've been looking for.)

So, now I find myself looking at DevStack. I can't say I'm particularly thrilled by the idea of downloading some script off GitHub and running it as root, but that seems to be the least painful path. Is DevStack really the way to go? Does it work with Ubuntu 12.10? Does it handle routing and DNS automatically? (I would rather not have to fiddle with bind9 configuration files every time I create a new cloud VM, and I would rather not have to fiddle with iptables at all.)

share|improve this question

From my experience (I've done OpenStack installations using Dodai-deploy, manually and development DevStack setups), DevStack is the best way to go if you primarily want to center around something non-production - testing, development. All the other methods (including Juju+MaaS from what I've poked around) are still hard to deploy and there are too many knobs to be fiddled with until you get things operating. Don't get yourself caught in them if you don't have to.

If you're worried about security, my advice is to create a Virtualbox image with 4 cores on top of the hardware you've got and install DevStack in it (a short guide - not very different than a normal devstack installation). You can do this in a couple of hours. It's a cloud within a "cloud", but that's not a big problem (apart from speed) - accepting all the default settings gives you VMs which can reach each other and the internet, which is all that's important. As far as I remember I installed it in a 12.10 image and it worked fine. You're right about being reluctant to install everything on a physical machine if you use it for any other purposes. Also, with VMs you have the extra benefits of snapshotting them and reverting back in case you mess something up.

Alternatively, to achieve a level of sandboxing you can try Juju + Linux containers (LXCs) or maybe LXCs + devstack and I heard people had good experience with LXCs, but I haven't tried them myself.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.