“Lists” - Making Network Automation PRACTICAL with Dynamic Variables
How do you roll out changes in your network devices? Most customers I talk with say it depends. Some changes are pushed with a script, other, simple, changes are made with a config template, and many more changes are still done by senior network engineers logging on, manually, with SSH CLI sessions, device by device.
I hear several reasons for not automating more. Complexity, multi-vendor idiosyncrasies, no time to invest in a different approach, trust, out dated scripts written by departed team members, etc.
In my opinion, the root cause comes back to the same concept I introduced in my last post: Practicality. In many cases, it’s just not practical to encode (or maintain) automation for even moderately complex provisioning or change tasks. I’ve seen teams automate more as soon as they’ve found ways to make it practical to do. Unfortunately, the network automation industry has stagnated and systems simply never grew beyond a programming platform.
I take pride in how Infoblox has invested to be the exception. We’ve worked with many customers over recent years and found ways to make change automation more practical. Here’s on simple, but powerful example: the “List” as a dynamic input variable.
Without this feature, each change push requires user input. When you initiate the task, you have to input information to execute the change for the specific device(s) you’re targeting. Usually prompted with a form like this to complete:
An engineer types info into these fields and pushes the change. Then starts again for different devices, populate the form from scratch again with new values, push, then repeat, and repeat.
I’m sure your engineering team has better things to do. But there are other impacts too. Does it take so long you have to spread the change out over multiple windows? Could anyone make a mistake with a typo or copy/paste missed character? Are there more complex changes you could automate if you could dynamically look up contextual values, check a black list, or populate arrays rather than simple variables? Of course.
Imagine you’re pushing out a change to devices in 5 different data centers. Using the old way, you’d run the job 5 times, populating the form with different values 5 times. But with a List in NetMRI, you can create, import, or point to another source, a spreadsheet of values keyed off of custom information of your choosing.
In this 5 data center example, when you run the job, NetMRI looks up the values dynamically, rather than prompting the user to input them. As the task is processed against each device (or interface, VLAN, or any other object), the correct information is looked up for each device uniquely. This screenshot shows how NetMRI would automatically use 10.51.1.100 as the IP address for the Primary DNS server when executing a task with a network device in Denver:
This example shows the dynamic lookup concept. These same lists can also be used as black or white lists and also to populate array variables. Lists can be used in change job scripts, templates, custom analysis alerting, and configuration policy rules. Here are a few simple examples:
Please, share examples of how you do, or could, use this feature with a reply or post in our community!