The Agony and the Ecstacy of OpenStack: This is how you die

Spleen Merchant

I have a confession to make: I’m horribly stupid, or horribly unlucky, or perhaps (probably) both.

I went to and after freshly installing the latest CentOS (and giving it a complete yum update) I started on the steps therein.

It’s effectively 3 commands! And at the end you’ll end up with your own little 1-computer “cloud”. Or so I thought.

I made it as far as step 4 in the Running an instance docs before things went Tango Uniform. But it’s no big deal: the docs are wrong in that they omit a number of necessary configuration options, but that’s OK.

Sure, the error message is completely byzantine and meaningless to anyone who is not intimately familiar with OpenStack internals; but this is the cloud. You have to understand the minute implementation details of literally every byte crossing the delicate silicon cores of your machine.

(If you’re curious, the answer is the Fedora image referenced in the docs has to be spun up w/ a size larger than m1/tiny.)

Anyway this is far better than what would have been here, had I written this blog entry 3 months ago: getting images to spin up took edits of tons of files. For fun, check the Wayback Machine entry. The docs are still wrong, but at least the underlying platform isn’t shipping completely broken.

Eight Times Over Miss October

So now we’re far, far ahead of where we were: VM images can be downloaded off the web and started with a single click! No more tedious editing: that was the equivalent of selling a car that defaulted to leaded gasoline then telling the hapless owner to take it immediately to the mechanic so it can be converted to unleaded.

Networking doesn’t work, of course. The default configuration (via the `packstack –allinone` command you ran earlier) doesn’t work. I’ve tried it with so many configurations I can’t even remember: I recently threw away a moleskine full of notes because they were all contradictory, confusing, and probably meaningless.

What I know is that nothing works, and it’s got me so angry I can’t see straight.

Oh, sure, there’s lots of people out there who have operating OpenStack clusters. At least I assume so: I mean, our company has one at one of our offices. As far as I know we aren’t using it in a production capacity – a way to make money delivering goods and services to our paying customers – but we have one that boots and starts VMs and so on.

I don’t know anyone that has that, other than Rackspace proper. I do know lots of people spending huge amounts of effort trying to get this working.

But the “quick start” doesn’t even work; but like I said, I’m not very lucky and definitely not very smart. I’m sure lots of people have gotten it to work out of the box. All those posts here and here from people who can’t get a basic installation spun up are probably just doing insane things.

I just took a machine I’ve run Linux (and virtualization!) on for years, and tried to run the 4 commands the vendor told me would work. It doesn’t work, but I’m not very smart.

Electric Worry

People who think “cloud” isn’t here to stay, or that virtualization and clustering platforms like AWS and OpenStack and VMWare are some sort of fad, are way more stupid than I am. Look, it’s a thing.

It’s hard to look at platforms like OpenStack and not immediately say “this is a load of fetid dingo kidneys”, because industry heavyweights like Amazon have made cloud and virtualization and so on so fucking effortless.

Also yeah I just said Amazon, the book store guys, are an “industry heavyweight”. We live in a strange world.

Anyway everyone’s living in the shadow of AWS and so it’s hard to remember how many people sweated bullets to get us here.

That said: I mean this page has 2 entirely different command sets to do something, provides no indication which command to use (no “Am I running on nova-network?” or an even a hint to figure out just what you are using), and in any event typing in those exact commands doesn’t work anyway. I know this because I set up a machine to exactly mimic the setup in the docs, assuming that I was stupid and couldn’t transpose my network details in the command. It doesn’t work, but that’s probably my fault. I’m pretty stupid.

Pure Rock Fury

Before you say “The RDO spin is horrible! Use Ubuntu!” let me make a quick point. We work in the government and military spheres, and the only Linux you can really use is Red Hat (or CentOS), period, full stop, end of discussion.

(If you’re not sure what “end of discussion” means, then you’re one of those people who post on Hacker News are are irredeemably more stupid than me. Go post there if you have theories and ideas, so I can most efficiently ignore them.)

Our customers have interest in cloud and virtualization, thus my interest in RDO and making it work.

Moreover, since I’m very unlucky and probably very stupid, I don’t want to be the sole Subject Matter Expert on the topic of OpenStack. So using the platform everyone in the building is familiar with – RHEL and CentOS – just about everyone can pitch in and contribute. Which is useful, because I’m unlucky and probably very stupid.

Mice and Gods

I just wish it worked, and I don’t understand how and why it doesn’t, and I’m running out of energy to keep fighting it. But I can’t ever stop: The Powers That Be want it, and like I said if you think this isn’t the future, you’re nuts. So I have to keep fighting despite any indication that any of this will ever work in the way we want to.

Thanks for listening.

Switching to Amazon Cloud Player

I’ve been using iTunes Match since beta, and I’ve mostly been happy with it. That is, until sometime around the most recent iTunes update cycle, when it started to become moody: flaky and unreliable on some days, fine on others. 

Taking this as a sign that it’s time to start putting effort into getting off the iTunes ecosystem, I have started using Amazon Cloud Player. 

The Good:

First and foremost, so far the best thing about it is it always works. I have not yet encountered flakiness, strangely disappearing songs that were in the playlist yesterday, interminable day-long application stalling, songs that simply refuse to download, songs that simply stop playing halfway through and then won’t play at all, or any other general weirdness. The experience is as close to perfect as our computers allow. Upload a song, and it’s there, all the time, as long as Amazon itself is up. Since that is the primary purpose of these music-in-the-cloud services, I have to say Cloud Player is pretty great.

Device support is good. The recently released iPad app is snappy and easy to use, as is the iPhone app. I don’t have Android but I assume that it’s just as good, esp. given that they sell an Android device. As far as I know, it doesn’t support Roku or other TV devices, but here’s hoping one day it will (especially since e.g. Roku supports Amazon Video; obviously you can’t stream on AppleTV.)

Although hardly a seamless experience, you can continue to use iTunes (or whatever) to play music you buy and download from Amazon. Basically: buy digital on Amazon, and configure your browser to automatically download and import music. Said music will appear automagically on your Cloud Player. This gives you a pretty good best-of-both-worlds experience.

The cloud player is 99% pure HTML, so it performs very well. I run an instance in Fluid and it uses barely a pretty average amount of CPU.

The Less than Good:

The experience is what you might call “bare bones”. If you can’t live without smart playlists and ratings, not to mention pervasive drag-and-drop, Cloud Player probably isn’t for you. Other than the device apps there is no iTunes analog; the player is entirely web-based. The Mozilla-based Songbird player seems a natural fit in terms of technology – it even has a plugin to browse the Amazon MP3 store. I assume Amazon wants to avoid the business of software, since it produces very little in the way of desktop apps, so that’s just my blue-sky dream.

Speaking of desktop apps, the uploader uses the execrable AIR, so it’s horrible on lots of platforms. It stalls, sputters, lies, and generally makes a mess of things. If you have a truly immense library fixing things might take a while; but the most common screw-ups are easily fixed with just a few clicks, and like I said, once they’re fixed they tend to stay fixed.

The match feature made a few mistakes, but so did iTunes, so that’s a wash.

About a third of the default presentation of the player UI is devoted to ads, cross-sell for the currently playing song/album/artist. You can make it go away with a little jQuery magic if it bugs you.

The Bottom Line:

If you need to escape the iTunes ecosystem, Cloud Player is a viable option, provided you properly calibrate your expectations.