 Okay, so hello, I'm Laurent Guerre-Lompois, I'm working for Einstein Networks as a system engineer. First thanks to be there, right now, just because you have most of you have six to eight hours of presentation, so I try to keep it as short as possible. So I will not go into details about what is open stack, but I will more use this slide to introduce you with Arista for people who don't know yet who we are. So Arista is an American company based in California, as most of us, and we're providing some high capacity, high bandwidth and low latency switches. So right now, that's why we will be more focused on networking parts now, and more specifically, in the trend. So the goal of this presentation is to show you how we can be integrated in an open stack environment and so a low open stack to drive our equipments. So, how do we do that? So we have developed an ML2 driver. So we are mainly taking care about VLANs, so type driver VLANs. And you can find this driver on GitHub if you want to install it and play with it. So actually what is doing this driver, we are taking care about information like VLANs for sure. So the tenant network, and we are taking care too about the VMs and the compute node on which the VM will have to be deployed. So once we have all this information, we are using EAPI. So EAPI is as you can see there on the upper right. It's a GZON RPC protocol we are using over HTTP or HTTPS to propagate information on the physical switch. So once we have done that, we have done half of the problem. Now the second part of the problem is how can we locate the machine, the compute node on the network so that we can provision the good VLAN on the good place. So that's what we are going to see now. So we are using mainly LLDP protocol, so simply. So we are collecting all information through LLDP neighboring and based on that we can create the physical topology. Once we have the physical topology, it's really easy to get information from OpenStack we receive through EAPI and then do correlation between this information and the information from the topology. So if we are looking at the lower right slide, part of the slide, we have four leaf switch, so leaf one, leaf two, leaf three and leaf four. Each of the switch is using Ethernet one to be connected to four compute nodes respectively on Ethernet two, respectively compute one, two and three, one, two, three and four. Once we have all this information, we can summarize them in the table on the left one and then we can know host one. So compute node one is connected on Ethernet one from the leaf one through Ethernet two. Once we have all this information, we can cross them with information we are getting from OpenStack and we can easily configure VLAN where we need it. So for the theory. Now if we have a look on the demo, so it will be a quite simple demo. We'll have two Arista switches. Each of the switches will be named belief one and belief two. And on each of the switches, we'll have Bistack one and Bistack two, which will be the two compute nodes. And on Arista switch, we will be connected on Ethernet 18. So I will be the user configuration and I will use your horizon portal to provision some network component. And after we'll have provision the network component, I will declare a new instance and we'll see how it's happening on the switch. So we'll see once Neutron is having information, Arista driver ML2 driver will analyze information and push them to Arista node and then we will be able to program properly all the switches on the good ports. So next step of the demo will be to create network and subnet and then boot VM and attach it to the network. So if we have a little bit more details, horizon to Neutron for the networking part and then Arista mechanism driver. Okay, I forgot the database, but then we'll push information to our switches and just a trace example there. So as you can see, in this example, we have information about VLAN 1108, which are creating in the ML2 drivers. Okay, and type VLAN, so you have information there, VLAN 1108, you have then type VLAN, okay. On this part there, you have information about VLAN for network and here is the part regarding Arista mechanism driver. So what you can see is you have something easily readable, normal, we are using JSON EAPI, JSON RPC, which is our EAPI, and you can find this information back in our, we are sending to our equipment. Here you have some information and the other one is VLAN ID 1108, we can find upper. So this is the part we are using for programming the tenant network. Then if we want to create subnet, I will go faster on this one. And if we are not creating VM instance, so VM instance, we are using NOVA and then NOVA is exchanging with Neutron just because we need some network information. NOVA is pushing information to agent. Then Neutron is going back again to send information and Arista mechanism driver will be used again to push some information. This time we'll push some information about VMs just because we need to know where is the VMs. So we'll be back to the VOS agent and we'll be able to configure the good equipment, the good top of rack. So one more time, here is an example of what type of information we are sending still through JSON RPC, our EAPI. So you can find there, it's a different screenshot. So what you can find there is you have the host ID which is hostID br-osd-ctrl-sangiosi-aristanetwords.com and you have the port ID which is declared. With this information, we are now on our node, we are now having all information requested to create the good VLAN on the good port of the good switch. So now if we go back to the demonstration, I'm actually connected on belief one and belief two, ok? And on my browser, I'm connected, so let me try to sign out if I'm not having time out, no, it's ok. So I'm connected to OpenStack portal and I'm going back to there. So I'm connecting on belief two, so I'm going to do show LLDP neighbor and you will see on Ethernet, can you see Ethernet 18 there? Ok, on Ethernet 18, I'm connecting on belief stack 2, which is my second compute node and if I'm doing the same, I'm doing a show VLAN to give you an ID. So as you can see, there is no dynamic VLAN created at this time, except the VLAN 100, sorry, for another demo, but you'll see some more appearing during the demo. And if I'm doing the same show LLDP neighbor, so you can see, still on Ethernet 18, I'm connecting on belief stack 1, which is my first compute node. So now if I'm doing show OpenStack network, what I can see is I will be careful about tenant name demo, ok? And what you can see actually in tenant name demo, I'm only having a network name private. Ok, so this is close to be empty. So if I'm doing the same thing with VMs, oops, sorry, now your VM will have created, ok? And you have some host already existing, the VM. So right now I'm going back to the horizon portal. I'm going to the tenant demo. Is it a big house for you? It's ok? Now I'm going to project networking, network, and I'm going to create a new network. So let's click on create. Network name OpenStack, let's call it Paris. Next, I can go now to create subnet. So OS underscore Paris. I'm declaring a subnet IP subnet, 172.17.1.0, let's take slash 24, keeping IPv4, and 172.17.1.1. It's not mandatory, but... Ok, and I will stop at this one. So now I can see I'm having OpenStack Paris, which has been created. So next step is go back to my lift one and show OpenStack networks. What can I see? I'm having now OpenStack Paris, which has been created. So I'm having the information, but now if I'm going by example show VLAN, I can see OpenStack Paris, my network ID, and my VLAN segment type is VLAN, 1111. But if you're going to lift two, you don't see it at this time. We just have a new tenant network, but we don't know where to push it. And now if I'm going back on this one too, show VLAN, not yet any VLAN, ok? Now next step is to go back to OpenStack Paris. I'm going to compute this time, and I'm going to instantiate a new VM. So launch instance, OS OpenStack underscore VM. Let's say I will keep the flavor in one nano, I'm going to boot from image, and select a small one, this one. Then I'm going to networking, and I'm going to provision OpenStack Paris as a network part of my VM. I can launch it. Ok, so it has been successfully created. Let's wait a little bit for the VM to be ready. Ok, so the VM is now running. I'm now going back to my screen. Show OpenStack networks. I can clearly see I'm still having my VLAN 1111 with OpenStack Paris in a tenant name demo. Now I can do show OpenStack VMs. And I can see now my OS VM has been started. Ok, VM ID. On my OS, BStack 2. And network name is OpenStack Paris. Now I'm having VLAN and I'm having VM. So I can go on belief 2, by example, just because we are on BX2. And I can now do show VLAN. And as you can see, we have created dynamically the VLAN, which is there. And this VLAN is bound to Ethernet 18 on which you have the VM. So now if I want to go back just to show you the reverse pass, I'm now create... now I can go back. So I will terminate... I have to click there. I can terminate the instance. Go back to network just to clean up and to show you we can create I'm removing OpenStack Paris. Ok. So normally there is no more trace of what I've done through OpenStack. I can now go back to the window. So if I'm doing now show VLANs. Oups. I'm not seeing anymore my VLAN 11.11. If I'm now going back there. Oups. Show OpenStack VM. There is no more VM on the demo tenant. And if I'm having a look on show OpenStack Network, it has disappeared. So as you can see, we can dynamically create some VLAN and we can dynamically remove them. Actually we can work too with some static mapping between VXLAN and VLAN so that you can create some VXLAN domain over IP fabric by example. So that's it for today. Thank you. If you have any question. The question is about creating some mapping VLAN. Why do I create some static mapping between VLAN and VXLAN? Right? Yeah, it's a one to one mapping. In fact, today what we are doing is we are pushing information about VLAN and we have some command to create some static mapping. So as soon as we are seeing through the switch environment, we can create some static mapping. So when we are seeing the VLAN, we know automatically we have to identify this VLAN and map it to a specific VXLAN number, VXLAN VNI. And then in this case, we can create VLAN and carry this layer to information over the VXLAN domain. So it's a one to one mapping today and it's done automatically. So you don't have to be care about that. You just need to declare a VLAN to a thousand hundred and the VNI will be eleven to eleven thousand, by example. And then as soon as you're creating a new VLAN, you will have a VXLAN being mapped automatically on the good switch. Does it answer your question? Ok, but if you have some more questions or you have some more needs, please don't hesitate. My mail is LG at arista.com. Some more questions? Ok, thank you. Have a good evening.