OpenStack is weird.
In past professional lives, when I've taken on projects bigger than myself, I've always had to learn to make peace where there was conflict, and drive past all of the fun houses and arcades to get to an even better, happier, cleaner place at the end of that long dark road. But OpenStack makes that weird because sometimes you literally end up in arcades and fun houses.
Take Robot Restaurant. Why wouldn't you put a tourist-aimed show highlighting robots, manga, and taiko drums in a basement in the middle of the red light district? Same question, why not post to a thread about experimental scheduler rewrites? Like the show, these threads are just a never ending sequence of retorts, with the tanks defeating the panda, and the giant snake defeating the tanks, and the giant laser robot dragon defeating the snake, and then robot ballet, and eventually you forget that the point of this was to save nature and instead you just want MORE DRAGONS. Whatever the point of this, once you escape it, you realize that while that idea may have been on the road to the end goal of scaling OpenStack up and out, it probably wasn't the next step. And beside that, we haven't even gotten to the summit yet!
OpenStack is weird, because a lot of the time you read the code, you think you know what it means, and then you have a conversation whilst walking by a Koi pond, and it shatters what you thought you knew.
For instance, I had always assumed that cells were in fact just sharding the control plane for the sake of scaling out the control plane. But whilst strolling past Shinto shrines in the hotel garden in Tokyo, John Garbutt explained to me that cells are so much more. They also are about scaling at the rate that current cells users like to scale their business. The whole control plane that goes along with that scaling unit is just a handy layer around new servers which has some nice aspects like being able to test this new gaggle of servers a bit before throwing the wild and crazy users onto it. This helps me understand why single cells were never pushed beyond a few hundred servers worth of scale now. It also makes me want to double-down my efforts to scale cells up quite a bit, as some of us would like to scale our business in smaller and larger batches. Inner peace achieved.
Also, sometimes you think "well certainly people will have just accepted the JVM as their RAM's eventual keeper", and then you find out that there are entire ops departments that flatly refuse to support Java in any way, and if you asked them to run Zookeeper (a java based distributed lock manager++) to help coordinate your python based OpenStack services, they'd probably start looking for a new way to run a cloud. Point one for consul.io and abstractions like tooz that will let us experiment and run other things written in the new crop of languages which I like to call "notjava". This isn't a fun house on the way to scaling, this is the arcade. This arcade is similar to the one we wandered into in Shinjuku, where there are many, many old boring looking games that we've all played before, are still fun, and actually work great, and a few new shiny games that look fantastic, but are supremely crappy and mostly just take your money. My advice: either play street fighter (Zookeeper), or rock that new Taiko drum thing (Consul).Whatever you do, make sure you're doing it because it gets you out of that arcade as soon as possible. You're not making a distributed lock thing, you're making an OpenStack!
And after wandering around all of these fascinating places, and sampling all of these grand ideas, one realizes that all you really want is something fresh and new that hasn't been sitting around getting older. So instead of chatting into the wee hours over Yoichi Whiskey and so many bottles of sake, you turn in early, wake up at 0600, and wander alone into the fish market for sushi breakfast. And there, you realize that you do not need to wait for others in OpenStack. Certainly, tell them where you're going, and why you're going to bed early and doing things that might confuse them. And if they ask to come, be polite and offer them a way to join you. But ultimately, get your sushi. Enjoy your fresh ideas, and enjoy implementing them. Sure, you might wander into the wrong subway station, take 3 stops in the wrong direction, even drop a receipt, shaming your entire nationality when you force a thoughtful Japanese person to pick it up and inform you of your transgression politely. But ultimately, you will find your sushi, and as a result, your belly will be full, and commerce will continue, whether you participate or not.