Transcript
Oh, so welcome to today's session, making sense of Cisco Catalyst.00:00Center, templating. This is part one of a two part expert insight series focused on templating. My name is Sherwin Steven. I'm also known as mr. Templates, and I am your presenter for today. I'm joined by my Cisco colleague, Aaron Donaldson.00:19He's also known as the ginger ninja. Hen and I are actually named within the CSS community as the quote unquote template guys. He is on the call to really keep me honest and accountable.00:39Make sure I don't lead anyone astray. So Eric, feel free to chip in, chime in with any additional thoughts and insights. Awesome, thanks for alright, so today's session was 2nd one in the overall amplify and.00:52The Amplify with Cisco Catalyst Center webinar series. Next week's session will discuss templating and real world examples and scenarios, and then of course catalyst center integrations will round out and complete the amplify series.01:11Okay, if you do have any questions, feel free to ask our Q and A panel. Our expert panelists are standing by. You should have a Q and A panel available. Yep.01:28If it doesn't automatically pop up while you're in the webinar here, there should be a button the bottom right corner of the window that says show apps, and then I believe you can open up the Slido app from there. If for whatever reason Slido isn't working for you, you can drop your question in the chat panel instead.01:45Yeah, Sounds good.02:05Okay, that being said, so we're gonna take a look at today's agenda, so we're gonna start off with templates one on one. This is really just a refresher of what templates are, how they work in catalyst center, and just a few nuances unique to templating in.02:08Catalog Center.02:29We're also gonna go over, just general lessons learned, discuss how to access the templating menu, the various options there and also how to create a template. When I'll skip to building blocks, AKA, the various options given when creating or editing the properties of a template.02:31I will discuss what the effect, what effect these options have on being able to successfully actually use the template after it's created. Then it will take a look at the ways to apply a template to the devices in Catalyst Center.02:49The Prevex needed to do so, and the pluses and minuses of each method. If time permits, because I do tend to I'm very enthusiastic about templates so I can go a little long, but if time permits, I will end with template compliance and look at our catalyst center tech tackles.03:05Whether the config of a device is compliant with the template that was actually pushed to it. I will do my best to keep the PowerPoint slide mountain to a minimum and try to focus more on practical demos and discussion.03:22Something to note is that the demos will be done in a catalyst center 237.eleven. I know the three.one.six was recently made GA generally available and some of you may have installed it. So if you are in 316.03:41The menus may look a little different, but the core functionality, the templating flow should be about the same, ok? So a quick poll question. Let me see if I can get this up and running properly, feel free to.03:59Joining insider is, what is your current level of familiarity with templating in catalyst center? Right, this is familiar, I eat sleep and dream templates. In fact, I only mean mr. Templates, not you.04:16Right? Familiar isn't regularly, but I'm open to learning more, somewhat familiar, I understand the basics and that's it, and they're not familiar at all. What's the template? Alright, so give it about a minute or two.04:31I see some response. It looks like we're leaning more towards somewhat familiar, I understand the basics of it, ok? And bear in mind, right, whether you're complete novice, I'm sorry, completely new, you're novice, regular user.04:46If you are ganned off the gray wizard of templates or somewhere in between, there's really NO wrong answer. Just trying to get a gauge for, you know, our people's familiarity. All right, got 7273 votes alright, and I'm just really quick gonna share the results here so that we're able to see.05:04To them.05:24There we go, I don't know ready. Is my screen still sharing? No I took over sharing just briefly so that I could show the results, but yeah, as soon as you're done I can stop sharing and hand you back the ball. Yes.05:25Alrighty.05:45Okay, so it looks like we're we're mostly about 87 of you 87 votes we're about somewhat familiar to understand the basics and that's it. And that's great because this session should be very, very helpful for those participants. All right, oh go ahead someone ended the poll. No worries. Yep, I just ended it and.05:46So you can take back control.06:06I appreciate it. Let me go ahead and resume sharing, confirm you're seeing screen one. Template one oh one. Template one oh one. All righty. Okay, so, 1st and foremost, quickly.06:08Refresher on templates.06:28Within catalyst center, templates are really just a way of automating and deploying network configs at scale, right? So the same as you would potentially use maybe something like putty or secure CRT. Catalyst center allows you to do that, but instead of one tab, you know, three tabs, five tabs, you can now potentially apply.06:30By a config to, you know, as many devices as you want potentially to the entirety of your network. Your typical catalyst center template will include one of a few things, so it'll be one of two languages, syntax one of two languages, whether it's velocity templating language.06:50Right, which is Java based. Those of you coming from Cisco Prime maybe familiar with velocity Tempton language. Or the other program language is Ginger Tempton language, which is Python based.07:09Right, so you're gonna get syntax from one of those two languages, and then you also get CLI commands, right? The CLI commands from whatever version of iOS you're using. And then also potentially EEM scripting as well. So EM scripting does.07:25Somewhat fall under, CLI commands, but it's slightly separate because you are able to do certain things with EEM scripting beyond just basically pushing out commands based you know such as you know making pushing a command based on a trigger.07:41Or something like that, right? Or on a particular scenario, right? And so in addition to that, sorry, so in addition to the pure CLI, the syntax, so you might have things like if they're now statements, you might have things like, you know, for each sheeps, so on and so forth.08:00All right. So I do have just a side example of a basic template and you can see right there, this one is ginger, right? So how do they actually work? Basically the content that is in a template is.08:20Through the catalyst center templating engine, it is rendered as CLI commands and then pushed to your target devices, whether that's a switch, whether it's a router, a WLC, AP, right? It's gonna be pushed to those. So like I said, similar functionality to putty, territorm security it remote NG, Cisco CLI analyzer.08:39Right, from a processing standpoint, the max batch you can get when doing catalyst center templating is about a thousand devices per template push, right? But that, but there's a sliding window of 20 to 40 simultaneous pushes.09:00Okay, so one thing to, I really try to make clear whenever I discuss templating with customers is that the same rules are when you are using SSH clients apply as when you're pushing templates from Catalyst Center.09:21Right, 1st and foremost, the command does have to be valid, right? If the command is not in the command set of the device, you are going to get an error, right? If you kinda look, I have two examples of two other examples of.09:39You know, templates, so you have the 1st one's kind of basic just 100 200 naming it, pushing out the SVI, you know, for 102 hundred descriptions versus the one underneath is a little bit more involved with.09:55With programming texts with velocity text, right? But either way, right, if the command is valid, it's going to push. If the command is not valid, it's not going to push and then depending on the type of template, it may, it may.10:14Stop running if it's a day end template. Another thing I really try to make customers understand, right, is that overriding and appending commands work the same. A lot of times I have a customer ask me, well, you know, if I push a command via template, is it going to overwrite.10:29Or, is it going to append, right? And my response is well it depends on the command, right? E.g., IP helper address. IP helper address is an appending command, right? If I put IP helper address 192-16-8101 and ten two.10:50Right, and if I did a show run, I would get both instances of that command because IP helper address is an appending command. IP route is the same thing. IP route ten 1010 one, IP route ten 1010 two.11:07If I ran both of those, I would get, if I did a show IP route I would get both of those in my routing table. Now granted if I did quad zero quad 01010101 and quad zero quad 01010102I may have a connectivity issue, of course, so now I have two default routes going to two separate IPs.11:23But once again, it's in the command set, right? It's going to push and the nature of that command is you can append. IP default gateway on the other hand is an overriding command. If I did IP default gateway ten 1010 one, and then IP default gateway ten 1010 two.11:41If I did a show run, only ten 1010 two would actually stick around, right? These last two are ones that I really try to make customers understand. For those of you that took the CCNA a while back.12:00Right, switchboard mode trunk allowed VLAN versus switchboard mode trunk allowed VLAN add, right? Both of those are valid commands. Both of those will push. However, if you were to run switchboard mode trunk allowed VLAN on one of your.12:16Quarter switches and one of the main trunk links that has, you know, 20 VLANs. I see that it's Rob, and you did allow VLAN 100 you will have what is called a resume generating event because you're gonna have que.12:34Quite a few people upset at you because of course you've overwritten 20 VLANs on your main link with just one.12:54Versus allowed VLAN as have you're just adding the 21st to the other 20. So it's really up to the person that is creating the template as well as the person who is running the template to be aware of the ramifications of the template that you are running. So make sure to put play.13:01Plenty of comments within the template body itself, plenty of comments within any variables.13:21You know all just internal documentation to make sure someone's coming behind you to run this template, they know, you know, certain things to watch out for and be aware of. Okay so a couple of nuances and lessons learned when it comes to.13:26Those templates in general.13:46Right? So invalid commands, so if the command is not within the command set, one of two things happens depends on the actual type of template, and we'll get into day zero versus day n. But a day end template will actually fail at the error, a day zero template will continue to run any.13:48Subsequent commands after the incorrect command, right? And there are of course ramifications associated with that that we'll talk about later commands with errors. So, if a command, if a valid command returns an error.14:08Same thing, right? A day end template will fail at that command. So any subsequent commands will run, right? But if there's an error, day end template will fail, a day zero template will continue to run.14:28Right, so versus a command that returns an error, same, same, same effect, right? Run once commands, and this is something I've had a customer run into a colleague of mine had a customer run into recently, right? Some commands.14:42Can only be run once, right? If you try to run them again without the node to remove it, it will cause an error. The one that comes immediately to mine to NTP is NTP trusted-key one, right? So most commands you do like, you know, if you run VLAN 100 and you type VLAN 100.15:00Do it again, there's NO issue. It'll just, you know, be land on it, ok Vlan hundred again. N to be trusted-key one, if you run it a second time, it will generate an actual error, right? And that template will fail. So something to be aware of. I'm doing certain commands.15:20Same thing with NTP trusted key, right? Some commands do require a prior config before NO. So if you try to run NO NTP trusted-key one, right? Or even NO crypto PKI trust point whatever. If you try to.15:39Run the NO without actually having to run the command initially, it will cause an error, right? And so depending on the template for their end template, it will fail, right? And I have had a customer run run into an issue where it's like, hey.15:57You know, this works perfectly fine for some switches but others the command is failing, and it turns out, you know, that's what it is, right? So you do have to look, especially when you're doing a batch push, you know, look, be aware of the config of the devices in the network because some.16:13Existing configs may cause an issue with the template that you're trying to push, right? And then just kind of lessons learned fix but verify, right? Within, Cisco Catalyst Center, there is a simulate option so that you can see the template push, the template output.16:33Right? And there's also when you're actually pushing the template, there is a config preview option so you can look at the existing config on the device side by side with the config that you are trying to push. Make generous and liberal use of those two.16:52Right especially that second one because you're able to see, you know, on a device by device basis whether or not you're pushing a config that is going to recavoc on that particular device or your network.17:11Use a test device. So this isn't always possible depending on your network, but if you can, use a test device to do one of two things test your template output as pure CLI, right? To make sure that there are NO errors that are com that there are NO errors that will come out.17:28On the actual device, right? And then also if you can, right? So one, take that template output, copy it as just a pure CLI and then just stick it on the device. And then their second thing is run the actual template on a test device if you can, right? So it's a small nuance, but they're still different. One is, you know, you're making sure.17:46For that the output itself is fine, right? And then also making sure that when you run the template itself cause sometimes you might have an output that would be ok, but because of how catalyst center, does templating.18:06The template itself may fail where the output itself may actually pass through, right? So like e.g., that the same NTP trusted key. If you took that output and you stuck it directly into the switch, every command will run.18:22Right except for the NTP trusted key will have an error, but every command will still run. If you put it in the template, you're gonna stop, it's gonna stop at that NTP trusted key. So like I said, small nuance but important, right? And like I said, it's not always possible and doable, but if you can definitely use the test device to test both, right?18:37And then of course the learner of unintended consequences, what I was talking about before, right? Be aware of potential conflicting configs. This is where documentation and communication within the networking team is important.18:57Right? You may have an existing config that may conflict with the template that's being pushed, right? When you're doing a large bash push especially to your entire network, right? This becomes important because you might be pushing something that.19:13You know, 75 % of the 75 % of the devices that are taking the config, they're fine because there are NO conflicts, but that other 25 % maybe an issue. So just things to be aware of. All right, so let's take a look.19:29At the actual CI templates menu itself, aka, how to get there.19:50Right? And like I said i'll try to keep it slide s slide light, but some of these I am gonna demo. So the templates menu is actually found in two places as of two.three.seven, right? You can either go to design and then CLI templates.19:55Right? The old location is for those of you that were pre two.three, so if you were like if you were in two.one or two.two, it's under tools and then template hub, right? So currently in 237 both of those locations are still available.20:11But starting in three.X, the tools to template hub flow will be deprecated, right? So within the actual templates menu itself.20:31Right? Templates are set up as a messed hierarchy, right? Think files and folders in an OS, right? Your projects are your folders that come that contain the templates and their templates are the files located in those projects.20:48Right? Something to be aware of, you have a, in a general catalyst center, in the templates menu, you'll have, you know, a set of sample folders with temporary in there and existing, right? Every other.21:05Project except for one of them contains day end templates, right? So day zero templates are found only in the onboarding configuration folder, right? So if you're doing day zero activity, aka plug and play or zero touch provisioning, right? And it's asking for a template, those are going to be.21:23Done in the onboarding configuration project, right? Actually if you're in the plug and play menu, the only templates that will be available are the ones in onboarding configuration, right? So every other project other than onboarding configuration.21:42Are considered day will have day end templates. And we'll definitely get into the difference between day zero versus day and then of course projects can be imported or exported. I use that feature quite a bit in order to, for my sample templates.22:02Pass them on to customers so they can, you know, play around and see examples of templates that I have. And for those of you who are choice, if you attend next week's session, I have probably about 20 plus examples of things you can do with templating. So definitely.22:17If you like the session, feel free to attend alright so of course to create a new project, there will be a, you know, either a new project or a new template menu. You hit new project.22:33You put in the name, you can put in the description as needed, right? One of the things that is new to two.three.seven is previously if you did a new project, you created a new project and that's just it. With 237, the system kind of assumes that, hey, if you're creating a new project.22:49You're also trying to add a new template to it. So immediately after you create the new project, you will get a new template workflow. The difference being is that the project name will actually be grayed out and it'll, it's gonna be the project that you just created. So of course you can cancel and then if you.23:08You go through the new template, you'll be able, the new template workflow, you'll be able to just add your own template.23:28I'm sorry, your own project name, right? So once we're creating a new template, right? So whether whether it's it's it's after the new project or just its own new template workflow.23:33Right, you put in your name and like I said, anything in onboarding configuration is gonna be considered day zero, anything else is gonna be considered day n. Right, so some things to note, the template type, whether it's regular composite, that cannot be changed after the template is created.23:53Right, same thing for template language. So whether you pick ginger over last year and we'll get into the difference between the two.24:13Right? Once you have, once you have set that and created a template, it can't be changed. Software type, only one OS can be selected, right? But of course, after you've saved the template, you are able to edit the OS type. So whether you pick either.24:19OS, iOS XE, iOS XR, NXOS or any of the other operating system options, you can change them.24:39But per template, it's only one, one OS type. There is a slight nuance that we'll get into with regards to the software type, right? Device family, right? So on the device details, you can select multiple device family. So if you're doing routers and switches or so.24:46I'm sorry, switches and hubs, routers, wlcs, you can select multiple ones. Actually ran into a customer that did not know, that you can select multiple ones, right? So just FYI, you are able to, right? And you can stop.25:06There, so the devices options so when you do device family I'm sorry when you do the models in the series, those are optional, so you can stop at just a device family ok so.25:24So I am going to hopefully my system.25:43Works fine with me and I am going to do a practical demo of just navigating the templates menu, the options and then creating. So let me gonna drop this.25:48To my screen. Can everyone see my screen? Right Cattle cattle center? Alrighty. Okay, so navigation, like I said, you go down here, if you go to tools.26:05Right, the tools template hub is there, right? But and that's the one that's gonna be deprecated. Come down here. This is the the one that's going to stay, design CLI templates. Okay, so once I get here, a couple things to note.26:24Right you see the arrangement of the columns. This, these columns can be changed. So if you want to add or remove others network profiles or actions or site, right? Commit state, provisioning status, so on and so forth.26:44Right, these columns can be changed, right? Import, of course, import, import your project or your template, right? We switch down here, we get to your set of actions, you are able to clone the template.27:01Right, so if you clone an existing template and you, you have an option to rename it to the one that you want, as well as what project you want to put it in, right? Commit, right? We'll discuss commit later, right? You can attach it to a particular network profile.27:16Right, this is one of three places where you can attach a template to the network profile, right? And then if you can edit a template, you can edit the project or you can just delete the template, ok? So real quick, just to.27:33S show you what to go what it looks like a new project, right? So I do IS test project two because I already have one called the IS test project. This is ok once I continue.27:49Can you, right? So you see right off the bat, the project is created and I have to know the add new template option, right? But down here is where the project name is grayed out, right? I can cancel if I'd like.28:09And if I did not add a new template, add new template workflow, you can see same thing except now the project name is not grayed out and I can pick the project that I'd like to put that new template in.28:27Ready? So, let's actually take a look now at the building blocks of the template. So we did the workflow for, hey, how do you create the new template? Let's now discuss what each of those templates, what I'm sorry, each of those options does in the template creation process.28:49Yes.29:09Okay, so 1st and foremost, right, the project name, I said we'd get to this, right? Day zero versus day in. Onboarding configuration contains day zero projects, right? I'm sorry, day zero templates. Every other project name that is not onboarding configuration, those are considered day n.29:12So the question becomes, well, what exactly is the difference between, day zero versus day end templates? So 1st and foremost, your day zero templates are the config that you use to just get the device into inventory.29:32Right, so bear in mind a brand new fresh out of the box device that is going through the plug and play process, right? It is communicated, it's plugged in, it's communicated whether it's through the various options, but it's communicated with catalyst center and it is now in the plug and play.29:50Menu waiting to be claimed, right? But it's got a DHCP IP, right? But it's not in the inventory, right? So at the end of your day zero template, that device should end up in inventory. So that kind of leads into 2nd one.30:07The simpler the better, right? You want to make sure that start simple, and I have an example, I'll show an example of kind of an easy quick day zero template, but you want to start simple and at the very least, at the end of that template, that device should be an inventory. Now, feel free to after.30:25You know, after and once you've established a successful baseline, add on to that day zero template, you know, add on things like AAA, you know, ACL, so on and so forth. But at its most basic, you want your day zero template to be simple enough that, hey.30:44When it's run successfully, it's added on to, it goes, the device is added to inventory. The other thing is day zero templates run all at once, right? So that can be a good thing and that can be a bad thing.31:00Right? If there is an, if there's an error within that particular template, right? That error will be skipped and everything else after will also run, right? And that can have ramifications for connectivity further down the line when you're trying to go through the onboarding.31:16Process of a brand new device.31:36All right? And then it's really just, hey, it's the base config on which your day and templates expand on. And do I miss anything for day zero templates, anything come immediately immediately to buy or do I get everything? To be perfectly honest, I have been inundated with the questions in the Q and A panel, so.31:39I've kind of been tuning you out I am answering them furiously in the panel here. So if there if there are any additional questions maybe on day zero templates or whatever, please throw them in the the Q and A panel.31:59And one other item, someone did notice that like all the questions were disappearing on them. What happens here is as we're managing the Q and A panel, if I mark a question answered, it gets moved into the archive tab. So they're visible, but they're in the archive.32:12And I'll try not to clean it up too aggressively, but it just becomes unmanageable because there's like 20 questions in that panel. Multiple questions is a good thing.32:29Alright, so your day end templates, right? Day end templates are meant for day one and beyond operations as well as any standard changes. So that's your triple A, that's your ACL, that's your configuring configuring interfaces, things like.1X, you know, so on and so forth.32:48So that's, that's, you know, adding or removing a VLAN, so that's anything after the device is finally in the inventory, right? The other thing is on that day zero templates, day end templates run line by line. So if there is an error or an incorrect command.33:07Right? Remember we said on a day zero template, the rest of the command of the configs in that template will push. A day end template it's going to stop at that particular line, right? There is a special case.33:26Of day and template that you can bypass the line by line requirement, and that's by using either an EEM script or a term shell command, right? So, and I've I've done it successfully with an EEM script. There maybe scenarios where potentially you want to be able to.33:41Bypass that. The one that comes immediately to mine and one that I did for a customer ended up doing for a customer is I had a customer who wanted to do a routed port.34:01They wanted to make the uplink on the switch or router port. The thing is, of course, to set up a router port, you have to run a, NO switchboard command. The minute you run a NO switchboard command, that device loses connection to catalyst center and the rest of the template will not run.34:12Right, so we're able to develop an EEM script that allows you to shut that port down, give it a weight, right? And then run or I'm sorry, run the nose port command, give it weight, and then run the necessary configs to now bring up that routed port.34:29And then come back online, right? So even though their tempers do run line by line in the there it is possible to if necessary, bypass that requirement with an EDM script, right? But of course you have to be careful because the ramifications of.34:47Everything running all at once will apply here, right? The other difference between day zero and day versus day n, they can use they can use bind to source variables and system variables, right? So.35:07I don't know if you've ever looked at when a device is being added to inventory, but there are 50 million show commands that are run, right? Those show commands generate information that's now ingested in catalyst center and used to populate a back end database with things like you know.35:23So Interface name, interface description, host name, so on and so forth. So all the, all the, the dashboards that you'd see in catalyst center. One of the things you are able to do.35:42In day end templating is to take advantage of that particular feature. So you can potentially, make a template, a Dan template that says, hey, for all interfaces with this particular description.35:55Push this config for our interfaces with this with this particular description and this particular name and this port name or if it starts with gigabit or ten gig or access versus trunk and this description, right? And I will say a shameless club granted for catalyst center versus our competitors have yet to come across.36:11Across one of our competitors that has that particular function. We add all these devices into inventory, it would be nice to now take advantage of the information we've ingested.36:31In from the device and now use it to push a config, right? Last single day on templates, right? We can use our interactive commands, right? Enable mode commands and multi line commands, right? So.36:42With all those. So your interactive commands are your commands that require some type of input, right? Things like NO cryptop PKI trust point server-CA, Right, if you were in an SSH client and you ran the command, it'll ask you.36:59You know, tell you removing an trust point will destroy all certificates received from a related certificate authority. Are you sure we want to do this? Yes or NO? Right? So of course in your SSH client, you can, you know, put yes and continue. The thing is, is that because center is an automation engine, right? You don't have the option to manually enter either way.37:15And enter yes, but you can configure if you bookend it with interactive and end interactive, you can't put the command, a portion of the question as well as the response, right? So you can see.37:35Right, I'm able to put and I don't have to put the entire inquiry, right? So even if I just put removing unenrolled, right? I have to put removing enrolled trust point with destroy all certificates received from yada yada. I can just removing unenrolled, right? And my response is yes.37:54Right, I can even put, are you sure you want to do this? And my response is yes. So as long as a portion of the inquiry is within the IQ field, right? Then I'm able to put in the inquiry and response, right? And I of course I bookended with ends inter ends interactive. Something to note that the IQ.38:10And the R tags are case sensitive, right? So they do have to be uppercase. All right, your enabled commands, right? So I don't know if anyone had caught it, but when I showed my examples of my te of my templates.38:30On my VLAN templates, you saw VLAN 100, you saw a description, you saw interface, you know, gig one zero whatever, right? You know what's conspicuously missing is, right? Config terminal. That's because.38:51And then templates, those commands are entered natively run in config terminal mode, right? There's NO need to explicitly state conf T however, right, there maybe a need to put in an enable mode command. Things like write mem, things like.39:05Are removed inactive. Family enough, in an EEM script.39:25The, for to run a, to run a, a EEM script on demand requires enable mode, right? So event manager has both enable mode and config terminal commands and to run requires enable mode. So to.39:31To run an enable mode command, you just bookend it in, you know, mode enable and then mode and enabled, right? I will you are able to even nest a enable mode command within, I'm sorry nest an interactive command within enable mode command.39:50Right, so install remove inactive is an enabled mode command, right? So you need to enable mode, the mode enabled, right? But it's also going to ask you, hey, you know, do you want to remove the above files, so on and so forth. So you do need the interactive prompt as well.40:08Okay, and once again, I know we're talking about EEM scripts, but the exception to in their template in terms of requiring enable and requiring comp T is an EEM script. You do need to specify enable, you know, CLI command enabled versus config terminal.40:26Right, multi line commands, right? So if you put a pure multi line command like banner login and you just put it straight into a template, it's going to render as separate commands per line and of course give you an error.40:51Right, so in order to successfully put in banner login, right? You have to bookend it with MLT command tag and under/MLT command tag at the end, right? And then that will let the, the template engine know to render this as a multi line command.41:08Couple things to note, right? MLTCMD and/MLTCCMD cannot be in the same line, right? They can't be indented, right? And NO spaces before or after, right? So it has to be the command immediately after and then with the/MLT to bookend it has to be.41:28The NO space at NO NO space before.41:48Alright, so I am going to do a practical demo of a day zero template, a template that can double as both day zero and day or day end and then an example of a day end, specifically day end template.41:57Alright, so bear with me and let me see if I am able to. Can everyone see my screen? Thumbs up from the panelists alright perfect. Okay, so.42:13Let me do EIS test. Okay, so an example of a day zero template, right? And when I said, you know, at the end, it should establish connectivity to.42:31That from that device into catalyst center. So you can look right here, right? So I'm creating my management VLAN, right? And I'm naming it. Now, this particular template is specifically for those cases where potentially the.42:45They the VLAN template and the plug and play VLAN template I'm sorry, the management VLAN and the plug and play VLAN are separate, right? So I am creating the management VLAN naming it, right? I'm configuring the SVI for it. So I'm putting a static IP.43:04Putting a subnet, putting a NO shut, I'm configuring the upstream link, right? And I'm putting making it's usually a trunk around for redundancy purposes put it here. I'm allowing, and I really don't need both, so I can either allow both of them.43:22Right here, right? To make sure I don't override anything or I just put an add, and then add just to management VLAN, but basically allow the VLAN template, I'm sorry, the management VLAN to be on that trunk.43:40Right, right? IP default gateway or IP route, right, for connectivity. And now here's the interesting one. So IP, these lines 22 through 25.43:59Basically tell the system, hey, don't be managed by the plug and play VLAN that you initially were brought on with as part of the plug and play process. Switch over to the management VLAN, right? So be managed by the management VLAN in Catalyst Center, and then I do a NO shut.44:14Right? Just to make sure on the management VLAN and then I do a shut under plug and play VLAN potentially. So remember I said that day zero templates run all at once, right? Even if there's an error.44:34So here's an interesting scenario. I'm looking at that, just checking time check real quick. All right, I'm at 45 min. I'm still good. 50 min. So if I put an interface X right here, right? What occurs? Well, a day zero template runs all at once.44:49But you can see, and this is what I'm talking about being aware of the ramifications further down. If I push this interface X and I accidentally put this X here, this is not about command, so this becomes an error. This does not run, there's NO switchboard trunk to run.45:07And of course I don't allow the management VLAN on that upstream link. But the IP default gateway or IP routes that runs and lines 23 through through 25 still run as well. So even though I have not allowed.45:24The management VLAN on my upstream link, right? Everything runs all at once. It is still pushing the config to change management over from the plug and play VLAN to the management VLAN. And of course well what happens?45:42That device loses connection with Catalyst Center, and it becomes a process because the plug and play process within Catalyst Center is one that is automated and there's NO way to manually stop it. So the system will try to keep resolving. We'll, we'll try to keep resolving it.45:59So you can potentially end up with a, you know, if you're lucky of quick 5 min 5 min before, the process times out and then you're able to, to, you know, fix your template. If you're unlucky, you're looking at 20 min of waiting for that to.46:15Complete before you're able to make the changes and try to re add, right? So definitely when when workload day zero templates, you know, be aware of this, that a change, you know, still affects the configs that are downstream.46:32That are downstream in the actual template. Right, another mistake that is, that is a little bit more subtle but harder to track and I've had this happen with a customer, is I have the correct config, but I put.46:48Let's say gig 1010, right? As the trunk to allow the management and the plug and play VLAN on that trunk. Well, what if my interface is really gig 1011?47:05It's not an error, it's a valid command it's going to push. It's just I'm allowing the plug and play VLAN. I'm sorry I'm allowing the management VLAN on the incorrect interface. Same issue, the device, the brand new device loses connection to the catalyst center, you still have to wait.47:24But this is a little bit more subtle because now you have to try to figure out where you went wrong because it's not that the configuration is not that the commands are incorrect. What do we call the same variable multiple line? I will potentially show the same variable in multiple lines.47:43I didn't see your answer, but I did see that question. So you can see right here I do have like say management VLAN here.48:03And then management here again. It's just a matter of depending on your language, you just put the same variable in multiple places and that's how you would call it. And I'll I'll show it in in in an example. If I don't get to that, make sure to attend next week's session where I go much deeper into templates and a deeper dive into the different things you can do with templates.48:09Right? So what is my example of a day zero template, right? I'm not gonna save my changes, right? And let's take a look at maybe a, a template that can bubbles both day zero or day in.48:32Right, so for this one specifically, you can see, it's just a, it's it's populating it's a basic for each loop that populates the same config across multiple ranges, right? So a lot of customers do do do use just interface range commands.48:47One of the things with interface range commands is that you can't do it for stacks. Gangs are for stacks. The other thing is, and I've seen this happen, when you do an interface range command in, in Carosana templating, it does, if you say like say ten through 48, it will do interface gig 1010.49:06Description access port. 1011 description access port twelve, description access port, and it will go through all the range for the 1st command and then switch to 2nd and the 3rd and the 4th and the 5th. Not the issue if it's one or two commands, totally different story if it's 30 commands.49:26With the customer that this ended up happening, it it timed, the template ended up timing out, right? Versus with a for each loop, it'll be gig 1010, hey, iterate through one zero.49:46Description, switchboard, switch ports spanning tree spanning tree. 1011, so let me actually show the simulation real quick to see what that looks like, right? And just really quickly, if you look, I actually have some logic in here to and feel free to feel free to implement this in your own catalyst center.50:00I have some logic here to be able to put in multiple ranges, right? And if you don't want a particular range to be put, you can put zeros and it'll skip. So let's say e.g. I want one through 1015 through 20.50:19We'll do one better. One through ten, let's do 15 through 16, right? And then let's do maybe 20 to 24, and that's it, right? So fix changes, but.50:38Show range variables volume one three. So when I run this, you see I got my gig 101 through ten, right? I get my 15 and 16, and then I get my 20 through 24, right? This particular template can be run as.50:53Both day zero as well as day n, right? Because there's nothing in there that's using a system variable. Let me show you one now that can only be run as day n, right?51:11Actually let me, did I save the right one? I did not save the correct one, but I wanted to show this one is a better one velocity, and if I jump down to.51:27So this is one that I developed, because I kept I kept coming across customers with this particular issue, right? I want to be able to, have.51:44Model specific as well as model agnostic configs, right? So in the same template, be able to say, ok, if the device is a 9300 push VLANs 102 hundred. If it's a 9400 push 304 hundred.52:03If it's a 3850 push VLANs 506 hundred, but also for all models push my AAA configs and my ACL configs, right? So you can see right here I am doing a call for a specific for a system variable device.series.52:17Okay, so if I were to run this, right, let's say I, I picked on H three and I run it, you see H three is a 9300, so I have my VLANs 102 hundred, but I also have my triple A and my ACL configs.52:37Versus if I picked edge five, right? Because edge five is neither a 9394 or a 3850, but I still want my model agnostic configs down here, right? And this would only work this particular template because it's calling on.52:56System variables will only work as a day end template. Alright, alrighty, so now I don't spend a lot on on day zero versus day n.53:17Right, so and that all rolled up on the project name, right? Let's look at the other templates, 2nd template option is regular versus composite templates, right? So our regular template is just what you put in in when you create the new template.53:36Right? It is your whether it's a mix of programming syntax and CLI or just CLI, right? That's just your regular template. If you are, everything kind of same, you are able to push.53:56Multiple regular templates at the same time. However, you cannot specify the order if you just did selected five regular templates and tried to push them to a device or a list of devices. A composite sequence on the other hand, is a template made up of.54:12Regular templates, right? And one of the things is you are able to determine the order. So you can see there is a reorder button here, the order in which the component templates are are run, right? And you can even if necessary, abroad the entire sequence if the deployment fails, right?54:30So if one of the templates in the chain fails, right? You have the option to either let the rest run or just stop the sequence at the one that failed, ok? Something to note though is that only templates that have been committed.54:50Right, so not to say the committed can be added to a composite sequence, right? So in terms of how to build a composite template, right? It's just within the Same new template, set a regular template. Did I really spell composite wrong?55:08My, my I need to fix that, my, my error. All right, so instead of regular template, I select composite sequence, right? And this is gonna take you to take me to my menu with the list of potential regular attempts that I can add.55:28Right, so it's just a matter of hitting a drag and drop or the plus sign, right? To put the component templates that I want into the composite sequence, right? And then of course, the, the regular templates do have to match the device type or o and OS.55:44Of the composite sequence, right? So if I put iOS XE and switches and hubs for my composite sequence, I won't be able to add WLC templates to that particular composite sequence, right? Or I won't be able to add a template that the software type is NXOS.56:03That other stuff is just got, you know, you reorder as needed. You change order as needed, right? So another practical demo, like I said, I'm trying to stay away from being too slide heavy, right? And really focusing on, on if I can do demos. So.56:24What does it look like when I may build my composite sequence? Sorry I'm waiting for this to load so I can add this takes ok here it is, so.56:41Skip my add. You'll have to excuse me. It appears that my, there it is, alright, so right, so just new new template. Okay, nothing like having my system act up on me.56:58There it is. Oh, ok. So EIS test composite. All right, I have my project name once again, EIS, test project, Right, composite sequence, and you see here, right? I don't have the, the language.57:19I don't have the, I don't have the the language type. So you a composite sequence can be a mix of and ginger templates. Right, so I pick iOS XE, right? And then my device family, I'll do switches and hubs. I can do multiple ones.57:36I add, alright and once I continue Yes, it is being recorded. All right, so if I add my templates so you see I can drag and drop, so I add what 012.57:55Three, right? I'm just for the sake of revity, let me change my zoom, just so I'm working on my I had some technical issues, so I had to work on my smaller monitor. Hopefully everyone can still see.58:16Right, and now if I want to reorder, now I have the option to, let's say, I want template three to run 1st, then zero, then one, then two, let's be a rebel, right? So now you have the option to reorder.58:33And then I commit my change there's my composite sequence. Okay, so my other.58:51Aaron's gonna laugh, but the fact template option is of course template language, right? Ginger versus velocity and the question that gets asked is, well, which one is quote unquote?59:13Better, ginger or velocity and don't know the answer to that. The, my my 1st instinct is to say what I prefer, right? But the real answer is it isn't it is a matter of personal preference, right?59:25They do have kind of they're both, they do have their own benefits and advantages. Personally for myself, I do not have a programming, I don't have a programming background. My experience with programming was spending 2 h and getting a divide by zero zero error and saying.59:46Never again.01:00:06Right, so for me, velocity is the easier language because to me it is more human readable, and setting up the variables and the syntax makes more sense, right? But for those of you that are coming from Python and are used to dealing in, you know, Ansible and Flask and Django and other Python tools.01:00:07You maybe more comfortable with Python, so Ginger maybe the way to go.01:00:27Alright, the other option is software type, right? So there are multiple software options, right? Available iOS XE iOS XR, iOS NXOS, Cisco controller, wide area, application, so on and so forth, right? And of course the software type is a, what is, we discussed hardware.01:00:37Right? I'm sorry, NO, we're we're we're gonna discuss hardware, right? But in terms of what device can the template is the template applicable to, how we start a software, right? And of course you can only pick one entry.01:00:57Right, so of course if you do if you do NXOS, you cannot, you cannot have that template applied to a device that's running iOS XE, right? If you pick iOS XR, you cannot have you cannot push that template to a device that's running iOS XE.01:01:13Right, or whatever the Cisco controller operating system is, right? The exception to that rule is iOS, right? So if you pick the software type as iOS, it will set the target OS as legacy iOS. However, that template.01:01:33Is capable of being used by devices that are legacy iOS?01:01:53IOS XE as well as iOS XR, right? But that flexibility does come with a caveat in that there maybe differences in the command sets between iOS iOS legacy, iOS XE and iOS XR. So you may run into a scenario where if you.01:01:57Design the template for all three different Oss's.01:02:17It may run successfully on one device but not the other device because of a difference in commands or difference command sets. So same command may work on one but not another device. So just something to be aware of. Most customers I see usually if they pick iOS.01:02:22It's, they just use that template for, you know, legacy iOS devices, but the option is there, right? Last template option with the new, the new template is device, device details type, right? So family, series and models.01:02:38Okay, and of course we we did software, now we're looking at hardware, right? What hardware is this template applicable to, right? So if we start with device family, right? So like I said, we can do routers, switches and hubs, device controls, voice and telephony, security and VPN storage network, so we can have multiple options for device family.01:02:57Right, and we can stop there. So device series and models are optional, right? But if you do want to get that second level of granularity, right? Then you can go to device series and then you can pick the platform.01:03:17Right, now you are able to do multiple entries, right? And the multiple entries are dependent on which device family that you picked. Alright? If you want to get even more granular, you can go to device models, right? You can pick specific models.01:03:33Right, and once again, the models that are available are dependent on the device family that you pick. Something to be w to be aware of is, there is NO switching between the two, there is NO mixing between the two. So if you pick for that template to be the device series.01:03:52Right, and then you, and then maybe you want to add, you know, a particular model. It's all or nothing, so it's either the template is applicable to a series or applicable to models, right? If you decide to do series or model, right? So just something to be aware of. So you can't do, e.g., you know, 1921.01:04:10Integrated service ISRG two and then also do 2000 series connected grid routers, right? It's a series or model, you can't do both, right? But once again, it is optional, right? The last.01:04:27Oh or some other last option is of course device tags, right? You are able to select a particular device tag and have that associated with the template and only devices with that particular tag are able to see.01:04:45And utilize that template. Nuance associated with this that this is the device tag functionality only works in the provision device workflow, right? When you're trying to push a template to a particular device.01:05:03And we'll go over the two ways in which it can be pushed, but this is specific. The device tags will only work for the one for the pro for provisioning devices. It will not work for going directly within the CLI templates menu, right? It will ignore the tag.01:05:19Alright, so I know we're running just slightly on time, but I I did wanna do a demo of creating the template from start to finish. All right, so let me go ahead and toss this in here. All right, so I'm gonna do a regular template.01:05:40Alright, so add, right? New template, alright so we're gonna do the IS test template, I spelled template wrong, but that's ok.01:06:03We're gonna do the IS test project. You know we we're I I missed your templates, I'm going to spell it correctly. All right, we're gonna do regular template. We'll do velocity, sorry Aaron, iOS XE, device details I'm just going to do.01:06:20Switches and hubs, right? No particular models or series, right? And I save, ok? And now I'm going to do just kind of a basic.01:06:37Ah, it switched over to alright so here we go, so I have created my template. I wanted to copy and paste, but it looks like I wanted to copy and paste a pre recorded or a preset template, but it looks like.01:06:55My system is not allowing me to do such a thing. Bear with me, bear with me 1 s. No, it's yeah it's not allowing me, it's fine. Oh we're gonna we're gonna do a basic, it's a basic template then just post name.01:07:13Right, so host name, CLI EIS_switch, right? Yeah, next a template, right? So 1st things 1st save versus commit, right? I've saved the template, what's the difference between the two? Save, saves the text. Commit actually commits to change.01:07:33So let's say e.g., I did description.01:07:53EIS switch, right? If I just save this change, if I try to push this template out to a device, right? Only hostname EIS switch is going to push because I have not committed this second change.01:07:59Right, I have to commit and one thing you see, right, I can put commit notes because it also commit this versions so added description. So this is a good way for when you're developing a template being able to backtrack and, you know, if you made a change.01:08:16That you want to, you know, be able to review or whatnot. And this template would be a perfect example of one that will fail, so because of the description? Yes, yeah. It's, it's fine. So here's what we're gonna do, right? We're going to.01:08:34Get rid of the description, Aaron, and we're going to save my change, right, and also commit. Okay, my other options within, right? I can't I can clone the template. I am able to export it.01:08:53Right delete it, I'm able to see the side by side view of my changes. So let's see this is version two and then this is version one. So you see the difference in between the two, right? And if I wanted to, I can save this version one as the latest.01:09:13Oh, from it in and we'll talk about this. I'm able to attach it to a network profile, right? No variables, and we've seen the simulation before, but hey, I'm able to, you know, test. No variables and I run, I run my simulation and this is my output.01:09:34Okay, so in the inter in the interest of time, I'm not gonna go too too deep into here I wish I had a better example but tech technology has has done me wrong, but definitely like I said, if you want to see more.01:09:57Definitive and exhaustive examples of templates. You can see right here, I have, you know, quite a few, definitely attend next week's session ok so I have got my branding.01:10:17Two new template that I created.01:10:37How do I push it? Right, how do I push it to the device? It's created how to push the device. So the template push workflow is really one of a five part process. Three of them are really kind of as needed after you set it the 1st time they're as needed, right? So I created my template, which I've done, I have to create my network.01:10:40Profile, assign the site to the profile, attach the template to the profile and then attach the template to the device, ok? Reason being, why, why is everything you seem to be centered around?01:10:59Profile, right? Create the profile, assign the site to the profile, Assign the template to the profile, profile profile profile. Wow. Reason being is that the network profile is the link between your templates and devices, right? So it of course in Canada Center.01:11:16For those of you that are familiar with it, you know, and then in and when you create your hierarchy and you have your inventory and you assign your devices to that, to a location in the inventory, right? The thing is, is that.01:11:35The devices are assigned to that location, but you need some way for those devices to be able to access the template, right? So you need the template to be assigned to the location somehow as well. So if you attach the template to the location and the device to the location, now the device is able to use that templa.01:11:51And that binding agent is the network profile, right? You actually cannot push a template within catalyst center, within a catalyst center GUI unless it is attached to a profile, right? This does not apply to templates pushed via APIs.01:12:11Right, and that is that's another conversation we're talking with in the goofy, right? So if you're ever trying to push a template and you're not seeing it, make sure that it is attached to a profile, right? The process for creating the profile.01:12:28And then just attaching it, attaching a site to it, right? Creating your profile and assigning the site to that profile can only be done within the network profiles menu, right? So it's there's there's a button for add profile and you have multiple ones, right? Assurance, firewall routing switches.01:12:45Wireless. Each site can have multiple profile types. You can have one switching, one firewall, one routed, one wireless.01:13:05But each site can only have one of each profile type. So you can have one switching one router, you cannot have two switching profiles, right? And if you do attempt to do that, catalyst center will tell you, hey, this site is associated with another profile. If you continue, it's going to switch.01:13:13To the current profile you're trying to push, right? Attaching the template to the profile, right, can actually be done in three separate spaces. It can be done from within the network profile, the, network profiles menu that we saw. It can be done within the CLI templates profile.01:13:32And it can also be done within the template itself, right? The network profiles menu is a little bit more of course profile centric. So if you have a profile you want to attach it to multiple templates, and you want to attach multiple templates to that particular profile, you do.01:13:51You'd attach it much easier or more efficiently from within the network profiles menu. If you have multiple templates that you wanna attach to, I'm sorry if you have multiple yeah if you have the same template and you want to attach it to multiple profiles.01:14:07Right, so more template centric.01:14:27Then you do it from within the templates menu or directly within the template, right? So the end result is the same, it's just a matter of what you're trying to do, right? Are you focusing on taking one profile and adding a bunch of templates to it? Are you pro focused on taking a template and adding it to multiple profiles?01:14:29Okay, I have 14 min, I should be able to do my demo. Yeah, so once again, so within, under design you see my.01:14:48Network profiles here, right? And I do have an ERS switching profile already, but to create it is just I do here switching I put the name, you know, so on and so forth, and then that's what, so I do have it created already.01:15:03Right, so I'm not gonna actually create it again, but you see here I can assign a s a location, assign a site to that profile, right? And if I try to do like say global, is it, so you see my warning, right? Only one profile at the time can be associated with a site.01:15:20Right? So, so on and so forth, right? Anthony tests and interactive test has been associated with these sites already. So yes, it's going to move all those locations to now be under my EIS switching profile.01:15:37I'm not gonna do that, but let me see if I can grab grab at least one. Let's say we'll add just a test location and it's gonna warn me again, it's fine. We hit yes. And so now.01:15:55Under EIS tests, you see all these testing locations are now associated, right? So now, if I wanted to attach my template, once again, I can come in here and attach either my day zero or my day end template.01:16:12Right, so I hit here you see all my list of day zero templates. If I go here, right? Why is the list so much smaller? Because once again, onboarding configuration is the only project that has day zero templates. Okay, I am going to.01:16:28Just for the sake, let me attach my EIS one that I just made under EIS test template, that's fine. Okay, I know we'll we'll we'll add a couple more. So you see here under this menu.01:16:46I have a single profile, I can I can attach multiple templates to it if I wanted to, Right, and I save. The other way to attach the template to a profile is directly is from within the CI templates menu.01:17:02And you see right here now I can pick, let's say e.g. this basic variable is ginger, right? And I attach it, now I'm able to attach it to multiple profiles if I wanted to, right? So same end result, it's just, you know, one's profile centric, one is more.01:17:18For template centric.01:17:38And then within the template itself, if I wanted to, I just attach and once again I have the option right within the actual template to attach it to multiple profiles.01:17:40All right. So the actual template push workflow, right? There are two separate ways in which I can apply my template to a particular device, right? One of them is from directly from the in from inventory.01:18:00Right, so under provision, actions provision and provision device, right? And because this is meant to be intent, it's supposed to be intent based networking, right? That particular workflow, it does not just the templates associated with the location, but other settings associated.01:18:19To the location. So you see here the 1st option is assigned site, right? Right, so once you assign the site, then all other, The other settings from network settings, you know, that's a that's actually a different session, but the network settings associated with a location in the hierarchy, right? And then also the templates can be pushed.01:18:39Right? The other location in which you can push a template is directly from within the templates menu, right? I select my template, I hit once it's assigned to a profile, I hit provision template, and it'll push, right? Difference between the two is that the.01:19:00Templates, the templates menu is a little bit more granular and a lot more flexible, right? When you are going through the intent based networking workflow, bear in mind that this is supposed to be network intent. So if you have multiple templates associated with that site through the.01:19:19Network profile.01:19:38Right? When you push, it's going to push all the templates associated with that profile, and that was why this second workflow was added because we had customers that were saying, hey, I just want to be able to push, you know, one or two templates, a simple VLAN change. I don't want all the settings associated with the location to push, I don't want all these other.01:19:40Other templates to be able to push.01:20:00So for for the sake of flexibility and just being a little bit more granular, right? This template workflow, the, oh, sorry, this template workflow is the is the better one is is the one to use. If you're trying to stick to, your intent based network.01:20:02Right, and really really align with, hey, these settings are associated with this location, including all the templates associated with that location, then this is the workflow to do, right? So a quick practical demo, I am at 8 min. I am counting, I'm seeing the time.01:20:20Alright, so, 1st 1st way to push, and I'm going to do everything through the actual push, but I'm not gonna do the actual push, ok? Just because I don't want anyone coming after me to push, I don't want to push any settings that will mess mess up anybody else's work. So.01:20:42From within the templates menu, it says provision template, right? I hit next, I can name it. Now, this list of devices is due to the parameters I set for my, the parameters that I set for my template, right? Because I did just switches and hubs, I get my 93 hundreds as well as my.01:21:033750.01:21:23Right, if I changed my template to just be 93 hundreds, right? This 3750 won't be here. So if you're ever trying to push a template, right? And you don't see a particular device as an as a destination for that template, double check your template settings to confirm.01:21:24That you have the the correct device family series or model and also double check the site name to make sure that that particular template is associated with the correct profile and the profile has that site. Okay, so I'm gonna pick edge three, right? And hit next.01:21:44I have some variables in here, so we'll just do test. Ten, 1010, front facing interface gig 1010, gonna hit next, right? So this is a relatively new addition in 237, right? For the template.01:22:03Put the CI templates menu. I've had customers ask, is it possible to accidentally push a template?01:22:23Right? And my response was what is your definition of accident? Because if you look here, 1st and foremost, even if I have a click happy next, next, next person, preview and deploy is my default option, right? Because I have visibility and control of configurations turned off, I can select now and later or later.01:22:31Later and schedule, but preview and deploy is my default option.01:22:51So even if I'm not paying attention I hit five, right? What do I have here? So it's gonna check for compliance, right? Pending operations. So it also checked to make sure I don't have a particular operation that's waiting like another push that's.01:22:56Waiting in the windows, let me so let me Okay I'm gonna discard this accept.01:23:11So let me recheck. So now ok i'm compliant. So I hit next and I can I can select more and more more than one device, right? But I only select this one, and this is what I was talking about with the preview and config. So here it is going to generate a side by side list of.01:23:28The config that I'm trying to push as well as the config that is currently on the device. So I have a way to make sure I am not pushing anything that is going to have my manager and every user in the network calling me upset. And even if I am quick happy.01:23:45Right, and I hit deploy, I still have the option of now versus later, right? And of course once i hit submit here is when it'll push, right? So is it possible to quote unquote accidentally deploy a template?01:24:02Well if you're really just not paying attention and just clicking Willy Nilly and even with Willy Nilly, you know, you're actively trying to make to make a mistake, then yeah, it's possible. But you see we've built in steps for click happy people.01:24:17Okay, and of course the my other my other workflow to push a temp to push a template is from within the inventory, right? I'll select my switches. We'll pick on edge one again, right? So actions, provision.01:24:41Provision device, and you see right here I have because this is network intent, assigned to site. And you'll notice one of the other things too is assigned to site is growed out. This device has already been provisioned. So that's one, another reason why customers want another option is.01:24:57If you ever need to move this device to a different location in the hierarchy, if it's gone through the provisioning process, you actually have to remove it 1st and then re add it, rediscover it in order for you to be able to sign it to another site. If you go through the CLI templates because it's only dealing with the template.01:25:16You don't have to do that. All right, so I go to my advanced configuration, and you can kind of see here, I have quite a few templates associated with that particular location. Probably too many to, Yeah I have quite a few, so I'm not gonna go through but it's the process will be the same.01:25:34From here, I'd put in my, I put in all my variable, I put all my variables, i'd hit next, I get my summary, right? And then I also have the preview config. Something quick to note.01:25:54Looking at this, so you see I have a variable with management IP and four different variables. If i'm pushing this template to 50 different devices, are you telling me I have to, on every device go through and do change this? You can.01:26:10Or you can export your template parameters, right? So if I export my template parameters, what it does is it generates a CSV, and I should be able to move my CSV over to here, it will generate a CSV.01:26:26With those template parameters as well as all the devices that I've selected. So I've selected to push. So I would now be able to put in some manner of automation especially if you have, you know, a list of IPs and whatnot and be able to do the 50 devices.01:26:44And if I if I am, you know, do something like this and then have them push. And of course my my list of devices will be down here, right? So, so we did take that into consideration in terms of, hey, if I have multiple variables.01:27:01I don't have to enter them and I'm pushing to multiple devices. I don't have to enter them in manually for every single device. I'd be there all day ok we are at 02:30. So unfortunately I am going.01:27:20Going to.01:27:40Just bugs on template compliance instead of going into detail, but really 1st and foremost, so how does template compliance is it runs a diff, right? It compares the CLI of the output or the template output against the running config, right? And if there's a mismatch, that device is flagged as non compliant.01:27:42The thing to take into consideration is ISXC allows you to do things like abbreviated commands or shorthand commands, interface range commands, right? Case sensitivity, if you put interface in all caps.01:28:01It will still run from an iOS iOS XE perspective, but the running config is going to be a mismatch, right? So there are certain scenarios that will trigger, even though the config is successful, it's going to push, it's going to trigger a template compliance issue. To bypass that, you can wrap it and start a.01:28:18Ignore compliance and start and end ignore compliance, and it will ignore.01:28:38Compliance for that particular block of code, right? Sorry. So rules based compliance in three.X does implement compliance based on existing config rather than the diff. So it does address that issues to you to better be able to implement compli.01:28:43Compliance based on.01:29:03You know what most network industry counts as compliance, whether or not a config is present or absent in a particular device. On that topic specifically a while back, I did have someone ask about that and as I responded I said, you know, keep an eye out for that. I am working on, I've actually completed a write up, like a deep dive.01:29:05Five right up on this new feature rules based compliance and I'm gonna be working on publishing it to Cisco U and then making a series of YouTube videos for it as well, so keep an eye on that. We may even have an EIS session coming up in the future on that topic.01:29:25Okay, alright and these are just the the I wanted to actually do a demo, but this can be found in the actual template where they have a template, there's a template compliance section and it kind of talks about these. So real quick you see like I said, you know, caps. So interface gig with.01:29:39Capital G with a lowercase G will still run, but the running config is a is a uppercase, it will mark it shortening commands, interface range commandswords is another big one, right? Passwords are encrypted on a running config, so password will always trigger.01:29:57A compliance violation, right? Oh my time for Q and A, but for our upcoming, for upcoming events, recordings, additional resources, you can visit the.01:30:14You can visit the Expert Insights Catalyst Center page as well as the page for technology and support events and webinars. If you do want further one on one engagements with members of the customer, Cisco customer success team, be sure to reach out to your Cisco account team, whether that's the accounting.01:30:33Executive, your customer success manager, your customer experience manager, product manager, solutions engineer, so on and so forth.01:30:51Right, last but not least, when the event ends, you will be given a survey. Please, please, pretty pleased with a chair on top take the time out to complete the survey. It is very valuable, it lets the people who are doing the events know.01:30:59You know, what's good, what's bad, and help us to make improvements for future sessions. It also allows us to figure out what topics you guys want to hear about. So if you want more of mr. Template and our ginger, ninja, that's your chance.01:31:18To actually ask for more. If you want to donate to Sherwin's new microphone fund, we'll get him up on go fund me. Definitely all. Thank you very much for.01:31:38Attending today's session, I know a lot of you were at lunch. I see a hundred and 60 people, that's amazing. It still stayed, but definitely, like I said, thank you for attending, definitely fill out the survey and for more mr. templates and a deeper dive into templates.01:31:55Next week on the.01:32:1516th, same time I'll be doing myself and for target for suke, we'll be doing a session on deep dive into templating. Everyone have a great rest of your day.01:32:18
About this Video
Author : Cisco Customer Success
Uploaded : July 10, 2026
Explore Cisco Catalyst Center Templating to streamline configuration at scale. The recording explains Templates 101, Day Zero vs Day N behaviors, and how to create, commit, and organize templates with Jinja or Velocity. See demos of interactive, enable, and multi-line commands, device tags, and System Variables for device-aware logic. Learn the Preview and Deploy flow with side-by-side configuration comparison and compliance checks, plus options to attach templates to Network Profiles. Watch how to provision from Inventory or the CLI Templates view, simulate output, export template parameters as CSV for batch operations, and build Composite Sequences to control execution order. Gain best practices to avoid unintended consequences, understand append vs override commands, and use ignore-compliance markers when needed.
Internal error
No related resources available.