 Some are being served off of my laptop, so please pass it around. I don't have enough for everybody, not the USB keys, so please copy it and share with your friend. I'm sorry. All right. Now it's out of my hands, so, yeah, all right. If you have the Susie little cloud, you just pull on one little end and it comes out. And if it doesn't work, bend it a little bit and it gets looser. Here. It should come out, yes, yes, yes. You either need either a key or the tar file. You don't need both. They should be the same, I think. I'm sorry. If you're having technical issues with the USB key, okay, so there was like a little thing that... I don't know that we can get out of this one anymore, strong fingers. To get to my URL, please get on Razor 5 or Razor 24 network. Can you get to it, Daniel? Can other people get to it? If you do get on one of the Razor networks, those are just internal to this room. It will not go out to the Internet. So the format for today is, you know, these were actually originally two separate talks that were submitted. They're actually very complimentary. So we're going to talk about Razor, the first half of the session, about how you use it to provision hardware, how that's set up. And we're using it to set up OpenStack with Chef. And we'll have a break, kind of in between, because this is two hours, 20 minutes. You know, we don't have to be the whole time, but we probably, well, you'd have a larger chunk of that. So Ago's going to handle the first half. She's more familiar with the Razor side of things. And then I'll talk about the cookbooks that Rackspace is using for their private Chef product, their private OpenStack product, which is all open source. So that's kind of the format. So I'm going to be down here mostly quiet. So yeah, there's our agenda with a break. Oh, you want me to talk about this now? Sure. I think we can start officially. No, I was... All right. We'll cover this later. All right. So if you got in late, I am going to be... Or if you want to follow along, you will need a Razor appliance, which is just a little VM I created that will work with either virtual box or fusion. For fusion, you will need the extension pack. There are a lot of USB keys going around. There's probably not enough for everybody. You can try downloading from my laptop. You need to be on Razor 5 or Razor 24 internal network. This network will not let you get out to the Internet, though. So I would like to thank Inovance, Susie and Piston for helping out with the USB keys and my fellow Rackers for helping me to set up Acresolve Internet and providing me with a little way of sharing this VM. So hopefully by now, you are copying or downloading the VM, and I know even the VM is being served from my laptop. So hopefully my laptop does not die mid-presentation, and it may take a while. So if you have a USB key and you copied the VM, please share it with other people. I can come back to this layer when more people have already set up, but too important on VirtualBox, you will need an extension pack. So make sure you have that installed. If you don't have it, get off the Razor network and get on the actual conference wireless, and good luck with that. So it should be simple, hopefully, but you would not be able to boot up an IVM using Razor if you don't have the extension pack. Is everybody good here? Are people either downloading or copying the VM? Yes, no, maybe. If you have a, if you're done with the USB key, can you pass it to the side so other people can get it? I will post this VM on the Internet after the presentation today or tomorrow, so you can download it later if you want to play with it. I guess I can explain a little bit why I created this VM. To install Razor, there are several ways of doing it, but to install it and configure it, it probably would take over an hour. And instead, I chose this way even before I knew how great the Internet is here. So I'm kind of glad I have that now. But this Razor VM, it has all of the things configured and should work. All right, if you're using Fusion and you're importing the VM, you need to have two networks configured. The first one should be shared with my Mac or with your non-Mac. The second one should be internal, turn off DHCP on the second network. And if you're using Fusion, I hope you've seen these interfaces before. If you're using VirtualBox, you should just be able to import it, accept the defaults, and do not make any changes. It should import everything I had in there already. I'm sorry? Which subnet works? It does not matter. The subnet does not matter for the second network. So I already started talking about the Razor appliance. It is built on Ubuntu Server. It has to have two NICs, one for internal traffic. What's installed on it? I installed Razor using Knife, so it's Chef Recipes. But you can install it in other ways. It also has already TFTP service, DHCP setup, MongoDB comes with Razor, and I have Chef Server set up on the same VM. So you don't have to change anything there. There is a little bit of patching in actual Razor for the Chef Server to work because I do not have DNS set up on it. And Chef Server requires a hostname instead of an IP. Instead, I'm just using IP. I also have Xpics Private Cloud Cookbooks loaded and ready to be used on the VM. So you may or may not want to use them, but the examples will follow those cookbooks. And Matt Ray-Learon will be going over them. The VM also has MicroKernel and Ubuntu Server Isos loaded on there. So you don't have to download them separately. It's all there. Once you have the VM copied or loaded, the username is anyStacker. That is also the name of my website. So if you go to anystacker.com, after the conference, hopefully a lot of this information will be there. Password is Razor. The presenter did not choose to sort up any other users. So everything is running as root. And so switch to root. Once the VM is up, please verify that Razor is actually running. I had some issues where if I don't shut down VM properly, MongoDB will die on me and then I have to do some recovery MongoDB and startup Razor. But hopefully all of the VMs on USB sticks and on the website are good and live. So I intentionally switched the order a little bit because I know the copying takes a while and so that's why I went over that stuff first. How many of you have heard or used Razor before? All right, so very few. So Razor is a provisioning solution for hardware initially developed by EMC and Puppet. They're also open sourced under as a Puppet Labs project. You can install it manually using Puppet or Chef. Your choice, I used knife recipes and they install went flawlessly. There is also a Vagrant Razor out there. It was not working last week with the latest version of Vagrant. So if you want to download the previous versions, I think it works. And I believe the developer is fixing all of that. But you can also just go and check that out. It's available on GitHub. So about Razor, I'm sure a lot of you heard about other tools for provisioning on hardware, why Razor? So Razor tries to keep things simple. It does a few nice things. It discovers real-time inventory data. If you're provisioning a new hardware, it can dynamically select an image for you. It has an API, it has plugin architecture. So you can't swap out MongoDB for something else. And so it comes with multiple brokers. The metal to cloud application lifecycle management, that's actually done through other tools. Razor does not attempt to manage all of that. It hands off to Chef or Puppet or coming very soon. You can just run your own script and connect to whatever, hand it off to whatever other tool. So basically, if you have Razor setup and running, there's DHCP. And once it sees that you have connected an additional server, it will figure out what you want to install on it, install it, hand it off to a third-party tool and you'll have a very nice brand-new server installed for you without having to do additional work, that all of the work is upfront. So when I was preparing for this talk, I talked to the developers that work on Razor because I wanted to find out how things are and what's going on. Because I think that Razor is awesome. It really simplifies things, especially for those people that don't like doing manual installs. If you do like manual installs, this is probably not for you. So, Razor is awesome, but it is still, I think right now it's 0.9 release. It is not very stable. There are a few issues with MongoDB, as I mentioned, if it dies, you have to recover it. There's also a log files that can grow quite, I think if you have a journaling turned on, which you probably should for production, the log file was like over three gigs and we have made this VM huge, so I had to disable that. Policy limits may not be enforced and there are some other concurrency issues. So I think it's great for QA systems or if you just want to set up something that does not deploy huge environments, I think it's great for that. But coming soon and I think soon, hopefully by the end of this year, they're going to release version one that will focus on stability and concurrency and scalability. So probably all of the things that we all care about. And I think right now, I don't know if you tried installing Razor, but the install part is easy, but then if you don't have it configured properly with all the DHCP and all of the networking, things just start kind of not working. Everything is running, but you cannot boot your server or your VM. So that's developers of Razor will be focusing on making Razor really stable. What is after, what will come after? Windows support and they will try to add AIX and Solare support, but I don't have any timelines for that. And if you're doing OpenStack, I don't know if you care about Windows. Are you using VirtualBox? Do you have extension pack installed? Okay, you need extension pack installed. All right, let me back up. So for VirtualBox, if you go to VirtualBox site and go to downloads, just select extension pack on command line. If you type VBox managed list expects, it will show you whether you have it installed or not. If you did get on Razor network, please get off because you won't be able to get to the internet from it. I think I saw some USB keys being passed around did everybody get one? Does anybody need additional? Does anybody want a USB key to copy VM from? I think if you, I don't know how to set up this peer to peer sharing, I think the sneaker network will have to do. All right, so are we good with VirtualBox? All right, how many people were able to successfully import Razor VM into VirtualBox or Fusion? Okay, a few. All right, so it is a little slow. I'm sorry about that. If you make sure to write down username and password and once you log in, verify that it's running and check networks, make sure your Razor VirtualBox has two networks on it. The second network should be on 172.16.16.1. This is where Razor is going to be listening on and loading the ISOs. So once again, this configuration is just for this VM so that you can play with it without actually configuring and installing Razor yourself. If you do it from scratch and do all of the setup yourself it's going to look different, but hopefully this VM will help you actually try it out. So Razor is a command line tool and it has a few basic commands that you need to follow, a basic workflow, a few things you'll have to do only once, other times you'll probably be doing a little bit more often. The workflow is add a Razor microkernel and microkernel is based on Tiny Core Linux. For you on the VM it's already added, but if you were to do it yourself this is how you would do it. After you add a microkernel you need to add a ISO. So in our case we're using Ubuntu Precise Server and once again you just need to add it once and added image will show you something like that. After microkernel and image is added you need to map the image to a built-in template. The template list is finite right now and all of the options are available. Like if you type Razor model template it will show you all of the options. And I do not know how often this is updated. No, I think that was just copy paste. Let me see, I think I was, can you guys see? Let's see if I can get to it. Oh, and I can't because I am on, all right. I cannot get to it because I'm on the wrong network. Which is weird, okay. Is anybody downloading Razor from my laptop? Oh, it's working. All right, maybe it's just low. Razor model template. So all of the commands are lower case and I guess this is not going to work very well. You guys can see that in the back. Right now, this is the temptation to add other commands like list at the end. It does not work. Also, if you just type Razor you will get all of the different commands that are available like active model, BMC, broker, image, log, model, node, policy and tag. Yes, all commands are lower case. I did not, it was my mistake. So now we add template and now we add model and when adding model it's going to ask you a few things like do you want a host name prefixed to your node. In our case, when I was setting up this VM I said I just left it to default. But you can enter whatever else you like. Oh, and when you do create a new VM that's installed by Razor the password will be test1234, very secure. Please don't tell anybody with questions. So in Razor, any time you add anything it's going to want to a UUID. So when I type Razor image I get a list of Razor images and I need to give the UUID for Ubuntu. Other questions? I see a USB key available. User name is AnyStacker, password is Razor. Are you on virtual box? All right, so if you want to connect to it and serve SSHing you'll have to, I have set up port forwarding because virtual box is very secure and does not let you SSH into AVM from your local box. User name is AnyStacker and password is Razor. When adding model you can specify what would be specific to your domain and when you create a, when you install a new server it will show up like node one or node three in this case because that's what I left as default. So all my servers will start as node but you can call it whatever you like and feel free on this VM to set up additional models but I kept it simple for now. So once it's created it's going to show something like this. Everything is driven by UUIDs so if you want to do any additional tasks on it you'll need to get them. Policies, this is how Razor knows what it is that you want to install on your server. It looks at when a node first tries to connect to Razor, Razor gathers different facts about the node and for example like how many network cards it has, how big it is, how much RAM and based on that you can set up a Razor policy. In there you can say if the Razor, if the server has one network and this is a very simple example give a tag of nix underscore one and enable it and any time it sees any server with one network it's going to try to install the server or this image. So later on if you want to play with it I have two policies set up with one NIC and two NICs. The two NIC one will install OpenStack on it and the first one will not install anything else besides base image. As I mentioned Razor hands off after install to different brokers. Right now there are three. You will see only two on the VM because the third one is too new. So to see available brokers just type Razor broker plugin and it will give you a list of available ones. You can't see script one because the install did not have it yet. So I think you have to install it by hand right now to get that. Puppet broker if you use Puppet use it. When you set up Puppet it will ask you for hostname and Puppet version. Chef broker wants to know all of these different things. It's a little bit more complicated. It's going to ask for what kind of bootstrap you want to use hostname, chef version. You will have to copy and paste a validation file in it and when you're doing this on command line it will just walk you through it. It will explain all the different steps. For, it will also ask for validation client name, chef environment. In our second example we have open stack as an environment that's already loaded on there so you can pass that if you like. The installer script, alternative path and chef run list. In our case I have set up all in one role so that when a VM with tunics comes up it installs open stack on it. Script broker as I mentioned is the newest addition to razor broker list and instead of adding a plugin for every little tool that you may have internally or that you want to use instead you can just run a script and it will take care of everything. It will have, they don't have it yet but they will add pre-install and post-install scripts and it will handle some other things as well. Sorry, you're good? Okay. So to add a broker very similar like a lot of the other commands razor broker add and in our case I'm adding chef with all in one. After you add the broker you need to associate with the policy. You can add broker to a policy at the time that you are adding policy to razor but you can do it afterwards as well. You can also update a policy if it has already one broker added to it. So this is an example of updating policy so the first long string would be policy UID and the second long string is broker UUID. All right, so how many of you have successfully loaded razor VM? You have not logged in? If you have virtual box you will need to use port forwarding if you want to do it from here command line. You can also just click on the window but I think there is some copy paste issues if you go directly to that. Questions, connection refused? Well in any case you do not have to SSH into your razor VM, you can also just through your GUI you should be able to get into it so you can do that. And username is any stacker and password is razor. So if all else fails just go directly through GUI so you can at least try some of the commands out. If you have razor VM loaded into your fusion or virtual box you can try installing a new VM. The way you would do that in fusion make sure your razor VM is running add new virtual machine. If you're doing this on virtual box you will need to set the boot order. In this case I will not run through the open stack install because it takes a little longer but if you want to install open stack click add device and add additional network. And now but oh well anyways now it will have now it will install open stack. Probably want to change give it a little bit more memory. Now keep in mind that this because this is a VM I'm not giving the real requirements for XPS private cloud. This is hopefully so it runs on my laptop. If you have a bigger or smaller laptop you can change it accordingly. All right now that I think I have everything set up. Let me make sure this is on the correct network. Yep. It needs to be on the internal network so that it can talk to razor. I'm sorry razor network. It should be internal network and you should have a razor network. Yes on virtual box please select internal network. Now if all goes well we should see it trying to yes now if this worked yesterday and this morning so if it doesn't work right now that's because it's a live demo. Oh yes yes if you are wanting to install chef broker or if you're using chef broker good point get on the correct network because they will have to talk to the outside world if you are setting this up for your environment you can specify where your broker lives where to get all of the downloads and all of that so you don't have to go up to the outside world but this is the very simplest case and it is talking it is doing a basic install. Are you on virtual box? All right so it takes a while for well of course couldn't find it. As I said it worked yesterday for chef broker. Oh so all of that is oh it's doing updates. You're right so all right you may not. All right so once again this is one of these things. I'm sorry oh it's one of these things that's not going to work live not too well anyways. I don't know why it's not working for me. Is anybody seeing razor booting? I have a few all right so it's just not working for me. Of course. All right so the Ubuntu install whether you're doing it. It's not working because as I said it worked this morning and I'm very glad it works for you all. If you if it is working for you you should see the usual Ubuntu install. If you're using virtual box there is a little pause between when microkernel finds it and when the install kicks off. How many have the install going? All right so because it has to talk to internets for updates it may not happen today. Not here anyways if you're doing it from home it takes about 10 minutes on Fusion and maybe twice as long on virtual box based on just from my experience. If you are installing OpenStack it will take a while to hand everything off because it runs all of the recipes. Do you have any questions? All right it is not providing DHCP environment. I have DHCP running. I have installed yes yes you there is a razor configuration file right so you do need to configure the network part. There is a razor configuration file since this is not very interesting. Let's take a look at it. Razor is installed on opt so because this instance was installed using Chef Recipes. It tells you do not modify it because it will update it for you. In our case I deleted that part because it kept overriding where my image was because I didn't configure it correctly in the first place. So depends on how you install it it may or may not warn you about it. And I think so. I think it's just a service. It's a service I think it's ISCI. So you should see something like that if it's running. Similarly your MongoDB needs to be running. So hopefully it just shows you something like that. Razor also should be running and you can configure it. Here I don't have paths set up but if you do have it you can just check the status of Razor Demon. So hopefully it is running. Any other questions? I'm sorry. It will be. I will also upload the VM to my site afterwards and we'll update the slide deck with the URL to that. Yes, I think so. I think it does reboot. But I don't remember because I usually just go away and wait for it to install. Take a nice break especially if you are doing in a virtual environment. It is a lot faster if you are doing on hardware. Other questions? All right, since I cannot show you that it works I heard it works for other people. If you have it running and you type Razor Node it should hopefully be showing something by now. Once it's finished your active model should be showing something. I have nothing unless you have other questions I'll hand it over to Matt. So there is a TFTP settings. Settings, yes, there is a Razor IPX file. This file gets generated. You can regenerate on command line. I think you can configure other things in here. To be honest I have not played with it because I assume that it's all on my special network when it is working. If you have any more questions I think we'll take a little break and then Matt will take over and talk about recipes. I'm sorry, anystacker.com. Yes, when what was not. So common errors. If you don't have DHCP servers configured correctly it will not find Razor. If you are doing this on a virtual environment and you have Fusion or VirtualBox DHCP running it will confuse and we will try to connect to the wrong one. So those, the network issues, it's always the network. It always is and sometimes when it starts booding and it tries and tries again and you see it's connecting to the wrong IP just search directories for that IP and see why it thinks it's that. Because it should be set to the static IP. Yes, so I, if you go to settings, I think preferences, system preference, no wrong system, Fusion preferences and you click on network. Make sure all of these are unchecked. So your Razor VM needs to have two networks. One private, one public. The VM you are creating can have either one or two or more next but they all should be on private one. And make sure that the DHCP is turned off. So the question is how to configure it for bare metal. So in our example I was just showing you how to configure VirtualBox and Fusion. I think on bare metal it's a little bit more straightforward. It is going to be in the configuration file. So obviously you have to have your private network set up for bare metal and make sure that whatever hardware it needs to be imaged is on correct network. You do need to have your Razor configured and you need to make sure that your server is on correct network. If you are successful at creating AVM you will notice that if you type Razor node and pass the UID it will display the facts about your new VM. Razor is good at keeping track of all of the inventories so you don't have to worry about that. And I'll try to hand it over to Matt again. Yes it is. The question was whether this is open source. It is open source and I think they are looking for developers, for contributors. So it is on GitHub. So yeah we are going to go ahead and take about a 5-10 minute break and pick up at 4.15.