Tim Schreyack
00:00:00
Hey everybody, good morning, good afternoon, good evening, wherever you happen to be in the world. Welcome into our webinar here, where we’re going to be talking about Nautobot three dot two, our first look at it and all the great features we have coming for it. As always, we’re going to take a minute here while we wait for everyone to get joined into the room. So, please just take a look at that webinar poll that we just put up there. Kind of curious to see where you are in your Nautobot journey. Are you actually using Nautobot in production?
Maybe you’re just new and you’re just kind of here to learn, or exploring and evaluating. We’d like to understand a bit of where you are and what you’re thinking as far as using Nautobot and where you are in your journey today. As I mentioned, this is looking to be a very popular webinar, as always, with my co-host here with Brian. You all love to come and hear him talk about all the cool stuff we’re doing in Nautobot, so we’re looking forward to being able to get you all the good stuff.
But we want to make sure everyone gets a chance to hear, so we’re just going to chill here for a minute. We’ll wait just another minute or so as we wait for the room to fill up. There are a bunch of you ticking in, so that’s amazing. Thank you. Love to see it as we get all the great folks coming in here. We’ll get started here just in a minute for those of you that just joined, because you are all just filing in really fast. Please go ahead and fill out that webinar poll for us there.
We will have another one following along during the webinar as well. So, looking forward to seeing your responses there, as we get into the webinar here today. All right. Looks like we’ve got a pretty good full room. So welcome in and we’ll go ahead and get started into our webinar as we go through looking at Nautobot three point two, our our first look. And we’re going to go over some of the various features that we see coming. And we’re going to get to hear from Brian, of course, as we go through that.
So, today here we have, of course, myself, Tim Schreyack. I am your host. I’m going to take you through this session. We’ll also do a demo here as we get into the talk, and Brian here as well with me, of course, as always, co-host on all of our new topics. So we’ll look at Nautobot Core, Nautobot Commercial, Nautobot Cloud. So, we’re going to go through the different functionalities that exist in those different products. And you might wonder why I use one or the other, and what’s those distinctions. So we’re going to explain that for you.
Give you some better understanding as well as the cool new features that have come in there. We’ll look at a demo and, of course, Q and A, which brings me to a little housekeeping topic. Please do use the Q and A if you have questions for us. That makes it easy for us to answer your questions and make sure that everyone else can share in that answer as well. And, of course, yes, as always, the webinar is always recorded, absolutely — they’re in for you, Gary. Please use the reactions, but that’s really really helpful for us during the talk.
It helps us understand, you know, kind of things that you’re interested in. If you like a particular feature or a particular thing we’re talking about, hit those like buttons that you have in the reactions section of your Zoom chat. It should be down in the chat bar. You’ll see that reactions feature there if you’re not familiar with it. It’s really helpful for us to understand, and it can even help us during the webinar itself because we do see those live as well. So yeah, don’t use the chat because that’s disabled, Q and A, please.
And of course, use the reactions button. That’s really helpful for us. So, a quick overview of Nautobot for those maybe that are new here as we look at this. I’m sure there are a lot of new folks here in the group. We’re going to find out in just a minute when we take a look at that response to the poll, though. But Nautobot is an open source network source of truth and automation platform. Key distinction: it is not just a network source of truth; it is also an automation platform.
And it gives you a structured way to model your intended network state. So automation operates from that trusted data. So you can execute your automations directly within Nautobot, or you can integrate it with your existing stack. Really cool feature, right? I can do things directly in Nautobot, or maybe I already have existing tools I want to continue to use. And our Nautobot apps provide a fast, easy way for you to on-ramp a lot of those common automation workflows.
So, that’s the foundation is what’s enabling those newer capabilities that we’re going to walk through and take a look at today. So in here on the screen, you see a few examples of some of those items, whether they’re the on the source of truth side or the automation platform side. We’ll dive a little bit more into some of those features and look at the newer ones as we go through the webinar today.
A little bit overview of what we do and kind of where you might find some more information about our products and things we do here at Network to Code via Nautobot. We always like to say, you know, hey, it’s great to talk about a tool and a product and things that a company might do in an academic sense, but that’s not the real world. And that’s really where we focus. We focus on these real world results.
So, you can see here some examples of customers that have not only seen those results, but are willing to talk public about publicly about them. And that’s always a really cool thing because it means they really stand behind what Network to Code and Nautobot has done at these various organizations, from Intel to Humana to Princeton University.
You can see some cool case studies here, and some details from those case studies that we have released, giving you some expectations of things that you might see in your environment — whether that’s, you know, a decrease in network incidents, you know, saving time like we saw at Humana, and, you know, as well as deployment time like at Princeton University. So lots of benefits coming from the products and actually proven in the real world with real results. We always get this question: How do I deploy Nautobot in my environment?
So here is the basics of how this works, right? Nautobot can be deployed on-prem, or it can be consumed through our SaaS platform, Nautobot Cloud. And, you know, some organizations prefer the on-prem to meet maybe some specific requirements around security or other aspects that your team, your security teams, may require. But Nautobot Cloud really simplifies your adoption by removing that platform maintenance and enabling you to just streamline your deployments and make integration with other NTC services such as NautobotGPT much easier.
So there’s a lot of benefits to Nautobot Cloud. It’s just the easy button to getting up and running with Nautobot. It is the fastest and quickest way to get Nautobot deployed into your environment, absolutely, Nautobot Cloud. And now a little overview on those editions, right? I alluded to this earlier when we first started, and you can think about the various components of Nautobot and how this functions. So, Nautobot, of course, can be deployed on-prem or consumed through our SaaS platform.
But you are looking at the different layers here, right? So we have Nautobot open source. If we start here at the bottom, that is the core of the platform and the open source apps that are available. And then we move up through these paid tiers of Nautobot. So we have Nautobot Professional, Nautobot Enterprise, and in both of these, we see additional functionality being layered on top of that Nautobot open source core. In all cases, Nautobot’s core remains the same, right?
There is no difference between Nautobot open source core and the core that Nautobot professional and enterprise run on. What you’re getting is additional layered on functionality that comes on top of that Nautobot core. So don’t feel like if you’re using the open source model, you’re getting some, you know, stripped down or dumbed down version. You’re just not getting access to all those other cool things that are riding on top in the professional and enterprise tiers. So just a quick clarification there for you.
And then, of course, the delivery mechanism, right? Nautobot Cloud. And there are a few cloud-only features that come to you if you sign up for Nautobot Cloud. So, you get that one-click operation as well as some of the advanced AI functionality that comes as part of Nautobot Cloud. And as the callout there mentions, fastest time to value, of course, with Nautobot.
Okay, so before we get into the handoff and actually start into going over some of these new Nautobot features, let’s take a look at the poll and see how your responses were as we look into it. So, wow, this is interesting actually to me, that we have fifty-five percent of you that are running Nautobot in production. I think typically, we don’t see that high of a percent on the running Nautobot in production. It may be because we’re on a three dot two chat here that, oh, we’re looking at kind of existing.
So, on the new side here, we’ve got roughly eighteen percent just here to learn, and then another eighteen percent kind of exploring. So, interesting, dividing year between the groups. More than half of you are already running Nautobot in production. So welcome for those of you that are already familiar with Nautobot and kind of want to just see what we have going on. And then for the new folks here, a little bit smaller percentage, also welcome to you as well.
Hopefully, you’re going to learn some cool things today as well as get some of your questions answered. So please feel free to always ask us questions. And I’m just going to address this one that we just got in right now: Has the device onboarding been removed from Nautobot open source? Absolutely not. We’re not removing things from Nautobot open source. We are just adding extended functionality into the paid tiers.
So I just want to clarify that, really, we’re not removing anything from open source, but you will see as you move into the paid tiers, you’re going to get additional extended functionality. Brian, I’ll hand over to you for any comments you had on the poll before we get started into the webinar.
Brian O’Sullivan
00:08:53
No, just to echo what you were saying in that it is a good number of folks who are already using it. And hopefully, we can make sure that they have the information they need to run their production systems. All right, so jumping straight into it. This is, as you recall, talking about the functionality in Nautobot Core. This is an open source component itself. This is job termination. Jobs are, of course, and as we’ll see later on in this discussion, one of if not the most important thing within Nautobot.
The answer I learned here early to any question of, can you do it, is yes: just create a job. So jobs are crucial. What we’ve done is to allow you to actively terminate or cancel a job that is already running. So it’s kind of shown here. There’s a little bit that says Cancel Job that is circled. As to why you’d want to do it, well, it could be a bunch of reasons. It could be something where you just don’t need that job anymore, or a job is stuck. Maybe the worker has died and it’s just sort of left in a state and it’s just out there.
Just a nice, easy, simple way for you to cancel that job. Note that it is a cancel, so it’s not necessarily a rollback; it’s just stopping what that job was doing. But we do feel this is going to be really useful for folks who are using this kind of automation within their system. All right, new models. Overwhelmingly, you know, one of the things we’re continuously looking to do is expand out the what we have with the source of truth, and that means expanding more and more models.
And those are part again of the open source component in Nautobot Core. So we’ve added IP ranges. We’ve had IP addresses for quite some time, and prefixes. We’ve just extended that out to add ranges, so you can now represent a range itself. There are a couple of variables that you have here that are kind of shown with. You can have something that is exclusive, you can have something that is utilized. It’s shown here in the orange up at top: non-exclusive, non-utilized. Then the green: non-exclusive but utilized.
And then at the bottom, the blue—you can say exclusive—but you also mark as fully utilized. And that really stops anybody from coming in over the top if you are doing IPAM within this system, coming in over the top and assigning those IP addresses from it. And with the utilized, you can ensure that, as you’re looking at the utilization within a given prefix, it correctly determines and correctly lists what that utilization is. So maybe the utilization is done by another system.
You just want to ensure that it is correctly listed within Nautobot itself as 71% used within a prefix, let’s say. You can also do that as well. And that is not the only range—or sorry, not the only model—that we’ve added into the system. Breakout cables. I will say it was the single most requested model that we had from customers. It’s something that is used extensively in data center networks, but really can be used all over. We try to make this as comprehensive as we could, so it supports up to one by sixteen.
You probably will use more like a one by four. That’s okay. We wanted to ensure that the model was really advanced and was able to support all of the things that you needed. So the main thing difference here is, again, cables historically were a one-to-one thing. There was an A point and a Z point, and that was it. And now you can have multiple. So, depending on how you want to model it, we can ensure that we can handle all of the varieties of breakout cables that can be utilized in a network environment. Search. Couple points on search.
Number one is, and we’ll see this in a later bit as we talk about some of the application improvements, but we we like to do just continuous improvements of things there. So, just similar to the way we continuously add models, we added search in three point oh. We improved it in three point one, and we improved it further in three point two. And that’s—that is something that, you know, from a product perspective, we do really try to do to ensure that we can continuously talk with customers, talk with our partners, make sure that we’re listening to them and improving the system as it goes.
But what we do specifically for search is a couple of things. One is type ahead. So type ahead is also known as auto complete. So, as you are typing something here, you can see someone who has typed in C I R. It’ll just say: you could mean inside circuits, you could mean circuit terminations, you could mean circuit types. All those things will automatically appear as you start to do it because we’re reading that and being able to do this type ahead analysis. The second thing is inline results.
So, you can, of course, search here, searching for A M S. You can, of course, search and hit enter and pop up the results. All that’s still there. That still works fine. But now as you type, it’ll instantly pop up the results. It is quite quick. As I was doing a demo for this earlier, at one point I had to kind of keep pausing it, just to kind of prove that it was doing this, because it just really pops up right away. And it’s really nicely formatted to be able to see some high-level things.
Again, once you’ve completed the search, you can do whatever—you can see whatever columns you want, and sort and filter. And all of that is, of course, still there. But the quick results just show things that are really most crucial to the—the results that come up, and they’re nicely colored to be able to—to really pop out. So we’re really, really excited about that search functionality. Very quick, very fast, and and should be really useful.
Tim Schreyack
00:15:05
Yeah, I have a quick comment on this one as well. Just me personally, I really like using search feature in general. I would much rather just search for the thing, rather than like drill through a folder structure or go through a menu structure to get to what I need. I think it’s just quicker and easier. So, personally, I’m finding in three dot two being able to use these, especially the type ahead or the search—the the auto complete functionality is really, really cool.
’Cause sometimes you don’t remember exactly how something’s spelled or whatever, but you know roughly where it starts. That’s been so helpful for me. I really like that feature a lot personally. So I think, hopefully, lots of you will get to try it out and and feel the same. But for me, that’s a really great feature—love it.
Brian O’Sullivan
00:15:42
Yeah, I I think, and it is kind of funny as a product person, I always kind of live ahead than than the releases, but I’ve had things where I’ve been, you know, working with the team. We’ve worked with the team on three two for for some months, and then go back and working with a customer on three one. You are like, oh, right, yeah, it doesn’t have type ahead. I forgot about that. I thought that was, you realize? Yeah, no, that has been released, now it’s been released. It should be very excited.
I definitely agree with Tim that it’s, it’s really useful. All right, so let’s talk about some of the commercial updates that are coming. Again, Tim talked earlier about the differences between Nautobot Professional and Nautobot Enterprise. Just as a reminder, Professional is kind of that first stage of the commercial thing, and then Enterprise builds on top of that. But we’ll go into what we’ve done here. I said earlier, jobs — the answer to any question that we have — the answer is jobs.
And jobs, we know, are used overwhelmingly within the system. What we wanted to do was give a way to initiate, to monitor jobs, to chain them together. So you can right now do these things all at once. So in this example here, you’ve got a job doing a ping, a backup, audit, et cetera. All of this is there — they’re all individual jobs. That absolutely works right now in three point one. You can absolutely do it, and you are doing a task in this case. All right, I want to do a config change across twenty devices.
I’ve broken it down into, you know, n number of jobs. Absolutely, that works, that works fine. You can do that on three oh, three one, et cetera, not an issue, but it is a little more of a pain because you have to go through and and, you know, one by one, go through and and execute out the the individual jobs themselves. So, to address this, what we’ve done — go on to the next slide — is you don’t need to do this kind of manual coordination anymore. So you can have this single execution point. You can chain these jobs together.
It’s still the same jobs under the hood, and that’s actually shown here in example. There is just as I’d said before: there is the ping, there is the backup, there is the audit. All of that is still there. They’re all individual jobs, but now you can chain them together and ensure that you can do that level of not just automation, but orchestration within the system. Have this running. And, one of the other bits to kind of highlight here is that GUI component that’s listed above.
Again, we wanted to make sure that we were giving the feedback to the user. So this is in job results. You can now see that as these things go, and this screenshot is showing all of them kind of executed correctly. But as they’re going, you can see them tick off one by one. So it is doing a chain. It’s going down bit by bit, and we’re trying to make it as easy and simple for users to see that information and get that at their fingertips, and again be able to do this level of orchestration within Nautobot itself.
Tim Schreyack
00:18:49
Yeah, so this — to highlight a couple of things that, at least for me, when I first heard of this feature that was coming, I was like, but we already have job chaining. And what what has changed, right? You can see here in the visualization, is that you can actually see the visualization of it. You actually can understand how it’s functioning and working and have a better insight into it. You don’t have to be a developer to go look and see what is this doing under the hood, right?
So in the early stages before three dot two, there was — it was basically down in the code. It wasn’t really available to you as as a consumer of the tool. So now here it’s visualized up for you here at the top. And as we think about this, you know, you think of what is job chaining? Because I see some questions coming in about just like, how does it work? What does it do? So just a quick highlight here. Basically, job chaining means that I’m taking one Nautobot job and it runs. I take the output of that.
And then that’s now available to the next Nautobot job, right? So I can flow through those different jobs, and they can each consume the outputs of the previous jobs. Daniel, thanks for that clarification there. That’s really the concept: behind job chaining is the idea that I can do them in series. And I can also take the output from the prior one, feed it into the next one.
Brian O’Sullivan
00:20:00
All right. So that is one of the major features we talked about. Move on to to one of the other ones. That are there is, you know, there is a ton of data within Nautobot, and one of the challenges is, how do you a) get the data out of Nautobot, and b) how do you have it formatted and utilized and valuable for different audiences within your environment — your kind of human environment, so to speak, not your network environment. So leadership may want to look at some data, auditors may want to look at another, customers may want something.
Again, the data is there. We just have to make sure how we can process that data and get it formatted to those people. And so, historically, of course, the data is there. You can write jobs in order to extract that data. You can format that data. You can have it listed. All of that is there, but it was a manual step. There wasn’t something that was automated to allow you to do this and extract the data and format the data in the way you would like within the system itself.
So, to address that — what we’ve done, now you see these smiley faces, is Smiley — he’s no longer crying, as he was in the previous one. That’s our goal, happy engineers. But what we’re doing is allowing the system to generate reports. So you can gather the data, format it, you can export that, and you can have it in a different data for the different stakeholders and have them view data in whatever they want. So for example, leadership may just want a high level summary.
I just want to be able to have a table of what are my most important top ten things. They may not want to see the detailed information. Auditors may want to have extraordinarily detailed data on something else. They may not need descriptions, just just the actual raw data. Customers may need entire blocks of text explaining what it is they’re seeing, what is the information that they’re getting from the system.
So, the thinking is, you should be able to report on this data, extract it out of the system, format in any way you would like, and get that information out to the stakeholders as needed in an automated fashion.
Tim Schreyack
00:22:18
And, just a quick comment for those of you that are kind of more curious about job chaining, don’t worry, we’re going to get to your questions. We are getting hammered with questions from y’all on job chaining, so this is obviously something you’re lighting up on. Don’t worry, we’ve got plenty of time. We’re also going to have a demo. We’re going to look through how some of that works. So absolutely keep putting your questions in. We will get to them. Oh, we haven’t forgotten about you. Just wanted to make sure you knew we’re going to answer your questions. Don’t worry.
Brian O’Sullivan
00:22:41
Absolutely, so this is showing exactly what I was talking about again. You can have different reports coming out. What we’ve built is a way to actually build out a template, define reports exactly the way you would like in the example here. You can see a title page and a table of contents. You can see rich text, which can define — again — your definitions and descriptions on exactly what people are seeing. Have views: they’re saved views from Nautobot.
Have Jinja templates — all of this built into it — and the intention is that, again, you can extract data easily and simply out of Nautobot and format it in exactly the way you’d like for the consumers that will be taking it. And again, all of this is automated. It can be emailed, and we’ll see some demonstrations on this a little later on, as as Tim goes through that as well.
Dovetailing what I had said earlier about continuously improving, so we had OS upgrades come out in three point one; we added more functionality within three point two with it. So, one is additional platform support and extending platforms that we’re supporting on this iOS XR with their golden ISO, and then the Junos Virtual Chassis, that’s both for EX and SRX. We’re also improving things. One of the feedback we got from customers was a software version check.
What happens in three point one was, if you had a system where you told it to upgrade to — make up a number — six point five, it already had six point five there. We didn’t check as a pre check in advance. So we said, okay, I’ve got to get the system to six point five — put six point five on it — and that is not wrong. It still updated to six point five, but it was wasteful because maybe six point five was already there. Now we’re able to do a pre image transfer check and just say, like, do I need to do this?
Is it just something I can just have as a no op? So that makes things a lot easier and faster as you’re doing it, especially across, as we would expect, a large number of devices. You can also do a comparison, two things — explosion of confetti happens — excellent!
Tim Schreyack
00:24:53
I am personally very excited about OS upgrades, so I felt the need to use confetti on that one. Sorry.
Brian O’Sullivan
00:24:59
That is, that is our. I just want to make sure I wasn’t suddenly seeing things — you know, all of a sudden I am hallucinating into having confetti — but it’s not, it was Tim putting confetti up there, which is excellent. And that’s the install mode detection we’re doing. This, but again, is looking to enhance OS upgrades. I do agree with with my colleague and friend that it is an important feature. We’ve heard this from many customers.
OS upgrades is a pain that a lot of folks have, and we want to make this as easy and simple as we can, and as powerful as we can to be able to do this.
Tim Schreyack
00:25:33
Yeah, this is, as I said, like for me, I wish I had this when I was an engineer. The amount of time that I spent doing upgrades on devices, it was probably half of my job, honestly. Like, we had such a large environment, and it was such a pain. Having this tool would have been amazing, and that’s why, for me, again, I’m very excited whenever we talk about OS upgrades.
Brian O’Sullivan
00:25:54
And operational compliance, which is also something that we added in three point one, continued to improve. That one is adding in a dynamic group association, so you can now use dynamic groups within the system. One is supporting unreachable devices. So this is — of course, we can handle devices that Nautobot can talk to. We have some customers: whether it’s because of highly secure environments or for other reasons, they cannot talk to the devices directly, but they’re still managing it via Nautobot themselves.
In this case, we can support offline or unreachable devices and still do this level of comparison. Again, just quickly, operational compliance is allows you to manage operational commands, in other words, show commands in the system and their results, and diff them and compare them. But now you’re able to do that using a git repo for devices that you cannot talk to directly. So, of course, if you can talk to directly, that works fine. But we had a number of customers just said, like, “Look, I can’t actually reach these devices.
I still want to be able to run it.” We’ll run it separately, we’ll put it into a git repo, and then we want Nautobot to be able to deal with it. Device discovery has also been improved: domain stripping. This is just something pretty simple, as you can kind of see here, where maybe as we talk to the devices — Nautobot talks to the devices — it sees that acme dot com. And you just want to say, look, I don’t want to store the device name as, you know, blah, blah, dot acme dot com. We already know it’s acme dot com, please strip that off.
So there’s logic to be able to do that. The other thing which is is, I think, really exciting, is the device automatic classification — it’s listed up at the top there. So, many customers are able to have logic based upon how they name devices. I guess theoretically you could just have randomly named devices of strings, but boy that’d be confusing as hell. So, many customers will name things where, inherent in the device name, there’s something.
And, this example here, you can tell that it’s set in Atlanta or you can tell its role is spine, or both. And so what we’ve done is allow the user to define rules and then regex with it, and say, “Hey, if there is ATL, or three letters followed by a number in the second position, then that means that that is the location.” We want to extract that, compare that, and utilize that as the location. And so you’re able to do that automatically. You’re able to do it for locations as well as roles, as kind of listed here.
And then, on top of that, the system just got faster. So those aren’t really things you can kind of see as a user, but there was a lot of work done to improve the CPU utilization, the memory utilization, the runtime as it’s running for, again, large networks. We’re assuming many of, if not most or all of, our customers are running in large networks. We want to make sure this could run quickly and simply and fast. And so, there was a lot of work done under the hood to make sure there were performance improvements there.
All right, so for Nautobot Cloud, again, this is the kind of gold standard of Nautobot as we’ve got it there. As I mentioned with jobs, the whole purpose of Nautobot is that it should be inherently customizable. So, whether you want to create jobs or whether you want to create applications, all of this you can certainly do, and Nautobot Cloud supports that. And it supports a customer who said, “Look, I’ve written an application; I want to ensure that I can run that inside Nautobot Cloud.” And it has supported this from the get go.
What happened before, though — and the challenge that we had seen previously, prior to three point two — was that in order to do this customization, you had to have a support ticket. So, you’ve got a custom package; maybe you’ve got branding that you want to have separately, again. The system supports it, which you had to go into our support organization, who are excellent.
But you still had to create a support ticket, work with the engineer, upload the information, whatever it is, to support — and then they would build out a custom image just for you. So, it was done on a kind of ad hoc basis, and you couldn’t just say, “I just want to customize this myself.” That’s what we kind of addressed. So we’re saying, look, let’s just make sure that we can give you the power to be able to do this yourself. You have a custom application.
If you have Python packages you want to upload — you, the user, excuse me — can go into Nautobot Cloud, have these self service tools, and automatically upload that. And you can do it into your Nautobot instances. In this example here, you can start that out in the dev instance and then copy that and clone that off, to run in prod. So all of that is giving just more power to the users at their fingertips, and it really speeds up the time dramatically.
Again, just because now there is no middleman — you don’t have to go in and create a support ticket — you can just do it yourself and see it immediately as you’ve uploaded those changes.
Tim Schreyack
00:31:20
Yeah, we always would say, you know, “Hey, Nautobot Cloud is the fastest, easiest way to get your Nautobot up and running.” This was probably the one little point where, if you were running your own Nautobot, it was actually easier to do than — or faster, if you will — than say going through Nautobot Cloud, because of that you had to open a ticket thing. Now, we’ve removed that pain point. And in fact, now it’s actually much easier to do through Nautobot Cloud, because the way the tool is built, it just really makes this very seamless and easy.
You have some custom app or some Python package you want to get in there? No problem. Nautobot Cloud makes that super easy now, and it’s far superior to the on-prem model. So, actually, really leapfrogged ahead. So, this is a really cool feature, I think.
Brian O’Sullivan
00:31:56
Definitely agree. So this is kind of showing that what’s happening there on the far left — it’s showing an install of an application directly from PyPI. You can do a custom app package. You can add a dependency. All of this is available within the system and at your fingertips. And again, totally agree with Tim’s point. This does make it even quicker to get from that stage of, “We’ve got something, we’ve got something customized, we want to ensure that it’s up and running now.” It’s just a matter of seconds and minutes until it’s there in your prod system.
So, speaking of your prod system, under the hood, there was a change made as well with Nautobot Cloud, where historically we’ve had a shared database cluster — obviously not across customers, but within a given customer. They can spin up n numbers of Nautobot, but under the hood there was — there was a single kind of database cluster. And, in some cases, we had customers who were doing a ton of work on their QA system or their dev system, hammering that over and over again.
And that meant that there could have been some performance hits to their prod system. And, obviously, we want to ensure that their prod system is sacrosanct and doesn’t get impact in any way, shape, or form. So, what we’ve done is to isolate the production database cluster itself. So that’s kind of off on the right there. Everything else is shared. There’s, in other words, a non-production and a production. Then you can kind of determine, you know, how you have that set up, how you want to set it up.
You may have, in this example here, a dev and a QA instance. You may have eight dev instances. It’s totally up to you how you want to customize that within Nautobot Cloud, but you’re then able to copy them over, and promote, of course, from one to another. So, all of that is there. And it allows you to simply and easily again move through the stages of going in that NetDevOps functionality, where you can test it out in QA, promote it to dev, have it there for a while, and then promote it on to your production system.
So again, looking to make it as easy and simple for you to do this — whether it is this isolation of your production database, but also making it simple and easy to copy between them.
Tim Schreyack
00:34:27
Okay, so that covers our presentation that we had here for introducing those new features. We’re going to move into a demo next, but before we do that, we just wanted to get one more poll up here for you all to get a little more feedback from you and kind of understand a bit or more about how you’re consuming these various features, right? So like maybe you’ve considered the commercial edition or not. We’ll discuss a little bit more at the end if we have some time here as we look at those.
So, we’re going to move over into the demo portion of the webinar here today. And, we’re going to take a look at — the first thing we’re going to do is go through and viewing and generating a report. So I’m using a — one of our demo instances — here, and you’ll notice this feature down here called Insights. If you had not seen three dot two yet, or or seen these features here, so you’re going to see some other new things in the menus. So you can take a look at some of those options that are there. And we’re going to go into our report template.
So, we’re going to go through this process of how do we generate a report? So, currently, here we have one here. It’s our active devices report, and you can see some examples of others that you might, you know, have that you might want to run some sorts of regular reports. And when I first heard of this feature that Brian was promoting — and he was very excited about, by the way — I am surprised he didn’t hit the confetti button himself, because this actually, I thought, you know, “Hey, reports are kind of silly.” Like I never use them because they never have what I want.
You know, so I want to use Grafana or something like that. So, we address that straight off, right? Like when you look at the report here, you can see just by looking at it right straight away. It isn’t a, you know, templateized sort of out-of-the-box thing. We decided what you want to see in your report. No, no, no. It’s actually something you can build really easy. You don’t have to understand code.
You can do things through the drag and drops here or the clicks, and you can build it out yourself, so you can get a customized report you’d want, really easily. So I think that’s actually a pretty cool feature, right? Like bringing this to be able to use the components. As you see here, so on the left-hand side, what you’re seeing is all of the blocks that we have added to this particular report, to build it out and build it how we wanted it. And on the right-hand side, you’re seeing that preview version of it.
So we can see here both what those are. And then you can see some different options, right? Like we have the, you know, the title page here. We have a table of contents that can be added, as well as things like rich text, right? So, this is basically just text. That’s then being — using, I believe, the, you know, standard kind of like markdown-type language — to make it look nice here in the screen, versus I might want to use some templating as well.
So you have those options there, right, of the things that you might present in the view, right? And so, when you look at, for example, this active devices here — though, even though this, this page is rich text only — this data is being dynamically pulled from the database, from that saved view that we have in here, right? So that’s being pulled in automatically. So you don’t have to worry about, you know, updating that by hand. This isn’t, you know, hand-stitched in here, for example. And then we have the rest of our sections of the template.
These are all being rendered via Jinja templates, so — a lot of flexibility, obviously, and power when you use that method. So let’s go ahead and see. Yet, go ahead, Brian.
Brian O’Sullivan
00:37:35
I know I am interrupting you. Go back, if you would, just to the last place you were, where you just showed the saved devices. Yeah, one of the things here that I think is also really interesting — is fascinating — is, is that you can kind of determine how many of those rows you want to have in your actual printed report.
So, in this case, you can just say it’s just the top fifteen, because otherwise there is twelve hundred rows — I don’t want to see that just in a doc — you can limit it within the doc itself, and then you can also ensure that, as it is is emailed — and I’m definitely getting way ahead because you’re going to show this — but, as your email, you can actually show the full thing as an attachment. So I really also think that’s that’s incredibly valuable.
Maybe the person who just gets a report only wants to see the first few, but they can have all the details at their fingertips, and they don’t have to go directly to Nautobot. So they can get it in their mailbox every morning.
Tim Schreyack
00:38:24
Great call out. Thank you. Appreciate like yeah that additional value coming here out of the report as well. So as we think of like, hey, I want to actually go ahead and publish this report, right? So here I’m, just going to click on the publish for now, right, as opposed to the publish and email, just for speed as we go through the process here. But right now, what’s basically going to happen is this job or this published report is going to run as a job, and it’s going to get published here into Nautobot.
Now, we could have also had it just send it off as an email as well. Maybe you want to send it out to you know, yourself or someone else, right? But we can also see it here on the platform. So, now we can see that report has been published, and we have some options, right? We can download it in HTML, PDF or as a doc, right? So various choices that you have over there for how you might consume it. And of course, you know after we’ve rendered this maybe you clicked off the screen. You’re like how do I get back to that?
Of course you’re just going to go under Insights, go back to your Reports section, go into Reports. And you’re going to see all of the reports that you have run and the last time that they were published. So, and there we go back into that active advisor report. This is where we just work, right? So, easy way to get back there and be able to see it downloaded, et cetera as you wish, right? And, then there are a few other options over here as well as you maybe want to clean them up, right? So you can delete them there.
So let’s go through, just quickly look at how I might create a report. So that was obviously one that had already been created for us, but maybe we want to add a new one. So we’re going to go ahead and click on the add report template, and we’ll give it some, you know, nice name. Maybe we want to do a planned devices report. So we’ll go ahead and add that in there. You could put in a description, you know, whatever makes sense for you in your description field there. You can obviously — this is not a required field.
You notice that the — this, the star — is not there, and we can also add a few other options if we wanted, but that’s the basics of what we need to do in order to get started. Essentially, we’re just creating a placeholder for this report. We haven’t actually done anything in it yet, right, like we haven’t put any of those blocks in. So the next step is to start building it, and we conveniently name that builder, as you would like to see something that makes it easy for you to understand what that thing does.
So we’re going to go in and start adding in, right? So here first off, you can see it comes up by default with a title page and table of contents that are there for you straight away. But, we can go in and do things like look on the edit page, or sorry, on the title page, and maybe we want to change the label, and we want to call it item title page, for example, since we’re going with nice, easy to remember things here on the details of that. And you can make some edits onto those details as well. So we go ahead and save that in.
And now we’re going to start adding in some blocks. So let’s add in a — I think we’re going to add in a Jinja template here in this case. So in this particular case, we’re going to have the three, you know, as I mentioned, right, like you have those different options there that saved, export, Jinja template, et cetera, that we can, that we can put into our template, and we can choose from those, right. So let’s just go ahead and add in one of the templates that might be a nice one, like perhaps a Jinja template, right?
We want to add in what that’s going to be, and we’ll have, in, you know, our various options here. So in this case, let’s say this is going to be our planned devices by manufacturer, like in this case, right? And it’s always fun when you type on a webinar live. And people are wondering, can’t he type? And the answer is hopefully yes. So we’ll have that there, and then you could put in some inline headings if you wanted and some heading levels depending on what you have there.
But the key thing that we’re really after is this part here, all of these variable mappings and where we’re going to pull them from. So, this is basically the variable that we’re naming that we’re going to use down in our Jinja, and then where are we pulling this from? So, we have a saved view that we created already that’s going to be our devices, our planned devices, and now we have that variable mapping there available for us. And now, when we were planning for this webinar here, we did get some nice easy template for me to just copy paste.
But you can see some Jinja templating here, right? So we just pasted that in there. And of course, you know, any standard thing that you might do in Jinja, we can add in, right? So now we’re going to go ahead and add that block into our report. And so now we’ll see as we scroll down in here, here we go. And, in fact, it even started to pre-populate that with some of the data that we already have available in our environment here. So is we can see that now we’ve got, great, we’ve got some data.
I’m like, hey, you know, maybe we want to, you know, send. Now we’re ready to begin publishing this. We want to start using it, right? So, we’ll go back up under that publish option. And let’s go ahead and try the publish an email, just to give you an idea of, you know, kind of how that works and what you might have there, right? So I might send it to myself. So we’ll say, hey, you know, send it off to tim.schreyack at networktocode dot com. You can put in a subject if you want. Report.
Whatever it might be, and then of course how you want to send that attachment. And then this is, I think, is also quite interesting, as we think about how I might consume this. Maybe I just want to do it right now. It’s an ad hoc; I just want to have this on, you know, have a meeting coming up. I need to do a presentation. But perhaps I want to do this on a schedule, right? So I want to get some kind of regular reports, maybe on a weekly basis, sent out to some email chain, or what have you, that might be used for various things, right?
So lots of cool features that you can think of that there as we go through. And of course, we just talked about this minutes before the webinar. We are having a bit of an issue in the demo environment. Occasionally, the email is failing, but one in five times, and so we managed to hit that twenty percent there. So no worries; that’s just a hiccup in our demo environment. The feature does actually work on that side. So there we have — that’s the basics of viewing and creating reports. Really cool feature! Really flexible!
Really different than what I initially thought this feature was actually when I first heard of it. So I am really happy with this and the way this came out. It’s really powerful, really useful. Hopefully you all get some good value out of it. Okay, now I am going to move over to a different environment, and we are going to look at job chaining since you all were asking lots of questions about this earlier. Hopefully, we’ll continue to get some more. And hopefully, this will answer some of your questions as far as how this works.
And what does it actually do? So as always, we’re going to go into the job section because, obviously, this is a job feature, right? But now we’re going to start to look at how this works here in the practical sense, right in the in the actual platform as we see the additional functionality added. So we have some additional jobs that are available now as we scroll down and go into the job chaining section, right? That’s now, here. And you’ll see some of these that have been created.
So we’re going to use one of them here, this run all network tools as our example. And I think this is going to answer a fair number of the questions that were coming in as well as far as like, how might I consume this? And what does it actually do? So here in this case, you can see a standard Nautobot job intake form. And we’re going to narrow this down, right? We’re just going to run this particular “run all network tools” job against a single device that we have out in our demo environment.
And so we’re going to run it against our Jersey City router 01. And of course, you know the typical standard job options that you might see there on any Nautobot job. But now we’re going to hit that “Run Now.” And we’re going to see what that looks like as we start to run this from a perspective of, actually, as a job chain, right? So, you’ll notice that now we have these additional bubbles that are popping up here on the screen. And they’re showing me kind of where we are in the process, right? So here’s the first job that it ran.
These are all individual separate jobs, right? So we ran a ping, we ran an SSH, and now we’re doing a trace route, right? And we’re getting all of that data in from those jobs as they run. They are running in series, right? So this is a linear fashion. This is not parallel, each one of them is running. As we go here through that process, and the results of one job are available to the next, so that is one thing to keep in mind as it goes across that process.
There, that is possible; that you can feed in the output of this job into the next job, if desired. Right? So it absolutely could be you know quite flexible there. Now, one of the other questions asked was, hey, are in then in, let’s just say, you know, I think about my DNS job that came here is it only available to run, say, from the ping? Well, that would be the standard default, right? Like you’re going to be executing tasks on one particular device here, the Jersey City device. And that’s going to be fed into this next DNS job.
But keeping in mind, these are Nautobot jobs. You could do whatever you like in your Python coding here. So if you wanted to go based on the results perhaps of this ping, you wanted to go pull in some additional devices. Maybe say, hey, I want to go do a ping on router 01. And if it’s up, then also maybe do an additional check in the next job. You could absolutely do that, right? So you have that flexibility within that Python code. Whatever you need to do as you move through this flow, you can absolutely do. These are standard Nautobot jobs.
There’s no limitations on what you might do within that Nautobot job as you think of that flowing through. And as you look at that, we can also see the results all coming down here in the various components right here. So here we’re seeing like, hey there’s an issue helping us troubleshoot, there’s some problem there on that particular one. You know, versus the jobs that succeeded, and we can see all of the output of each of those jobs as they go through. So that’s the results of that particular one here.
We’re collecting some basic information from some devices that you might want to have your help desk do, perhaps in this example will be kind of the idea as we think of this one. Now, let’s go back in there. And now let’s look at another concept, which is hey, that was cool. I was able to do a series of tasks that were Nautobot jobs. And I went through them, flowed through that whole process. Great. But now, what happens if I wanted to do a series of things that required more chains? Well, you absolutely can nest your Nautobot job chains.
So just like Nautobot job can run in series, you can also run a Nautobot job chain as part of this process. So here, let’s go through the nested job chain example. And again, we’re going to go back to that Jersey City router 01. And we’ll run it over there. And so now, instead of just running a single flow as you saw there, what we’re going to do is run through a series of flows. So first, we’re going to run a Nautobot job chain, which involves the ping then SSH.
Once that is complete, then we’re going to go run that all network tools job chain again. So, it’s series, basically — we’re able to nest these job chains, giving you a lot of power to say I want to really just make things easy to remember, to simplify. The way that, that flow goes to kind of really group these things into different sections. And then you can assemble them as what makes sense, right.
So having basically these almost child objects, if you will, when you think of the various job chains, using subchains to fulfill a larger overall task. That allows you to again see all of those details that happened within each of the job chains, even though they were nested, for example, right? So we get that full logging capability there as well. Now, I’m looking over the questions here to see if we get any of the questions answered.
So definitely, I think I, hopefully, explained to you Irvin’s on the capabilities of each chain job as you move through that chain. And then Sean, you were asking about, hey, does the live output of each job show up? Yes, absolutely. Hopefully you can see that happening here right as we’re flowing through this chain. That’s absolutely here and then here, of course, in the log, in Pertubity, after that point. So you have all of those details available for you there.
Those were the top ones that I saw coming in for questions that we didn’t get answered yet. Any other questions on job chaining, please do fire them into the quick Q and A. We’d love to get those answered for you. Brian, any highlights on those things there before I move back into the slides of the webinar?
Brian O’Sullivan
00:50:07
No, I just think — I mean, one of the things I am excited about is to hear customers. I don’t know how to do the confetti thing, so I’ll just throw confetti, you know, physically, but that is how our users are actually going to use this, because I really do think this is one of the most, you know, foundational and powerful bits there. Nice confetti, to be able to do things, because jobs are so powerful and gives us that ability to do a lot more of not just, again, as I was saying, automation, but also the orchestration of the automation itself. So, this is one of the things I am, along with reports. These are the two things I am most excited about in this release. Absolutely.
Tim Schreyack
00:50:46
Yeah, I agree. These are super exciting features, really powerful. It’s going to give you so much flexibility to do things as you consume and use Nautobot. Okay, so we have reached our Q and A section, but before we get into the question and answers, let’s take a look at the results from that second poll that we did here and see what you all have. So, as we think about these different tiers here, right, so we’ve got some commercial editions, where some of you are considering them.
Then, so it looks like about half of you were aware that they existed. So that’s cool — our marketing team and our webinars have done their job. They’ve let you know these things existed, but you necessarily haven’t explored them yet. So, and then a few — a small percentage of you — are not familiar with them at all. So, hopefully now you’ve got an idea of these tiers that exist, and we’re able to show you the value add that we’re bringing on top of the open source core of Nautobot between the professional and the enterprise tiers, as you think of a product like Nautobot.
And, as it wants to grow and develop, we have to be able to have a way in which to bring you those really great features that require investment from Network to Code. And that investment means we have to be able to build on top of the open source into these commercial tiers. So, that’s what you’re seeing, right? We’re bringing that value add into the product through adding in these commercial tiers. And we’re trying to make this as easy to consume as possible.
So, that professional tier and the enterprise tier — Brian and I have a lot of conversations around what goes where. Should this go on the professional tier? Should this go on the enterprise tier? We want to make sure that you’re seeing good value at all of the tiers, whether it’s open source, professional, or enterprise. And, to highlight that, right, we are not abandoning the open source component of Nautobot. And, in fact, Brian, I’ll even let you make some comments here.
But we always want to have some value coming into the open source base of the code. And, in fact, generally speaking, what you’re going to see, I believe, a lot, is — I’ll let Brian talk a bit more about this — like data models. For example, those are generally going to be in the open source bit. They’re available to you, right? It’s those value add things; those will come in the commercial tiers.
Brian O’Sullivan
00:52:43
Yeah, you are one hundred percent correct. And, again, that open source component and community is really, you know, indispensable to what it is we’re doing with this. And that’s why we’re continuing in every single release to add more and more to it. I would say, you know, Tim and I will be here in three to four months, as we’re doing a webinar for three point three, and we’ll talk about the exciting things that have come in three point three core. But, absolutely, every release, we’re doing it.
And, to his point on data models in particular, those are absolutely going to be, and will continue to be, open source, just because the thinking is that should be — we should be able to have everyone take advantage of that. It’s really only the areas where we can say, all right, let’s build out new applications which provide additional functionality. That’s an area we’ll look to commercialize and have in the bundles.
Tim Schreyack
00:53:35
All right, we’ve got a few minutes left here to go through some questions. Irvin’s fired up a follow-up to his question, so I just want to address it real quick here on, because I think it’s actually a really, really valid point. Which is — hey, his question was: I get the results from the ping, for example. And then when I go into that DNS job, I only want to do the DNS on the ones where the ping resulted in a yes, where the ping was good, right? Absolutely.
In fact, that’s the entire point of of the results coming from one job into the next, is that as I move into the next job, I can make decisions based on the results of the prior job. Now, of course, that is up to you when you write your Python code and you create that job to ingest that input, and then correctly do execute based on that. But, yes, that’s the intention — is that you’re able to now make decisions in in the second job based on the results of the first job. So yeah, totally, absolutely. Okay, a few of the questions here.
Let’s go through first. So, we got one from Zhao. What is the relation between an IP range and a prefix in Nautobot? Will a prefix need to exist before creating a range, or are these models sort of competing? And I’ll let Brian — you answer that. Hopefully, you have the details on that one, because I actually don’t know how to answer this one, particularly myself.
Brian O’Sullivan
00:54:45
Thanks for putting me on the spot, Tim. Really appreciate it, as always. I—the—the answer is no. I mean, they’re not necessarily competing. They’re, they’re related, in so far as, as I mentioned earlier. With the IP range, you can set automatically utilize that; you can see it within prefixes. But I wouldn’t say they’re competing at all. It depends on how you set it up, and we would expect people to kind of continue doing things the way they’ve been doing it with IP addresses and prefixes. So, hopefully, that answered that question.
Tim Schreyack
00:55:18
Thank you, absolutely, and I knew you’d have the answer — that’s why I asked you. No worries. Okay. So, as we look at a few other questions we got here, coming in from the folks here: does job chaining support starting from a failed step and/or rollback after a failed job?
Brian O’Sullivan
00:55:37
Yeah, so the short answer is it doesn’t support rollback, because, again, it’s not kind of a full orchestration system. It is chaining these jobs together. And, to—can you do things depending on failure, though? The answer is yeah, because, to Tim’s earlier point, it depends on how you wrote your jobs. So, if your job is smart enough to say, hey, I am job number three, to pick a number, depending on what job two has done, either do thing X or do thing Y, you can absolutely do that.
So, you can do that level of branching depending on how your jobs have been written. But it isn’t something where it’ll say, like, okay, automatically, I will roll back something that was done in job number two, because we don’t know what a job is. It’s just a thing you happen to have written, so it’s difficult for us to programmatically say, “undo.” So, but again, you can do it. It depends on how you’ve kind of architected and written out your individual jobs. But, structurally and systematically, there isn’t like a rollback component within job chaining itself.
Tim Schreyack
00:56:36
Yeah, and I think, Mark, that also — I think — answers your question as well, because you were asking, hey, can chaining move back, backward — as in, can it rerun the output from plan check and go back to the audit and run from there? The answer is, is no, right? Like, it’s really intended as a forward motion, the way that—the way the tool works today. So, as you look at the job chaining capabilities, and Brian even used the word orchestration, I’ll let you go, Brian, here in a second.
You know, it, it is not intended to replace a full blown orchestration platform, something like AAP, for example — right, like it is not that. So, just keep that in mind — right, like it does have a simpler functionality. And, Brian, go ahead.
Brian O’Sullivan
00:57:10
No, you’re absolutely correct. And I would just say to, you know, I believe Mark’s question — no, it doesn’t do a go back exactly as you said. But that being said, if you’ve written your chain in such a way to say well, you could then move on to a different thing. You can build that kind of logic into it. Again, it depends on how you defined your jobs. One of the things in the example, which I thought was really excellent, is you can see how granular each of those jobs were.
There’s no rule that says that in Tim’s example, he had to have whatever the number was, eight different jobs doing, you know, one just did a ping. Well, ping is a tiny little thing. You could have put six of them into one job. But then you lose granularity, and then you’re not able to orchestrate kind of, you know, as in such a granular fashion. So it does depend on how you’ve architected those things and those jobs and how you’ve written them.
But but it should give tremendous power, especially because it is recursive, as Tim talked about earlier. So you can have something where it just continues to go back into an area, and you can have chains of chain.
Tim Schreyack
00:58:09
Yeah, and thanks, Mark, for your — it’s still very good comment. Appreciate that. Thank you for for all your your moral support as we effort here. So, unfortunately, I know there are a few more questions, but we are running short on time. We will get you answers. Don’t worry, for the rest of the questions that you have coming in there. Thank you so much for all the questions you’ve asked us, and this live, we go through it. We love it when you interact with us. Just a quick recap.
We did those introductions, went through Nautobot Core, took a look at those commercial and cloud features. We had that great demo delivered by me, of course. And then some Q and A here with Brian, right? And as always, thank you for attending. We’re going to give you some links here that may have already gone out into the chat session that are available to you for anything, if you want to learn more about Nautobot or find out where you can learn more about these features and the commercial offerings.
I know several of you were asking questions about what’s enterprise? What’s professional? What comes in those different tiers? We’ve got those links for you with all of those details. And of course, if you want to know more, please reach out to us. We’ll get you lined up with our sales team, and we’ll be happy to have a one-on-one conversation and really show you what the options are that you have for it. As always, thank you for attending. Happy automating, and I look forward to seeing you on the next webinar. And don’t forget about Nautocon coming up in the fall. I really want to see a lot of you in person there.