Build a Basic Developer’s Cloud Using TripleO

pygrunnThis is the talk I’m giving today at PyCon Sweden and this Friday at PyGrunn. The slides are available on slideshare.net and speakerdeck.com.

ONE
There’s a little confusion on the schedule and the title of this talk is presented two different ways. The original title of this speech was “Build a Private Developer’s Cloud Using RDO Manager” and this is what ended up on the printed schedule, because that’s what I submitted months ago. But shortly after I submitted, the project changed titles from RDO Manager to TripleO to reflect the upstream project name.

TWO
So the actual title of the talk is “Build a Private Developer’s Cloud Using TripleO”.

Which is an equally boring title.

I’m thinking something even better is “Gimme a Cloud, RDO”.

pygrunn3

THREE
Quick, quick, bust out your phones / tablets / laptops and take a picture! While I’m giving my talk, I would love love love if you give comments / questions / snarky remarks to @rainsdance @RDOcommunity #TripleO – I will reply to every single one of you. If I finish on time, I will take questions, of course, but this makes sure that I get your questions and introduces an element of interactivity that psychologists assure me means you’ll find me more interesting.

FOUR
Today’s agenda is in four parts. What is OpenStack? Which is an incredibly daunting question to tackle in less than thirty minutes, but this is a very high level overview you’ll need to get an idea of where RDO and TripleO fit in the grand scheme of things. And speaking of RDO, what is that? Rain’s Dynamic OpenStack, of course. Obviously. TryStack and PackStack and TripleO, OH MY! These are the three ways to get your own RDO cloud and I’ll introduce (with an emphasis on “introduce”) you to all three. And finally TripleO QuickStart which is the specific project I am currently working on and how awesome it is, but we have some amazing problems that we would love you to think about and come contribute to, so let’s get started.

FIVE
Who knows what cloud computing is? Who knows what OpenStack is? Who knows what RDO is? IMPRESSIVE! Cause EVERYONE RAISED THEIR HAND.

IN MY MIND.

(Are you talking to me on social media? This makes a really good picture, too, eh?)

SIX
As we already mentioned, my name is Rain, I am an RDO TripleO developer evangelist with Red Hat. I have been an OpenStack active technical contributor since the latest release of OpenStack which is called Mitaka – this sounds impressive, but actually means I’m very new to the project. When I say I’m an ATC, I mean I’ve worked on the docs and done LOTS OF TESTING because when you’re first ramping up on a new project, these are great first steps.

I am @rainsdance on twitter and facebook and lots of other places, but on Freenode IRC, on channels #rdo and #tripleo, I’m leanderthal and if you have any questions when you’re trying out your very own developer’s cloud, your very own RDO cloud, come find me on Freenode and we can have a chat.

YES THAT’S MY ACTUAL EMAIL ADDRESS.

If you can’t find me anywhere, email me. My job is to advocate for developers within the RDO and OpenStack communities and you guys are my PEEPS!

(Not the marshmallows, the crew.)

SEVEN
What is OpenStack? Here is the marketing version with the compute, networking, and storage (which is actually more than three projects) indicated. And the dashboard, Horizon, is over there. It’s very pretty. Very simple.

Very soothing.

EIGHT
But this is the reality. There are tons of projects – keystone about identity and rabbitmq about communication between all the factors and resources. TripleO isn’t even on here because it’s an installer and deployment project, not one of the main projects and if we had a picture with absolutely every project and interaction, it wouldn’t fit on a slide, but someone should really make that happen.

HINT HINT.

What you need to know about OpenStack is that it is an open source umbrella project over several smaller projects for creating private and public clouds.

And most of it is written in python.

NINE
Then what is RDO? Think of it as the same as OpenStack, an open source umbrella project over several smaller projects for creating private and public clouds, except it’s packaged for Red Hat Enterprise Linux and CentOS and Scientific Linux and any other distribution that uses RPM.

trystack

TEN
There are three ways to sample RDO, depending on your goals and environment and commitment. TryStack and PackStack and TripleO (OH MY!) are the three methods and I’ll go over each now at a higher level.

TryStack is if you don’t want to install anything, you don’t want to commit hardware or brain time to the installation process, you just want to get developing, to experiment with your application on the cloud, test how it performs, get right to the fun stuff of devops, but, since it’s not yours, you are slightly limited to what you can do. You only get one floating IP address per instance. Since many people are sharing this resource at once, it’s sometimes slower than you’d expect.

If you’re interested in deep diving about TryStack, I highly recommend Will Foster’s and Kambiz Aghaiepour’s recent talk at OpenStack Summit Austin.

I highly recommend PackStack IF you’d like a quick proof of concept for an all in one spin up. All virtual systems. No high availability. I highly recommend not using this (or TryStack) in production, but there are massive companies who have done so and this works for them; CERN has tweaked it so that it IS HA and fits their needs and so they’re running with PackStack and that’s kickass awesome, but it’s not necessarily why it was built.

No judgement.

TripleO is OpenStack on OpenStack. This was done for a few reasons – to address cruft, to match resources, and for simplicity.

Imagine that you are someone who wants to rent out clouds. Some companies already do this, but they have written their own scripts and dedicated separate resources to the installation and deployment and maintenance of those separate private clouds. We wanted to make an installer that allowed you to do this without having to learn new skills, without having to dedicate additional resources and brain time to a separate console.

TripleO is that project.

The TripleO UI is a GUI interface that an administrator uses on the main cloud, in the project we call it the undercloud, to deploy, maintain, and monitor other instances of OpenStack. Have you heard the recursive joke about turtles?

“Turtles all the way down” is a jocular expression of the infinite regress problem in cosmology posed by the “unmoved mover” paradox.

The metaphor in the anecdote represents a popular notion of the theory that Earth is actually flat and is supported on the back of a World Turtle, which itself is propped up by a chain of larger and larger turtles.

Questioning what the final turtle might be standing on, the anecdote humorously concludes that it is “turtles all the way down”.

And that’s how I think of TripleO, an installer that uses OpenStack to spin up OpenStack.

It’s OpenStack all the way down.

Now this doesn’t just have to be for someone who wants to rent out clouds. This could be for a company that wanted to maintain several clouds, using a single cloud or for someone who wanted to use a development cloud before pushing applications to a production cloud. I’m sure there are other use cases out there.

ELEVEN
To sample TryStack, you just have to write this simple bit of python code or run it from the python console:

import webbrowser

webbrowser.open('http://trystack.org/')

TWELVE
Or, you could just navigate to trystack.org in your favorite browser. Right now, to use TryStack, you need to join our FaceBook group because this was the original solution for maintaining many users when the project started – it’s a project with many many many companies contributing their resources to make it happen, we are migrating away from FaceBook. For now, though, if you want to use TryStack, join the FaceBook group.

THIRTEEN
For PackStack, Red Hat Enterprise Linux (RHEL) 7 is the minimum recommended version, or the equivalent version of one of the RHEL-based Linux distributions such as CentOS, Scientific Linux, and so on. x86_64 is currently the only supported architecture.

Name the host with a fully qualified domain name rather than a short-form name to avoid DNS issues with Packstack.

The machine must have at least 4GB RAM, preferably 6GB RAM, have processors with hardware virtualization extensions, and at least one network adapter.

And if you plan on having external network access to the server and instances, this is a good moment to properly configure your network settings. A static IP address to your network card, and disabling NetworkManager are good ideas. If you are planing on something fancier, read the document on advanced networking before proceeding.

FOURTEEN
For TripleO, you will need a host machine (referred to as $VIRTHOST) with at least 16GB of RAM, preferably 32GB, and you must be able to ssh to the $VIRTHOST machine as root without a password from the machine running Ansible. The $VIRTHOST machine must be running a recent Red Hat-based Linux distribution (such as CentOS 7 or RHEL 7, but only CentOS 7 is currently tested).

And this is TripleO QuickStart!

Right now if you go to the documentation for TripleO, you can set it so that it’s hardware specific, but it’s still pages and pages of opportunities for typos within bash and this can be intimidating and frustrating for someone new to cloud computing, so we’re working on making it simpler, only four lines of code instead of pages.

And we’re listening to feedback from people trying it out – someone would like it to be entirely GUI / clicky clicky so you only have to know one line of code in bash or even LESS, just download the package, double click and run the user interface, but we need contributors like you.

Yes, this is a shake down.

I’ve got you here as a captive audience and I challenge YOU, yes, YOU, to become an active technical contributor to the RDO project by using TryStack, PackStack, and especially TripleO quickstart to test it and give us feedback. Of course, if you’d like to send money, I’m happy to give you my bank details, but we really would like testers and writers, designers and DEVELOPERS to help make this project the best project it can be.

FIFTEEN
This is the boring informational slide, yes, because you MIGHT POSSIBLE run into issues. It MIGHT NOT RUN PERFECTLY.

Shocking, I know, but just in case, here are resources for you and, as I said in an earlier slide, you can find me on freenode or email me directly and I am here for you. Didn’t take a picture?

WELL, IT’S TOO LATE NOW!

SIXTEEN
Thank you very much and now is the time for questions unless I was cut off in which case it is time to enjoy the rest of the conference!

Share this nice post: