Code Monkey home page Code Monkey logo

ipf-netbox's Introduction

WORK IN PROGRESS

IP Fabric <-> Netbox Utility

This package provides a CLI and python modules useful to integrate between the IP Fabric product and the Netbox project.

The premise of this tool is that Netbox represents the "network as expected" and IP Fabric contains information about the network "as built" or "actual". I want to be able to "synchronize" aspects of IP Fabric database into Netbox. There are a few motivating reasons:

  1. New deployment of Netbox and I want to use my existing network as the basis for the initial Netbox datatset.

  2. Network engineers make changes to the network via CLI, and I want to "reconcile" those changes into the Netbox system.

Tasks

The ipf-netbox tool provides a number tasks that perform checks and synchronizations. The following tasks are planned for this tool.

  • ensure-sites - Ensure that Netbox contains the same Sites as provided in IP Fabric
  • ensure-devices - Ensure that Netbox contains the same Devices as provided in IP Fabric. Check the devie site, and facts about the device such as vendor, model, and serial-number.
  • ensure-interfaces - Ensure that Netbox devices contains the same set of data as provided in IP Fabric. The data includes the full interface-name and interface-description.
  • ensure-ipaddrs - Ensure that Netbox IPAM system includes the IP addresses defined in IP Fabric as "managed IP addresses". Ensure that the IP addresses are correctly assgined to Netbox device interfaces.

ipf-netbox's People

Contributors

jeremy-schulman-copilot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ipf-netbox's Issues

NetBox and IPF Config

Hi, where/how do you define the ip, credentials etc for each platform?

For NetBox I see a setup.env in devtest-env but not sure how that is used once configured. There is also a const.py but also doesn't have the IPF defined. So actually not sure what to actually configure and where.

Please can I get some quick and dirty instructions for configuring/using please?

Thanks
Mark

Add support for LAG

Need to provide the ability to associate physical interfaces with LAG interfaces.
From IPF Technology > Port Channels > Member Channel Status
To Netbox device interfaces

Found some errors while trying to onboard.

Lets have a chat this week and we can look into some of these issues:

  • Slugify function is required... Maybe reuse the one from device type import?
(venv) agitting@dev:~/python/ipf-netbox$ ipf-netbox task ensure-sites
Ensure Netbox contains the Sites defined in IP Fabric
Fetching from IP Fabric and Netbox ... 
IP Fabric 1 items.
Netbox 1 items.
Site Name    Exists
-----------  --------
Axians Lab   No
CREATE site: Axians Lab: FAIL: {"slug":["Enter a valid \"slug\" consisting of letters, numbers, underscores or hyphens."]}
  • When IPFabric does not discover a model its None but platform is used as the model.
    This can be seen here:
    image
    maybe in devices if the model is none we check if there is a platform to device type mapping.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.