It’s been a year since our last hackathon so it’s time for a second take. This year, in addition to giving you a NAPALM update and present a couple of new projects, we will also have a few talks from various other projects leveraging on napalm and a talk from Gabriele Gerbino who was the unofficial winner for the non-existent contest we had in the hackathon we held last year :)
Just a quick announcement. As previously discussed we have been working in the past few weeks in reunifying all the drivers into a single repo. We are happy to announce the first official release has just been pushed to pip. This new version, tagged 2.0.0, should work exactly like the latest individual release for each driver.
There are a few administrative things to deal with but other than that this version should be ready for mass consumption. The only disclaimer to add is that the community drivers (FortiOS, Pluribus, PANOS, MikroTik, VyOS and cumulus) have not yet been migrated as we are trying to get the community more involved on those. We will prepare some documentation and prepare an announcement for those in the upcoming weeks.
As always, if you have any comment/concern or find any issues don’t hesitate to let us know.
As we announced in a previous post we have unified all of our core drivers under the same napalm repo. Right now, we have released a beta version which we hope you can help us testing. To do so just run the following pip command:
pip install --pre napalm # --pre is only necessary while this is in beta
Ansible doesn’t have one of the best user experiences out there when it comes to installing third party modules. The process usually involves cloning a repo and updating ansible.cfg to make sure the cloned repo is in the path. This is not particularly terrible but it becomes an issue when you come to the realization you have to make sure yourself that the repo stays up to date, which means you have to keep track of every potential repo yourself and that you have to understand how each potential project that provides third party modules prefers to deal with versioning for ansible modules.
After months of continuous work, we are thrilled to announce the first major
release of napalm-logs.
What is napalm-logs
napalm-logs is open source software acting as a daemon, which listens for
syslog messages from network devices and normalizes them into a vendor-agnostic
shape. Unlike the rest of the libraries maintained by the NAPALM automation
community, napalm-logs does not connect to the device to retrieve information,
but rather receives messages.
I originally wrote this post as part of the documentation of napalm-yang but then I realized this post could be interesting for the general audience and not exclusively for people willing to try out that project.
This post tries to explain some of the general ideas of YANG, why is it interesting, how you can use it to describe data in a very convoluted but yet flexible and powerful way and, more interestingly, how it can be used.
Note that this is just an introduction, if you want to fully understand how YANG works I’d recommend reading RFC6020. For napalm-yang, I’d recommend checking this tutorial.
What is YANG
The tl;dr; version is that YANG is a data modelling language. It is used to describe how data is supposed to look. YANG is not XML or JSON, YANG is a language of it’s own and it only describes data models. For individual instances of the data JSON or XML can be used.
Last year around November we organized our very first NAPALM hackathon. To be honest with you, it turned out to be a lot of fun and we did some good stuff. For example, the validate functionality, was initially developed by Gabriele during the hackathon.
As the project continues growing and we get more and more people interested in it we thought it was about time to organize a second edition of the hackathon. The plan is to gather online during the weekend of the 17th of November, have a few presentations and hack at will.
When: From November 17th 5.00pm UTC to November 19th 7.00pm UTC
Where: slack#napalm-hackathon-2017 (channel is already open so feel free to join)
Who: No matter who you are, your skills or your level of expertise, you are invited to join us. We will gladly help you dealing with the idiosyncrasies of git, python or those network operating systems we all love to hate.
What: Whatever you want. Feel free to show up with your own project and work solo or with someone else, to work on existing issues or to ask if someone wants help. We will also try to highlight existing issues or ideas we think are cool and useful so you have something to chose from.
Prizes: This is a community effort and we have no fundings but we will come up with some form of gamification and give virtual badges, achievements and publish the results to show our gratitude and help you boosting your career ;)
We are evaluating the possibility to merge all the drivers back together. This may or may not have any impact on you but we wanted to share the background of this story, the reasoning for doing that, the technical challenges and solutions for doing so, the potential implications for users and the proposed timeline for it.
The proposed date for the reunification is October 20th 2017.
While the Napalm Automation project has been around for a couple of years, there hasn’t been a good place to share information about the effort and to spread news about new features and ideas. It is time to fix that problem, so welcome to the new Napalm website!
As I write this the site is so new we’re still playing with the bubblewrap. Currently there’s not a lot of information available on the site, but it will continue to grow.