Cisco Customer Success - Video

VXLAN as code:  Intent-based automation with Ansible

Playback confirmation!

Do you want to resume playing from last left location?

Chapter 1 Thumbnail
00:00
Welcome, introductions, and Slido kickoff
Chapter 2 Thumbnail
05:01
Agenda and the journey from CLI to DevOps
Chapter 3 Thumbnail
09:15
Nexus Dashboard overview and API/Swagger basics
Chapter 4 Thumbnail
14:10
Swagger live demo: list, create, and delete fabrics
Chapter 5 Thumbnail
19:27
Ansible basics and collections for Nexus Dashboard
Chapter 6 Thumbnail
26:12
Network as Code concepts: intent, data model, and schema
Chapter 7 Thumbnail
35:14
Inventory, defaults, NAC roles, and unified ND modules
Chapter 8 Thumbnail
47:01
Demo: Ansible vs NAC for VXLAN—create, deploy, verify
Chapter 9 Thumbnail
01:05:09
CI/CD with GitLab: validation, deployment, and testing
Chapter 10 Thumbnail
01:17:18
Getting started, resources, Q&A, and closing

Transcript

Oh, ok. Hello everyone and welcome to 2nd of the network as golt series.00:00So we will be presenting network as a code for VXLAN in this expert insight series and obviously it's we'll be covering how do you how do you do intent based automation with Ansible today? My name is Anshul Mangla.00:20I'm part of the customer success team. I've got my colleagues, and I'm based out of Australia. And are based out of Bangalore. So we are part of the customer success team for for cloud and infrastructure, which is mainly data center, and networking and compute.00:37So.00:58Let me move to 2nd slide. So oops, so yeah if you can please, I'll give you a minute. If you can please join the Slido poll and we'll be asking you a few questions on Slido as we go through. So.00:59Please just with your phones or with your go to slider.com with this number and with this passcode, you should be able to join this poll and this will help us understand, you know, your, your level of comfort with network as code from.01:19Frameworks and also it just makes things a bit more interesting for all of us.01:39We'll give it maybe another 30 s giving you all time to join in. This is for us to understand you better so that in the next 90 min any.01:59And after the session, we can connect with you based on your requirements to take it up further. So please do.02:08Log into Slido and connect ok maybe I think we can move to the next.02:16So yeah, I mean if you can just answer this question to get started, how many NXOS VXM fabrics do you manage to dashboard? Please, if you can reply to this.02:36Present five between five to ten or more than ten fabrics see 72 attendees on the webinar and eleven participants on slido.02:48For the others, please do take your moment. We'll have more questions down the way to understand your requirement and your needs as well so that we could support you in terms of network as code. And if you haven't joined there's a RF tag on the left and also you have, you can join via the website, go to.03:06Dot com enter this number and the passcode, so you can join via mobile or you can join via the website as well.03:26Alright, so I think probably we'll move to the next slide. Do you have an XOS fabrics that are currently unmanaged? That is not managed by by Nexus dashboard?03:32And yes, officially if your answer is yes, if you want us to help with the Nexus dashboard management, please do reach out to us after the session and we can help you onboard your Nexus fabrics to Nexus dashboard.03:59And even if you want to keep it unmanaged, there are, you can still use Nexus dashboard for monitoring mode as if as you are aware, so you can still configure and manage manually your nexuses, but you can use Nexus dashboard for monitoring mode. So if you want to do that, please do reach out as well to us.04:19Alright, so it's a better number of attendees than last time, so I'll move to the next slide. So, so everyone, this is the agenda for today because 1st firstly we'll cover the journey, how from CLI to DevOps, and that's what we were discussing like how many of you.04:42Have you on accesses excuse me, have you Nexus is unmanaged, and then how many of you have Nexus dashboard and how many of you, you know, move to want to move to devops, right? So I think this will will cover the journey journey of CLI to DevOps. 2nd one is we'll give you a high level overview of nexus dashboard.05:02Then we'll cover the basicness basic automation of Nexus dashboard using APIs in ansible. So nexus dashboard has which set of APIs and it, and then obviously it's got a very good Ansible module, so we'll cover that. Then network has the code, but.05:21Will walk through in detail sorry will walk through in detail on network as code for VXLAN fabrics using Nexus dashboard. And then will do some good demos on network as a code VXLAN with and without CICD both that is using Nexus as a.05:41And the other is like if you want to use with YCRICD, do that and there will be a call to action which will be we would request you to try it out. We'll send you some examples, some online links. You can go and try it out on your own. And if you have any issues, please do reach back to us.06:02So this is the part I wanted to cover, which is firstly, what is the journey from of of most of the operations team going from CLI to devops. So I guess I would assume few of you are on level one, which is where you're not using any fabric and controllers where your Nexus is unmanaged and you.06:21Have you're just using CLI to monitor and manage. Maybe using some basics basic script Python on top of your NX NXOS.06:41CLI and using that to do some automation, but most of it is without controller. Then level two is where you start using network controllers, that is you're using in this case, you're using Nexus dashboard to manage your network. And I guess most of you are at this stage and then you maybe using.06:50Some automation over here, but it's mostly network UI driven or what we call as click ops.07:09The 1st one obviously is called CLI ops because you are using CLI level two is more click ops. Level three is a mix of clickops and where you are still using fabrics and controllers, but you've started using some APIs to do some basic tasks like managing your ACLs or contracts and things like that. Simple ba basic automation.07:17Tasks with API or simple ansible or or Python playbooks.07:37And then, then obviously it will be you know you're doing per network, whatever automation you are doing, you're doing per per domain, right? Whether it's data center or or it's it's wireless. Level four is the utopia where we want all of you to be, where you're starting using network as a code to manage your.07:43So in that case, your network as a code becomes single pane of glass and it, it is very model driven CICD.08:03CICD operations driven pipelines, and you can use the single pane of glass to manage multiple domains as well. You don't have to just manage your data center, you can manage your campuses, you can manage your, you know, security posture, everything using the single pane of glass. And feel free to ask any questions and my colleagues.08:13We'll be happy to answer you in the meanwhile.08:32So I guess we'll, we'll just cover today We'll how do you move from, I guess basically level two to level four or level three to level four, right? How do you, how do you use APIs if you don't use APIs today? And if you're using APIs and how do you move beyond that to use vxlan as a code for DevOps framework?08:35So.08:55Now just giving you a high level view in terms of the unified data center networking. Recently we have consolidated all different controllers into one single one, one single dashboard, which is called Nexus dashboard. So it's it's a unified architecture and it gives you unified operations and all.08:58So in terms of telemetry, we have unified intelligence where you have, you know, all the telemetry coming through to through the nexus dashboard and also you can use data brokers Plunk and thousandeyes to get that, you know, single pane of glass cross domain visibility. Alright, so moving to the slide that.09:15To this. So we already have had a lot of quite a few year sessions on Nexus dashboard controller. So feel free to check out these sessions. We'll send this slide after that so you can use this link and look at all these Nexus dashboard controller sessions we have delivered in the past.09:35Now coming to Nexus dashboard automation, 1st, you want to start with how do you automate Nexus dashboards simply using APIs and Ansible, right? So obviously I'm sure everyone know what APIs are, APIs application program interface, and these are just, you know, just just in APIs on top of any of your control.09:52Follow points to be able to, you know.10:12To be able to access your, your controller and being able to add modify stuff. So, with Nexus dashboard, we have an interface called swagger interface. And the good part is you can use the swagger interface to access the APIs, right? So probably.10:16Probably my friend Apoor will share this demo that how do you, from your Nexus dashboard interface or your Nexus dashboard web interface, how do you access the APIs, and once you access the APIs, then, then how do you actually use it?10:38So basically you go to the help center within within the the help button on the top right, and then you click click on the API reference. Also you can type your hostname and do help center swagger, which will take you to the.10:55The swagger interface for APIs. Wagger interface is just an interface which lists you all the APIs, but it doesn't just list all the APIs, you can execute the APIs from there, all the get posts, you can do it from there. I guess in terms of APIs, it supports standard rest methods. So the.11:14The API supported our REST APIs, restful transfers and it supports these methods of verbs what we call is post. Post is adding something, you're reading something new, delete is removing, get is retrieving something and put is more like a modifier, put it.11:32Which updates an existing entry. And as you as you see over here, this is how your your APIs are sort of structured in terms of like get cluster config, it's a.11:53And then, you know, obviously response has got its own payload.12:13Oh in terms of the the way they are structured, so it's structured in the form of the way the, so the API represent the way it has been structured very close to how it's been structured in the UI or vice versa or it's in the UI the way.12:21It's been structured in in in the APIs. So when you go to the next two dashboard API, you will see next dashboard infra, manage, analyze and one manage. So infra is more about just the main infrastructure for dashboard, your clusters manage is all about the controller. How do you manage the configuration on your fabrics?12:40Analyze is more about telemetry and one manages being able to manage multi site fabrics, right? So this is how basically you have the source organization.13:01And each of these, you can see for each of these different umbrellas, you can see what all you, what all objects you can refer like for infra you can all for infra you can look at all audit records clusters, integrations manage, you can manage your fabric switches you normally do.13:11In control with analyze, you can look at all the advisories, anomalies, connectivity reports.13:30And with one managed, you can manage all your fabrics, links and clusters. So this is basically in case of a multi site scenario. Now using APIs to postman, so that if you want to use postman, you don't want to use swag interface, then that's possible. We do provide a very good collection of.13:37Postman APIs or collections. So you can go to the link below, you can add these to your, you can add these to your postman collection and start using APIs from there.13:57So I'll pass on to my colleague Pratibha for the demo for the swagger interface. So to you back to you Pratibha. Thank you, Thanks let me quickly share my screen and team please confirm once you're able to see my screen.14:10Yes, but you can see. Thank you, thanks. So this is the nexus dashboard that we're gonna look at, so it's hosted in this IP and it currently has four fabrics on it. Let me do a quick refresh to confirm yes, so there are four fabrics on it. Now I'll take a quick moment.14:29Or two to show you the swagger interface, so you just have to use the same URL as that of your Nexus dashboard followed by help center swagger. And then as Anshul was talking about, right? You see multiple options here, one manage, manage, analyze infra orchestration. So the orchestration is for more for ACI.14:46Multi site environments infra is your nexus dashboard infra. Analyze is for telemetry features manage for managing your fabrics and one manages if you have federation, then all those queries or APIs can be seen over here. Now we'll stick to manage for this short.15:06Demo. So once I click on manage over here, you can see that there are multiple like for anomalies, you know, you have get post delete. So you have a lot of options here. And it's not just about understanding which API to use, right? So if you're, let's say, building a Python automation script and you want to.15:26You know, input some APIs there or refer some APIs, you could go, you could go here and do this, but also it's not just about referring to APIs, right? Let's say I wanna get a list of all the fabrics. I can just click on this specific query and say try it out.15:47And then if I come down, you could add some filters, any offset that you desire if needed, but at this point of time, I'm just gonna keep it simple. So I've executed this query and I can see a 200 ok. Now if I scroll down, you will see the fabrics, details of the fabrics that we saw on the.16:04Access dashboard. So if I scroll down here, let me just see if I can catch. Yeah, so you can see site two Brownfield is one of the fabric names that we just saw over here, site to brownfield, right? But if it's difficult for you to view over here, you also have an option to just download. So you can click on down.16:24Download and then once it downloads over here, let's say I open with notepad plus plus. So here you can see all the fabrics. The other fabric that we created was so if I search for it, you can see.16:44Not just the name but all the other details related to the fabric. So this is about get, but also what could the other responses have been like right if there was 401 unauthorized or you know 501 server error. So it also give you details of what could the responses have been.17:01Now let's quickly create a fabric using this. So I'm going to post a fabric. Let me just click on this. Okay, so now try it out and once I do try it out, let's say I'm gonna create a fabric, let's say fabric 30. I've just edited this here to say fabric 30.17:21And now I'm gonna scroll down and execute this. I'm not changing any other parameters at this point of time.17:41You can see it executing it. So it's basically creating a new fabric called fabric 30 on your nexus dashboard. Now that it's executed, if I go here and refresh this, you can see fabric 30 has been created over here. Now the last one before I pass it back and we could discuss more interesting.17:50Content for network as code, I'll just show you how to delete this fabric that we created. So these are all the different types of responses that is possible through that query. Now let's say I want to delete.18:11The fabric, and I'm gonna click on try it out over here. And now here I just say fabric 30. What would happen now? Any guesses if you can guess on the chat or guess? This one did not go through. If you scroll down it says not found because.18:24You know, it's case sensitive and we created this fabric. So now let me execute this again. Just did that to show you how an error response will be like, and now you see status two oh four.18:45And now if you come here and refresh, I should be only four items here. Yeah, only four items and that fabric 30 has disappeared. So this is about swagger and how you can start with your API journey. I will now stop sharing and pass it to walk us through the next.18:59Thanks. Yeah, I hope you are able to see the screen. I'll put it into presentation mode.19:27Yes, we can see your screen. Yeah, thanks. So thanks Anshul and for covering the session till now. So we have seen the demo how to do, changes in your fabric via APIs and that to be using inbuilt swagger APIs. Now we will.19:35Quickly go through like some ansible basics before we build up on that to understand network as a code.19:55So yeah, so what is ansible? Basically Ansible is your agentless automation tool which you can use for configuring your network devices, and how is it different than terraform? So Ansible has like.20:04It's open source it's open source platform which uses different roles and ansible collections and other things. Terraform has some different mechanisms like you can do terraform, create terraform, destroy and other things.20:25So, yeah, but in our case like Nexus dashboard, using Nexus dashboard for VXLAN as a code makes is only supported on Ansible and we are not going further with the so yeah so that's why like we'll focus more on ansible.20:44Today so as you see Ansible is agentless and item potent as well, right? So.21:05Agentless means like you don't need any agent on the switches or the end devices, right? And item potent means you don't need to like if there is anything already configured, it won't make any changes to that part of the network. It will only make modifications wherever necessary.21:11Right, so this doesn't end up in a disruptive way, right? And on top of it, you don't need much of programming language, maybe just for some troubleshooting, we may need some programming knowledge, but yeah, if everything is working good you can just kind.21:31Continue making the changes in your network. So, yeah, so what makes up ansible? Basically, you will install Ansible on your.21:51A control host which can be a server in your environment and you can install all the necessary prerequisites for ansible, which are Python and ansible code and on top of Ansible code, you will be using Ansible collections.22:01So Cisco manages the Ansible connections required for your NDFC automation, basically your NAC as like network as a code as well as your standalone ansible, collections.22:18And then you, as a user, you just have to modify the playbooks and some configurations files, and then you should be able to put it on a ND platform and then you will be able to push all the necessary changes on the devices required via.22:34ND, right? So yeah so that was regarding Ansible and how do you install? So earlier ansible version you just had one Ansible package and you will install some modules.22:55On top of it. However, like, starting with Ansible 2.9 version, right? If I'm not mistaken, then you had a concept of Ansible collections. So, basically Ansible core you will just have some basic files to install Ansible and collection.23:11In ansible, you will install all the modules.23:31Required for your ND for that matter and in in the same way if you're automating some other parts of your network, like your security devices or your van devices you can install the relevant collection and then.23:35And on the same underlying ansible, right? So this is the concept of ND with ansible collections.23:55Okay, so yeah, so as I was saying you you will just install the collections on top of a ansible core and here are the commands how will you install the ansible collections necessary for your ND automation, right?24:04Yeah, so and this is the website where you can see the ND collection. So if you refer it is still referring to this DCNM collection. However, it is also supported on Nexus dashboard 4.1 .1 as well.24:20This is because we are managing the backward compatibility between the.24:40DCNM and Ansible collections for ND 4.1 onwards, right? So this is the official website, ok? And yeah, moving to ansible playbooks. So if you see here we are doing multiple tasks in.24:45Inside this playbook. 1st we are creating a fabric with some name here and then we are like adding switches to the fabric. We are giving the IPs of the fabric, like fabric switches and we are giving them some rules.25:05And other, mandatory parameters like the switch user and password and then you are just creating some configurations for the switches like their loopback address and their other free form config, right? So, so these are like standalone ansible tasks that.25:21We used to do earlier, so how this differs from network as a code, we will be explaining it in the upcoming slides, right? So these are just normal tasks if you just want to create some fabric and.25:42Add some switches to the fabric, right? So moving on like ok so now we will focus more on how network as a code differs from the standard ansible, right? What we had seen earlier. So.25:57So network as a code like what is it? It is a collection of ansible, repositories and roles in which you will just input some parameters needed for your fabric to to be configured like your fabric name.26:13In their devices roles.26:33And then some parameters like what should be your VLAN number, what should be your VNID for each VLAN? You just modify those files and then you can just put it into into the collection and run the ansible module, it will push all the necessary changes that need.26:36Has to be done to the Nexus dashboard, right? So it is a kind of data model where we just input the data and all the other things are taken care in the background by the network as a code framework, right?26:56So that's where network as a code comes into picture. You just have to define your intent, what you want to do, and the commands will get pushed in the background so there is also a separate collection for network as a code.27:13Using Ansible.27:33So this is some somewhat different than the earlier ansible collection that we were showing you. It has some specific parameters like roles what you need to be aware of what each role does, what I I mean by rule is ansible rule.27:34And don't get confused with the switch role in nt. Yeah so here we will be focusing more on the ansible roles. So, yeah, so this is how like where each collection is put on ansible. This is ansible.com website and.27:55You can see what all each module does, right? Like there is a create, there is a deploy, there is a remove role which so before we like jump to some other things, we also need to be aware of what is supported in the current ND, right?28:15So.28:36In this case, you can use Ansible to like to configure your fabric on ND 3.13 .2 as well as like ND 4.1 and 4.2. However, not all fabric types are available right now in the support. You maybe have.28:36Having some classic ethernet fabric which you want to support via Ansible automation. Maybe that is not supported in.28:57This current format, as a, as a code, it's not supported. You maybe able to do the standalone tasks required for that fabric, but it is not supported as a code framework, right? And then, yeah, so you can refer more support related guide on this website.29:07Right, what is supported and we keep it updated so as and when the support comes for later fabrics, you will be able to see that.29:26Right, and yeah. So as we were seeing, right, how the native Ansible and vxlan as a code Ansible differs, right? So in native ansible, you will be putting some you will be calling a module, ok, and you will be just giving it a name.29:37What task it is doing and then you will fetch a file and put it in the ansible, right? And then the Ansible will take it forward with the Nexus dashboard to create the fabric configurations, right?29:57So, this is how we used to do it in native ansible. However, if you, like, go to vxlan as a code framework, you will have to just modify the particular file which contains the VRF parameter in this case.30:12Instead of more telling Ansible what tasks to do, you just have to give the data. You don't have to tell what task to do and how to do it. Like as a code framework, it knows.30:31What task you need to do and whether it should add, whether it should remove, you just need to give the data like ok I want this VRF and, what this should be the VRF L three VNI ID and this should be the.30:46V VLAN ID that is referred to that L2L3 VNI and then you just have to attach it to the devices where you want it to be created, right? So this is how it should be.31:03Done. So basically we are again coming back to the point. It is intent based networking and not like you are not doing what you say, you are not instructing the automation framework what to do. You just have to tell the data and it will do it, right?31:19So, how does it do in the background, right? So the, there are some constructs called data model and schema. So how does it get used? So your data model will be your.31:38Your way of saying, right? You just update the files at in the framework and then it will fetch all the files in the background. Okay I need to create so many vrfs and so many VLANs and what should be the underlay configuration, what should be.31:53The overlay configuration, everything is mentioned in the data model and then Ansible will just refer these data model files and it will push all the necessary changes that need to be done on ND or configuring your fabric, right?32:13And then, there is one more concept called schema. So, the schema like defines how the data should be input, right? E.g., you want to include some underlay parameters it should be.32:32Defined in, ok, underlay you will use OSPF for ISIS on top of it overlay you will be using BGP or some other parameter, right? So some other routing protocols. So those kind of constructs that you need to follow, you just have to.32:49Give the data in a particular schema so that it doesn't create any conflict with the underlying model, right? So, yeah. So, network as a code like so this is the directory structure of how the network.33:09Work as a code framework looks like. So basically for a fabric you will have the inventory where you will say how to connect to the NDFC module or like how to connect to the Nexus dashboard. Then there will be some common data which will be present in the group.33:29Requires, right? Like what is the username password, what is the like connection type and other things, then there will be some host specific information like, ok, like your five there there maybe multiple fib.33:49Fabrics that you are managing, then you will have to create a separate folders inside this hostwares and then you can put each fabric via here.34:09The separate folders, right? And then there will be a schema file where you will have the underlying schema. In some cases you may need to change the schema as per your requirement, but in most of the cases you don't need to modify the schema file.34:20And then there is the last file in the directory which is called VXLAN.yaml, which is the main playbook that you will be running in the Ansible command, right? So this is about the.34:39Ansible directory structure for network as a port, right? And we will be anyways going through some demo in details so you will be able to see how these data structures come into picture, right? So if you just do a lookup of all the.34:55Directories you will find inside group 1st you will find some details about your NDFC, what is your connection method which will be generally HTTP or HTTPS, right?35:15And then in host wars, you will have the fabric details. Okay, what is the fabric name? What is the fabric type and your fabric parameters? What are your interface of each of the switches? What are your VLANs and vrfs that you need to create across all the switches? So.35:27All these parameters, you will be just modifying some of these and then you will be.35:47Pushing yep so yeah so we will be covering the demo in upcoming slides ok yeah so yeah so also apart from the directory structure, you need to be aware of like.35:53Build rules, so.36:12How does this differ? So standalone ansible, does not have a roles kind of construct. However, as a code framework has roles construct, so what roles will do? So each role we have like a dedicated task, so there are.36:14Roles called validate, create, deploy, and move.36:34So we'll go in, going to the next slides and talk about them in more detail. So, yeah, and this is your, yeah, this is your main inventory file where you are just putting some like file.36:38Details, ok, what are your NDFC?36:58Devices, right? Like if you maybe having multiple NDFC devices where you will be pushing the changes, right? So you can mention it here ok and then how do you connect to the NDFC that is mentioned in this particular file.connection.37:02You will put either Ansible username password or your like a token based authentication here, right? And then which module ansible module it should be calling, right? So it is the cisco dCNM.DCNM, that's how Ansible knows what changes.37:24Need to be done or not.37:44This particular host. Ok. And then there maybe a case where you are managing multiple fabrics within a single Nexus dashboard installation. So how you will define those different fabrics, it is present in this particular file inside the.37:45So basically these are two different fabrics with two different AS numbers. There are four spines in this, there are two spines in this and both of them have a different anycast gateway Mac address, right?38:07And then, you had updated all the things in the background, how does now ansible, take up all the data and put it to ndeep, right? That's where this deep merge comes into picture. So Ansible collection already has some.38:22Logic built in. It need, it will go to each and every file and put the necessary parameters wherever necessary in the Nexus dashboard.38:43It will refer to the interfaces, e.g., interfaces YAML file, it will refer to the inventory YAML file and it will just give all the information to ND via your API connectivities and then the ND will take it forward for pushing the changes to this.38:52Switches.39:12Right, and what happens if you don't give some particular values, right? So, there is a concept of default values in network as a code. So unless like there are some parameters which are mandatory for creating any.39:15Any construct in the nexus dashboard, right? Like e.g., if you want to create a fabric, at least you should give a fabric name and fabric AS number if it's a IBGP fabric, right? IBGP VXLAN fabric. If similarly, there maybe certain inter.39:36Interface parameters like you don't want to specify MTU or you don't want to specify some further details into the.39:54Into the YAML files, then there are some preset default values present in the collection itself, which will be pushed while creating the constructs on Nexus dashboard. So this also incorporates the best practices that are defined by Cisco. So.40:05Maybe like on an interface the default value of MTU 9216 is one of the recommended best practices, right? So unless you don't want to specify it, you can just keep it as default and LT will take care of it in the background, right?40:24Yes, and coming back to the roles part so like the as I mentioned earlier, right? These are ansible roles, there are four different roles here, namely validate, create, deploy, and remove. We'll focus on that each one of that.40:45It does.41:04Right in the upcoming slides, right? So, so your validate rule, it defines like it validates all the syntax given to the ansible file is correct against the schema which is expected by the.41:05Network as a code.41:25So it would just link all the data parameters that you have given whether the like whether the syntax is correct, whether the values are in the expected format, right? So that is done by the rule validate. So till now like this is all.41:26Done locally via network as a code. It has not done any changes on the Nexus dashboard till now.41:47Right? Moving to the next role which is create. So, in, in this role you will, once you execute a role create, it will refer to all the files in the.41:54Background and it will push all the necessary changes on the nexus dashboard. But it won't yet push any changes in the devices. It is just pushing all the changes to the Nexus dashboard and keeping the Nexus dashboard ready to execute.42:09And your create role won't execute if there is any failure in the validate state, right? So, that is also one dependency you should not get any error in the validate state, otherwise your create will also.42:27Fail, right? So, once you do create, there will be like you may see on the Nexus dashboard that devices are in a pending state like your status pending for the devices because the Nexus dashboard has been updated, but the device.42:42This have not been updated with the new configuration yet.43:02Then comes the next rule called deploy. So in this you will push all the necessary changes that were being put into the nexus dashboard but not yet pushed on the switches, right? So now all your switches will have the.43:08Configuration needed for your whatever you put on the your ansible files, right? And then there is a separate role called role remove. So in this we don't like, e.g., you had removed a V.43:25Planned in the changes that you had done, right? So that VLAN may not be removed when you do roll deploy but it will be removed from the switches only when you do roll remove when you execute the command using.43:44Role remove, right? So this is a separate role, why just to guard your network from any major changes in case you miss like you did some misconfiguration on the YAML files, you just did a role deploy and it shows.44:02Do not remove some unexpected changes that were done in the files. So that's where we have given a separate role called role remove where it will remove only once you execute this command on the network as a code framework, right?44:21So how do you run the ansible, playbook using the rules, right? So if you see here, we are referring to inventory file which has all your NDFC details.44:40And then there is a VXLAN.yaml file, which is the main playbook of the network as a code framework in our earlier slides we have seen the directory structure. And then you can just give hyphen-tags and you can put the role_create.44:54Underscore, validate or deploy and remove, right? And you can also give some verbose outputs if you want. So if you keep one V or four Vs, you will get more detailed.45:14Logs of where the command is going and fetching the files, right? So this was relating to network as a code framework, and then we also want to, before we move on to the module, we also wanted to.45:31Show these slides. So earlier nexus dashboard, there were Ansible and Terraform providers which were working on ND platform three point x, where we had different instances of NDFC or NDI and.45:49NDO and the Nexus dashboard APIs were also like.46:09Designed according to like interacting with these separate instances of Nexus dashboard inside the unified platform. And to keep it consistent, so in the new unified ND, the modules have somewhat changed.46:15However, most of them are backward compatible and they have now been made as unified and the module.46:35And then instead of NDFC, you have a ND controller. Instead of ND insights, you have ND telemetry and instead of multi site there is now a orchestration feature inside unified ND. So this is the current state compared to the earlier unified ND.46:42Right? So, yeah, now we can move on to the demo. I will stop sharing. Anshul and do you want me to cover any questions that have been asked on chat before I stop sharing? I think we've pretty much covered all the questions we are good.47:02Yeah, ok, ok. Yeah. Thanks. And then handing it over to over to you. Okay, let me bring up the screen. Let me know once you're able to see my screen.47:20Yes, we can see, yeah. Okay, since we do have enough time, I'll double click some point that just to give you a better understanding. So the 1st thing is we're gonna see how like has walked through a lot of things, right? Inventory files schema, how do you run.47:39On the playbook and so on. Now we'll see it in action. Now the 1st thing that I'd like to call out is this fabric one was actually created using the NAC framework for VXLAN. But before we get to that, let me 1st show you, if you had a playbook without.47:59Network as code, right? So this is my repository. So I have two folders here. One is Ansible for NDFC and the other one is NAC VXLAN. So if you there's one slide that showed where without NAC, what would your, you know, code or your file look like? And with NAC, what would it look like?48:19So we'll just quickly look into it so that you'll understand the significance of having this network as code model. So the 1st one that I'm showing you now is just Ansible for NDFC. We are not using Nac here.48:39So if I show you the files, e.g., I have an inventory file here. So this is the ND IP on which I want to create a fabric. So that's part of the inventory file as it's explanatory. Then you have an Ansible configuration file. If you want to put some default values in there.48:52Right, like inventory, take it from here, the collections, take it from here. So these are some of the default values or let's say you don't want to provide the.49:12Credentials in plain text and you're using something called as Ansible Vault to encrypt your credentials. Then you may have to store the path of your Ansible vault key over here. So this is the ansible.cfg or your configuration file. Now the most important thing collection.49:23Is of course the Ansible elections and the most important thing is the playbooks. So if I go to the playbooks, let's say here I have five playbooks. So the 1st one is to create a fabric, then you add switches, you create vrfs, configure interfaces and create networks. So let's look at what each of the playbook.49:43Looks like. So as you can see over here, this is again this is without NAC, ok? We're not using the network as code model here. So you can see this is how typically, you know, a playbook for creating your fabric looks like. The fabric type is VXLAN EVPN, we have the BGPS number and so on.50:04And the fabric name here is a variable. So this is defined in your group where's folder. So you have one folder, let's say for variables. If you want to apply the variable to all the hosts in the group, you can put it in group wares or you can also, you would have seen something called as host variables, which means for a specific.50:23Host, you want to define some variables, so those variables can be defined there. And let's say you want to add switches, right?50:44So as you can see over here, I'm not using Ansible Vault at this part of time because this is a lab setup. So I've just added the credentials over here and you can see this is how the switch discovery happens with the seed IP and, you know, the other credentials.50:52Related to the switches, their role, and so on. Similarly, I'll not go through each of the playbook, but if you want to create vrfs, interfaces, networks, you use a similar approach and you create your playbooks. Once this is done, you can execute each of the playbooks. I will not execute this right.51:12Need away, but once we are done with the session, if you still want me to execute this and if you have time I can do it step by step. The only reason being when you create a fabric and add the switches, it is possible that it takes some time for the switches to get added. Just like when you do it from the UI as well, right? For those of.51:32If you who've created fabrics and added switches, you put the seed IP, it'll discover through SNMP, then get the configuration, let's say through SSH if it's a brownfield import and all of that process takes a bit of time. So.51:52I'll just show you in case I were to run this, what would it have looked like? So I'm in the same folder. I just showed you the files through File explorer. So it's easier through UI. I'm mostly a UI person, but, again, if you want to run this, so this is where your playbooks like if I do DIR playbooks.52:06You can see the playbooks here. Running this is very simple. You just do Ansible-playbook and then you can type the name of your playbook. So since it's in the playbooks folder, let's say I do this and then I can just give the name of the file. So I start with create fabric.52:24Now in this case, I'll have to do it hierarchically, which means I've 1st create the fabric, then I'll add switches, then I'll create vrfs, configure interfaces. Now you might ask those are like five six playbooks, can I not do it together? That is possible. You can create one playbook which will import these five playbooks.52:42In the right order and you can just execute that playbook. And to run it, it is just as simple as this. You can, whatever variables have to be passed over here, right? If you set it as default, then you don't have to, you don't have to worry about what are those additional parameters that I pass, you know, minus row.53:02Goal minus this minus that, so all of that can be taken care of in the files.53:22So this is what it looks like without the NAC framework. Again, like I said, if we have time and if you're interested towards the end I can run this and show you just the create, just the ads which is will take around 10 min for it to run. The remaining should be pretty quick. But before we go to that now we'll come to NAC VXLAN. So.53:27So now we are talking about network as code, right? Network as code as a model, there is so much more abstraction making things easier for us. So what do I mean by making things easier for us? Let me look at this file, topology switches.NAC.yaml. So now if I look at this.53:47Let's compare this with this. So here when you had adds switches, this is what it looked like. You have a task, it has a name discover or add switches, then you're calling the Ansible module, and then you're passing the fabric name from your variables file, and then you're saying in this case state merged.54:07If you want to delete it, then you can create a state accordingly and then you're putting the configuration here. So this is what your YAML file looks like. But now if you go to nAC.yaml, you can see how clean it is. So this is the model we are referring to. So you just say you want to create a topology of switches, name.54:26This is the switch serial number, this is the switch role. So I don't have tasks, you know, present merge, all of that is taken care of by the model. So I just declare what is it that I want to configure and everything else happens in the background because there are NAC modules.54:46That Cisco is maintaining. So this is the level of abstraction where it's easier for you to just specify your intent here. And if you're gonna ask me Pratibha, you know, where can I know, like, you know, how do I indent this? Where do I put this? We'll share the networkers code data models.55:06Page for you, maybe if you in the meantime, if you can share that with the team here. So you will see what the data model is. There are examples there as well. So you can just replace those you know sample values with the values that apply to your environment and then you can build the nAC.yaml.55:26Fine.55:46Now with that being said, so these are again the same thing that we achieved through, the ansible method. Here it is through next, so if I click on topology interfaces, e.g., I'm just saying switches, this is my name, this is my interface, I want to attach, I want to make it a trunk. These are the.55:48Times I want to pass.56:07This is the description, or let's say this is my access interface, this I want, this I want it to be disabled or shut down. This I want to be enabled. Let's say for vrfs and networks, e.g., right? So here you can see answering to Sonar's questions, so this is what your.56:09Switches.Nac would look like. So you're creating a VRF blue VRF, mapping it to a vrf ID and you're attaching the VRF to these switches that you're earlier adding to your fabric.56:29Then maybe if you look at networks, e.g., you want to create some networks, right? For gateways, then you can see this is the network IP, so more like creating some svis on your fabric, so you can create this as well. So this is how the NAC model will.56:42Make it simpler for you to build these files and again like I said.57:02Most of the times you don't have to build it from scratch. That's the question that a lot of customers have, right? How do we build this file from scratch? It's tedious for us and we are new to automation. So most times you don't have to build it from scratch, and if you have a use case, specific use case, do share it through the survey after the.57:08Webinar. Tell us your use case and tell us we want to be, we want to get connected to you. We will set up a session separately with you to understand your requirement and to help you build these.57:28Files based on your requirement. So with that being said, now this is the NAC VXLAN framework, again, the other files more or less remains the same inventory Ansible schema that was talking about defaults if you want to set some defaults. Now, how do I run this?57:40So I'll just, so this is the you know step where.58:00Creating or adding the switches takes time. So this takes around 10 min of time. So in the interest of time, what I will do is so to run the playbook, this is what we do. So let's say you create ansible, sorry, the command is ansible-playbook, same as before. I'm passing the inventory.yaml file, which will tell.58:06Where is which ND do I want to push it to? VXLAN.yaml. I'll show you what is there in VXLAN.yaml. I think that is one additional thing that I can show you. So this has the roles that was talking about. So you have role create to create your fabric, add switches, role dip.58:25Deploy where the actual configuration gets deployed pushed to the switches, the vrfs, networks that we were referring to and roll remove in case you want to remove. So these rules are defined in the vXLAN.yaml file and that's what you run in the command here. I just want to do role create alone. I don't want to.58:45Run the entire thing. You can, if you remove this tags rule create, it will do create, deploy, and remove if at all there are any objects to remove. But because I am adding a role just to roll create, so it'll create, it'll give you know it'll do all the value validation also happens in the background, so.59:06When you do a create validation also happens and this is the stage I'm referring to manage fabric switches can take a while. That's what you see.59:25So over here. And once this process is done, it adds all the switches to your fabric and if at all there are any errors, warnings that we have to look at, all of that shows up through you through in these logs. But then finally, if I scroll down, you'll see what the final.59:34The.59:54Output looks like. So this is only for role create. I'm only creating the fabric and adding the switches. We are not pushing the configuration yet. So this is what happens. So finally it has changed 3910, around thousand conditions are it skipped because it's not relevant to the configuration that we have.59:56And the time taken for all of these and what are the tasks that are happening in the background?01:00:15So all of this shows up here. Once you have created, what would have happened if I had gone to the ND, you would see a new fabric created and that's how I created this NAC fabric earlier today, just as a preparation for this session. So you'll create, you'll see this fabric created, but if you go to inventory, the.01:00:21Configuration status is still pending. Switches are added, but the configuration is yet to be deployed. So at this stage, let's say I go ahead and run a deploy command. So now I say roll deploy and then now is when it's actually pushing your vrfs.01:00:41The interface configuration, networks etc. So again, for production environment, go through those warnings, go through their those error messages, see if it's applicable because this is a lab environment. I've skipped through this as long as my intent is being met. And finally, if I just come down, right? So.01:00:58Here is the summary of the deploy task that has happened. So it has changed 31 objects. It has skipped the objects that are not relevant. And then finally, if you go.01:01:18To your NAC fabric one. So now let me look at the inventory. You can see that the configuration status is now in sync. We created a VPC over here, so the VPC shows up here. If you go to segmentation and security, so these are the networks.01:01:31That we created. This is the VRF that we deployed.01:01:51If you click on the VRF, click on the VRF attachments, you can see that the vrfs were attached to these four switches here, right? So if I go to vrfs.next, so we attach the vrfs to these nodes. So you can see that over here and if.01:01:55At all we also made some interface description changes, right? So let's say we go to.01:02:15The 1st leaf where we made some changes to connectivity interfaces. So here, you can see, e.g., let me sort this. I'll show you the physical interface and the VPC.01:02:21As well ok so you can see this is the VPC that we created as a trunk.01:02:37VPC, but if you want to let's say filter for a specific interface, right? Let's say interface contains 13 e.g., I vaguely remember setting a description there. Let's check if my memory serves good. So if I scroll.01:02:57To the right here. So you can see overlay network blue net four was attached and ok maybe we didn't do it for this demo. Ok. So if at all we had added a description there, then it would show up over there or.01:03:15Probably let me go back to the VPC I'll just check one last place, but anyways if you created a description there, then that would also show up on the description tab. So let's say here, right? VPC peer link SVI configured by ansible. So you can see these descriptions that are also created.01:03:32So this is what it would look like if you're using the NAC model to build your NAC YAML files and this is how you run the pipeline now or run the, you know, Ansible playbooks. Now with this being said, I'll move to a small part of the next segment, which.01:03:50Which is the CICD pipeline.01:04:10I'll share my presentation, put it in presentation mode, ok? So we completed this again for create and deploy the use cases that I showed you were like vrfs, networks, but your data ops use cases might be very simple, right? Like I'm gonna change some, maybe I'm gonna change the port configuration.01:04:13You know more devices are connected, maybe change the description, change the network. So for day two ops based on your use case, we can just make changes to those and push only that playbook, so you don't have to worry about the entire flow that I showed you now.01:04:33Now, what about with CICD pipeline? So continuous integration continuous deployment, right? So here, network as code can also be integrated with the pipeline. E.g., you can use GitLab. Now what would this pipeline look like? So now we, you know, we manually.01:04:49We ran the playbook, right? We 1st did a role create role deploy or let's say even if you want to run everything together, you're manually running it. Now I don't want to manually run it because I would be dealing with a production environment, right? So I want to standardize how it works. For instance, I want good input validation.01:05:09So if my company has certain standards to meet, right? Like this is how an object should be named. E.g., I want to make sure that those standards are being met. The input is validated, but also, you know, syntactic and schematic validation. So we'll do that as well, but any other validation if we need, so we could have.01:05:29Have a layer for validation. Then we could also have a layer for approval. Now.01:05:49I want engineers in my team to send it to me for approval. I will review and confirm if this is good to be pushed or not. So that is also possible. You can have a group of approvals or a governance team that actually approves and then that applies the configuration. You could also say something like, you know, 1st we push it.01:05:55Into our branch a test branch environment. So in GitLab you can maintain multiple branches. Let's say initially I want to apply only to the test branch environment. If everything is fine, then later we will plan it for the production branch. So then that is also possible through GitLab. And as you can see over here, the.01:06:15That report can be generated, you can notify it through Webex or Microsoft Teams whichever whichever platform you use for instant messaging, and then finally you apply the config. Now once the config is applied, of course in we are using for it, but once the configuration is applied, you can do post change.01:06:35Validation. So for those of you who have used Nexus dashboard telemetry, which was earlier called as Nexus Dashboard insights, there's a feature called as delta analysis. So it will compare.01:06:55Delta as the name suggests right two instances of your fabric and tell you, what changed, right? What was there before, what was there after? Maybe some vrfs got added, maybe some networks got added, IP prefixes and so on, right? So that sort of validation can also be integrated and.01:07:08Test automation. Was your intent actually met? You wanted to create these objects, was it met? And again, this is also another guardrail, right? If you want more test cases which are applicable to your environment to standardize it, then you could add your test use cases there. It works on a robot framework.01:07:28And finally, if the automation is success, again, notify it, you know, maybe through Webex or through, Teams. So this is what the entire pipeline looks like. You have version control as well, right? Let's say you deploy a version, you're not happy with it. Even in the test environment, you want to roll back to your previous.01:07:48Version control is possible through GitLab. So version control, approval, setting additional guardrails, doing additional validation, testing before you can decide to push it to production. All of that is possible through this CICD pipeline.01:08:08Now before I go to the last demo to show you the CICD pipeline, this is the demo that I'm gonna show you where we'll do some inherent validation syntax validation maybe. We'll apply the configuration and then we'll see what the test report looks like. So I'll go to that.01:08:24And, also in the meantime, I see that we have some time, so maybe for in the interest of those who want to see this, I can show you this as well. Just one moment.01:08:44Okay, so let's say I just I can just delete the switches if you want to see the create and deploy in action I can just keep this running in parallel and then we can check the.01:09:00You know pipeline and then come back here to see what happened here. So let this get deleted. Now we go to the pipeline. I'm just deleting the fabric so I can show you how the role create and role deploy actually gets triggered.01:09:15Okay, while that is happening, so this is my GitLab, so I have a project called this already set up. I have a gitlab. So for you to integrate with GitLab, you'll have the GitLab controller and the GitLab runner, which actually does.01:09:31As the execution. So for this demo, all of that is pre set up, ok? So if I do get runner verify, e.g., pseudo password, I hope I remember this right? Okay, so runner is already set up. All the variables, all of that is taken care of, but if you're doing it for the 1st time.01:09:51We could also guide you on what is needed to set up GitLab and to get it to this state. So right now, if I do a DIR, so I have in my folder, I have these files and these are the files that also show up over here for me because I've integrated it with GitLab.01:10:11Now let's look at what my playbook looks like, for instance, let's make some small changes and we'll.01:10:31Try to push it. So I have a fabric, NAC fabric one, very simple fabric with an ASN and some DNS IPs. Let me go to the ND before I push this to check what is currently there on.01:10:38Then we ok while this happens, let me just switch to my previous demo that I was showing and remove.01:10:56This fabric ok so for those of you who want to see how this would have worked, if I actually did the role create and role deploy, so I'll just run this again.01:11:13Or maybe if you want to see the playbooks 1st, I can do that as well. So just give me a moment. Let me go to ansible. So this is where we had the individual playbooks. So if I do DAR playbooks, so this is just YAML file, not.nat.yaml. So let me run this playbook. This is the simplest way to run a.01:11:30Playbooks so I just do ansible playbooks, playbooks, and let's say create.01:11:50Fabric. As you saw, I have deleted the fabric that was there on the Nexus dashboard. So right now we only have three fabrics, so let's just do this approach. So now if I do create fabric.01:11:55This will go and create the fabric. This create fabric shouldn't take much of a time. It usually adds switches that take a bit of a time and maybe at that time we could switch to the other. Okay fine. So now fabric created. So if I just go here, refresh.01:12:12Then I can see that the fabric is created, but right now switches are not added over here. So if I go here and let's say I execute, 2nd one adds switches. Okay, this will take some time, so let it keep adding the switches. In the meantime I'll show I'm switching back.01:12:29To the GitLab demo, so I have NAC fabric one, maybe let's delete this as well.01:12:49Okay, so now there are NO fabrics here. And what did our files say? We are creating that fabric one. Let's say e.g., let me show you the validate failure rate. So right now I'm making a syntax error in my YAML file. So let's push this. So I just do a get add to push it.01:12:57Get commit test validation error.01:13:16Because we have created an intentional error here oh sorry git commit minus M test validation error, so that's just a message that will show up on GitLab and then I do a git push. I'm pushing it to the main branch. Again, like I said, this is a test environment, so I.01:13:20Do not have to worry about the main branch of the test branch. Okay, so this is pushed. Now we go here.01:13:40And let me go to build and pipelines so you can see the pipeline getting triggered. So this is the message that I added, right? Test validation error. As you can see, it failed in the 1st stage itself. Now what, what would be the root cause because we made a syntax error.01:13:48So it says there is a syntax error while loading the YAML file because I created a syntax error over here. Now let's go fix the syntax error and just for a change if you want a different ASN so let me do that and now let me repush this.01:14:06Let's say, get add, get push EIS test. Okay, get push origin mail.01:14:23Okay, ok. So now if you go back to the pipeline, we should ideally see a new pipeline and this is the validate stage, which should pass because.01:14:38We have not had any, we have not made any syntax errors now. Deploy where your fabric will get created and finally the test. Now while this is happening in the interest of time, I'll also show you that at each stage you can download artifacts. Now, how is this pipeline happening, right? I'll give you a bit of some information as.01:14:54Well, whatever we ran individually, right? In each of the stages, we ran ansible. If you remember this command Ansible playbook minus I inventory.yaml, right? This is what we ran when we did it manually. Now this pipeline cicd pipeline runs because we have a yaml script that is actually taking.01:15:14Taking Care of all of this inherently. So there's a validate stage where it does Ansible playbook, the same command is being run. There's a deploy stage where it's taking care of the deployment and then there's a test integration phase. So instead of doing it manually, there's a GitLab cI.yaml file which takes care of the entire pipeline.01:15:34So if you want any outputs to be generated in each of the stages, you can mention it there in that file. Those outputs will get created. Here is artifacts. And while the pipeline is running, this is what your output robot framework output report will look like. If there's any test cases that fail, here my test cases are very.01:15:54Minimal just to validate the intent. I want to create NAC fabric one, did it get created? So very simple test cases, but if you want some additional, you know, test cases added, then you could always you know customize the test templates and finally you will see this report. Let me just.01:16:14Fresh this page to see if it did get created.01:16:34Okay, at least validate stage got passed. You will finally see the deploy happening at the test phase. Let's refresh this to see. Okay, as you can see, it got created. So if you keep looking at this for some time, you'll see three green arrows show up, something like this that I ran 3 h ago.01:16:40So that's that and as for the other CIOs I was saying manually when you're running it, right? So it's adding the switches, it's taking some time. I think we'll pause, we'll stop here in terms of the demo. I hope you've had an understanding of how do you push playbooks without you know using Nac, with using Nac and finally.01:16:58See what the pipeline looks like. So I hope you've got an understanding of that. Now coming back to where do you get started, right? So you've showed us your you and your team have showed us a lot of these things. Now, but how do I get started with this? I'm still a little confused. So this is your takeaway for today.01:17:18More like homework, if I may say. So we will share this GitHub code with you. Let me in fact navigate to this.01:17:39Just give me one moment. Let me just navigate to this GitHub folder and we'll tell you where you can get started. I'll also put the link on the chat so you can.01:17:51You know, you can also open it at your end and let me just move to that GitHub and share it. So this repo is available on GitHub. So this is a well documented repo where, you know, you can see eleven contributors here, some of the architects who work on this.01:18:07And this has a detailed explanation of how do you install, how do you install this repository? How do you clone it to you know what Python virtual environments do you need? How do you up install the requirements? How do you finally install the Ansible collection and you know.01:18:27Check the answerable version once the collection is installed, and this is e.g. the host file. So which ND do you want to push the configuration to and has details of every file that we spoke about, inventory file collection file, if you want to set environment variables, what do each of the roles do?01:18:47And finally, if you want to create a configuration, right? Global nat.yaml, let's say you want to create a fabric. This is what I just showed you in the demo. So if you want to use this, and as I promised, in most cases you don't have to build it from scratch. If you see this example, you can see that all of this is already configured. You can reuse it if it's for your test environment.01:19:07Or if it's for your actual environment, change it as per your requirements. Again, topology, the switches, the underlay configuration, VRF configuration, it's all in here. And what do you have to do to finally run it? Just one command. Ansible playbook minus site, inventory.yaml vxlan.01:19:27Dot yaml, and this will run all of these files for you, this configuration for you.01:19:47So this is more of homework. Please do bookmark this try this out after our session last week, which we we did it on network as code for ACI. We had a few customers and partners reach out to us with queries saying, hey, I'm trying, I'm stuck in this step. Can you help me? We have supported them and we.01:19:52We've had quite a few who successfully completed testing their NAC ACI framework. Now it's your turn, this is for NAC vxlan. So please do test this. We will send out a survey in three to four days asking you if you were able to complete it or if you need any support from us or if you have any specific use cases.01:20:12That you would like to further build on top of this. So keep an eye out for that survey. It'll come from expert inside series mailer. Take that survey, all of us, apoor Anshul and I are gonna be looking at that survey and you know we based on your use cases, we'll set up one on one connects with you to work on it.01:20:32Further. Now with that being said, before we sign off, I know there's one question on the chat which I'll just take, but in the meantime, for those of you who are still not on Slido, we have a few more questions for you. Will you be trying out the NAC Ansible framework after this session?01:20:52Yes, we will try and share the feedback with you or if you say NO, do let us know and we do understand but please share your feedback with us because we don't want this to be just 90 min you join, you learn something, you leave and you forget. That's not our intent. We want to work along with you to make sure that you try.01:21:11This for your environment and that's where success truly lies, right? Anybody can see a session online and you'll all learn the same. But how can you go back and we are here to support you in this journey? So please do try this out and like I said, in three to four days you'll see an email from us. Please do.01:21:31Respond to that email, that's how we understand how can we help you further on this.01:21:51Okay, I see six people on Slido I hope more folks joined the Slido but hundred percentage yes, so thank you. I'll go to the next question. What support do you need from us to start automating your Nexus dashboard managed NX?01:21:58OSV VXLAN fabrics or keep it simple. Network as code for VXLAN or network as code for Nexus dashboard. What support do you need from us to start automating this? Again, you can also use the survey that we'll send out in three to four days to tell us this, but if you have something on top of your mind right now.01:22:13You can let us know right here.01:22:33I'll give it maybe 30 to 60 s before I move to the next question. This is a word cloud so you can skies the limit. Tell us what is it that you have in your mind. After the session ends, when you exit the webinar, you'll see a survey, so please share your feedback there.01:22:35Tell us, ok, at least lab which is having devices, ok? So when the webinar ends, you'll get a survey tell us there as well. We want to hear your voice voice from our customers and partners. We'll share the reference links as well. Where can you find the past recordings to learn more about next.01:22:55Dashboard etc. Where can you find this recording later? Where can you sign up for upcoming sessions? Next week we have one on AI. So, so far we've been talking about automation, right? But world is moving towards AI. So on Tuesdays same time we have a session for AI and Thursday next week we have.01:23:15Have a dedicated 60 min Q and A session for you where you don't have to keep typing on the chat. On next Thursday, we'll give you an opportunity to unmute yourself and shoot questions at us live and we'll be taking them up. So we'll do a quick recap of the series on Thursday and then we'll take live Q and A from all of you.01:23:35So if you have tested these NAC frameworks, that's another opportunity for you to ask questions to a slide.01:23:55So please use that. As for, you know, lab, I think Anshul shared some references on the chat, but if you have any specific use cases like Sonar three short with some specific use case, right? If you want to try that out in a Cisco lab before you do it in your production environment, we can help.01:24:03Do with that as well. That's what thought of lab as well.01:24:23So we do hear you and the last on the on the service, I see a lot of lot of questions on lot of sort of feedback on basic training and lab. So one thing I guess just I need to make clear that obviously in terms of.01:24:27You don't actually need to really need to be able to code, right? Once you install it, what matters to you is just maintaining that YAML file, right? And that's the beauty of using vxlan as a code and net as network as a code frameworks that as a customer, you just need to worry about.01:24:48Managing the YAML files and as long as they are correct your your code make sure your whatever your intent is gets through, so you don't need to actually need to be able to code to that. If you, if you can do coding that's good. But if you don't do that, that is also fine. You can just manage the YAML files. 2nd question was on.01:25:07The lab. So obviously there's a lab for sandbox for ACI shared for that one, but for Nexus dashboard also, if you are interested, let us know, please reach out to us if you're really interested, and then we can share the cloud sessions with you by which you can actually, you know, you use your lab. You can, you can do your labs.01:25:28And you can connect your instance or your labs, but do reach out to us and we were happy to do that.01:25:48Thank you so much. I think the sandbox needed secure VPN, you can do that as well from what I understand. Okay, so with that, I'm gonna paste this on the chat, so if you have any queries, you know how to reach out to us, where can you schedule and register, see the schedule and reg.01:25:58Register for upcoming sessions and most importantly respond to our mail in three to four days so we know how we can support you best. I'll just quickly add that to the chat.01:26:18There is NO default lab in the cloud for NAC, but we have some custom ones that are on, so if you can reach out to us one on one, we'll be able to understand your use case and share that with you. So, just let us know because those are custom labs. It's not possible for us to share directly with hundred plus folks on the Webex, but.01:26:31If you're really trying it out and you want that, just let us know one on one and we'll share that with you.01:26:52Okay, so that I've shared the link, you know, for the schedule and how to register, how to see the past recordings and also if you have any questions, you can write to us there. With that being said, of course, if you're having an issue with secure VPN and you're not able to use.01:26:59That I think the cloud would be a better option for you. Do reach out to us one on one as to what would you like to try out based on that, we'll share these custom labs with you. You need a Cisco C cco ID for us to share that with you, but we can discuss that offline.01:27:19With that, thank you so much everyone for joining. We hope you enjoyed the session. We hope to see you again next Tuesday and Thursday and you know, keep the floor very interactive. Thank you Anshul, thank you Apurva for your time as well today. Thanks everyone, we hope.01:27:35Hope you have a good day.01:27:54Hi. Thank you all. And yes, please do reach out to us if you understood any any automation or any any network as a code. So yeah, be happy to sort of connect with you and then, you know, work with you based on your use cases, your priorities, and if you don't have access to resources.01:27:56We are happy to sort of, you know, schedule resources with you so you can try it on your own end. Thank you all thank thank you thank you so much. Thank you everyone. Bye.01:28:15

About this Video

Author : Cisco Customer Success

Uploaded : August 13, 2026

Data CenterNexus Dashboard
AI summary icon

AI summary

Explore how Cisco Nexus Dashboard unlocks automation for data center fabrics. The recording demonstrates discovery and control via the built-in Swagger API explorer, including live GET, POST, and DELETE calls to list, create, and remove fabrics, plus use of curated Postman collections. It then moves from click ops to Cisco Network as Code for VXLAN with Ansible Collections: model-driven YAML, defaults, idempotency, and role-based workflows (validate, create, deploy, remove). See a full demo that creates a fabric, adds switches, attaches VRFs and Networks, configures interfaces and VPCs, and pushes changes safely. Finally, operationalize automation with GitLab CI/CD pipelines, input validation, approvals, test automation, and post-change verification using Delta Analysis in Nexus Dashboard Telemetry.

  • Step-by-step guidance to enable and deploy Network as Code for VXLAN using Ansible Collections and role-based workflows.
  • Demonstrations of the Swagger API explorer and provided Postman collections to execute and validate REST APIs.
  • Methods to build CI/CD guardrails with GitLab, approvals, version control, robot test reports, and Telemetry Delta Analysis.