 Can you hear me in the back? Okay, all right, so let's get started. We'll have more chance getting the USB and then download the file you need later on. But let's start with the actual session. So welcome to the OpenStack tacker hands-on session. My name is Kai Yukien. I'm a senior cloud deployment lead with Ericsson cloud platforms. Hi, everyone, my name is Anthony Lin. I work in the same department as Kai Yuk. I'm also a senior cloud deployment lead at Ericsson cloud platforms. Okay, so for today's session, we're going to begin with a high-level overview of the workflow of VNF creation using tacker. We have some objectives that we need to achieve by the end of the session. And also, we will have a little bit more time spent on VirtualBox and DevStack tacker installation, which is the USB drive that we're passing around right now. If you don't have it, we'll get a chance later. We will spend time on that as well. And once we have our DevStack with the tacker environment running, we can begin our hands-on activities. And we'll have a list of tasks that we can go through. Here's a high level of workflow for tacker when we want to create a VNF. So first, we have to create the VNFD catalogs. These catalogs are based on Tosca templates. And once they are created, they reside in the tacker database. And when we initiate the VNF create, either from Verizon or CLI, we will access the VNFDs, which depends on which VNF you want to create. For example, we have some Serous, some Open Twin, also some Open WRT VNFDs in our example. And then tacker will convert the VNFD catalogs into heat template. And then heat template will utilize the underlying OpenStack components to create the VNF VMs in the virtual infrastructure. And that's basically how we will create our VNFs. And for today's the objectives, we will learn how to create the VNF catalogs. We will go through basic lifecycle management. We will create, we will delete VNFs. We will also see the health monitoring and auto healing capabilities based on the monitoring policies we define in our VNF catalogs. And finally, we will do the VNF configuration update as well. OK, as I mentioned earlier, we have a USB stick that we're passing around. It contains a DevStack environment on virtual box. Depending on what PC you have, we have a Windows version. We have a Mac version. And we also have a virtual box executables about binaries if you don't have a virtual box installed already. And we also have a virtual box and DevStack VN installation guide. It's a step-by-step procedure on how to bring up your DevStack environment. And we also have our own Wi-Fi access point to download the lab manuals. In case you don't get the USB, you can go to this link to download the hands-on lab manuals where we have all the steps to complete all the tasks for this session. And of course, this will be very useful. Later on, if you want to try it, you can spend some time on this as well. And we have put the TOSCAL template that we will be using today on this HTTP server as well if you guys need it. We did not put the image there because it's pretty big. If everyone used the Wi-Fi access point at the same time, it's most probably going to jam it. So anyone else that doesn't have the USB stick have not copied? There seems to be all the guys behind. So who has finished? If you finish with your USB, you can pass it probably to the back. We'll give you some more time. If you want to write this down whether you have the USB or not, this is the SSID. And then, I don't know, in the back, if you cannot see it well, it's SSID is tacker-lab. And then the security key is tacker123. My colleague, we did not enroll. And then the IP address. Do you have a slot for us? For the manuals and the templates are 192.168.1.20. Column 8000. So whoever has the USB stick, it depends on your OS. You just copy either Mac or Windows. For those with Ubuntu OS, we will probably open up our private cloud. And you can try and connect to it. But you can only use Horizon for that cloud. We are not going to give you CLI access. So that's the only limitation. OK. So we'll have five more minutes. Five more minutes. Yeah, let's just make sure you have as many people have their own DevStack environment up and running before we begin. So for those who cannot use the Mac and Windows, you can actually connect to our SSID, which is here, and try and connect to it and see whether it works. So this is the one. And the password is tacker123. So we will join the network. Yes. Oh, password? OK. Tacker123. All small letters. You want to type it and maybe so for people to see the actual password. Actually having just put on like an iPad or something. Maybe too many people are joining. So this is the password. If you're not able to connect, give it a try maybe a couple more times. Yeah, it might be because a lot of people are assessing it at the same time. That's why we prepare for it. Yeah, which is why we prepare the USB stick. Yes. It's inside the USB stick that you managed to copy it earlier on. It's inside the virtual box folder. Yes, you're back. It's not connecting. It's not connecting. Anybody? I'll pull the plug and try again. Yeah. Tacker123. Because when we tested earlier, it was working for us. It works. Yeah, it should work. I mean, we were just hoping that. OK, again, if you have finished copying the USB, you can pass it around so that other people can use it. OK, so I power-cycled. So once you can connect to the Wi-Fi, you should be able to see the 192.161.21, which is our own cloud for those who cannot access using the, I mean, let's say if you cannot install on time. If you want to try, you can use this. But I mean, I hope that most people can use the virtual box itself, because if too many people use the access point, it might be a problem. The IP address is 192.168.1.21. Let me see. How do I show this bigger? So 192.168.1.21, port 80. Is it better? HTTP. Yeah, it's HTTP. So it's port 80. So this is the IP. Are you guys able to connect to the access point? I mean, yes? The username password, it's enter. Yeah, so this is the dashboard IP. The password is the username is nfv underscore user. USB for Windows, yes? Yes, there is. So the USB drive contains Windows and Mac version. Anyone else that's holding onto a USB stick? I think you should pull up the guide. Let's pull up the guide. Oh, yes, the guide. At the end, we have all the access information. So it doesn't, but anyway, this is the login and password. Yeah, this one with the local host. If you have your own running open stack, DevStack environment, then that's how you access your horizon. Yes, what's the question? I'm sorry? Zoom in? So this is going to be 192.168.1.21. The login is nfv underscore user, the password is DevStack. So this is only for people who cannot set up a virtual box on their own laptop. I hope most people are able to go in. OK, how many of you have your DevStack running? Most people have it running. I mean, we can go through the instructions again just to show you how to bring it up. So I think we are half an hour past the starting time. Maybe we'll start now. OK, so basically, for those with virtual box, you should restore your image. And after that, do not select Create Snapshot. You should start running after that. Once you start running, you're going to see, so let me just exit out of this. And we'll go in using port 2220. So we'll go into the local host using port 2220. So the password is DevStack. It's same as the username. So you should be able to log into your VM by SSH from here. So we did include the instructions as well in the lab manual that we provided. So let me just minimize this. Yes? Yes, please restore from the snapshot. Don't just power on because then the OpenStack service will have some problems. So just restore the snapshot, and I'm sorry? Right, after you restore the snapshot, you can start it. The password is DevStack, same as the username. So password username is the same. We are using port 2220 for SSH port forwarding. Everyone managed to get in. OK, so once you're inside the VM, you're going to see a few folders. So the first folder is, of course, the one that we used to build the DevStack. And our RC file is here. So you will source the RC file. And then you go here into the tackle folder, which has all the torscar template inside. So we will start with, I mean, if you look at your lab manual, it's going to be the first thing that we're going to do is we'll do some sanity tests like things like novel list, it should work. And of course, you can do your Glance Image List. So in this lab, we have two images that we're going to use. The OpenWRT is an open source firewall router that we're going to demonstrate in this session. And then we have the Ubuntu image, which is a Apache HTTP server that we created for showing monitoring as well. So this is our basic sanity checks. We know that it's working. So the next thing that we want to do, according to the lab, is that we're going to start with the first task, which is to create a VNF with multiple zeros image. So we do have a couple of things, I mean, all the different template here. So we can do this based on what we have here. We're going to use the VNFD, our descriptor create command to create our VNFD. So we'll have to give it a name. We'll have to tell it which file we are actually using. And then we'll hit enter. So it will create a VNFD after you issue this command. So I can show you guys on the horizon dashboard how it's going to look like. So on the horizon dashboard for this particular VM, we are going to use port 2221 on your local host. And it's the same login as earlier, NFV underscore user followed by DevStack. You should go into your virtual box horizon grid. So over here, you have different tabs. So you do have a NFV tab over in the dashboard. So after running the VNFD command, which we execute from the CLI, you will see this being created. If you click on this, you can actually see the content of the VNFD that was created earlier on. So you have things like description. Basically, you give it a description on what kind of template you're creating, the name of the template. And over here, we are saying that we will use the zeros image. We have M1 tiny flavor created. The availability zone is, can you guys see it? It might be a little bit too small, but it's okay. Okay, so you have your management driver. So we do have three of them. As in three kinds of things that we expect, we have management, we have infra, and we have monitoring and tackle. So then you have your network interfaces over here. Your virtual link, one, two, and three. And this is your VDU virtualization deployment unit. And this is your VDU tree. So within this template, it's going to create a VNF which will spin up three zeros VM. So of course, this is a demo. You can definitely use it for some other VMs that you have. And the next thing that we can do, either we can use the command line, which is pretty straightforward. So we'll do like multi zeros VNF, D, VNF. And then we'll select this one. And we'll just click on deploy. You can either use the horizon or you can use whatever that we have inside the lab manual, which is basically a command line. So when you hit deploy VNF, it's going to use that VNF D template to create the VNF. You see that it's pending create under the VNF manager tab. So we just have to wait for a while for the VNF to come up. It depends on the computer speed, of course. So it will show up under the instances. So basically using heat, it will trigger the creation of the virtual machines. So in this case, we'll get three zeros using that template. It all becomes active. Let's look at the console just to make sure that everything is working. So we will, in this case, it's going to be port forward on localhost 6080, which is the default that we have. So you can see that the zeros VNF did come up. Just show that we can, you know, that's the same thing we can log in using the default password, which is here. This is a default password. And just do a EVE config. You can see that it gets a DHCP IP on the management interface. And of course, from here, if you do tackle VNF list, you will see your VNF being created. And you can do things like just ping it. The one that we were looking at was dot three. It pings. Then of course, I think inside the lab manual, I was also, we were also trying to show that you can do like SSH into this guy. Right, so it goes in as well. So from the Dev Stack, you have full accessibility to the VM via the management interface. So, and this is like the first use case that the first lab exercise that we're gonna show. So it's a straightforward one. It basically shows that you can create multiple VMs with the VNF kind of functionalities. So after this, we're gonna create the second one. So just make sure that you clean up the system because we are running on very limited resource. So we will just use the horizon GUI to terminate the VNF. Yeah, so make sure you terminate the VMs using the VNF manager so that it will be automatically deleting all the three instances that you have just created. Right, so it will go and clean up everything. So when you go back to instances, no more. Everything is gone. You can check from CLI, it's gonna be the same thing. It's gonna return an empty set. So I'll show you guys how to do the VNF catalog from the horizon GUI. You can do onboard VNF, select the file, which we did put on the HTTP server. So you can download from there. So the next thing that we want to do, we'll do a simple use case of monitoring the CROSS VM. So just select the YAML and I'm just gonna give it a name called CROSS Monitor and onboard. So you will look at the Tosca template and now we have all this different content. So this is a bit different from earlier on. We include the monitoring policy. Uses ping ICMP to monitor the VM. If it is not able to reach it within the timeout limit, it's gonna respawn the VM to recreate it when it dies basically. So the rest of it is pretty similar. We will again use this to deploy a VNF. We'll just call it CROSS Monitor. We'll select the monitor template and then we'll just deploy. So it will come up. Okay. So now that it's active, we will go again, go back to here, click here, go to the console. So it's up now, right? So it is assigned a DHCP IP of dot six. So just from here, just make sure that we can ping this. Basically it's monitoring via the ping. So the next thing that we want to do is from here shut down the interface to simulate a loss of ping. So after the monitoring times out, can I see it? So it gets, we're just waiting for, you see the background server is running. You can see that the hot template was actually triggered again after it lost the ping and this thing goes down. So next time when you check the instance, you will see something called a respawn one dash one, which is the first time when it respawn. It's gonna show that it comes up. So again, we'll check that indeed it comes up. So you can see that the host name has changed. It has actually come up. So this is a simple example of how tackle can be used to monitor VNF, VM. So we'll clean up the system again. So the next thing that we want to show is that you can actually pass a configuration file into the VM before you spin it. So we'll use the data. So I'm just going to call it user data and then I'm going to select the file. It's this one, user data config monitor. That's just a file that we use. So a lot of all these files are found inside the open cycle website. So we took the samples and we kind of changed it and just adapt for our usage. So just take a look at what's inside here. It's passing the user data that we want to set up the ETC host file of the CROS VM with this particular use case. So in a lot of cases, sometimes when you create different virtual machines, you kind of want to set up things like if config, your network interfaces file, your ETC host, your DNS, for instance. So in this case, what it does is it just captured the if zero IP address, check what's the host name, and then after that, basically we just use the SED command to pass it into the ETC host. So you can actually see it when it comes up. So we will show that it does that. So it becomes active. So this VM comes up. If you log in and you do a cat on the ETC host, you will see that the if zero IP, sorry, it's been passed in the host name. It's set up according to the expected results. So of course you can do different things. I mean, you can think of something else for your VMs. You could actually do other stuff. This is just a batch script that we are actually passing information inside. So this thing can be done depending on the needs. So anyone has any question? Yeah, go ahead. So if you are, yes, it's actually, one dot. Yeah, so the HTTP server is 20. Is it connected? No, but. It should be inside. Yeah, it's under the attacker folder. Correct. You have your virtual box VM DevStack, right? It's in the home directory and then inside the attacker folder. One dot 20, it's not responding. This is one dot 21. So yeah, let's say if you cannot see it, it's actually here. It's inside the VM itself as well, 246. Yeah, it's all here. I think I might need to power cycle this guy again. Sorry for that. Yes, you have to use our local host. 127.001 using port 2220. After that, did you restore the snapshot or did you actually start it just like this? You kind of need to restore the snapshot to make sure that the VDAT, okay, let me show you. So you need to do something like this. Right, okay. So this is your Mac. You kind of need to, for instance, like this, you need to do this. You need to click on this, restore, and do not select this and then do restore. Okay, I'll show it again. So suppose this is your VM because mine is running. I don't want to shut it down. So you will see the base image and you will see something with the current state. Don't actually start with the current state because with the current state, all the services will go down. So the way that we actually do this is that we use snapshot of a working environment so that when you restore the snapshot, you have all the open stack services running properly. So then the things that you need to do is you need to use click on this button, right? Do a, you select the first one, click on restore, uncheck this box, and then you hit restore. And then after that, it will show you as a safe state. Yeah, safe. And basically you just have to click here. And you will start to restore your VM. After that, all the open stack services should be running, right? So are you guys, is it okay? Yeah. I don't see any snapshots. You don't see any snapshots, so, okay. Let me go. Start with the Windows VM. And there are no snapshots when I go to. What's going on with this? Oh, okay. Did you restore? Yeah, so someone had a question earlier on how to get the YAML file. It's over here. So it's 1.20 if you're connected on the Wi-Fi. So I think the server hung. Maybe we can try again. Because I'm able to access the open stack in that cloud as well, so should be fine. So these are all the PDF and the guide and all the YAML that we have. You guys having another problem? Yeah. Can I have one more? Yeah. Sorry, guys. Yeah, maybe I'll just carry on with the last three task cases that we're going to show. So the next thing that we're going to do is we will show that you can do HTTP Apache Server Monitoring. So basically it's using command line. We will do a VNF create of the... So the important thing is to take note of the ID over here. We basically use the ID of the VNFD file to do the creation. So then we will go back to the dashboard and take a look at what we have over here. It might have time out. So I am creating Ubuntu Server that it's a HTTP server as well. So it takes a while to spawn because this is much bigger than the zeros. And depending on your machine, it might take like five minutes just for it to come up. It's actually caching the image onto clients. So it takes a while. The first one, the first time. So we just wait for the VM to come up. So in the interest of time, I'll just do another one for... We're just waiting for now. So this VM is taking a while. I'll just show you guys the one for updating the firewall configurations on the OpenWRC. So if you look at the firewall config, we are taking away the last two blocks and updating some of the configurations here in this virtual machine. So we will look at what we have here. We will use the vnf update command and pass in the configuration file. So one of the things that I want to... You guys notice that we have this here. So after we update, this block will be gone. So tackle can also be used for monitoring the vnf. It's called open firewall. Maybe I did it wrongly. Sorry. Let me just try again. Or it's been another one. I think because I passed the wrong thing. I probably forgot to wait for the SSH to come up. That's why. One of the things that I have to wait for is for the SSH to be ready before I can run the config. And that's why it's not working. We have to wait for a while for the SSH to come up. SSH is up. So we'll go to the config file and then we'll look at what's inside the firewall. We'll remove these two blocks with the command. Ah, okay. Yeah, here it is. I'm too sure why. Oh, okay, okay, I know. I gave a wrong command, sorry. So I know I'm jumping around, sorry. So while we wait for that to come up, I'll show you about how we actually can monitor our purchase service from here. So we will shut off the service and it will actually respond from here. So it's just to show that you can monitor port 8,000 on the UPon2VM, which is our purchase server. And the last thing that we want to try is, again, we'll still go and try on this guy. So the correct command is with the file. And this time around, I'm calling it one. Okay, it updated the VNF this time around. So when you come back to the VNF, you will notice that the last two blocks is actually removed now. So the idea of this is that other than monitoring, you can also do things like management of the VNF, provided you have the correct management driver. In this case, it can manage a firewall VM. So that's what it is doing. So I think we have one and a half hours, so it is about the end. Do you guys have any questions? I mean, we have one last task that can be followed from the PDF. Yes. Yeah. Yeah, we can take questions. Sorry. Yeah. Yeah. Yes. How do I implement the firewall? Oh, the driver. So it's here. Right? So if you go into your DevStack, OPT stack, tacker, tacker, VNF, I mean VM, management driver, you will actually see the management driver that's available. In this case, you have the NOOP and OpenWRT. So it comes before with the DevStack. Of course, if you want to manage other VNF, then what you have to do is to write a management driver for that VNF. So that's how it's able to manage the VNF itself, the VM and the firewall, for instance. Yeah. So it's inside here. Right? Right? It's basically a Python file that's inside here that can be done. Yes? It says, you know, unrecognized UTI for all this crap. Right, right, right. Okay. Yeah, sure. After everything. I'll give it to you.