 Up here in the front spot in the front half of the room So for those who can't hear me because my voice is not that great today It's the SSID that we're gonna connect to is just Suza not the Suza OS training That's across the hall, but just Suza and the password is open stack all one word lowercase Yeah, there we go. All right. Now. Let's try this again and see if this works Yeah, look at that first try That's right. It is Oz right Okay Surprise we have this many people here for the last session of the of the entire conference Great. This is gonna be great Yeah Yeah, because the conference is great not because it's over Although my wife will be very happy to see me this evening Hey, at least you get to see your wife. I got a plane right to go. All right All right. Good afternoon. I guess we don't have a clicker Everybody say cheese cheese Good choice All right. Thank you for coming to our little thing and while those lights are bright. Okay, let's Look at this side of the room not because I don't like you guys but because I'm not blinded when I look over here So today what we're gonna do is we're gonna do a little bit of service orchestration This is a very basic introduction to heat who here has actually worked with heat before and tried to do templates and stuff like that Okay, so those of you who how many of you were successful at doing so? Okay, a lot more. Okay, those of you who are in that boat You're probably not gonna get a whole lot out of this and I'll be upfront with you right there This is this is very basic just standing up instances creating basic resources and connecting them together You're more than welcome to stay and to do that I just wanted to let you know ahead of time so you didn't get into this and then realize that now I already know all this and and I could have spent spending my whole time going and getting tacos Tacos and beer and tequila Sure more tacos. All right, so by way of introduction. My name is Rick Ashford. I am a Senior technology strategist. I just made that up today. Not really. I stole my co-workers title because I thought it sounded good For Suza, I've been doing this for about coming up on eight years now With me here is Sean Rickard who is three years three years here at Suza all all doing the same thing Our jobs are to work with our customers to help them understand the technologies and everything that we do And so part of that is doing classes like this Sean is based out of Montreal. I'm actually based about 20 miles up the road here in in Round Rock So I'm welcome all of you to our wonderful city if you have any questions about where you want to go for dinner tonight I have lots of good suggestions for you Do not waste your time in Taco Bell or McDonald's or Wendy's or something like that. That's a shame Shame on you if you knew that while you're in this town All right. All right, so All that kind of fun stuff out of the way. We're gonna do a very quick Brief overview of the I've just heat what it is All that kind of stuff as some of the history and then we'll get into a little bit of the syntax for the For creating stuff and then we're gonna dive right in from there into the actual lab work I'll give you a URL that you can use to pull down the materials to do the labs so He is all about deployment of services for being able to do some right Typically, you know, you're you know, you don't normally have just like a single Application on a single server that you're launching up one at a time Usually it's a series of things that need to be done in concert and in order to provide an overall service There's three different ways that I want to talk about that you can deploy services in cloud The easy way they're not quite as easy way and then the hard upfront but totally easier and then and way and there's some good news We're actually gonna be doing all three today Just some extent. Yeah Okay The very first one how the easy way. How do I deploy it? Just log into the dashboard click the button to launch an instance? I create your stuff. That's one of the beauties of open stacking cloud computing in general is that you can very quickly and easily go in and point and click your way to a functioning Environment and that's okay, you know as first for some people. That's the way to go. They don't need to learn other stuff. That's great but You know sometimes you need as I said that he is usually by you know The services are typically not just one thing you have multiple resources you need to do together Oftentimes you have to repeat it because you need different instances to do different tasks and as a result you want something that's a repeatable process So that you don't have people constantly misconfiguring their systems when they're supposed to be bringing them up So they're not quite as easy way. There's a wonderful API for for open stack use There's a lot to command line tools You can go through you can write your scripts and you can script out and essentially do manual installs But do it from a scripting standpoint and that takes a little bit of time and effort to get into it But once you do that, it's very easy to keep rerunning that script One of the downsides though is this is not terribly friendly to all your potential cloud users I don't know about you but I Spent a lot of time In my professional career working with people that did not care for a command line My own mother actually liked to come up command line better than my than my customers did That's cheating a little bit because my dad was a 40 year IBM or and it's been doing did Linux for like a long time but But most most of your user end users don't like the command line You know Bob in finance he needs to be able to run his application There's WordPress blog or whatever he does not care to log into a UNIX term a Linux terminal an issue of some sort of commands to execute a script Not gonna belabor that point anymore. So the heart up front but totally easier in the end way is he itself It takes a little bit of time to get used to it I'll be quite up front. It's it's very difficult to find good documentation that you understand in good examples There have been I'll get to you in just a second sir. There have been lots of People have done piecemeal tutorials here and there and as long as you use the specific technologies that they did in the specific way They did those work very well, but when you're trying to adapt stuff and get it to be And get to be customized to your needs there the there's a lot of work that still needs to be done It's a much better than it was I've been doing teaching this course now for this is Probably the third year third Second or third year that I've been doing this and the documentation has improved dramatically over that period of time So this is less true now than it was but but it is still a little bit difficult But once you get past that barrier and you get the understanding for it It makes it very quick and easy and you have a simple script a simple page You can tell people just load this into your into your into your Dashboard and and go and once you know we're not we're not integrating that here But when if you use morano or one of these application catalogs this that takes it one step further It becomes your your push button app store So you had a question here in the front These slides are not only going to be available But I'm going to give you the URL for my laptop if you're on there And it has all the materials for the class in their lab materials Some additional stuff that you can play with on your own time if you want to do for example, there's an auto scaling Template for a patchy that that you're more than welcome to run It has a KVM image for it Which is a downside because I don't have a KVM hypervisor up here So you're not gonna be able to do that here, but you're more than welcome to take it with you and do that And the slides will be in there as well Marketing would probably prefer if I export that as a PDF before I turn that over to you So I will I will create the PDF momentarily Yeah, dry mouth, where's my water go? It's around here somewhere It's where I don't know right here in the front of course I don't know if anybody else has fallen victim to the pollen here, but I definitely have so I apologize for my very raspy voice All right. Yeah, I was very seriously worried about what I was gonna be able to do this this morning Even as early as this morning. I was not really able to talk above a whisper But we're doing good now. Yay Okay, so heat it's been around since grizzly is when it was started being the incubator project So it's got a little bit of history now And then we here at Suza have been supporting it since the Havana release Once it kind of got out of the incubation period We felt like that that point it was ready to be able to be supported So just by way of reference that was in Suza opens that cloud 3.0 Where we just released our 6.0 version based off of Liberty a couple weeks ago a Couple weeks or a month ago month ago about a month ago. Yeah Okay, that's not belabulous so What is heat so a quarter if you go and Google the definition for the the project and stuff like that So the heat is a service to orchestrate multiple composite cloud for the application Whatever right that's not the most exciting thing to read through in the month So I rewrote that so he allows you to pre-define a set of compute network and storage requirements to provide a specific Service and you can deploy the whole thing automatically My plan was to actually have a pocket. That was supposed to be a woo going on right there And just didn't come out of my out of my throat That allows to have a bunch of confetti and when he said automatic I was gonna But yeah Thanks, I appreciate you not actually doing that Okay So why is it called heat? Heat makes clouds rise. I get it You're bringing up your services As far as open source project names goes that's actually not half bad You know trying to get to where neutron comes into a software to find networking is a little bit more difficult I'm sure somebody really thought it was obvious at some point, but even even before when it's called quantum it still wasn't readily obvious what it did So there's two different formats that that are available if you're going to program for heat and there's three reasons to use both of them The first one is that heat was designed to be fully compatible with the cloud formations service on Amazon AWS Benefit being then that you could use this template either on AWS or on your local open stack infrastructure And you would not have to rewrite it each time you would you would be able to use a common template between those and that Can save you a lot of time We're not going to actually do The AWS stuff today, but I did want you to know that it is there and it is something that you can use and if you are an Amazon user It can be it can be quite helpful for you Reduce your duplication of resources Then there the other methodology is the heat orchestration template I don't know why I keep looking over my shoulder this way when it's sitting right here in front of me But it's forced to have it So the the other one is the heat orchestration template or hot This is a YAML based template that In that's what we're going to be using for The exercises today who here is familiar with YAML just by wave shape. Oh, that's a good. Yeah So you guys already know mind your spaces. That's right mind your spacing That's I've over the the two three years. I've been doing this that it's like 99% of the questions that people have come Down to they indented two spaces instead of three or three instead of four or something like that Exciting okay, so getting back to weird open-source project names YAML stands for YAML Ain't a markup language because somebody wanted to be recursive And they're naming for them so you can see that it's a Structured via indentation right here So so spacing as Sean was just pointing out counts quite a bit in here because that's how it's kind of like Python and that That's how you delineate your control structures and whatnot If it helps anybody just think two four six eight. Who do we appreciate Sousa? I'm not following you on that one man Where that comes oh I say two spaces for space. Oh, okay. There we go Okay, I got you. Oh, that was clever Sure it was Okay All right, so so it's structured to be indentation your sequence items Argument be noted by a dash that means if you're gonna have multiple values assigned to something you're gonna have a dash then you'll have your input your key value pairs and Key value pairs within a map are separated by colon and that sounds not terribly intuitive, but It'll make more sense as you go through the exercises and get used to looking at once you get used to looking at YAML It's actually a very easy to read and it's It's much nicer than something it's much better than something like XML that's just gonna drive you crazy All right, so just to get an idea of what some we're gonna walk through a couple of things We're gonna do in the in the exercises the first thing is we're gonna do just our basic kind of a hello world thing where we're gonna use the the OS Nova server resource type to just launch up a single instance We're not gonna sign it any special networking. We're not gonna do anything special with it Just kind of bring it up see that it's there feel feel proud of our achievements And then we'll bring it down and go on to the next next little thing and please refer to the documentation That's on the the sir on the host not that slide because the the template name or the KVM image name has changed So fair warning on that. Oh, did you mess that up? Yeah, I Had Sean he was my beta tester this afternoon to make sure this stuff is all working and so yeah The slides are here just to kind of give them a view of the format not necessarily to be the reference for them Next thing you can do is once you have you know the ability to declare those resources You're oftentimes you're gonna want to have some sort of variable input from your users And now you can get five parameters, you know, it's standard programming type stuff. So you define in there You have You can define the the type of your parameter in this case. These are strings And you can give it a label if you want description in that the the heat engine when you go and load it up in the web interface We'll actually pull that out and give you nice pretty text boxes and all that kind of stuff for users to be able to put their stuff into it so Pretty easy to get yourself some Some parameters and then you can see down here in the resources That for example the key name is a get does I get parameter on it on the key name to be able to pull that in there? And you can use that as a reference Again, if you if you've done programming, this is fairly basic stuff Not everybody has done that though. So we do need to cover it a little bit You can do additional things beyond just doing the the parameters themselves You can Here Yeah, here we go the big thing here is it Down at the bottom of the the password you notice that there's a hidden colon true So if you're gonna have something that you do want to have, you know, there's little stars instead of showing up on there say root password or Your social security number for if you are stupid enough to put that into your into your application You can put the hidden colon true on there and and that will take care of it for you And now that the other thing in the top one is you can set defaults pretty straightforward You can also do restricting user input Because as everybody knows if you let users type in whatever they want the things that they type in will not make any sense But so ever I wish I thought I had a time to go and get that xkcd comic with the little bobby tables Do I remember that one? Yeah, okay good. That was a great one one now Like I tried sharing that with my friends on Facebook once a couple of years ago and it just Went over their head at 10,000 feet and climbing So I like having an audience like that where you can bring it up and people like this where you can bring it up and people understand it and I Thought I silenced my Google Hangouts, but apparently not so All right So yes allowed values so in the top one we're actually setting specific values In this case we're picking flavors of what we're gonna launch up for our instances to be what size Instances we're gonna launch up and you can see right here. We're restricting it to a specifics These are this one's gonna be restricting it to larger values In our case right here because we are doing these on these small laptops and there's a fair number of people in here I've actually limited you and there's only one flavor allowed, which is the M1 tiny Smalls it goes And then you can see also on the password section down here You can even go into allowed patterns if you know your regular expressions that means you're awesome and You can go in there and you can define out how you know the patterns if you need to have a certain number of spaces and characters or If you're gonna be the the password Nazi that makes you have a 20 character thing that rotates every two days and You can't have more than three repeating characters or something like that I'm not very happy with our corporate IT right now. They changed their password policies I had the same password for like six years and now I have to change it all the time So that's me complaining All right, so let's talk a little bit about the Docker pieces here who here is familiar with Docker I would hope that at this point if you've been at this conference all week long that you've at least heard the name Docker If you haven't that means you didn't pay attention to any of the keynotes And I can't really help you at that point So in the context of heat There's two different resource types that you can use to to talk egg to create Docker instances One is one that was contributed as an as a third-party plug-in By Docker Inc to be able to actually create Docker containers And then there's the traditional OS Nova server like we saw in the example I had earlier And we'll talk in just a second and about About that nice as soon as we get done with the presentation I'm gonna kill that hang out and figure out why it's still putting up notifications one One heads up if you are going to be doing doing Docker with your in your own setups at home Note that your glance image name must be the same as the the the name In if when the image is in Docker, right? If you do if you do a Docker images, it'll say like Sousa slash 12 sp1 or whatever your image name in Glance has to be the same as that name Otherwise, it'll start to launch up and then it'll stall out and doc will complain and Then everybody hates you So don't do that. Yeah, and also hats off to Cameron and and Al who have now been Basically yelling at the people on the hangout These are jerks So two of my co-workers are here in their front two rows and they're sit there They're the ones that are throwing up all the stuff up there. Thanks guys Oh Thanks. Yeah, go me See, you didn't know that you were coming over the comedy show today Yeah, all right. So doc the the one from doc greek. We're not going to be using this one today Because primarily for the for the last bullet point right there But basically what this one does is it tells tells you have to have a base image That you have sitting in your glance repository And you need to it will actually launch up that image as a standard VM And then it will do a doctor poll and pull your your Containers from a from a repository from a doctor repository over into that system and launch them up And they're all clustered there together nice and tidy on their own individual VM I'm not necessarily a big huge fan of this methodology Because to me it's a huge waste of resources the whole point of one of the whole points of Docker is that You know by using the layered file systems and overlapping and all that kind of stuff you can get a lot better performance Then you would if you were just Doing virtual machines if you're gonna throw the virtual machine in there you could kill that entire Point of doing that. I guess it means you don't have to launch multiple virtual machines, but still it is good though if you're in some sort of industry where there's some sort of compliance whether it's PCI or whether it's HIPAA or if you're doing Government work and you need to be Compatible with that. There are some there are times in there. They require strict separation of resources And that that would be a good reason. I would think to be able to do it this way. Otherwise for most most of the The the Docker instances, I would just let them sit on a dedicated Docker host so you can get the best performance out of that Thanks, Al He's explained to my other co-workers across the country that That I was an idiot and left my hangouts up I Know that some not all of you can read those out there in the corner. I Don't want to lose my microphone. All right. The other one the OS Nova server This is really nice because Hey, this is the one uses a dedicated Docker compute node. So and that was sent to the Nova scheduler. It's just like any other hypervisor And it works the same Benefit here is you don't have that virtualization overhead. Especially if you have a lot of images that are based off of a single Base image you can get some really great Efficiency and your use of your resources and you can really pack in a lot of workloads Onto a onto a single single system Did I leave some out? Dedicated no overhead Look at that I got it all Seems like there's something else. Oh, the nice thing about this as well I didn't put this in the bullet points is that if you're using the OS Nova server Template types and you decide that you want to switch from Docker to something else or something to Docker You don't have to rewrite your heat templates If you're using the standard Stuff right here, then it makes it very easy to swap it out and that way you can experiment with different platform architectures And not have to worry about screwing up bring up your Rewriting your heat templates to to get there Okay, I just a couple resources And again, I'm not expecting anybody to write this down right now I am going to have these slides available on my on my laptop up here that you'll be able to download If we're able help for however many people are able to actually get on to my poor Access point there in the middle of the room. We'll see how this goes But there's there's these are two places where I found some good heat templates out there I was able to use as a basis for doing my stuff there at over the last couple of years. There's really been Expanding of the what's out there online and some of it is even marginally relevant. So yay All right So let's go ahead and do let's do this right? If anybody has questions while doing the the work just raise your hand. I'll come down and I'll help you out the best I can All right, so for those of you who were not in when we were talked about the SSID You want to be on the Susan network not the Susan OS training that of my colleague Ron Terry across the hall And he probably would not appreciate it if we're sucking up all of his bandwidth More importantly though, you would not be able to access any of the resources here Your horizon dashboard is going to be on at this IP address So for users what we're gonna do is we're gonna start here in the front row if once Cameron gets off of his phone Cameron, thank you We're gonna start saying numbers and going down and basically that number is going to be Part of your username. So if you're number one, you will be Austin one with the password of Austin We're super creative right here. So let's just go ahead and start right here and number off and just Go down and you're not gonna you're not gonna do okay. Let's start with you gentlemen right there. So one Two 15 All right, let's come back up here. This is 52 is the last back there Start back up here in the front row and hopefully we don't go past 99 because that's all I put in there What started 54, okay 54 Okay, once we go past 99 I'll Once we know how many it is I'll create additional users and spaces Okay, and that's my boss of the back of the year. He doesn't need to get on here Okay Okay, so we ended up at a hundred and five. What's that? Let me go ahead and so that was actually a sneaky way to find out exactly how many people we have here Super sneaky was that that the counting off that was a our way to find out how many people were actually attending the session And just so you guys know One of our colleagues I did a presentation with him and he made a really good point for for this session You can think of Rick as Wikipedia and you can think of me more Like a YouTube you're what more like a YouTube? No, but I'm pretty obnoxious so everybody go ahead and try to yep, you got a question over there The last slide can you bring up the last slide Rick, please and thank you So is anybody unable to connect to the Wi-Fi you can't log in okay I'm not sure what my I think I did a hundred and twenty IP addresses on that thing. So hopefully I Mean, it's a small little Apple airport thing so Last time I did this class. I had ten people Time before that I hadn't like 50 or 60 or so so I was not expecting a hundred which is it's great to have you here I'm just gonna take a second Is anybody else unable to log on to the console you can't log on Make sure they did it right the images are that the Docker image is already imported in there You should have you should have them available to you You should not need to go grab the Docker images the the KVM images that are in there You're welcome to grab them to to use in your own spare time later and use your kids with it The camera there's a couple of hands going up back there if you don't mind So there is a PDF on on that server there on the host that has the lab manual So feel free to pop that open and Conserve it what? I'm about to have a hundred and ten I've created the users and I've created the in the tenants, but the projects But I have I need to sign the rolls real quick and then and then they'll be ready to go Okay So for those who can't log in just give us a second we'll get that fixed up for you Okay So for first off for those of you who are over 99 you should be able to log in now with your with your credentials What's that? You don't you do not want to do copy paste Okay, so I purposely left it a little bit difficult like that So that forces you to interact with the text if you just go through and copy and paste Without really looking or reading it You'll go through the lab really quickly, which is great for you, but you don't actually learn anything. So so I'm Exactly But it teaches you so That's the whole point. Okay, so we have specific users that are having problems so a Couple of people have been asking me about this if you're if you get through the parsing of Of your yaml file and the actual creation fails. Don't worry about it. You can actually just move on We're not going to be going into the instances themselves. It's really just to see how the yaml file Sets up the the parameters Okay, I've gone through and I'm updating the quotas for everybody to give it a little bit more resources available to you However, be pleased be responsible If you have once you get done with an exercise terminate your stack don't sit there with multiple stacks open So we can leave resources available for other people Okay, I ran a script earlier The supposedly was going to put the key pair that you needed for it and in there into each of the tenants But apparently something is weird is happening And not everybody is having those I'm not sure how it would happen on part of them But not all for if you don't have the key pair in there just simply create a key pair Through the interface going through the access and security rules section and create a key pair You can give it the same name as what I had and just put some random text in there Or you can create your own and then just adapt your resources when you're putting them in there So for the people that it cannot log in that you're getting the refresh when you're trying to put in your username and password We're working on that right now. It should be fixed in the next couple minutes Yeah, it could also be related to your web browser So Just for those of you who are having trouble logging in The gentleman over here was using edge as his browser and that did not work once he switched to chrome He was fine so if you're using edge as your browser and you're having the The issue with with not being able to log in then try the try different browser So there was one question up here about whether this stuff was SUSE specific or whether this is just general All this is completely general. There's nothing SUSE specific about this So very quickly I had this question come up a couple of times So what you're deploying are actual docker images So the images that are that you are using are spinning up those docker containers and it's all running on a Docker rolled or Nova Docker in in crowbar So there is a bug that's in the the the lab on purpose So you will get there and we actually set it up there so you guys can can put it around and then try to fix it So it's a little bit of a hint. It's in the networking section of it So you'll get to it and if you have questions just let us know So we've had a couple people ask where's the docker and all of this Who here was wondering the same thing? Okay, so the point of the point here what I was trying to get across was that Remember they said there's the two different ways of doing it I prefer to do it this way where you're using the standard resources and it's just it everything You're doing is with docker containers It's just you're doing it using the standard resources the benefit to that being that it makes it much more portable From I deal with a lot of my customers are all very large enterprises that have multiple hypervisors and platforms and stuff like that and so by being able to use the common resources that makes it enables it so they Can shift it back and forth between them much easier Without having to rewrite every time which is why I decided to do it this way that and I feel like this is a much more Efficient re-use of resources if we were launching up VMs for everybody to do all this This system would have cratered even a lot faster than it did already