GithubHelp home page GithubHelp logo

mathiaswegner / nautobot_ssot_eip_solidserver Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 138 KB

An SSoT plugin to update Nautobot from EIP Solidserver

License: Other

Python 100.00%
nautobot nautobot-plugin nautobot-ssot solidserver

nautobot_ssot_eip_solidserver's Introduction

nautobot-plugin-ssot-eip-solidserver

This is a plugin for the Nautobot SSoT plugin to pull selected data from EIP solidserver and merge it into Nautobot as IP Address and IP Prefix objects.

In addition to synchronizing the data, it adds the ID of the solidserver object to a nautobot custom field named solidserver addr id w/slug solidserver_addr_id and a string value.

It expects four statuses to be available - NO-IPAM-RECORD, Imported From Solidserver, Active, and Unknown.

Installation

Build the plugin poetry build

Install the plugin pip install nautobot-plugin-ssot-eip-solidserver

Update nautobot_config.py see configuration section

Restart nautobot

Constants

The constants file includes a default value for the SolidSERVER host and for the query limit size. Override them if needed. The host value should only get used if something has gone wrong loading the configuration.

Configuration

The following should be added to your nautobot_config.py and updated for your environment. Ideally, the nnn_credential object is a secret injected at runtime and not hardcoded into your config, eg environment variable in a container.

    'nautobot_ssot_eip_solidserver': {
        "nnn_user": os.getenv("NAUTOBOT_SSOT_NNN_USER",
                              "SolidServer_Nautobot_User"),
        "nnn_url": os.getenv("NAUTOBOT_SSOT_NNN_URL",
                             "https://solidserverinstance.example.com"),
        "nnn_credential": os.getenv("NAUTOBOT_SSOT_NNN_CREDENTIAL",
                                    "SUPER SECRET PASSWORD!")
    },
  • nnn_user is expected to be a string containing a username.
  • nnn_url is expected to be a string containing a url.
  • nnn_credential is expected to be a string containing a password.

Notes/tips on usage

The default timeout of 120 seconds is enough for most queries, but larger queries may exceed the timeout. Jobs that exceed the default timeout will be killed by Nautobot and show up as failed with a "Query exceeded timeout!" error in the job log. Re-running the job with a narrower filter or a larger timeout should help, but be aware that exceeding the hard timeout limit from the nautobot_config will cause the job to fail no matter what.

BIG CAVEAT ABOUT THE NAME FILTER!

The name filter is sometimes useful but also can be unreliable and will potentially delete valid records from Nautobot! If no fqdn is currently present on an address, it will not be found by the name filter and you may get job failures as the job tries to add an address that already partially exists. If you choose to use the name filter, do a dry-run first!

nautobot_ssot_eip_solidserver's People

Contributors

mathiaswegner avatar

Watchers

 avatar  avatar

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.