Skip to content

Latest commit

 

History

History
93 lines (66 loc) · 2.91 KB

README.md

File metadata and controls

93 lines (66 loc) · 2.91 KB

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