 Good morning. How many of you are new to OpenStack? Awesome. How many of you are from the Asia Pacific region? They're all on that side and back there. United States, Europe, Australia. The one long guy over there. My name is Nikki Acosta. Welcome to Getting Started with OpenStack. We try to make a habit of doing this every year because we want all the new people coming in to feel comfortable and have a good foundation for the rest of the summit. My name is Nikki Acosta. I'm a Cloud Evangelista at Rackspace. I'm joined today by my awesome co-presenters. You guys want to introduce yourselves? I'm Dan Radies. I'm with Red Hat. My name is Kenneth Hoy. I'm with Rackspace. Welcome, Nikki. We actually all submitted the same topic, so they decided to combine our stuff together. You'll get some good perspectives here from Rackspace and Red Hat and just some general great community information as well. So, a little bit about us. There's our Twitter names if you care to harass us on Twitter or IRC. If you guys want to write those down, we will definitely be happy to take your questions afterwards. We will also post these slides on SlideShare and share the link on Twitter if you want to take these slides with you after you leave today. Someone else is taking a photo. Get it? All right. So, I'm going to take you through a really brief history of OpenStack. Kind of show you some neat things that kind of kicked off OpenStack way before the foundation was ever created. Then we're going to turn it over to Dan to give you guys or kick off the RDO installation, and then Ken's going to go through some of the projects while that installs, and then we'll come back to the installation. So, story of OpenStack is really kind of neat. It all starts with Rackspace a few years ago, and a while back, five, six years ago, we acquired a company called Slicehost. How many of you have heard of Slicehost? A couple of you, right? So, it was basically a VPS provider of Linux distributions, so you could get a Linux virtual machine and pay by the hour. And it was hugely popular. We acquired that company, and we used that as a basis to launch our cloud servers offering at Rackspace. After that had been running for a while, we realized that there were features that were coming out in Amazon and customers were asking us for things that we couldn't do because we were limited to the technology set that we had acquired through Slicehost and stuff that we had added on to ourselves. So, we started looking around the market and we started looking at all kinds of solutions. Some of them were proprietary software solutions, others were open source solutions, and what we found was that there was nothing that would meet the scale that we needed to operate a large scale public cloud. And so, during that time, we started thinking about what we had in terms of our cloud files option, also known as OpenStack Swift. And we came up with this proposal, Jim Currie did, with this executive summary. This was the confidential deck that he presented internally at Rackspace. And basically, he had this idea of taking, much like Linux had done, taking the code that we had created for cloud servers and cloud files otherwise known as Nova and Swift, and making them open source so that the pace of innovation would accelerate dramatically through collaboration. And so, the same tenants that you see on the slide still hold true today, which is really awesome. During that time, we had also been working with NASA. So, NASA was working with us because they needed a large scale file system to be able to store all kinds of large files. These are, you know, satellite images. This is launch data. Just a ton of storage. And they wanted to do it in a very inexpensive and resilient way of commodity hardware. So, we said, hey, we know you guys have a prototype for Compute. We have object storage pretty well flushed out. What if we get together and we open source that? And so, this is the actual email that Jim Currie at Rackspace sent to Chris Kemp, who was the CTO of NASA at the time, to start OpenStack. And it said, Chris, I run a corporate development at Rackspace and I am very interested in talking with your team about Nebula. Confidentially, we're in the process of open sourcing our CloudStack and I'm interested in seeing if there might be some synergies or opportunities for the two projects to work together. Would it be possible to set up some time to discuss with your team thanks in advance? The answer was a resounding yes. That's a great idea. If you think about NASA, NASA creates all kinds of great technology, but they're not really in the business of turning that into products. You think about some of the stuff that's come out of NASA, things like Velcro, the ballpoint pen, Tempur-pedic foam, right? So they create some really great stuff. So we got together with NASA and there were quite a few people, about 30 people, including some people from Dell and some others, that met in Austin, Texas for the first OpenStack summit about three and a half years ago. And so these were some actual names and logos that came up during the process of trying to put a name around this thing we now call the OpenStack. So one of the names was Sangria, then there was Code Red, and then there was OpenStack, but with a stack of pancakes instead of the nice little O that you see today. So these are actually, I'm not joking, these are real true designs that came out. So little cool history just to give you some background on that. So after that, what happened is history and we now have a thriving community. Every major IT powerhouse today is contributing to OpenStack in some way, shape, or form. There's rumblings that some others are going to join here in the next few days, so you can prepare for some bigger announcements for some other companies, but just a really, really massive ecosystem. And I think the fact that most of you in this room or at least half of you in this room are new to OpenStack as a testament that it's peaking people's interests and it's definitely gaining traction all over the world, not just in the United States, but globally. So how does OpenStack work? For this, I'm going to turn it over to Dan, and he's going to do an installation of RDO, which is Red Hat's distribution of OpenStack, and he'll turn it over to Ken. Thanks. I'll take the clicker. How's that? So RDO is Red Hat's community distribution of OpenStack. It's the easiest way, if you want to try out OpenStack and run it on a Red Hat system to pull down the bits, get it installed, and get OpenStack up and running. If you're familiar with the way Fedora and Red Hat Enterprise Linux work, where we have a community project called Fedora that we pulled in all the Linux components and bits, and then package that and work with the community, and then we end up selling support on Red Hat Enterprise Linux. RDO and Red Hat OpenStack work the same way. So RDO is our community-supported version that you can pull down, you can use for free, but the support is all community-based. If you need an enterprise support on something, then we have Red Hat OpenStack, and that's hopefully a natural progression for you. So what I'm going to do on this laptop today right here is go from two Fedora 19 plane-jane installations of the operating system to a running OpenStack cloud installed right here. I had a slide to with the RDO logo that I didn't show you. So what I've got here are two VMs. One is the control machine. This is where your API services are going to run. This is where the database and the messaging lives. This is what the user connects to to interface with OpenStack. And then I've got a compute node, and the compute node is just the hypervisor. It's where the instances are going to run. RDO has an installer in it that we call PacStack. PacStack's really great because it's going to do a lot of configuration and set up an installation for us that is really complicated and really involved if you're just getting started with OpenStack. All of us at Red Hat and I imagine Rackspace too, you spend a lot of time just learning how to install OpenStack. And so PacStack kind of bridges that gap for you. It makes it really easy to get it installed so you can actually use OpenStack and try it out without having to spend so long trying to get everything set up initially. So if you go to the RDO website, which is OpenStack.RedHat.com, there's a QuickStart install there. And the QuickStart will get you set up with the YUM repositories on an existing machine. And then it's going to show you this command. So this is going to go out. This is going to install the PacStack installer for us. This is Fedora 19. And then once it's installed, there's multiple different ways that you can do installations with PacStack. You can look at the website, OpenStack.RedHat.com, to look at some of those other installation types. This one here, we're going to do an answer file installation. And the way that you would start this is to invoke PacStack and say gen answer file and give it a name. This is my answer file.text, let's say. And then when you edit this file, it gives you all kinds of configurations that you can go through. So yes, we want to install MySQL, we want to install Cinder and Glance, and all these are components that Ken's going to go through and introduce you to in a minute. So this file is big and long. There's lots of stuff inside of it. And what I've done is pre-configured one for us with our IP addresses and such. So I'm going to invoke PacStack now with my answer file, and I have a second one that I've pre-configured for us, PacStack.text. So you can see to create an answer file, use gen answer file, and then to actually do the installation, you say I'm going to use this answer file. So what this is going to go through is it uses puppet under the covers, and it's going to go through and generate all the puppet manifests and pull down the RPMs and install it to both of the machines. So my PacStack file has said it's going to interact with both of those machines, do the installation of the RPMs, do all the configuration, and when we get done, after Ken introduces some of the components and overview of what PacStack is installing right now, we're going to go back in and create users and add images and launch instances, and we're actually going to use this cloud that's running right here on my laptop. Ken? Thanks, Dan. Can you all hear me okay? Great. Dan's walking you through this. While the install is happening in the background, what I'm going to do is give you an extremely quick overview of what is actually inside the guts of OpenStack. So first of all, at a high level, what is, in fact, OpenStack? What does it do? So in here, the foundation is to find OpenStack. It's a cloud operating system. And if you think about it, the analogy works pretty well, right? This idea of an operating system orchestrates different resources to provide a service to for you to run an application. So in a very similar fashion, what OpenStack aims to do is to orchestrate at a level way above, of course, an operating system, threads and process. They're actually orchestrating, compute, networking, and storage resources, typically virtualized in resource pools for one single purpose, to deliver IT as a service at scale. So ideas instead of the old way of doing things, which is very siloed, where it took many steps to configure a computer, a networking environment, and then the storage underneath, OpenStack actually orchestrates and automates all the entire process, so that users can actually create new operating environments on demand as needed for an application. And then the scale piece is, how long would it take? How long has it typically taken in history to deploy just one server or two or three servers? Sometimes weeks, sometimes months? With OpenStack, because it's orchestrating all those pieces, you can spin up hundreds of servers in a fraction of the time that you would normally take. So this iChart, by the way, all this, as Nicky mentioned, will get posted, so don't worry if you can't read it all. But these are the different components that make up the OpenStack cloud platform itself. And the concept behind OpenStack is each of these components are called projects. So these are basically leveraging open source software that, and by breaking it into projects, folks like yourselves can choose to work on specific projects within OpenStack and contribute code back as opposed to having to develop just one module, one singular piece of software. So this is a very modular design. I'm going to walk quickly. These are the nine core projects that are currently within OpenStack, as of the Havana release, which came out a few weeks ago. So starting off with the dashboard. So for many folks, when you think about cloud, this is sort of what you think about, right? People think about AWS, they think about the Rackspace Public Cloud, they think of a portal where instead of having to go to your essential IT department and send them an email or a spreadsheet requesting a computer or a network or some storage, you can go to a web portal and basically order up a server with some level of storage and some networking. Basically the same way you would go up to Amazon or Bonsa Noble and order up a book today, right? It's the same concept. It's self-service on demand resources that you can essentially lease or rent for some period of time. So the dashboard provides that for you. When the install is done, Dan's going to walk you through some of the components in a dashboard to show you exactly how you can order up Compute On Demand. So a couple of other pieces underneath. One of the first projects that Nicky mentioned came of OpenStack is the NOVA Compute Project. And that's the project that essentially manages Compute resources, typically hypervisors. So if you think about the number of hypervisors that are on the market today, including Hyper-V, VMware, KVM, Zen, and lately LXC, Dockers, all these different hypervisors or hypervisor type resources that can spin up Compute, that can all be managed via NOVA Compute. And then it's kind of underneath the Compute. Well, how can you talk to the Compute resources graph? And how do the Compute resources talk to each other and the application? Of course that's done through networking. So one of the things that... One of the newer projects that actually come into OpenStack to replace the older NOVA networking project is something called Neutron. And the idea of Neutron is it basically lets you abstract the networking further than you already can do with VLANs to allow you to scale. So for example, what you're seeing in Havana, for example, with the Neutron project, is besides simple connectivity, you are able to create network resources and deliver them on demand. So things like firewalls of service, low balancers of service, that's all part of Neutron networking. And the other cool thing is if any of you are use any of the popular networking vendors like Cisco or Broquet for your networking, the way Neutron has been coded, all those vendors can actually write code so that when you set up your cloud environment, you can actually use the existing your favorite vendors networking equipment. And they can add value to your cloud platform. And then Nick also mentioned the Swift Object Storage project. So how many of you are familiar with Object Storage, the concept? Good. About one third of you. So the quick way to think about Object Storage is how do you save and retrieve files at massive scale? What if you are as we saw at the keynote in your Conqueror and you've got millions and millions of images? Right? If you've ever set up a very large NAS file system on Windows or even on Linux, anything beyond small files, it comes almost impossible to manage. So the idea of Object Storage is to say instead of using a traditional file system with bottlenecks, we're going to have a concept where the metadata for every file is stored with the file itself. And the main reason you do that is that way you can scale because you don't have a file table to limit how much you can grow that file system. So typically in a Swift employment, we're using things like those receipt images. It can be stuff like if you're Dropbox type of company you want to be able to use that to store files. You can do that as well. MRIs, a lot of media companies will use Swift to store their video files. That's a core component of being able to scale a cloud where you have very many large files and objects. And Cinder is the block volume. So one of the issues or one of the shortcomings initially the OpenStack cloud platform was what do you do when you want to run a database and you need very fast performance? But only that, you want that data to be persistent when the VM goes away, a virtual machine goes away. So that's the concept of Cinder. Cinder basically takes an eye scuzzy volume and you can plug it in to a virtual instance that you spin up. And then you can install a database on it. You can take snapshots if the VM goes away. You just spin up a new VM and you plug it in like you plug in a USB drive. Very simple concept. And again, just like with Neutron, we've been working with OpenStack, we've been working with a lot of storage vendors so they can plug in their storage system into Cinder itself so that you can leverage some of the features. So for example if you're an EMC shop for example and you want to use this automatic tearing software, you can do that by plugging in an EMC array as the back end storage for Cinder onto your VMs to leverage those types of functionality. And then another project is Keystone. So the concept of Keystone is obviously in a cloud you want you need tight security and identity management. You don't want what you don't want is if you have multiple tenants in your cloud you don't want one tenant to be able to talk. You don't want your engineering department to be able to get into payroll to find out what operations is getting paid. So you need to be able to set up discrete groups and you need to be able to set up identity management so those tenants can only talk to the resources you've assigned to them. So that's where Keystone comes in. Keystone is a kind of an identity metric framework that fits over all the other projects so you have a common way of saying that you can only have access to the VMs, the networking pool and the storage that you've been assigned and nobody else's. So how many of you use VMware today? Okay so this is not a bashing VMware but if you use vCenter one of the early concepts of vCenter which was great was it could provide you a virtual compute resource basically a bare machine but then the problem was you still need to install an OS on it and sometimes unless you had a good configuration management tool or a script to do that, it was hard to make sure that every machine had the same hotfixes and patches. So the concept of glance is say instead of just giving you a bare machine what if you could load an image of either Ubuntu or Windows OS whatever operating system you use and you have certain patches you've applied to it what if you could say every machine I spin up and I'm going to say spin up a thousand machines at one time I want all one thousand machines have the exact same OS image on it when it spins up. So that's where glance comes in. Glances provides a way for you to store images, golden images in the sense that you've created and upload them so that they can be applied to any of these cloud servers that you create. The thing about the images is they can be stored anywhere. So they can be stored in Swift, they can be stored on sender or they can actually be just stored on a local storage on an FS mount. So you just basically point glance at a repository. So it gives you a lot of flexibility of what you want to do with those images. It's also where snapshots are stored. So when you create servers and you want to take a quick snapshot of the OS image that gets stored in glance. So that's where you retrieve them. The last two projects I'm going to talk about quickly came in just while Salam actually came in grizzly, but a lot of work has been done for Havana and then there's another project I'm going to talk about after this. So if you guys think about one tenets of cloud, it's the ability to basically monitor and charge back or at least do metering on the resources that have been used. So Amazon Rackspace public cloud, we make our money by charging users per hour on how much resources they are using. In the same way even in a private cloud oftentimes what you want to be able to do to provide values to show back to your departments how much resources they are using and how much that costs. So that's where Salam comes in. Salam basically tracks all the usage of the cloud resources and then better present them in a way that you could pull them into a building tool for example or some kind of performance monitoring tool and you'll be able to tell your users how much resources they are using and how that resource is performing as a way to create a kind of building within your IT department. And then the last one which has actually been probably one of the more exciting new projects that have come on is HEAT. So HEAT is basically a templating project. So think about for example, we talked about how early on when you created virtual resources like virtual compute you need to store an OS on it to make it useful. But you think about it what's really useful for your customers or for your end users is not even an OS, it's actually an application that sits on top of those compute resources. So that's where HEAT comes in. HEAT basically says what if I want to for example create a three tier application and I know that on that three tier application I'm going to have Apache on one tier and I'm going to have MySQL in another tier and some middleware in another tier and I want to automate that install so that I don't have to actually manually or use script to do it every time. So that's where HEAT comes in. You can actually automate that process. So now instead of just saying I want to deploy three machines you can say I want to deploy this application and OpenSec will actually go out and spin up those VMs and lay down the bits with all those different applications. I'm not as familiar with Juju CloudForms CloudFormation that's probably the most HEAT is actually compatible with AWS CloudFormation So the idea is you can have like one engineer create a template of an application like it might be an application that you deploy over and over and over again that has all the scaling properties and all the intelligence built into it and so when you go to launch this application you basically click a button and it launches that's kind of the magic behind HEAT So again the idea here is we want for you to be able to do a cloud at scale you need automation and you want to automate as many things as possible so now we've conquered sort of automating the creation of virtual resources we then we're able to do the automation of the operating system and now this is the next level right where we actually automate the installation of multiple applications The question is what's the difference between DevStack and PackStack So the names sound familiar which is very confusing but DevStack is actually nothing more than a shell script that you run on let's say your laptop and it'll lay down an upstream version of OpenStack The the reason for doing that the purpose of it is really for developers so you can code against something so you can spin it up, do some development and then retry so that's the purpose of DevStack PackStack however Dan you can actually talk a little bit more I think it's a how would you describe PackStack Yeah PackStack is just an RPM based installer for OpenStack DevStack is more development centric and OpenStack PackStack is just installation centric You can kind of think of OpenStack as kind of like the Linux kernel right so people in the community they write to the various OpenStack projects but then companies like Rackspace and Red Hat and others will take those packages and turn them into productize things or put some value at whether that's installation or how they deploy or some extra value added services it's different because DevStack uses a shell script that's the whole point of DevStack is a shell script that deploys a version of OpenStack There are two different environments there isn't really a migration path between the two of them you would develop in one and deploy to another and there's not really a path to go necessarily between the two but DevStack is more if you're developing OpenStack you're going to spend time in DevStack if you want to use OpenStack then PackStack is probably the way you want to go does that help? Stick around afterwards and we'll chat with you for sure Just for the sake of time because I want to make sure you see the finished OpenStack install and see what the dashboard looks like I'm going to turn it over to Dan All three of us are going to be here after the session so feel free to come up and ask any questions you want So we're going to down the right side in parentheses each of the components that Ken just talked about so we're going to add a user using Keystone we're going to add an image using Glance we're going to create a network using Neutron launch an instance, Nova's behind that we're going to add an external network and I'll get a little bit into the difference between adding a network and adding an external network when we get there and then we'll add block and object storage so that we can interact with some object stores So on our control node here you see that PackStack has finished installation and it's told us that it's completed We have to reboot these machines because the kernel was updated Before I do that though there's one bug in the particular snapshot of OpenStack that I've installed here so to make sure we can use the dashboard when we get there So while Dan's doing that I just want to mention Audio is a great tool for doing OpenStack so I recommend you try that There's several other vendors including Rackspace, Ubuntu, obviously you've heard that also have their own deployment So depending on what tool you're familiar with you may want to use that as a choice For example, Audio uses PackStack and Puppet while Rackspace uses Chef for their deployment So if you offer one versus the other they make play into which one you choose to use the deploy And one more thing while he's doing that At 1pm at the Rackspace booth we are giving away 100 copies of the OpenStack Cloud Computing Cookbook It's the second edition The authors of the Cookbook Cody Bunch and Kevin Jackson will be there to sign the books So if you're new to OpenStack it's a really great book to have They sell them on Amazon for like $40 or something So stop by at 1pm at the Rackspace booth and get your free copy We've got dashboard up now When RDA does its installation it's going to put the password for your admin user in this Keystone admin RC file So here's my password for admin right here I'm going to copy and use that to log in the admin First thing I'm going to do is create a user using Keystone on the backside of it So we'll go to users It's a little hard to see It's kind of small Here we go. Is that any better? So there's a bunch of users in there that are created for the services in Rack with each other I'm just going to create myself a new user here Keystone has the idea of a tenant or a project A project and a tenant are the same thing which is two different words for and it's just a grouping of resources So what I'm doing here is adding a project for myself and generally you create each user has their own project to keep their instances in So you can see how it switched from one screen to the other to let me create the project and now I'm right back on my create user screen And then at the bottom there's the role down here So I'm just going to be a member of my project So now that I've created that user I can sign out and I'll log in as my Radies user So this would be a general users interface We'll go to glance I'm going to add an OS image So I'm going to add a Fedora 19 image Oops, I did the volume, not the image Sorry, here we go So I created an image I'm going to add that Fedora 19 image that I have I'm going to add it from an image file I'm going to choose my Kukau image These images can be pre-built and we don't really have time to get into how to do that today but there's lots of documentation about how to create these images that you can then import to glance There's a couple of different tools You can even just do a straight installation on a VM and then strip a couple of things out of the OS and shut it down That's Linux specific So now I have a Fedora 19 image in there The other thing I need to launch is a network So I want to boot in the instance I'll have an operating system and I'll have a network to run it on I'm going to call this my internal network The network that I create here is an un-routed private network So I'm just using a 192 set of addresses here When this instance boots it's going to come up on that network and it's going to be on that network but that network is inaccessible from the outside So instances that are both on that network could talk to each other but they can't get out yet and that's where the external network comes in when we get to that So now I'll launch an instance This is my Fedora launch Here's that place where you could launch multiple instances at a time if you wanted. I'm just going to do one for now and then I'm going to boot from image and I'm going to select my Fedora 19 image from glance I'll go to networking and say put it on the internal network and I'll launch it So what this is doing now is going and taking a copy of that Fedora pre-built image that I had and creating a VM out of it and assigning it an IP on that network that we created So we should be able to go over to the console and see it booting up there This is nestedvert, a virtual machine inside of a virtual machine the way I'm running this So this will take a little bit of time to boot So what I'm going to do while that's happening is go and show the external network There's one manual step that PacStack can't do the way that the networking is set up because PacStack does all its installation over SSH and that's to tie together the physical interface that you want your external network on into your open v-switch bridge So this is running open v-switch under the covers I'm going to edit my if config for my eth0 and also for my bridge external brex is kind of the name of the OVS device that open v-switch is going to use to pass external traffic in and out And all I'm going to do here is take the IP address information off of my physical address and add it into my external bridge So now the external bridge has the IP address that my physical device used to have Next I need to actually tie that eth0 into open v-switch For that we use this command OVS VS CTL If I do a show I can pull up right here here's my external bridge and this is what's going to funnel that traffic in and out. The bridge tunnel is used for the nodes to communicate, the compute nodes to communicate with each other and then the bridge int is used for the instances to have an interface in open v-switch So what I have to do is OVS add port to the external bridge and I need to add ethernet0 and the reason that packstack can't do this is because when OVS takes control of that ethernet0 you lose connectivity to it So to circumvent that what I've done is I've pre-populated those scripts the eth0 and the bridge networking scripts and as soon as OVS takes control of eth0 when I do the OVS VS CTL control add port command I'm going to restart the network So what's happening is I've now told OVS I want you to take control of this eth0 and I want you to plug it into the external bridge so that I can use that as my external gateway to get traffic in and out of my internal networks and when he did that he went out and grabbed that eth0 and I lost connectivity to it but because I also had that network service restart it restarted the network and it applied that change that I had made where I moved my IP from the physical interface into the bridge So at this point my instance is completed booting we can log into it and see that it got the 37.2 address I can't really make that bigger but it's got an address from that network that I created You can only create external networks as the admin user in OpenStack So I'm going to get my admin password again Log in as the administrator and I'm going to create an external network I'm going to add it to the services project which is a generic project that's used for components within OpenStack and I'm going to label it as an external network Then I need to add a subnet to it and turn off DHCP because the addresses are being assigned statically to the machines we don't need DHCP to be provided by OpenVswitch I'm sorry by Neutron So now I'll log back in as my user and you'll be able to see in this network topology I've got a blue external network here and I've got an orange internal network Now I need to connect them So I create a router create oops set the gateway as the external network So I'm now joining that external network into my router as the gateway and then add an interface as the internal network So now I'm taking my internal network and plugging that into the other side of the router and now if you look at the network topology I have a router here joining the blue external network with the orange internal network That allows traffic for IPs that I assign on the external network to then reach the internal networks through that router So next we go back to the instance and we say associate floating IP I have to first allocate an IP so that's what I'm doing here I'm saying I want a new IP to associate with my project it's giving me 122.3 I say associate and now it's going to associate that I think we're running short on time let me finish this networking bit here So I should be able to ping 122.3 but you'll see I can't and the reason is you have to have you have to open up access so when we created this instance if you can see it at the bottom down here there's a security group called default so I have to go into access and security and on my default edit the rules and so if I add a rule for ICMP you'll see that it starts pinging now I have to do the same thing if I want to SSH to it so I'm going to add a TCP port for 22 and now I should be able to SSH to this address and there it's asking the last two things I'll show you real quick I'm not going to be able to join them into the instance just for sake of time volumes works with cinder it's very easy to create a volume I say here's my test volume and I want it to be one gig this is using LVM under the covers which is the default but there's lots of other drivers now I have a one gig volume I can say edit attachments add it to my fedora instance give it a device name and now it's attached that device out to that instance I could go out to that instance and fdisk it to create my partition, create a file system on it mount it, that's persistent storage so now when that instance goes away that volume doesn't go away so you could save files there and mount it into instances that you boot and tear down and boot and tear down so maybe you have a set of tools that you need to repetitively add to an instance that you develop on but you want to rebuild that instance over and over again well that would be a place you could hold on you could put it on there similarly with Swift Swift have containers so you say create a container, I'll just create a test container and then you put objects into it so I want to upload a file and give it a name and then go out and let's choose the packstack text file that I just used to install RDO now that's been updated so I could go out to my instance and install my Swift client and then from the instance connect to Swift and pull that that down into my instance you could pre-build your instance image so it had all the Swift client tools already installed so that when you, if you launch an instance from a image that had those Swift tools installed you automatically be able to just go ahead and start pulling down those objects we've run out of time for everything here thanks everybody for coming we'll be sticking around so definitely come by and ask us questions if you have them we're happy to answer them yeah, training.raxbase.com if you want open stack training we are soon launching on demand training so you can do it from your home computer you guys have training too and also check out RDO at openstack.redhat.com that's where all the materials that I installed today came from thanks for coming, have an awesome summit!