Chapter 11. Python

In this chapter, I’ll show you how Python was used to create much of what you see when using the CLI, and then I’ll show you how to mess with it. Think about that for a minute; not only is EOS designed from the ground up to be extensible, but Arista has also given us the ability to alter the way in which the switch behaves. As far as I’m aware, this is unprecedented in the realm of networking devices. Sure, other devices are based on Linux, but you can’t get to it, and you certainly can’t change anything outside of the typical user-configurable options.

When I visited Arista for the first time, I asked Ken Duda (Founder, Chief Technology Officer, and Senior Vice President of Software Engineering) if they worried about end users rendering their switches inoperable by messing with stuff they didn’t understand. His answer, and I’m paraphrasing here, was that Arista believed in the open source concept so strongly that they encouraged users to make new and exciting solutions based on their products. When I asked what would happen if I managed to Python my switch into a useless pile of network-crushing slag, I was told that Arista would try to help, but that since I had fundamentally altered the intended function of the switch, that my support would be on a best effort case. Again, I’m paraphrasing; I don’t think the word slag was ever uttered during that conversation.

I’ve been in the IT industry for roughly 385 years (since 1984). In all that time, I’ve learned appropriate ...

Get Arista Warrior now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.