Skip to content
/ cpal Public
forked from jedelman8/cpal

The Common Programmable Abstraction Layer

Notifications You must be signed in to change notification settings

ktbyers/cpal

 
 

Repository files navigation

Author: Jason Edelman Email: jedelman8@gmail.com

cpal.py is the main module. It requires other modules such as Cisco, Arista, pandums, jformat, and counter.

For background on CPAL, please read first two links and watch the demo at the 3rd link:

http://www.jedelman.com/1/post/2014/02/common-programmable-abstraction-layer.html http://www.jedelman.com/1/post/2014/02/the-power-of-a-programmable-abstraction-layer.html http://www.jedelman.com/1/post/2014/03/demo-common-programmable-abstraction-layer.html

If you want to contirubte, you are more than welcome. There is still a ton to do on the first two module (onePK and eAPI) and it would be great to see more modules. As more modules evolve, we'll need to update the main cpal.py file to include more variables/function that will in turn call the new modules.

Current plan (for me or you):

  • Convert many of the functions in cpal/device variables. This will make it easier for users to call them
  • This is just a module now, but am going to include something in 'main' to be able to call specific functions for specific devices. Good for helpdesk/admin types that don't need or want to be at the shell
  • Adding ODL as a southbound module
  • Update names from the vendor like Cisco and Arista. Will change to cisco-onepk and arista-eapi to allow for more API types from the same vendor.
  • Jeremy Schulman also has the Juniper PyEZ module. It would be great to build cohesiveness or just integrate that here as well.

Things others have talked about:

  • Adding NX-API
  • Adding F5 APIs

Side note, as more APIs are added, we can get fancier with the function calls correlating data between routers, switches, load balancers, and the like! This is where it'll get fun. We'll need to think about this one.

If you want to contribute to an existing module, just let me know before you do. It'll streamline the integration process.

About

The Common Programmable Abstraction Layer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%