Skip to content

eBay/pynetforce

Netforce

Netforce is a network infrastructure automation service for managing and configuring network devices.


Use cases

  • Can be pluged in to Neutron to provide on-demand subnet cap-adds for OpenStack VMs and Kubernetes Pods running on top of OpenStack.
  • Can also be used by OpenStack Ironic for provisioning on-demand BMs in VRF network to place a BM in respective VRF(vlan) to access mode from trunk via Neutron update-port operation for different VPCs using routed networks.
  • Can be operated individually by a network engineer to configure devices in different data centers as a global api service.

To start as a developer:

$ git clone https://github.com/eBay/pynetforce.git
$ virtualenv ~/Downloads/netforce-dev
$ source ~/Downloads/netforce-dev/bin/activate
$ cd netforce
$ tox

Features supported for a network switch:

  • Port Enable
  • Port Disable
  • Port-vlan flip
    • Validation support for VLAN change from trunk to access and vice versa for a physical port.
  • Create subnet on vlan interface
    • Validation support for BGP configured bubbles using flat/non-flat networks.
  • Port labelling

Vendor OS supported:

  • Juniper: junos
  • Cisco: nxos and ios
  • Arista: eos

TODO:

  • NAPALM integration: Increase the device driver coverage by adding more device driver functions.

  • OpenConfig Integration: Integrate with OpenConfig to program openconfig enabled devices using yang models as Netforce gives a unified api layer.

Note:

  • Not all Vendor device OS versions have been tested.

  • e.g. new versions of eos supports json parsing and old versions don't. Hence, device drivers are written to support both old and new versions.

Useful links:

License

Licensed under the Apache License, Version 2.0 (the "License"). See Apache License

About

Network infrastructure automation service

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published