By - ktbyers
7th time is the charm.
I feel triggered with this statement.
This is wonderful. I'm a truck driver but I started back at school roughly 6 months ago, and recently I've been looking at getting a CCNA but also very interested in all aspects of coding (I've been dabbling in it off and on since I was a kid). This looks perfect!
>Python for Network Engineers free course starts next Tuesday (Sept 7th)
Current CCNA does discuss automation now so this is relevant.
This is great! I've been using jinja2 for some time to script yaml router configs but I just got it from someone and don't really know the way it works that well. Looking forward to the classes!
Awesome just subbed! Thanks for running this.
Thanks for posting OP. I'm looking to get into using Python for some work projects, but have no python experience. This should be a good way to get started.
This is a genuinely brilliant introduction to Python course, you wont regret it.
I’ve never done these types of courses, in this particular sense, unlike the classic online ones like on udemy and such. So my question is basically this, how does this work? Is it like a webinar, youtube live stream, can we interact with you directly etc? Just so I(we) know the full scope of it.
Either way, your contribution is greatly appreciated.
This course is pretty much entirely self-directed i.e. we send you lessons every Tuesday for eight-weeks (via email). The lessons consist of videos, exercises, and additional content. For the exercises, there is a GitHub repository that shows a reference solution that I created.
There isn't any direct interaction--you can email me, and it is likely that I will respond, but it can be very challenging for me to provide more interaction than that.
Thank you for the quick reply. In any case, I look forward to your sessions, and, by the looks of things, a good start for taking my network expertise to the next level. Cheers!
I've been building flask apps that are basically front end to network devices using the netmiko package. My issue is each request I'm establishing the ssh connection again and that takes a couple of seconds I would like to avoid. I was thinking about pickling the netmiko object and calling it again with each request but that didn't seem to work, just curious on how you would go about that.
Now I am testing out celery to do async tasks, so that might work too but i just started so not sure yet.
Anyways netmiko is why I got into python at all, so thank you!
Yeah, I would probably try something similar to: 1)Save the active connection to the database (if it is not active, create it). 2)Use/lookup the active connection from the DB whenever it was needed, 3)Have some sort of job that was fired off periodically (every N-minutes) that checks all of the connections and re-connects for any that failed.
If you start looking at Celery much--you might want to investigate SaltStack (as you are heading down the path to recreating parts of Salt). Note, there are Netmiko integrations for Salt.
I've just joined! As someone who doesn't come from a traditional It degree, I've always been looking for courses like this. Looking forward to it :)
3rd time joining. Hoping I'll have enough free time for this unlike the past 2 tries.
I took Kirk's class a while back, it was perfect!
Hey Kirk, I wanted to thank you for running this. I took the last free session over the summer that started June 1 and really enjoyed it. I have been using it in my work environment every chance I get. I need to tackle threading next to speed up the scripts.
Anyone who is thinking about this course should do it! It's self paced with about an hour of videos per week and 4-5 exercises. I highly recommend doing it, especially those who comment that maybe this time I'll finally do it.
I love how you don't give up on me and give my my 5th chance to follow untill the end.
Thanks. Can you provide an example of a common problem in the real-world where this knowledge would be useful?
Sure, here are a few off the top of my head:
1. You work in a large network and need to gather the serial number of every switch, and every router.
2. You need to standardize your configurations on X (passwords, ntp servers, DNS servers, SNMP settings, etc).
3. You need to perform an OS upgrade on N devices where N is more than about 3 devices.
4. You want to gather config backups.
5. You want to detect configuration inconsistencies in those config backups.
6. You want to compare operating state of something before and after configuration changes (BGP, OSPF, routing table, switching table, etc).
7. You want new devices to have a standard configuration and you want this driven by templates/standards.
8. You want new devices to be added to other systems automatically (monitoring systems, inventory systems).
Obviously, a lot of these are beyond the scope of this course, but you have to walk before you can run (i.e. you need to learn some programming fundamentals before you can do more complex programming).
Just seeing this, too late to jump in?
Yeah, the sign-up is still open so if you join, you will start getting the lessons shortly after sign-up. We will probably close the sign-up in a week or two.
I'm late for the 7th, but I'm watching for the next round!
This course is a genuinely brilliant intro with actionable learning - you can take these lessons and start implementing infrastructure-as-code right away.
It's solid content that is specifically useful for and valuable to this community.