IF there is any award for technical vloggers then David gets the Hall of fame. Most of the content on git, gitops and automation are poorly done unfinished and just highlight the zsh colors of the person doing the demo. I love your style of explaining with an overview of what the tool is and what problem we are looking to solve, followed by walkthrough that doesn't go into various tangents. If you have a book, training site.. please share. I will be the 1st to Sign up
Yeah, he's excellent. I love this style too. A large number of the other tutors online just feel like they're regurgitating what others have said and done and often skip over quite fundamental aspects of what's being explained. Whereas David appears to fully understand what's going on and it's explained clearly and simply, but with the correct amount of detail that I can start building my own mental structures for how things work too. You can sense he's legit. There are too many snake oil tutors these days knocking out poor content. I'd also be down for any training, books, Q&A or that kind of thing.
Great primer! This gives me just enough info to convert my incredibly "one off" templates for similar tasks to use templates and real logic to spit out json rest calls for ACI. Thanks!
Wow! this is the best ansible explanation I have seen! Simply amazing job! What about a second video showing how to deploy to Cisco devices using ios_config with the src option pointing to the template files?
Great video. I have one question. I have a problem with the group_vars config. It is only running when i have die group vars config (ntp servers........) configured in the vars file. What i have done wrong. And another question. How i can use a seperate template like ( the ntp confi ......) to load in the main_ template , so that i dont have the configured group vars config template directly in the main template ?
Thanks for the video David, ive now got my configs created but how to deploy these configs to Nexus 9ks? I dont want to use Napalm, just have ansible connect using the nx-api. I have been searching the internet but cannot seem to find this key bit of info! Cheers Chris
Thanks David!! Really a good video on Ansible!!! If you can cover the ansible modules such as handlers, block and rescue, writing a python module etc that will be greate
Hi +David Mahler, being a complete newbie to Ansible my query might be regarded very trivial. But everyone has to start somewhere... Ansible is a configuration management tool used in mass automation. I could digest that info. It requires an IP or name of the target machines to configure them. I guess that means Ansible cannot be used to spin off servers from scratch (like VMware for example) rather it requires servers (be it real or virtual) with OS already installed. Only after that it can be used to configure them as per our requirement. Am I right?
Hello - there are many cloud-based modules that come with Ansible and you can develop your own if needed. So yes you can spin up VMs from scratch. I deal with network devices not servers but if the concern in the case of bare-metal is you don't have mgmt IPs to hit the servers in the first place - you could probably use Ansible against out of band/ilo/etc. to get started. docs.ansible.com/ansible/list_of_cloud_modules.html
Thanks David for the great video. Am new to Ansible so apologies if it's a silly question: When talking about deploying configuration, how is NAPALM different from using Ansible modules for IOS?
NAPALM is written in Python and with it, you can run a function (e.g. get arp tables) across different vendors using the same Python function. You can run it direct in a Python script or integrate it with another platform one of which is Ansible (or Salt or something custom, etc.) .... see github.com/napalm-automation/napalm-ansible which shows about using NAPALM as Ansible modules. The Ansible networking modules like the IOS ones are separate and for Ansible only. Hope that helps.
Nice work David. Have you got a video or instructions for adding host's ip to the host file so that Anisble can ssh into a mikrotik/cisco devices to basic config such as set IP and DNS etc..
Hi David, indeed very good explanation, great work. I'm trying to learn ansible to see if it would help me with a project to facilitate management of configurations for some 600 devices (routers, switches, firewalls, and other specialized network devices. Here is what I understand from the video, please correct me where I'm wrong. - ansible is a tool that generates configuration files from pre-defined templates. - Then those generated configuration files need to be transported somehow to each device Q: does ansible provide a mechanism to SCP, or TFTP files to devices? or we have to use another tool to do that? - ansible provides a hierarchy of configurations that the user can select by modifying the template - Instead of having folders of different "hand-made" configurations "pre-fabricated" for all the devices and just push them manually to each device, ansible allows the user to generate configuration files on the fly, so there is no need to store and manage multiple versions of the configuration files. (although the user still has to manage a number of templates right?) Did I get this right? or totally wrong? Thanks.
Hello. Ansible has various ways to push configs (deploy) to target notes. Take a look at docs.ansible.com/ansible/latest/modules/list_of_network_modules.html to see all the built in modules related to network devices. There has been a concerted push at Ansible to focus on challenges inherent in network nodes (e.g. they aften don't support python locally, so standard modules usually don't work). Ansible is a scripting framework that let's you do a lot of things you may have been doing manually (including device configs, a big one). Basically any repetative operations task I have these days I think about how to write an Ansible playbook or custom module if needed to do it instead. (e.g. after a deploy checking things are behaving as they should operationally). Also take a look at NAPALM which is a great tool for configuring gear napalm.readthedocs.io/en/latest/ . It is independent of Ansible but has Ansible integrations - github.com/napalm-automation/napalm-ansible . With regards to device configs - if you have your gear 100% deployed through templates, there is no need for device backups or storing configs - you can just regenerate them on the fly. Usually the templates are stored in Git (with GitHub, GitLab, Gerrit, etc.) so there is long term tracking of changes to them and very easy rollback etc. The data becomes seperated from the configs as well which is very nice (I have these vlan numbers and names, these vpn endpoint, these BGP peers, etc etc). When the data is separated out it's very easy to make changes, (err easier at least) deploy to a new device from a different vendor, handle syntax changes with upgrades etc. Hope the babbling above helps :-).
IF there is any award for technical vloggers then David gets the Hall of fame. Most of the content on git, gitops and automation are poorly done unfinished and just highlight the zsh colors of the person doing the demo. I love your style of explaining with an overview of what the tool is and what problem we are looking to solve, followed by walkthrough that doesn't go into various tangents. If you have a book, training site.. please share. I will be the 1st to Sign up
Wow, thanks so much for the amazingly supportive feedback!
Yeah, he's excellent. I love this style too. A large number of the other tutors online just feel like they're regurgitating what others have said and done and often skip over quite fundamental aspects of what's being explained. Whereas David appears to fully understand what's going on and it's explained clearly and simply, but with the correct amount of detail that I can start building my own mental structures for how things work too. You can sense he's legit. There are too many snake oil tutors these days knocking out poor content. I'd also be down for any training, books, Q&A or that kind of thing.
One of the best videos I watched for network automation. Thank you so much David!
Thanks, Ahmed!
Great primer! This gives me just enough info to convert my incredibly "one off" templates for similar tasks to use templates and real logic to spit out json rest calls for ACI.
Thanks!
Thanks, Doug! I may do a more complete network automation video down the road, maybe before 2030 ha...ha....sigh.....
Definitive template for fastest possible understanding of this important technology. Thanks for sharing your know-how.
Hey! Thanks, Colum! Hope all is well.
Saw your video on Ansible network configuration automation, it's been really helpful so far. Thanks.
You're welcome!! Thanks for commenting!
An exceedingly excellent job producing this, many thanks.
TY!
Wow. This sounds so clear. Can I assume that nothing has changed for templating in the past 8 years?
Ha! Not for jinja2 really!
Wow! this is the best ansible explanation I have seen!
Simply amazing job!
What about a second video showing how to deploy to Cisco devices using ios_config with the src option pointing to the template files?
Thanks! Yes there have been quite a few improvements to Ansible as of late ;-).
Thank you David, very good primer to Ansible, easy to understand and well organized. Regards.
Thanks Surya!!
Very well explained !!! I highly recommend this for beginners.
Great, thank you!
Excellent delivery.
Thank you!!!
Great video!, it really helps to understand how to ansible can be use in networking
+jesus illescas Great, thanks for the comment!
Great video. I have one question. I have a problem with the group_vars config. It is only running when i have die group vars config (ntp servers........) configured in the vars file. What i have done wrong. And another question. How i can use a seperate template like ( the ntp confi ......) to load in the main_ template , so that i dont have the configured group vars config template directly in the main template ?
Thanks for the video David, ive now got my configs created but how to deploy these configs to Nexus 9ks? I dont want to use Napalm, just have ansible connect using the nx-api. I have been searching the internet but cannot seem to find this key bit of info!
Cheers
Chris
Outstanding video,thanks David
Thanks!
Awesome tutorial! Thank you very much.
You're welcome!!
I have courses with me that are 3-6 hours long and they haven't explained Ansible as well as you did !!!
Awesome, thanks for relaying that!!
Thanks David!! Really a good video on Ansible!!! If you can cover the ansible modules such as handlers, block and rescue, writing a python module etc that will be greate
Thanks for the feedback! I would love to do some of that at some point!
thanks a lot for sharing your video.
YW!
Hi David,
Good. i like this. You great and the way you explained. Can you post more videos in Ansible Network Automation
I'd like to for sure, thanks for the comment!
Thank you for great tutorial
yw!
Hi +David Mahler, being a complete newbie to Ansible my query might be regarded very trivial. But everyone has to start somewhere...
Ansible is a configuration management tool used in mass automation. I could digest that info. It requires an IP or name of the target machines to configure them. I guess that means Ansible cannot be used to spin off servers from scratch (like VMware for example) rather it requires servers (be it real or virtual) with OS already installed. Only after that it can be used to configure them as per our requirement. Am I right?
Hello - there are many cloud-based modules that come with Ansible and you can develop your own if needed. So yes you can spin up VMs from scratch. I deal with network devices not servers but if the concern in the case of bare-metal is you don't have mgmt IPs to hit the servers in the first place - you could probably use Ansible against out of band/ilo/etc. to get started.
docs.ansible.com/ansible/list_of_cloud_modules.html
this is a great video , thanks for sharing
Thank you! You're welcome!
Thanks David for the great video. Am new to Ansible so apologies if it's a silly question:
When talking about deploying configuration, how is NAPALM different from using Ansible modules for IOS?
NAPALM is written in Python and with it, you can run a function (e.g. get arp tables) across different vendors using the same Python function. You can run it direct in a Python script or integrate it with another platform one of which is Ansible (or Salt or something custom, etc.) .... see github.com/napalm-automation/napalm-ansible which shows about using NAPALM as Ansible modules. The Ansible networking modules like the IOS ones are separate and for Ansible only. Hope that helps.
Great introduction. Thank!
+Ori Gill Thanks again!
Great video. Thanks!
Anytime ;-)
Nice work David.
Have you got a video or instructions for adding host's ip to the host file so that Anisble can ssh into a mikrotik/cisco devices to basic config such as set IP and DNS etc..
ansible_host: 1.2.3.4 should work
P.S. Thanks!
do you have this repo on script in github & diagram so we can test in our lab
I don't think I do anymore sorry
This is great, but how you deploy configs to switches?
NAPALM is a great repo for this
napalm.readthedocs.io/en/latest/
Does that mean Ansible cannot do it?
Great :)! Thanks a lot!
You're welcome!
Hi David, indeed very good explanation, great work.
I'm trying to learn ansible to see if it would help me with a project to facilitate management of configurations for some 600 devices (routers, switches, firewalls, and other specialized network devices.
Here is what I understand from the video, please correct me where I'm wrong.
- ansible is a tool that generates configuration files from pre-defined templates.
- Then those generated configuration files need to be transported somehow to each device
Q: does ansible provide a mechanism to SCP, or TFTP files to devices? or we have to use another tool to do that?
- ansible provides a hierarchy of configurations that the user can select by modifying the template
- Instead of having folders of different "hand-made" configurations "pre-fabricated" for all the devices and just push them manually to each device, ansible allows the user to generate configuration files on the fly, so there is no need to store and manage multiple versions of the configuration files. (although the user still has to manage a number of templates right?)
Did I get this right? or totally wrong?
Thanks.
Hello. Ansible has various ways to push configs (deploy) to target notes. Take a look at docs.ansible.com/ansible/latest/modules/list_of_network_modules.html to see all the built in modules related to network devices. There has been a concerted push at Ansible to focus on challenges inherent in network nodes (e.g. they aften don't support python locally, so standard modules usually don't work). Ansible is a scripting framework that let's you do a lot of things you may have been doing manually (including device configs, a big one). Basically any repetative operations task I have these days I think about how to write an Ansible playbook or custom module if needed to do it instead. (e.g. after a deploy checking things are behaving as they should operationally). Also take a look at NAPALM which is a great tool for configuring gear napalm.readthedocs.io/en/latest/ . It is independent of Ansible but has Ansible integrations - github.com/napalm-automation/napalm-ansible . With regards to device configs - if you have your gear 100% deployed through templates, there is no need for device backups or storing configs - you can just regenerate them on the fly. Usually the templates are stored in Git (with GitHub, GitLab, Gerrit, etc.) so there is long term tracking of changes to them and very easy rollback etc. The data becomes seperated from the configs as well which is very nice (I have these vlan numbers and names, these vpn endpoint, these BGP peers, etc etc). When the data is separated out it's very easy to make changes, (err easier at least) deploy to a new device from a different vendor, handle syntax changes with upgrades etc.
Hope the babbling above helps :-).
thanks a lot
yw!
Don't you have github for the source code?
github.com/dmahler/ansible-template