Skip to main content

A Nautobot app that provides tools for modeling NVIDIA products and resources, such as NVLink domains and compute clusters.

Project description

NVDataModels Nautobot App

Features

This app provides the tools necessary to model NVIDIA components in Nautobot.

This app provides the following models:

  • NVLinkDomain
  • NVLinkDomainMembership
  • ResourceBlock
  • ResourceBlockMembership

Installation

Once the project is mature, installing this app will follow the standard process for installing any Nautobot app:

  1. Add nautobot-app-nvdatamodels to Nautobot's pyproject.toml
  2. Add nautobot_nvdatamodels to PLUGINS in nautobot_config.py

Currently, there are no plugin configuration options to add to PLUGINS_CONFIG in nautobot_config.py.

Development Environment Setup

Prerequisites

This project requires Docker, Docker Compose, and uv.

On macOS, use homebrew to install Docker, Docker Compose, and uv:

brew install --cask docker
brew install docker-compose uv

Setup

  1. Clone this project locally.

  2. Install dependencies.

    uv sync --all-extras
    
  3. Build image.

    invoke build
    
  4. Start containers.

    invoke start
    

The first time you start the containers with a fresh database, it will take 1-2 minutes for the Nautobot container to come up. Check progress by tailing the logs:

invoke logs -f  # <Ctrl-C> to stop

To enable automatic linting and formatting on file save, install the ruff VSCode plugin.

Once it's up, access the development server at http://localhost:8080.

Tips

Changes to code will auto-reload the worker for quick iteration. Tail the worker's logs for easier debugging:

invoke logs -f -s worker  # <Ctrl-C> to stop

If you're working with jobs, it's convenient to enable all jobs (which are disabled by default):

invoke enable-jobs  # Idempotently enables all disabled jobs, if any

If you're developing a job and need to re-run it often for testing, consider this approach:

  1. Run the job once in the GUI.

  2. Copy the JobResult's UUID.

  3. Re-run the job with the same parameters from the CLI:

    invoke rerun-job <job-result-uuid>
    

This is not only faster than the GUI-only method, but also gives you the option to feed debug output directly into AI agents, if you use an AI-assisted IDE like Cursor.

It's often helpful to populate Nautobot with dummy data for testing:

invoke cli
nautobot-server generate_test_data

See all available commands with:

invoke --help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nautobot_nvdatamodels-0.17.0.tar.gz (163.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nautobot_nvdatamodels-0.17.0-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

Details for the file nautobot_nvdatamodels-0.17.0.tar.gz.

File metadata

  • Download URL: nautobot_nvdatamodels-0.17.0.tar.gz
  • Upload date:
  • Size: 163.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nautobot_nvdatamodels-0.17.0.tar.gz
Algorithm Hash digest
SHA256 f0b50ca94beb025994f52b8ede020805eb7291a0fee4e836c68573e8b18d6f9b
MD5 054424290e46f1b686a1982ff5f86528
BLAKE2b-256 7c80af51fb911d0f056c976da2165b916f1fe5a950babf54ae2ebe879fca2fe6

See more details on using hashes here.

Provenance

The following attestation bundles were made for nautobot_nvdatamodels-0.17.0.tar.gz:

Publisher: publish.yml on NVIDIA/nautobot-app-nvdatamodels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nautobot_nvdatamodels-0.17.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nautobot_nvdatamodels-0.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d85337b230d116238fe1b2d06b7e06c618c2f09cec2a2650cac20a0e7a8daa0c
MD5 d293a25ba32988c33a515643af851912
BLAKE2b-256 f6d7e2f4e74e964b7e8188a56f00a0ce361e13f540115a0d4c5bc2804d8ece88

See more details on using hashes here.

Provenance

The following attestation bundles were made for nautobot_nvdatamodels-0.17.0-py3-none-any.whl:

Publisher: publish.yml on NVIDIA/nautobot-app-nvdatamodels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page