Giter Club home page Giter Club logo

simple-netmiko-threading-example's Introduction

Simple Netmiko Threading Example

Background story

I recently wrote a Python/Netmiko script to download a new IOS image onto 70 Cisco switches over FTP. My original script was handling the task sequentially, and with each image taking about 30 minutes to download, it would've taken about 18 hours to complete. So I looked into threading it. Being able to run all the downloads at the same time reduced the completeion time by 17 hours or so.

I foud this script which was a big help https://gist.github.com/ktbyers/8005564c5d3711a0e5476dbfd18d8acf and I have modified it to add some comments and make it even simpler to understand

I also made a short YouTube video to explain it https://www.youtube.com/watch?v=SnpTBHAX0Mo

How to Thread your Netmiko script

main.py is a simple example of threading Netmiko with comments on where to place your code

simple-netmiko-threading-example's People

Contributors

reillychase avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

simple-netmiko-threading-example's Issues

Can you please help me with my script.

I came here from youtube video. So thanks a lot for such informative videos.

Although I had bit of a complex issue so a little help will be highly appreciated.

So, my Script logs into multiple devices, takes output, processes it with regex to find the important data fields and then writes those data fields in a csv-file. I want to make it faster by using multiprocessing or multithreading.

I tried Multiprocessing but I keep getting this error.
<Some other error: encoding with 'idna' codec failed (UnicodeError: label empty or too long)while accessing device with ip: 7.7.7.1>

My original script can be found here(without any MProrMTh):
https://github.com/amitbeniwal48/Multi-processing-threading/blob/master/MY-ORIGINAL-SCRIPT.py

My Script where I tried Multiprocessing can be found here(with MPr):
https://github.com/amitbeniwal48/Multi-processing-threading/blob/master/MULTIPROCESSING-EXPERIMENT1.py

python3

If you want to use python3 (as python 2 is deprecated) and keep the code up to date, this should be changed in the top:

old: from Queue import Queue
new: from multiprocessing import Queue

And at the end:
old: dict.iteritems
new: dict.items
old: print k
new: print(k)
old: print val
new: print(val)

Now it works on python3. Thanks ๐Ÿ‘

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.