Categories
Welcome Center
Education & Development
Cyber Security
Virtualization
General
Certification Preparation
Project Management
Posts
Groups
Training Resources
Infosec
IT & Security Bootcamps
Practice Exams
Security Awareness Training
About Us
Home
General
Off-Topic
How to Expect script to configure many Cisco routers at once
Ismaeljrp
Hello all,
Wanted to know if anyone knows of a good resource to learn all the ins and outs to using expect for making Cisco IOS configuration changes.
Scenario is I have an EEM configuration I'd like to enter on 50 routers or so. I have SSH access to each of them. How can I learn from the ground up to perfom this sort of task that I'd like to do.
I've seen a couple of links, but I really don't have any sort of scripting knowledge and I need a resource that will guide me through the process, or a way for me to ask any question.
How did any of you first start learning scripting?
Thanks,
Ismael
Find more posts tagged with
Comments
ccie14023
Expect scripting is simple. If you know the CLI, you just send the config. I recommend using PExpect, which is Expect for Python. You could then create a simple script that reads the device list from a text file and iterates through it sending the same expect commands. If you want to learn the basics of Python there are a number of courses and books. I like "Automate the Boring Stuff with Python" by Sweigart. While not networking-specific, it's a great intro to Python.
You might also look into Ansible. Ansible has some great CLI-templating capabilities that are far easier to work with than Expect scripts. While IOS devices will only support the CLI/SSH interface, it's still easier to use, in my opinion, than Expect. If you have access to Cisco dCloud, I wrote a lab on Ansible for NX-OS devices a while back, but it has a section on CLI templating at the end that applies just as well to IOS. (Just search for Ansible.)
NETCONF is becoming a preferred method of configuring network devices. Again, you can use it with Python. You can use it with later versions of IOS-XE (16.3 and later), IOS-XR, and some NX-OS devices.
A couple of resources: check out Cisco DevNet (
http://developer.cisco.com
) as well as my blog (in the signature.) I have just started a series on programmability but there is only one article. Stay tuned for more.
Quick Links
All Categories
Recent Posts
Activity
Unanswered
Groups
Best Of