 Yeah Gotta ring it out. Yeah, I think we're good So everybody If everybody has a USB key, you go ahead and get vagrant and virtual box Installed if you haven't already if you don't have it already Yeah, if you do already have vagrant you can't you should be able to just vagrant I would recommend maybe if you have like virtual box 5.0 then you might want to just run the installer for 4.3 which is on on the flash drives because I think 5.0 is gonna mess up Yes, if you vagrant up successfully then you're good to go Five whatever. It's fine. Oh, yeah, that was probably just building it. It probably works fine. Well, he has a PC So he's not gonna gray screen with Ten and I was at our sex Well, good luck Yeah, so does anybody yeah, where's everybody at like so so we when we did this last year We kind of had like open discussion like if you have some problem or something just shout it out You know, we've got plenty of time here So if you have some you have a question or you need help or or anything just Shout it out and every the people who aren't talking are gonna be walking around and Trying to help people out So if you if you do get behind or you know, something doesn't work for you Definitely definitely Raise your hand or shout it out If you don't understand why we're doing something. Oh, you know, we'll do our best to explain But you should definitely Make sure that you make sure that you're clear on what we're doing here So if anybody doesn't have a USB key People just coming in the the USB keys are up here. There's also some stickers if you If you want some designate or a Cosmo stickers The open-stack project not the show with Neil deGrasse Tyson It's a good show, huh? I was hoping you'd have a have that like that cute Neil deGrasse Tyson picture Okay Where's everybody at what are you know, you is ever? I mean does everybody have vagrant virtual box installed and we're already up and running I highly doubt that Yeah, yeah, if you need if you need a USB key, you're just coming in Flag graham down. Yeah, so you'll just want to run the appropriate vagrant and virtual box installers for your OS They should be on that key. Oh, yeah, JK Yeah, I just copied every well. I just copy the whole I copied everything over into a folder and just did that Yeah, so But then again I easy max so that says something else by the it was ridiculously easy So where's everybody at are we installing vagrant installing virtual box? Have you already finished the demo? Have you? Are you on the plane home? I see that's all a couple of people said they're still installing vagrant virtual box, so we'll probably probably give it a minute here Have some stickers Stick do I love being mic'd everybody's listening to me like I don't even just whisper to you Everybody can hear me. Yes, it'll work. Yes, it'll work. Absolutely. It'll be fine Yeah, if you if you want to brave the 100k Wi-Fi you can go and download This is the cosmos when he's gonna come around Whoa, feedback feedback So where we at are you are you all installed you ready to rock? You're favoring up You on windows, what does he do he's on windows he's It's the yeah, it's a new it's a new global global balancing project. It's gonna work with designates Graham is the ptl of both Jesus that's me breathing. Oh, no, it's Eric. Okay, cool Keep an eye on everybody you guys got everybody. Okay, you guys got things going Good So show hands. How are you guys going along? It's if you got the vagrant box box up and you can vagrant SSH and you can raise your hand Keep them up everybody. We're proud of you guys. Give you guys a hand way to go. You're doing great So we'll give a couple more minutes just to make sure everybody else is squared away reason you're here Let's be and if I sorry, what's that? I think that's that's a good point. I Got I got you homie And if you just walked in doesn't mean Walk over there. You take them all man Here Because you can keep that USB key. We're not gonna ask for these back here. Can you toss me a cure? Yeah Can you tell us okay? You guys got it. That's cool. You need a key Hey, Graham. Do you have a key? He was behind you. You ready? This is this is scary. Good job. How are we doing here folks? You're good sweet Anybody else still working through the virtual? Okay, do you have a sig win or and if you do have it up and you're interested in poking around don't No, just kidding you guys like you can it's probably good idea to go ahead and you know See what processes are running and maybe see if you see a log file someplace. It looks interesting and that sort of thing Hashtag hack the hack of the planet There's a lot of people are on windows who are confused. Hey, what's up stickers? Hey bet you want stickers ready already actually yeah You want stickers naturally What's up? Cool You know you don't need the the installer if you've already got bigger If you're really good with probably a virtual box to queue emu you can do that pop on to Me copy you can either copy you probably even need to copy those files off. So Yeah, you need or you need to get so just go to CD Yes, yes, it was pretty slick the whole process is pretty automated It was multi multi platform and you can Whoa wait eventually Yeah, like it didn't work the first time I'll get you a shell into the box. How are we doing? How are we doing back there? I'm gonna toss this to you No pressure Good cuz I can't I can't throw Yes That's what that's what they do right Graham you should go and import that dot V box or whatever in the virtual box gooey And then can you really oh? Okay, go see you have to open that up Our directly, I don't it's probably easier to use vagrant to do it. So if you kind of cancel out of that And then that'll do all the right stuff So that's that's right easy I just copied everything over to my machine and then it was like vagrant up Do you have vagrant so if not if not there's vagrant on that USB key so you don't have to download anything Five is fine five should work Or did you have an error? I If only you could like access to be like a CDN or something it might be faster I Thought five work though, so I don't know if they can doesn't work Okay, so is everybody getting close to wish bike cruise keep cruising So that vagrant G right there is what you want. Okay, cool. Do you have virtual boxes? You'll probably want to use Yep, you can just run a vagrant vagrant up and do you have vagrant stall? Yeah, yeah, so you can just type in vagrant up. You know if you already have vagrant copied it into you fine And that will read the bit Oh, yeah, yeah, and when I used Windows I had I used e-shell and emacs for everything What's that? I really liked it with emacs W win win 32 It's good stuff. I don't know CD vagrant up. That's not what you want. Yeah It's just vagrant up Okay, so you can when you where's your if you have a terminal you can go Into the directory that you copied everything off of the key into and then you can just do make sure you have vagrant installed Which is also in that key and then you can do vagrant up and it'll use the vagrant file That's in that directory and it'll just do all the right stuff for you So you don't have to like start it up. We should be able to the virtual box or anything like that Does that make sense? Vagrant will do the SSHing into it for you. Yeah, you don't have to like manually connect to the IP and stuff like that It'll just know It should add something to your path And then it should do it So if they're it for if not we'll figure out where it is and then get it on your path and do it there Yeah, so you would just run that and just do vagrant up But run it in a terminal Yeah Nope, just a normal turn like a windows terminal like command.exe kind of a thing Yeah, yep Yeah, that'll work out and if it doesn't then I know there's a couple other folks that are probably better at Windows I am so Go back to your show Yeah Says anybody else having problems? Yeah, awesome. Just use docker, man. I'll make it easier Oh, so it's virtual box properly installed Okay, okay, so quit out of that guy. So are you Weird I bet you there's a Okay, so it uses a V box manage binary Yeah, let's make sure that's on your path and then that's probably what it is I bet you virtual box doesn't add that to your path by default Let me start virtually So does anybody know show hands if virtual box on Windows will automatically add that to your path It usually does not so you do have to go Windows whatever Windows finder is and find it and then add that to your path manually What sorry say? They just the directory to the virtual to wherever virtual box is installed, right? This is gonna work. I feel good about it. What's up, dude? Do you need any help? I'm excited Is everybody doing back here everybody have a everybody have a USB key Thank you There you go Welcome, where do you want to go? There you go, sir Have some stickers BAM Yeah, so that's a Pro tip if you guys are running Windows you got to add virtual box to the directory to your path How's it going? Yeah, I see you're getting Yeah, so you need to go I just did this is fantastic You go and find the virtual box directory and add that to your path and then it should be able to find that you should It should start it up for you So you shouldn't have to if you if you can close that and close close virtual Are you don't need to use that directly? We're gonna be vagrant instead So vagrant will go and it'll do all the magic to link up the box and the image all sort of stuff So you don't even have to once it do you see have it installed so that's good So now you can go back to your directory you yeah, and in your shell Did you get vagrant installed? Yeah install vagrant and then from there after you get vagrant installed that vagrant file That's gonna be you just do vagrant up and it reads that vagrant file Starts up the virtual box and doesn't show any GUIs and stuff like that and you're good to go Yep, it doesn't actually take that long. Yeah This is the hardest part. Yeah So show of hands for us how many people have virtual box and vagrant installed and have successfully vagrant up? It's not bad And how but how many people have kind of gone above and beyond and started running Docker with it and I've started pushing that up to Korea how many people have all the servers running? I Did I did last night? So if anybody wants a Docker compose file that Let you run everything in Korean. I let me know Which I'll in that's gonna we're gonna walk through the steps in that to show you all the steps of how to get it Installed and stuff like that and so some of the stuff is already sorted out like opens that client, but That bit is not so we'll go through all those pieces Also what we're doing is not exactly that What's that? That script is not exactly what we're gonna do. Hey, what's up? Yeah Yeah, it should be I think somebody over there said they had the bed works 5-0 and it worked then somebody back there So they had virtual box 5-0 and didn't yeah, you probably need to upgrade vague. That's yeah Which we found back there So you can just walk back to our CDN person We get a crossover cable and connect you guys together for a second just give them a Key template just give them a key with the SSH key on it. Yeah, put them in a container put it in a container Like an actual little box Just get them on get them on the server Run No, be good to go Just don't get on the host and Docker kill all your friends. Yeah Sorry, I rebooted I'm sorry, I totally forgot. So is anybody else having problems or need needs little help Okay, I mean That's good. I I've known people with dependency problems. It's a hard problem You can't just you know, you can't just just go away. It takes a lot of work See this is this is don't get me started on this because Do I know windows? Oh You have to install windows, but it works on windows. Yeah Was were they able to just open up a shell and vagrant up vagraness sage Graham in in windows, huh? Yeah, yeah, okay, I Had we had to add virtual box to the to the path the directory virtual box needs to be in your path in order for vagrant to find out Where that is I guess we should really like get a find a windows box and try this Yeah, no, I don't either. Oh I installed windows on my Macs. We play games All right, we're doing the demo in windows. Does anybody else need like a key or stickers or Help high fives something to drink Hey, what's up? Oh high fives. That's I'm talking about now that I can do That's easy So we'll probably give another five minutes here or so and get started. I don't think though This is the hardest part everything else about designate is so easy works in depth. Oh, really? See there you go a plus-plus I didn't Two plus plus workflow moving on then somebody somebody needed like eight gigs or sixteen Sorry say that again I So you probably need an SSH client on your path. I'm guessing That's most likely what it is. So at least I say if you have putty installed that probably works I bet you vagrants pretty smart because I go. Yeah, that's probably me Yeah, if that doesn't work though, let me know This filler this filler needs help your oh, I'm sorry So where's the folder that you installed Stuff from the USB file Okay, so you want to go for that know wherever the USB file is the wherever the USB stuff is that's the Yeah, okay, so you'll want to you just installed vagrant and you had virtual boxes already sorted out Okay, so what you're gonna do is open a shell so at command on exe Okay, and then If you still need help could you raise your hand? So if you if you're if you're lost and alone, yeah to over there That's it. Everybody else is perfect Yeah It doesn't so we'll go You want to change into the direct this director where you copied everything into okay, and then Sonathia vagrants like you can try running vagrant up No, you didn't even have to do the DMG you can just do vagrant space up Yeah, like you can get rid of the version number that you have there Yeah, that's too big. Nope. Just up No up up Okay, so now it can find virtual box So what you have to do is you go to your program directory and figure out where that was installed And then you have to add that to your path where virtual box is installed No, so if you go over to this dude right here the enable window and then go to I guess it's No, it's gonna be like on your actual PC like Like application directory or wherever that one is Hey, what's okay cool I will bring that around Can you just go up is there somebody there are other people that were still lost a little up arrow was it you yet? No Yeah, so I think program files. Okay, I'll get you in a second and then looking for a virtual box there It's right to scroll down a little bit Okay, so maybe yeah, I was it oracle virtual box Do you have virtual box? Yes, it's probably an oracle, okay, and then virtual box there you go. So now you this is the path That's the one you want to add to your path then Yes, I don't know You need to go to the you need to go to the folder that has the vagrant Yeah, give it a try to do vagrant up again virtual box Okay, so cue out of that hit the exit and then go to Control your control panel no like the thing in the border like the dot V-box file In the vagrant file you can be in the same folder And then you should and then I think there is Yeah, you want to edit the path in the workshop down there? Yeah, you need that Hi. Yeah, this is looking closer I think that's right environment variables. That's the guy you want Yeah, so there's your path. So you're gonna edit that that value and then you want to do it at the very end and do colon and find the And then put that path to the Like wherever now so on the flash drive that we gave you There was an image Yeah, right there and then you hit so you want to be in this And then do see I'm doing that or should reread your path. So now you can go To to that same directory that you're at. Yep, that's the one cool. So I can just run vagrant up and cross your fingers Okay, so you you should in here Install this virtual box win.exe I think and then once that's installed it should use the same You need to do what No, how do you do that? I'm offering my time. You got it Sweet. Okay, cool Great. Yeah, oh right on Okay, yeah, you need to use close it putty what putty gen you need to use putty gen and convert that key that open ssh key And use that, you know, do you know how to do that? Can you help him? I run OS X and it's not Nothing has been better Nothing is better. Nothing is better. All right, how we doing folks we should probably get started. Yeah, let's get we can move along If if you still need help we flag down one of these guys I'll see if I can get you going Otherwise wherever you vagrant up the best vagrant sshed into just go ahead and pop yourself in there and We'll get started here Yeah, so you can close that brought mine down before Yes Yeah, yeah, hmm, so you were you having problem getting ssh going Yeah, okay, cool, I don't even need it. Oh because you're an a virtual machine and you're running another so I think we think it's not me. I could call if you look in your vagrant file and edit that you can do Okay, so we're gonna get started Oh, you want to do it? Guest what the port? Oh, do you have Mike? All right, cool So, how do I install this thing? So first off I'll introduce the three of us I'm Graham Hayes on the designate ptl. I work for Healer Packard Tim Simmons is one of the members of designate core And he's a engineer in the rack space DNS team and Eric Larson is One of the other designate developers who also works for rack space So, yep that we've been through this step. So as we start to go through this install Tim is going to walk through How we get designate up and running sweet All right. So first thing you want going to want to do is get to your shell I'm here Is there can everybody see that it looks pretty big All right Free people in back. Maybe like yeah, well if he can see it then we're good to go All right. So first thing you're going to want to do is CD into the designate directory So we're actually going to install the designates so Be a pip install pseudo pip install the requirements So that's one more right there pseudo pip install dash our requirements dot text Normally you wouldn't pseudo pip install something, but this is just a it's just a box like it's just a virtual box So just a VM so who cares You can just start typing And it should go pretty quick because most of that stuff is either already installed or in the in the pip cache What's up Also, so this is mostly Uh for what i'm what i'm doing here is mostly on in the same direct in the same directory that designate That that you like before you cd into designate like the vagrant home directory There's a dots. There's a install designate dot sh Um, we're mostly working from that now like that should work to get you pretty much all the way to the end Um, so if you get lost somewhere You can kind of you can pop open that and find where we are and you should you should be helped Or if you like want to do this again later you can What's up? It's it's just in the vagrant home directory. It's install designate dot sh No, no do not run that Because then this demo is kind of pointless I mean you can just kill it and run it again, but you know, maybe if you want to do it later, you know Show all your buddies back at the office. I'm sure they'll be very interested to know Um And if you have any problems hit us up and the Open stack dash dns room on free note. That's where we hang out. So if you if you wanted to do that we can help you out All right, so we're gonna move on What? Yeah, you just need to run this command right here Yes Oh, okay, so you want to go and all right, so we're gonna move on so, uh You should be in the in the designate directory And then we're just going to install actually install designate So just pip install dash dash e is is editable mode, which you probably don't need to do but We're going to anyway. Oh, yeah, I probably do needs to go So what that what that does is install like basically runs the setup script for designate so that it resolves its dependencies and Puts its binaries in the right place That one right there I'll try that though because I think I can't figure it out so you have Try doing a witch vagrant Uh vagrant just do lowercase vagrant Uh vagrant like vagrant Yeah, let's see where that is Yeah, so that's good. So just try and do ls right there Oh, you're in you're in bit you're in that thing. So you're gonna want to go to You want to go to the um, wherever you the um, whatever the usb files are go to that directory In rixel box Yeah, so you need to Stuff is in and then just vagrant vagrant up and vagrant ssh And that should get you And faking ssh Let's try to open up that just normal command terminal And if you're like not here um, say one one just try it and Oh, whatever the terminal this is just a normal command It so it install it uses the local setup.py file and designate to install And it's dependencies like if you go to your if they're non-installable From yeah from the directory. Yeah. Yeah Just figuring out you don't have to hit right you might run into a problem. Oh, yeah So you should do it quick so you'll just go to the same directory that oh, yes You'll have to add virtual box to your path Yeah, flag down one of these guys and they should be able to help you out. Yeah, you bet me Oh You can do multiple sessions to the same port Okay, so recap pip install requirements You want to add the directory to your virtual thing so like whatever program structure The program doesn't work. I'll add it to your path and then we'll do it So i'm going to take you through there the the config file for designate is already in place. Um It's in uh The designate folder etsy designate designate.com. Um, but it's also in Just the home directory So i'm going to take you through kind of the find just a few of the highlights of this real quick It's either in it's in the home directory as designate.com.workshop Or it's in the actual one that designate will use is in home vagrant designate etsy designate designate.com So see basic stuff here like state path and log directory. It's not Not terribly terribly important. Most of the config that we're using here is default Even this stuff right here like off strategy keystone That's that's the default Enable the two api's the v1 api is deprecated so don't use that if you if you're if you're going home after this Basic keystone information there What's that? Uh, we're actually going to use it for something really quick so we want to keep it true here So there's your database connection is in storage sql alchemy. So that's that's that's important, you know You're gonna want to close this and i'm gonna take you to kind of the Come the most important part Is this this bit right here This this is all filled out for you So I don't feel like you need to you know change it or whatever, but I just want to explain briefly what this is Um, so this is actually the place where the the dns servers that you're going to use are configured So, um, it's kind of broken up into two pieces that would be targets and name servers So the easiest way to think about that is that targets are the actual thing That you are changing or that you're going to perform change on so if dns is Sending a notify to do a zone transfer. It's going to send it here if it's going to um You know make a make a database call like it is here for power dns It's going to do that here if this was bind this would be where you were doing rndc calls Anything like that? Yeah, and then the name server is that is actually the place that designate will make sure that the change went live So designate will ensure that the action that you took in the target Had the desired result in the name server So you can imagine a situation where if you have a master slave Replication or You're pushing out somewhere and then that then some other out-of-band step is happening that you'd want to go and check Um before designate said hey this zone or this record is active and ready for resolution You'd want to go actually go and check the place that it needs to be resolving So that's that's kind of a nice thing that designate will do for you Because it asks you any questions about that just shout them out right now because there's no way that was that simple Yes, but we've done that for you in this demo. Yeah, yeah So the first thing that you'll need to use designate is it is in fact the dns server power dns bind nsd Is it here? There's other drivers you can write your own too Yeah, it's Yeah, be be sure to check out like when you get back But there's another talk going on right now about getting your instance name This one it's attaching dns names to neutron ports and nova instances Uh, which is going to be pretty pretty great all right, so uh I think we're going to move on here. Uh, we did we kind of showed you the config Um, we're just going to make a couple of directories here. So we're in Let's just go back to the home directory And make their logs That path I'm gonna let you do that because I don't and state I don't know that state is actually used in this one, but Logs definitely definitely is we're gonna we'll have a we'll have a problem here if you don't just create a log directory So you want to create that You want to create that directory All right, so the next one is we're we're gonna we're gonna get a little crazy here We want to create the database that designate is going to use If we haven't uh already Yeah, a little bit but not much It'll still still work So, uh, does everybody everybody does I bet if you just do create database designate You'll probably be fine for now, but yeah, it's if you're doing this on on the official. This is what you would want to do Um, so we want to go ahead and do the same thing for power dns Which has probably already been done for you. So No, I mean you can drop it and create it again if you want, but probably be silly So, uh, the next thing we're gonna do is we're gonna get um I think this is probably already been done too, but it's it bears mentioning um We want to get the uuid of the pool that we're using So, uh, just open up the config file either home vagrant designate.com.workshop or home vagrant designate etsy designate designate.com um And then you want this Pool id right here And this should be the same for everybody Um, so it should be line 165 Or 167 cc to c What's that? um, it's either home vagrant designate.com.workshop or home vagrant designate etsy designate designate.com So you want to snag that uh uuid And run designate manage power dns sync So Like that didn't actually do anything right grand like that already that has already been run probably And check the version Whatever's in your config is the uid Cool It's already been done for you. So it shouldn't matter anyway, but yeah, that's that's the wrong uuid It should be the Yeah So the the the one that you actually want Oh wait It is the pool target Well, okay Just kidding. So the the one that you actually want is uh line 266 Yeah, because it's syncing the target. You see I told you it was confusing Yeah, that's that's one of the The one this is one of the things that we're working on fixing in this cycle is making that making that kind of process simpler So it is the right one So now that we've uh synced power dns, which was again probably already done But if if it made any changes you'd want to uh Restart power dns. That's pdns not power dns Yeah, we're doing good We do have 30 minutes, right? Yeah, so what we're going to do next is we're going to start all the designate services. So so what you'll want to do Is a pseudo service designate api start designate central start designate m dns start And designate pool manager Start No, it does not The order does not matter Yeah, they're they're actually all pretty small pretty pretty contained services Those are reading um etsy designate. Yeah home vagrant designate etsy designate Designate.cof. No, it shouldn't it should be the home vagrant designate etsy designate designate.cof That's going to be that's going to get changes The designate.cof dot workshop is there as an example. I think in the past we've had We've had changes in there that we wanted people to copy to the other one. So we we had it there Does everybody got these services started ready to rock? cool, uh, so We're going to prepare keystone So if you're in the uh, the vagrant home directory, you should source the admin credentials that are in there so source openrc.admin And uh, that just that just like sets a few environment variables for For the various open stack clients that we're going to be using So the next thing is to create The service and the endpoint in keystone, so this This thought this command is in that install script if you if you want just wanted to copy it, but it's uh, they're actually not too bad You don't actually need the description Everything will not work at all If you don't just have a good description. So that was a pat again And if you're if you guys are having trouble seeing it again that they're in the install that install script that's in that your home directory so you can Grip for keystone and maybe probably see it there and copy it You also need to create the endpoint. So that'd be the uh The endpoint for designate Is there no doesn't need api runs on port 9001 by default Public public curl public curl Admin neural is everybody everybody good there Not yet Little bit This is obviously really important because users and clients are going to go to keystone to look for you know the dns service So that will get you That service needs to exist and then once it pulls the service it's going to be like, okay What are the you know, what are the URLs? What are the endpoints and then you know, that's how your client is actually going to know where to go Someone might look at their catalog to see where you know, where's the endpoint? This is how it actually gets in there You can also um just for like development or playing around you can run designate in uh, no off mode Um, so that's in that I remember in the api section We had off strategy equals keystone if you off strategy equals no off then there's just no authentication um, and it actually listens for a couple of uh key headers http headers that will um Kind of still provide you with multi-tenancy even though you don't have authentication So if you have some other Off strategy you can do that So like say in the install designate dot sh that's in the home directory if you search for keystone you'll find these two commands So I think we're going to move on here unless anybody else Yeah, all right So we're going to make sure that the designate client is installed so You do the cd python dash designate client And do the same requirements dance we did earlier. So pip install dash our requirements dot text And then we'll do pip install dashy Pseudo pippin stall locally there So what that did by the way, uh, there's already the open stack designate client Or sorry open stack client python open stack client Packages or uh python package installed So when you install the python designate client package it will go ahead and add a plug in there. So when you do you can do open stack command designate command sub commands Loads them as entry points. There's way too many x y client Names that I get screwed up I mean like There's plenty of commands here. You'll be fine. Just just pick the pick the designate ones out of all of that So are we good to go? Yeah Everybody happy sweet. All right. Um Are you guys excited because because it's time to actually do something So I think I think eric's gonna do uh some some cli demos here for you. I'll get up for a second. Yeah, we'll get you So the last two commands just so someone asked was um pseudo pip environments dot text And then pseudo pip install E period and you can always go and Someone didn't remap their caps lock key. It looks like today Okay, so um, is there a square way before I keep moving on? Yeah, silence is yes, unfortunately so um So what we're gonna do now that we have a actual running designate and that sort of thing thing going we're gonna go ahead and Uh, we're gonna start operating with this. We're gonna actually start using it So real simple thing is we're gonna we're gonna go and uh, oh, we didn't add Let's move on. So This is everything we installed nice diagram It's great. Uh, now we're using the service. So operating on designate Yeah, that's what I was gonna say So there we go. So what's the So first things first, um, typically you'd have Uh, you need to configure a name server when you have designate So in this case, this is not something you do like all the time But it's something that you typically have to do if you're developing or getting set up So you run a designate client. What is it? So server Create Oh, that's right. Sorry Create and one thing if you ever confuse like I always am help Look, there's a bunch of stuff. So I'm gonna go, um designate server Server create and since I'm not sure how that works off-hand. Oh, that didn't help me Server create And I just do it. So ns dot Is his name? Thanks And what this is doing is making sure that the zones that designate creates have an ns record So you have to tell designate like hey, this is what I want the ns records to be for the zone And that's what this is doing. Otherwise if you try and create a zone without that, it's not it's gonna be like I don't know. What's a I don't know what to do. I look right Tim. Did you run? Yeah, I hit enter Oh, you did it I hit it. I hit enter Yeah, is it like right Tim? We need a source Uh, yeah, that's what I thought. What do you think too for you in service? Oh, it was keystone. I was not able to connect to This keystone running Central Sorry, it's calling central The designate API log file Does it uh check the config file? Grab for rabbit Awesome rabbit in there Dot workshop is fine. Oh, it is So it's using the guest quite a fall. That should be fine Rabbit impuse couple status Okay curl can't use the maybe it can't use the guest user for some reason Yeah Install script So if you guys are still blocked, let's just go ahead and uh We'll just run the install script and it'll go through everything that we did to make sure that we did everything, right? Make sure we didn't miss anything. So I'm gonna do that Nope, you don't have to vagrant score. You can just right there. You can just run it Nope, you can just run it. Yeah, it'll it'll break at the very end on yeah on something Here we go. So yeah, so if you just run the install script Yeah, apparently it works. Yeah, so we probably just had a typo or something somewhere here and there. Yeah, uh, which made that happen. So Back on track Magic of automation. I think that's a lesson everybody Let's let's not uh That's not that this is a positive It's okay if the the script will actually fail at the very end. Um, yeah, and that's just but it Yeah, it did all the all the need falls. So you guys are good to go So, um, so now that we have a name server that means we can actually start doing things with it So let's go ahead and we'll create a new zone So we can run the opensat client and we can zone create so, uh We can go and say help So when it when we run these commands, I'm gonna I'm gonna use help just to Help me not make terrible stupid mistakes and know what I'm doing But also just so you guys can see that there is some reasonable help help it documentation So when you get stuck you have a question just run help and see what you can find So here we're gonna create a new zone So, uh, you can see we take a positional argument so that the zone name is what we take And then some other stuff like email type ttl that sort of stuff So we're gonna go and do open stack Zone create and we're gonna create a domain called short.io and note that there is a trailing dot at the end if you guys Don't keep up with dns sort of stuff every day all day long. You got to have a dot at the end Oh, yeah, sorry So zone create short.io And then we're gonna go and do an email and say admin at short.io No trailing dot because it's a real email address We're gonna create that guy. So that created the our new zone So now we have a awesome new zone in in our data. So we want to add an a record So we want to say let's let's give this guy an ip so we're gonna go and So if you got no servers configured that means that you need to run designate client and add a server. So designate server create Name And then we'll call it ns.demo.com and I'll create Dot again, like I said If there's one thing you take away from this is the dns adds dots at the end of stuff I don't know, you know, it's just it's what they do So while people are getting a little bit associated just I heard a why why do they have a dot at the end? Do you want me to try to explain this because I can? Okay, so the way the way dns works is that That dot is effectively the top level of top levels. We all think dot.com. That's top level domain Guess what? It's not Dot is where it really starts. That's where the world begins. So that's our big bang And so from there you go dot and then calm is the first segment of it and then calm dot et cetera On and on and on so that's that's why you have a dot at the very end. So In this designate server create so basically just to be clear so designate I'll show you guys in the slides even Yeah, so in this in this awesome diagram you see here If you can see my mouse you see there's this pool manager and the pool manager talks to a back end And so we have to we have to give that back end some name servers and give them a name So that's what that's doing when we run our command We're going and giving the one of these name servers a name and say hey this this name server that we have running this bind instance We're going to call that ns.demo.com And so that's what that does typically this is something you would do It's a very high or sorry low level operation that happens So it's not something you would typically have to do like for example If you had a private cloud that someone's ring designate for you And doing this you're not going to have to do that. That's something that the operator should be probably handling for you Yes, yes, so that's what the pools are for so you can have one pool that's running Bind and one pool that's running power dns And then you can do things to to route for example a certain zone Do a certain pool or what you could have multiple targets in the same pool running different name servers to if you wanted to That's sure. That's the ns record that ends up on those Domains that power that designate creates within power dns. So If you know for example when you create a domain at Rackspace you're going to get ns ns2.rackspace.com to go and put as the Name servers at your registrar that the domain registrar So that when then when people do dns queries for your thing They're going to be like oh like where like who's authoritative for this zone And it's the people, you know, it's those the ones in the ns records are the ones that are authoritative So when you when designate creates that for you, it's like, okay, this is where i'm going to be serving This dns zone So you should tell people to come, you know come to me when they want to resolve it Yeah, so that server create just in case just to like make it clear because I might have sounded like This actually goes and spins up a bind instance or something. It doesn't do any of that stuff It's only dealing with the ns records for that for those zones So we'll go ahead and move on so we're going to go ahead and create a record set So that's going and actually creating a zone like for example an a record We're going to give this guy an ip address So we again it did help so you can see what that looks like we we're going to Have a zone idea and in this case we can use the our our domain name in this case So short.io and then the record set name and then we're going to add a type and a record type So we're going to go open stack Which i'm just going to go like that open stack create a record set create for short.io and we're going to create one that that is Do short.io Is what we're going to call that name and then the type is going to be an a record Record sorry there it goes Records because we need ip addresses so 10.0.0.1 Nope, that's just a name And then we'll do one more just because why not HA you guys High availability There we go. So we just created some uh two two a records for this This awesome thing So here we can go and see this is created And we'll go ahead and dig against our local host and say short hort short.io And you can see there's our ns record so you can see our name that we were looking for you have ns.demo.com So there you can see our Um, that's where that name server create came in and then if we want to go What is it plus? Is it right? What do I call that do? Oh, it hasn't gone there yet, but so we could uh, eventually dig Outer i'd mess it up. That's fine. I see what you're saying I think I did that wrong. So here let me back it up So that's fine to have do dot short.io dot short.io. That's okay. We're going to go So basically what we're saying is if you wanted to create a uh record set for um, we're going to do that Yeah So now you can see in the in the table there you have the name is do dot short.io and then the records are there So now We're going to dig Yeah, yep. Yes Yeah, so we'll go ahead and dig that digging And there is our a record so that's that's awesome. We just We're just making dns happen here you guys It's pretty sweet. Okay. So one thing you would want to be doing is a as an admin So notice remember when we logged in we logged in we had our admin credentials So we're going to go and uh create a ptr record You're not getting that that same a record. Oh, I'm sorry for the you mean for the next command Or did I just mess you all up? Is that helpful For the create creating the record set that guy. Okay. Sorry about that And these uh, just so you know if you guys are stacked or have a question again open stack records that create help Try checking out the help thing and you can he's got a question too Yeah So one thing we see just so I one of the things that you would want to do is probably as an administrator Because this is this adding an a record something like a client would probably do through an api You might have you know somebody's going to go and do that programmatically But one thing you probably wouldn't necessarily do would be something like a ptr record So ptr record is going to say hey ip address what domain works for this guy. So it's like a reverse lookup So email for example would be something that uses that to make sure. Oh, yeah You're actually sending this from a valid ip address that you should be sending this from Sorry I'm gonna I'm so we're going to walk through how to create a ptr record So one thing I was going to point out is that there is a ptr Set of commands in the open stack client, but that's actually specifically for floating ip addresses So um, we're not going to do it with this ptr thing because we're not running some floating ip thing So instead though, we're going to actually do this the old school way. We're going to go and create a an actual a record a ptr record using the in adder arpa piece that you got to do so I'm going to actually pull this up over here because Oh, no, I'm not that's going to take two So we're going to go and create a new zone And the zone we're going to create we're going to go and say So basically what what you do is if you have an address like 1.2.3 Dot four when you create the in adder dot arpa The reverse you have to go and say four dot three dot two dot one dot in adder Dot arpa dot So what that does is that's like a it's this is if you're thinking about this When you do a dig on or in a reverse lookup on on a ip address What happens is dig will go and do this little thing to look it up for you So this is Little bit of dns Backstory here, so we're going to create the create this zone Tim Tim Tim You got to rebind this Control control key. I'm about to start emacs just so I can type Yeah, so I just created this zone So what this does this is something typically an an admin would be doing because it's not something that you'd want your users Doing say because then they could go and hijack ip addresses and things like that And that's not cool. So we want this is something that you would be doing as an administrator So that maybe a support ticket. I need to create a A PTR record for this So here we've just created this PTR record So then we want to go and point the PTR record at our at our short.io zone So that way when it when it comes in we can go and Get that reverse lookup so just to Just to show you as well just because if you get lost You look up the designate docs There's a how-to for this as well Not that one not that one. There it is Right. Yeah, this is probably better Sorry There's a there's an article that goes through how to how to create PTR records And this is more or less what we're kind of going through just to so you guys can follow longer Because we're getting close to the end of time like two minutes So you can see we just created this new zone So now Next step we want to do is we want to go and create a PTR record that points back at our example dot.com on that on that zone so We're going to go open stack Record set create and we're going to create it on our 4.3.2.1.in adder arpa I think that's right And then we're going to point it at The type Is a PTR record And the records Are short.io I knew I did that one. Oh, we've got to give a name Reverse Sweet I shouldn't do the name should I? Oh, I see what you're saying You're saying do that's right The same thing If you guys if you guys check Graham on twitter later, sorry, I think you're uh, I think he's Are you mugsy on twitter or Graham? He's he's at Graham Hayes on twitter He'll tweet out all these links To all this stuff and if you have questions you can hit him or uh, or me or Eric On twitter or in open stack dns on irc Open stack dash dns on freenode We all we all hang out there Or you can send us an email or you can drag us down the hallway Or you can come to our place of business or whatever Yes, just uh, just a follow-up So we created a PTR record set and noticed uh how before how I messed it up With with the name and notice how I was able to create and um right up here That we have create and then this is the this is the zone that we are creating the record set on And this is the name of the records out that they were creating I missed a trailing dot and that was why I tried to do it concatenated things together. So once again, you guys, what's the lesson? Put a trailing dot on everything. I think we're pretty much out of time If you have any questions if any quick questions, gentlemen Not yet. It doesn't relate to Nova boot yet. There's code up there There's code up for neutron right now And there's code going up for nova I at the moment, there's a thing called sync I designate sync which listens to events submitted by nova and neutron But at the end of this cycle, hopefully The nova and neutron code nova and neutron will call directly out to designate When they create ports on a neutron network On that handle creating all the dns entries It's not something you'd want to type out And like I said, that's the kind of thing you do once like so typically if you're developing That's like I think all of us have in it initialize things. It'll be like, oh create this real quick So when I start up designate, I'll have a server to do that Also in that directory there are some there's an example script and a short url script to kind of be like Oh, let's write a little url shortener where you could create subdomains to to just kind of play around with something So feel free to take a look at those if that's of interest to you to see how you can mess with things like the python bindings and stuff Can you just shut down or you can do if you exit SSH, do vagrant hold? Any other questions? I think we're probably out of time. All right guys. Thank you very much. Thanks for coming out you guys If you feel like stickers are up front