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-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.2.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.2-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nautobot_nvdatamodels-0.17.2.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.2.tar.gz
Algorithm Hash digest
SHA256 0e926dcdea76a72ee403987b9d57e19bd0a82799a66d9972fa8de560a0f7c0a5
MD5 7905c7e930859037a1d3d7b1a198a1d6
BLAKE2b-256 fa512b410ed6adf15ab21fcd331627c2a0e7595fe96938f55f14157da5c94b3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nautobot_nvdatamodels-0.17.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nautobot_nvdatamodels-0.17.2-py3-none-any.whl
Algorithm Hash digest
SHA256 136180cb897e2ce38a2327f85d2f34d49a60ebe994f25bb7b6ca4074694fe154
MD5 02914394e03f0f0b926ba4d3145db01d
BLAKE2b-256 6c014dffc3826887666cba439e11d7edb44ce8c98440b8283de635f5d25332e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for nautobot_nvdatamodels-0.17.2-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