 Good morning everyone. Good morning. Good morning. Good morning. Thank you for being here bright and early and on time. It's good to see everyone. Anyone go to the party last night? Anybody go to the Rackspace party last night? How was it? I missed it. It was great. I know the venue looked really nice. We were here having a good time. We had a party amongst ourselves. All right. So yeah, great time here. You all are in hands-on Nova. That's the course you're in. All right. Hands-on, which means hopefully you have something to put your hands on. Hopefully you bought a laptop, a machine of some sort because we're going to dive in and actually get to use Nova and get to experience that. Quick survey before we jump in. How many of you all have actually used Nova before? You've had hands-on experience with Nova. So what do you guys do? Come here to teach the class? All right. Okay. So we expect each of every one of you. You've been knighted as tutors. So we expect you to help your neighbors for those who may not have used it before. So feel free to move around and help folks who are using this. All right. So before we get started, did want to do a few introductions. Just so you know the folks in the room that are going to be here to kind of help you out and walk you through this stuff. Okay. I'm going to start here with the gentleman to my left here. This is not this left all the way to the left. This is Mr. Byron McCollum. Say hello to the people. Hello. That's his speech. All right. This is Byron McCollum. He's one of our senior instructors at Rackspace. His job is to fly all over the world and teach people about OpenStack. So we're very happy to have him here today. He is the wizard behind most of what you're going to be seeing here today. So if stuff goes really, really well, he did it. If stuff goes really, really bad, he's going to blame the rest of us. All right. So there you go. That's Byron McCollum. Also over here I have Mr. Phil Hopkins. Phil Hopkins is also one of our senior instructors. Like Byron, he flies all over the world, teaches this stuff to folks. Say hello to the folks. Hello, everybody. He had at least four words. All right. Good job. All right. Phil Hopkins teaches our OpenStack Fundamentals course as this Byron. Phil also teaches our networking course. So our course on Neutron. Phil created that course and teaches that course. So if you want to hit him with hard questions around Neutron, he's more than willing to take those questions. All right. He's also got just about every red hat certification there is. So if you have any red hat questions, unless you work for red hat, you can talk to him too. All right. And then also we have over here Mr. John McKenzie. John McKenzie is another one of our senior instructors. Hello, everyone. It's good to be here. Yes. They're getting longer and longer. These guys do talk. You know, you wouldn't think they talk. All right. He's one of our seniors instructors also teaches fundamentals and the building cloudy apps course that we have. So he has a software development background. Sony software developers interested in APIs, how to make apps cloud aware. You can ping him with questions as well. Okay. And then I'm Tony Campbell. I keep the trainers happy. That's my job. So I just try to make sure they are on the road teaching and are happy. And so the four of us together here from Rack Space. You're going to help with the hands on Nova session. But before we go too much further, I wanted to introduce some dear, dear friends of ours who are joining us in this venture. And actually none of this would be possible without this team that I'm going to introduce in the back of the room, acting like he's. Yeah, there he is in the back of the room acting like he's working hard. Mr. Young say song in the back. He's from AMD C micro. All right. We also have Vince Gonzalez right up here in the front. All right. And then I'm going to turn it over to Pete. Let me get it right. You must be young man. I'm sake, man. I'm weak. This is Pete. Pete's also from AMD C micro. And we want to give Pete a chance to kind of greet you all and share some things with you about our session today. So thank you all. And that's yours. Thank you, Tony. And just real quick before you guys get started here, we want to let you know what made this possible. What's your training running on? It's running in a data center. Where is that data center that data center is in the back of the room? Wave young say he's if there's any problems, if you file a ticket, hardware needs to be replaced, young says there to do that for you. So we've worked with Rackspace to put this together. Essentially, our box is a data center in a box. You can run all of open stack in the box. What is the system? It's a 10 R U chassis that has 64 to 256 power efficient servers. It's got network up a link cards, a shared storage controller. You could expand that storage to over five petabytes and we've got a high performance fabric tying it all together. And that's what makes this open stack deployment possible. I won't spend a lot of time telling everybody about that. I want you guys to learn something, get your training started. But if you're interested to learn more about our chassis, come and see us. Vince and young say and myself will be here after the after the training to answer any questions. Please go to the back of the room, take a look at the box, see what you've been running your training on. And if you want even more details, come and see us later today. We're sponsoring the developer lounge. If you're an active technical contributor, you'll be able to come into the lounge. You'll be able to talk to us. You'll be able to touch it and we'd be happy to answer any questions. Thank you guys. OK, good deal. All right. So once again, thank you to AMDC Micro for helping us pull this thing off without them. It would not be possible. If you get a chance, I would recommend during the time, if you walk back there with young say and take a peek at what this thing is running on, it's pretty cool, pretty impressive device. So I'm trying to buy one, but my corporate card won't let me slide it. But we're working on that. All right. OK, gang, let's go and get started. All right, I'm going to give you some instructions. Here's where this is going to work. I'm going to give you some instructions on how to access our lab. OK, also how to log on to the data center back there into the cloud. And then we're going to give you some instructions that you can run and actually get Nova working. And then what we're going to do is we're just going to surf around the room and kind of help you work through these exercises. Every once in a while, we may jump up here and show you something on the screen to make sure everybody's on the same page. But this is going to be a real fun, informal, throw your hand up. If you have a question, if we're not coming to you quick enough, throw a shoe that usually gets us there quicker. And whatever you need, we're here to help and kind of get you that experience, hands on experience with Nova. All right, you want to do this part? All right, so I'm doing this part, but he should be doing this part. OK, here we go. You play Vanna. All right, so there's three things we need to we need to share with you before we get started. Three things we're going to tell you about the Wi-Fi in order to get on to our lab. I'm going to tell you about the credentials you need in order to log in to our OpenStack cluster and then instructions for executing different Nova commands out there. OK, so let's start with the Wi-Fi. All right, we have a Wi-Fi running under the SSID of Rackspace. Password is also Rackspace. So if you want to do this hands-on lab, you need to be on Rackspace, Rackspace, all right? This is different from the conference Wi-Fi. This is an internal closed Wi-Fi that's connected to our C-micro back there, all right? Rackspace, Rackspace. What's the SSID? All right, what's the password? All right, y'all are with me, good. OK, you are in luck. We prepared for about 120 people, all right? And we're a little shy, which means everybody can play, all right? So we got 120 accounts, so there's plenty for everyone. We were going to say feel free to share with a friend if we had more than 120 people, but if you want to take two, go ahead and take two. So there's plenty of space there, OK? So the team right now is handing out little slips that look kind of like the one you see on the screen up here, OK? Each of these slips will give you credentials to log into the cluster. You're going to notice your username in the gray box, and in this instance, sorry, on the camera, my username is right there, OK? And then the password, and your password will be right there. Use the one that's on your slip, though. Don't use what's on my screen. This is just an example. Use what's on your paper slip, all right? Did everybody get one? Got a couple more over here. If you need a slip, let us know, OK? You're going to use the IP address as well that you see on your slip, not the one on my screen, but the one that's on your slip, your IP address. And then once we get you logged in, if you want to actually hit Horizon on that server, you can use the IP address that is on your slip. So far so good? Wi-Fi trouble? Right here? OK. The Wi-Fi does not have an internet connection, so I know Windows likes to complain about there is no internet connection. It's a private network, OK? These guys are awesome here, see? Whoa. Now I can point. Sorry, I'm excited about it. I don't know if this is great. I don't have to run down there now. All right. Anybody else have problems getting onto the Wi-Fi or connecting to their server? Excellent. OK. So one last thing we need to share with you is the instructions for things that you can do on NOVA. All these instructions are going to be located at training.rackspace.local. Training.rackspace.local, there'll be a PDF there. And in that PDF, we will have the instructions for the rest of our session this morning. That's training.rackspace.local. That is available on the Wi-Fi network. You don't have to hop back on the internet, OK? Great point. Thank you, buddy. You're welcome. All right, let's roll. I'll put that back up just in case anybody missed it. Questions? Two questions here? Question? Yes. Rackspace. The Wi-Fi password? It should be on there. Yeah. Going to this IP address? You need help? So we'll do some of the exercises up on the projector in a minute. As soon as we kind of help everybody out. Be right there. If you are having problems resolving to training.rackspace.local, if you're having problems resolving to training.rackspace.local, try 192.168.2.250. Anybody else having issues logging in? Yeah. Did you get a slip? Did you get a piece of paper? Yep. The one that says Horizon is going to be the dashboard. The other IP address is the one you'll SSH into to run the command line clients, OK? Oh, for this, 192.168.2.250. Should they be able to SSH by now? Yes. Got one that's hanging. Were you SSH into .10? OK. Same thing. And you're on our Wi-Fi, right? But you all work for the same company, right? Yeah, I probably won't be able to back out the security on your machine. If you can see if you can get to Horizon, or if it's just the PDF that's blocking, it won't, Horizon doesn't work either. OK. Oh, you need one? OK, one second. Let me get that. 192.168.2.49. Yeah, across there. We just want to make sure that that server's up. I think she's got a pretty quality of her laptop. Does anybody need login information? They not have one? Yeah. I don't know. I don't know. Right. Everybody will see it. Is that in your way, bro? Oh, no. You're still starting out. OK. Yeah. Everybody have login credentials for those who may have just walked in? Get yourself in the back, too. Yeah, so here's the way this works. For those who want to go at their own pace, you're more than welcome to get ahead of us and start to execute these exercises. But Byron's going to pull it up on the screen, too, if you want to follow along. So whatever you're most comfortable with, you can stay with us for a guided tour or you can go off on a journey on your own. For those who just walked in, you can go to the Wifi network. SSID that is broadcasting is Rackspace. The password is also Rackspace. Once you get on that Wifi network, you'll need a little slip of paper that has your login credentials. John McKenzie in the center of the room there has those. If you need one, just raise your hand. And those will allow you to log into our cluster. Once you've logged into our cluster, the instructions for using NOVA, this PDF you see right here, is at training.rackspace.local. Or you can use the IP address, which is 192.168.2.250. And in just a moment, our tour guide, Byron McCollum, will give you a guided tour through these NOVA exercises. Okay, so let's go and dive in here. The first thing we're going to do is after you've connected to the Wifi is we're going to SSH into one of the nodes in the back of the room. So this is going to give you access to the OpenStack clients. So we're going to run through a lot of the command line tools first. And then we're going to also take a look at the dashboard. So let's go and start now. The first thing we need to do is you're going to pull up either a terminal, if you're on Mac or Linux, Windows, something like Putty, Secure CRT, some type of SSH client. Okay? And we're going to SSH in. If you have your little slip here, it's going to have your username and password. It'll also have an IP address. That's the IP address you're going to SSH into. That's the server. So for me, that's going to be 192.168.2.3. You may be on .3 as well. You may be on some other node. So I am OpenStack 1 on .3. And we're logged in. We also have in your home directory a RC file, an OpenStack RC file. This has been created for you. All you need to do is source it, and then you can start using the OpenStack command line tools. So that file contains all of our credentials. It's going to prompt us for the password, but it has everything else in it. So if we just take a look at that, we can see we have our auth endpoint, our tenant name, and then it prompts us for our password. So I'll go ahead and source that. And then it's going to ask me for my password. All right. And then to just verify everything is working, I can run something like glance, image-list. And we should see one image already registered for us. Okay. Is everybody able to do this? Anybody have any issues logging in, sourcing their credentials, start using some of the command line clients? Explain a tenant. Sure. A tenant is a way inside of OpenStack to kind of compartmentalize or segregate resources. So some people like to think of them, they have several names. There's project, there's tenant, there's account. But basically what it is, it's a way to organize or segregate resources. So if you're different departments inside of a company, those may be separate tenants or projects. If you're in a template cloud or multi-tenant infrastructure, they may be different customers. Or you might use them for different environments or different teams within your company. Templates? It's not a template. It's just a way of organizing resources. You can think of them like groups. So if we go back and look at our exercises, we can go ahead and start kind of going through here. So we've already done our first one of all the images that are registered in Glance. We'd like to inspect one of those images, see a little more information about it. We can do a Glance image show. See if I can put this here in my pocket. That works. So Glance image show is going to take an image ID. And we can get that from the image list. I'm getting a lot of latency here. And it's going to tell us about that image. So Glance is a Cirrus image. It's a QCOW 2 format. It's a very small kind of Linux image. It's used a lot inside of OpenStack for testing. It boots up really quick. Has all the basic plumbing to test things like cloud in it and network connectivity and things like that. So one of the first things we need to do before we can really start up an instance of quantum. Formally known as quantum. In this case, the command line tools are still named quantum. So we'll be using those. But just know that quantum is the same thing as neutron. It just got renamed. So the first thing is a quantum net create. That's going to create us a private network. So this is a tenant network. It's isolated from any other tenant network. Right now what we've done is we've provisioned system users on all of the compute nodes. So everybody has somewhere to log into. Normally that's not something you would do in a public cloud environment or in any cloud environment. Usually your end users don't access to the infrastructure. Here, just for the training lab purposes, because we wanted a known environment with everything installed in it. So we may have some saturation on our network here. So if you're having problems connecting to the Wi-Fi, let us know. So I'm going to go ahead and create a network with a quantum net create. And then we can use a net list and a net show to kind of view those. You get to name it however you want. It's just a label. So I like to call this one private. I'm going to call it log-in credentials for horizon. Same as on the paper. It is the actual same one as the paper. SSH credentials are the same as the Keystone credentials. Thank you very much. So I've created my network here. I'm also going to create a subnet. So the subnet is basically going to be your block of IPs that you'd like on that private network. So we'll do a subnet create. And then you'll just tell it which network it should be a part of. And then also the actual network citer that defines the size of the network. It's a quantum L2 network. Neutron. Sorry. We're having some... Byron, may I do a quick commercial? For those who may have just stepped in, we have a Wi-Fi that we're trying to do at Rackspace. Is SSID? Password is Rackspace. It may be getting saturated a little bit. Once you log on to that, then you need a little paper slip that has your credentials, your username and your password on that slip. So I'm going to create my subnet here. Give it a name. Very creatively private subnet. I'm going to use the UUID from the network I previously created from the NetCreate command. And then the citer the size of the network that I'd like to create for that subnet. And there we go. So we can see some information. Whenever you create something in Nova or Quantum you usually get some feedback. A little bit of information. So we can see the allocation pools, the number of IPs available on that subnet. Whether we have DHCP enabled what the gateway is whether it's IPv4 or v6, things of that nature. So I've got my network and I've got my subnet. And we can boot our first instance now. So to do that we need two things. One of them is we're going to need an image. We need an image ID. We also need a flavor ID. If you're not familiar with what a flavor is basically it's a it's a predetermined collection or predetermined grouping of resources. Things like a certain set of amount of memory, a certain number of vCPUs, local storage, things like that. And we can see a list of all those flavors and images with just the Nova image list and Nova flavor list. So we've got our one image what we've seen before but we also have our flavors here. There's two different ones. We've got a tiny which is 512 megabytes and we have an extra small which is one gig. The disk doesn't it's unbounded so it doesn't have a fixed size. It'll be as big as our images so that's why it says zero. And so with those two items we can go ahead and boot our instance. So I'll do that right now. So we need the image ID and the flavor ID. So I'm going to do a extra small here which is one gig. So flavor ID seven and the name of our instance. So my instance. And then we're going to get a response here so Nova accepted our request and we see a little bit of information about it and in the background it's going through the process of actually spawning and building that instance. So we can do a Nova list here and we see our instance is active and we can see its IP address. And again we can always drill into any resource information about it with a show command. So Nova show and then the instance ID. So a couple of tools that are very handy. One of them is the console log. So this is the log the boot log if you will. Basically what you see on the screen whenever you boot a server and it goes through and there's a bunch of stuff that flies past the screen you can get access to that log. And to do that it's just the Nova console log. So what is a flavor ID? Or what is a flavor? Okay well a flavor is basically it's a predetermined set of resource combinations. So basically you can think of it a menu. It's a set menu. You can spawn servers of these various sizes. You know a certain amount of RAM, certain number of VCPUs, things of that nature. If you do a Nova flavor dash list it should be the far left column. So we're going to do a Nova console log here with the instance ID. Question, comment here Byron? Yes. You can use the name. Not every command will accept the name. Also there is no requirement that names are unique. So if you name two things the same name and you try to use the name to reference it, Nova or some of the other clients will actually say hey there's more than one thing with this name so you're going to have to go use the ID instead. You can use the names as long as they're unique. So we can see our console log here of our instance. You can get that from doing a Nova list. Or again you could use the name. So that's the console log. We can also pull up a VNC connection to our instance and that's a nova git-vnc-console and then the instance ID. And on the end of that we need to tell it what type of VNC it is. In this case we're configured for no VNC. So question Byron, is there a way to use the VNC console without using that ugly ID hash can I use the name? Yes. Simple answer right? It's a man of many words. Yes. In most of OpenStack you can use the names instead of the UUIDs if you make sure the names are unique. Otherwise it'll just come back and say there's too many things with this name so I don't know which one you were talking about. Okay, it kind of bails. I don't know what your password is. Oh yes, yes. Yes, the password for Cirrus. Cubs win. Smiley face. So we have our no VNC URL here and we can copy that and then open it up in a browser and that's going to be an in-browser VNC client. Now you'll need a relatively modern web browser to use this VNC client. It's built using HTML5 canvas. So all the drawing is done in the browser with canvas. It uses web sockets to communicate with the VNC proxy back on the server and all the client side is done in JavaScript so the VNC protocol is kind of impressive. So we'll just paste that in here. Nova boot dash dash image ID or the dash dash image? Is it dash dash image? Yeah, I'm having some serious latency problems now. I am pulling up the VNC that get VNC console. I'm going to let that run in the background. That's taking a while. Okay. So that's pretty much the basics. Pretty simple to boot up an instance. Just a nova boot. You're going to specify a flavor and an image and give it a name. It's not an extension. It's something that you install. So there's a nova no VNC proxy and there's a package called no VNC. Yep, it sets it all up. It's also integrated into the dashboard. So if you pull up an instance in the dashboard you can click on console and it'll pull up the no VNC console right inside of horizon. Okay. Let me attempt this one more time here. There we go. Was able to pull it up now. So we have our VNC access to our instance here and I can go ahead and log in. So the username is Cirrus C-I-R-R-O-S password is CubsWin Smiley face without a nose. CubsWin colon close parentheses Smiley face without the nose. It also says it on the console when you pull up VNC. So that's nova. We also have sender setup so we can attach some additional storage. So sender is the block storage project inside of OpenStack and the flavors come with a certain amount of storage, local storage to run the instances on but if you want additional attached storage that's where you would use something like sender and we can just do a sender create and specify how big of a volume we want to create in gigabytes and then we're going to give it a name. Apologies for the Wi-Fi folks. Yeah, it's hurting me too. And then we can do a sender list and see our instance or sorry, our volume here. We see the size whether it's attached to anything status so it's available right now it's not attached to anything. So let's go ahead and attach. To do that we actually need to use a nova command instead of a sender command. It's nova volume-attach and then we're going to need two things. We're going to need an instance ID so one of our running instances we'd like to attach it to as well as the actual volume ID. And then the last little bit is the device inside the guest you would like that volume to appear as. We've got KVM configured to just automatically assign that based off the next available one and use auto for that value. So quick commercial, if we've lost any of you all completely please let us know. We will come around and catch you up and probably do this a couple of times and make sure everybody gets through John right here. The volume name it's you can pick anything that says name is something that you get to name it. Okay? Yes. Right, you get to think of it as like a USB drive or a USB thumb drive it's not shared storage so we can't take it and attach it it's not multi-attach. So I can't hook it to multiple instances but I can unplug it from one and then plug it into another. So it's persistent storage. If we destroy the instance the volume data and everything on it persists. So yes. Hey Vince, can you do me a favor? I'm right here, he can't see me. Can you take a look at 192.168.2.6 tell me if she's alive. So what auto means is certain hypervisors let you specify the device name inside the guest so like in Linux, dev, you know, VDA, VDB, etc. If you do auto it takes the next available one so you don't have to actually know what's already in there and go specify it. Some hypervisors don't let you support specifying it. So in that case you just use auto. Alright. To create it, it shouldn't take very long. Yeah. How big did you do? Yeah, no, it should work. Alright, so at this point let's go ahead and let's try something different. So we're going to switch over to the dashboard. On your piece of paper you should have a URL for horizon and you can use the same credentials that are on here, the username and password to log into horizon. We'll see if we have a little bit better experience using that. Having a lot of latency issues using SSH. So inside of here, the first thing we get dropped onto is just the overview page. How many people just by show of hands have not really used horizon before? Okay, so a good number of people. Alright, first time. So I'll go and just kind of talk through this. Again, you're going to see the overview. We see a little bit of information about our quotas or how many resources then we've been granted or allowed to use in the system and how much of those we're actually consuming at this point in time. So for this demo we've set up for each of you the ability to spin up 10 instances 10 vCPUs 10 gigs of memory 10 volumes, 10 gigs of local storage or volume storage. And if we just kind of go down the left-hand side and see if I can make this we can see our instances here. So here's the instance I created from the command line. We see it's IP address and some information about it the flavor that was used. It's current state. We can click in on it. We've got some more details here. We can go into the log. So that's going to be that console log that we did from the command line. And then we can also pull up the no vNC or the vNC console. We can also go down here and see all of our volumes that are created. We want to create a new one. We can do that from here. A little bit easier in the dashboard. So here we just give it a name and the only required fields are name and size. So if I want to create another one we'll also get projections of our quota usage. So as I change the amount of gigabytes that this new volume will use we can see our quota start getting filled in. So the green is basically going to tell us new resources we're about to consume and if you go over a quota then it'll actually turn red. So here it's saying that we're trying to build something that's going to put us over our quota so it won't allow you to do that. The type is a way of just labeling volumes. So for instance when you provision a volume it's just going to be a raw block device, it's unformatted there's no partitions, no file system nothing on it. So types are a way to indicate, oh this is an EXT3 volume or NTFS or not NTFS, FAT32 whatever. So there's none in there. So there isn't a way in Horizon but you could do that from the command line. So there's a sender type create I think it is and you could create those. Yes. The build request will eventually time out and then it'll go to an error state and then you could submit a delete request to terminate. But I'm not sure if there's a way to kind of force it to say if you've got something that's out there being processed to just kill it and it does that. I'm going to jump down a little bit down to our network. So we created our network previously we can see that here our private network we can also see the subnet on it and if we click in on that network again we'll see those subnets we can create additional subnets on that network we can create additional networks and if we go down to the network topology there's a nice little graph here about kind of showing what we have here we can see our private network we have one instance attached to it. We can see the IP address, the name of the server things of that nature. But we also have another kind of special network out here which is called an external network basically it's a public network that gets us to outside the cloud environment. So this might be the internet it might be another network inside of your data center it might be one of those things of that nature. So what we can do is if we go to routers we can create a router and uplink our private network to that external network. So we'll go ahead and create a router give it a name and if we go into router click on its name we're going to add an interface because right now we have a router but it's not attached to anything it's just kind of floating out there and we're going to start plumbing things together. So we're going to add an interface to our router and we're going to see a list of our subnets so we can go ahead and pick one of those subnets. Now if you had different subnets on the same network normally they wouldn't be able to route between them. So we're on different subnets. By creating a quantum router and attaching interfaces for those two subnets we're able to route between them so we'll add our interface for our subnet and if we go back to our network topology we'll see we have a new router right here but again it's still really it's not doing anything for us what we want to do is take that router and hook it to our external network so our instances can get out so we'll do that go back to my router and from a router list there's a set gateway and that's going to ask us well which external network would you like to set the gateway for? We only have one which is our public network it's kind of a shared network I've already created so we'll say set gateway and there it is and when we go back to our network topology we can see now that our private network is now gateway has been set to the external network yes I set that up yeah slightly different process for creating that it's still a quantum net create but there's a couple extra things you tell it this is an external network that's basically shared by everybody that only routers can attach to it things like that also generally you're going to disable DHCP because you're not having anything using DHCP attached to that network directly so alright so now we've got our instance on our private network we've got a router the gateway is set to that external network so that instance should be able to get out to that external network so I'm going to attempt to pull up VNC again we'll see if it's behaving a little better okay so one other thing our instance is able to get out now so it has outbound access to that external network but it's still on that private network and we have no way for traffic to be able to get in to that instance so if we want to selectively allow that so the way you do that in OpenStack is what's called a floating IP these are generally going to be public IPs and the way it works is that I've created a pool of these IPs so I have a set of IPs that are available for public access and as a user you'll go in and say I would like one of those IP addresses to allocate one of them so it'll come out of the pool and the ownership will be transferred to you and then from there you can take that floating IP and say I would like to associate it with one of my running instances so what gets set up is effectively a NAT translation so any request, any that come into that floating IP will actually get forwarded to the private IP on the private network so we've effectively allowed those instances, that floating IP never gets configured on the instance it's just a NAT rule on the network node so to do that we will go into access and security maybe, I dropped off again wow what happened to the signal oh I'm up there, ok let's try this again the way floating IPs work, you know how we created a network and then we created a subnet and there is where we specify a cider or pool of IP addresses you do the exact same thing, as an administrator I'll go create an external network and I'll put a subnet on it the cider I specify is going to be the IP addresses that will be handed out as floating IPs yeah I'm having some connectivity issues here again yeah we're all hitting that we're hitting that wi-fi loveliness question here the issue is all the other high power wi-fi that's overpowering it, I think it's like running on every single channel there's nowhere to hide alright so I was able to pull this up under access and security there's going to be a tab here that says floating IPs and we're going to allocate an IP to my project or to my tenant so I'll click that, it's going to ask us which pool we would like that IP to come from in this case it's going to be that public network so I will say allocate IP and here it's handed me an IP address in this case it's 192.168. 3.4 and so right now I've basically just taken ownership of that IP address now I want to actually set up the connection between that public IP and the private IP of my instance so to do that we'll just say associate floating IP it's going to say which floating IP will I only have one and then we're going to select what is known as a port a quantum port a quantum port is basically a you could think of it as just a virtual interface it has a MAC address and therefore it has an associated IP address so we say which one we want in this case this is the instance I spun up earlier and I'll say associate and that's it so we would be able to get in to that instance from the external network the public network the one that's shown here the floating IP can you on the external side probably not because there's a lot of stuff that's set up in IP tables to route the traffic to the actual private IP address so if you're just handing out random IP addresses to things that are attaching to that external network the plumbing is not there to actually make it all work well it's going to take everybody offline I'd rather not apologies for the wifi there's a clear channel but then we have to boot everybody off yeah we're getting crushed for the volumes here this is that attachment so I showed creating attaching is just as easy so we'll find our volume we'll say edit attachments we're able to well my instance is rebooting right now but we'll be able to choose our instances any instance that's running and it would attach that volume we would still need to log in to the guest to the instance and mount it format it partition it things of that nature because it is just a raw block device except for all the connectivity issues anybody have any other problems I know that's a huge problem the wifi? no it's not rebooting 14 is not it's probably because it's the regulatory domain is United States but we're not in the US anymore so yeah I wanted to both of them up here for those who may have joined us late allow me to bring up the speed on a little bit about the hardware that we're running this on why Byron reboots our wifi routers so we're actually running this on an AMD micro device which is located in the back of the room can I open it then everybody listen everybody listening are you listening stand by 1, 2, 3 there's a data center back here basically that's been quiet this whole time so everything you guys are running on is running off this awesome AMD micro back here 10U chassis 64 servers in this puppy not the wifi not the wifi but the wifi the wifi didn't come from cmicro but when you get a chance if you want to come back and take a look at this before you leave you're more than welcome to do so vince up front is the master magician behind this thing so he's got questions oh is that what did it the vnc yeah that makes sense yeah so maybe I won't do that hey vince you're getting questions back here bro yeah oh you want to see it through the GUI yeah I'll show you that it's under access and security and then there's the security groups here so we can either edit the default group no we haven't done that yet yeah you can go ahead and do it if you want yeah it's ingress only seems to be running much faster now I can't take it alright so I've got my instance up and I've set up my security group rules so we're allowing ssh and ping through and I've associated my floating ip here to my instance so I should cross fingers be able to access my instance through its floating ip so I'm just going to open up a new tab here again this is on my mac not in the actually logged into the open stack server and of course time out your floating ip is working yeah dashboard did you attach it but you attached it right yeah yeah that was the nova volume attach and then inside of there you can do a sudo fdisk dash l oh it helps if I associate my floating ip yep instance port id you can get that by doing a quantum port list a port is a virtual interface so basically it represents a mac address and inside of quantum obviously a mac address is then associated with an ip address do you have a running instance it doesn't have a port then let me come see ah there we go so I'm able to get to my instance so it's floating ip just f2 f2 edd that one that's the one yep that's the port id except for some of the spotty wifi so basically what I've done here is I have my instance I'm going to pull up my network here we've got our instance which is 1002 and we've got our router that's connecting our private network to our external network so I took an ip address off of that external network that's our floating ip and I associated it with my instance and so now this is from my laptop not from the cmicro back there I'm able to ping that instance so I can ssh into it directly too so let me do that so now I'm logged into my running instance now we logged in through its floating ip but if we do an if config what do you expect to see one interface, two interfaces one there's going to be one and what's the ip address going to be there goes the wifi oh this is really painful who provides the floating ip that's going to be whoever's running the infrastructure so the private networks we created they're all virtual networks they don't exist they're not physical this side of quantum is kind of this virtual construct but it's actually attached to a physical network so the administrator will go create that network they will attach it to the physical interface the physical network and on that network you'll have a block of routed ip addresses that you would set aside for nova floating ip or quantum floating ip quantum does all that so quantum sets up all the net rules yep the traffic will come into the quantum network server and there will be a rule for that particular floating ip and how to route it back to the actual instance on its private network so quantum manages all of that there we go so we can see that the ip address is 10.002 yet i sshed into it through its floating ip okay we can also go out so let's see if i can do this so my max ip address is 192.168.2.141 okay so i'm inside of cirrus right now and let's see if i can get out now i sshed into my instance but now i'm coming back out from my instance back to my mac which is on that external network if you will so i could ssh oh that's right ssh off so we can see our instances can get out to that external network we can also get into an instance through its floating ip is anybody having any issues with the floating ip's are not able to set that up a couple of people what's that? bill's gonna help you out right here and the black and grey striped all of your computers your personal laptops are actually on that external network so if you just figure out whatever ip address your laptop has for your wifi connection from your instance you should be able to get to your personal computer no your router have the gateway set but you were able to get in to your instance right oh i thought you said you could get into your instance you had that working your floating ip are you trying to ssh to it do you have ssh server running yeah the ssh inside of cirrus it might be the busybox one it probably doesn't have full features so i've got my one instance here and i've created my volume and attached it and if we do a sudo fdisk-l we should be able to see vda is going to be our root disk so that's the one with the os on it that's what it boots from we also have a dev vdb which is the volume that i've attached to that instance so right now it's just a raw block device so we can either partition it or we can just go ahead and lay a file system directly on it and mount it so i'm going to go ahead and do that so you want to make a volume bigger one way of doing that is just making a volume snapshot so you can go into your volume uh... and then under images what you'll have to do first is detach it so you'll detach your volume and then you can take a snapshot of it and then you can provision new volumes from the volume snapshot when you do that you'll just specify the new size yeah it creates a new one from a snapshot then you reattach it yeah back to the instance you want yep that's the you can delete the old one then when you're done yeah and then can you pull up the console in there or sorry view log i just want to make sure it DHCPed correctly yeah and then security groups so if you go to just scroll down a little ah that's what you need so if you go to access and security yeah the security groups you know because you're just creating policies but you're not applying them to any instances so you'll need to go into the instance and say edit security group yep hey gang so we really appreciate y'all hanging out with us today and uh dealing with us through the wifi apologies for that um we're going to be here for a little while until we get kicked out for the next session so you can continue to play but i don't have a pocket like Byron thank you but did just want to share with you all real quick uh what we've done for you oh sorry what we've done for you right now and very rapid pace we're using the public or open stack public script um what we've done with you in a very rapid time is a quick glimpse of what you get for us in a live training class um which would usually take four days our fundamentals class which we gave you in an hour and a half over a four day period six hours per day um and if you want more information about any of those training classes you can find that information at training.rackspace.com um all the classes we offer are listed here open stack fundamentals for those who are just getting started but we also offer an open stack networking course allow you to deep dive into networking into neutron we have a Hadoop on open stack course so anybody who's using Hadoop want to use it with open stack we have a course that will walk you through that a security in the cloud course for software developers we also teach a swift class so there's a ton of classes that are available for you training.rackspace.com if you're interested um if you have any questions about training at all you can email us at training at rackspace.com that email goes to all of your instructors here and we'll be more than happy to answer any questions for you so thank you again to Vince and the rest of the team at AMD for that C-micro um next time we'll get somebody to sponsor our Wi-Fi that we bring in we appreciate it thanks guys hope you enjoyed it