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:
NVLinkDomainNVLinkDomainMembershipResourceBlockResourceBlockMembership
Installation
Once the project is mature, installing this app will follow the standard process for installing any Nautobot app:
- Add
nautobot-app-nvdatamodelsto Nautobot'spyproject.toml - Add
nautobot_nvdatamodelstoPLUGINSinnautobot_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
-
Clone this project locally.
-
Install dependencies.
uv sync --all-extras
-
Build image.
invoke build -
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:
-
Run the job once in the GUI.
-
Copy the
JobResult's UUID. -
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nautobot_nvdatamodels-0.16.3.tar.gz.
File metadata
- Download URL: nautobot_nvdatamodels-0.16.3.tar.gz
- Upload date:
- Size: 163.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ee08278b80278efb6f6c816448fbb7013332b9c1c16b4933eb13fdc6f89e58c
|
|
| MD5 |
d67982c95ce21ab8cfe61200242d990f
|
|
| BLAKE2b-256 |
340e5164e4032519b90db0ead17c7ed695a2405a614224ffaa3ba4dbca23344a
|
Provenance
The following attestation bundles were made for nautobot_nvdatamodels-0.16.3.tar.gz:
Publisher:
publish.yml on NVIDIA/nautobot-app-nvdatamodels
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nautobot_nvdatamodels-0.16.3.tar.gz -
Subject digest:
3ee08278b80278efb6f6c816448fbb7013332b9c1c16b4933eb13fdc6f89e58c - Sigstore transparency entry: 831951458
- Sigstore integration time:
-
Permalink:
NVIDIA/nautobot-app-nvdatamodels@f2d05e82b616f1f7ae03ba85039983560320f697 -
Branch / Tag:
refs/tags/v0.16.3 - Owner: https://github.com/NVIDIA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f2d05e82b616f1f7ae03ba85039983560320f697 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nautobot_nvdatamodels-0.16.3-py3-none-any.whl.
File metadata
- Download URL: nautobot_nvdatamodels-0.16.3-py3-none-any.whl
- Upload date:
- Size: 53.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f90de40b1a324d901ba621f8173e10155c3b38086610fc5e39c766542ec3ac9
|
|
| MD5 |
875879a9919c01deae940f4a3d39804d
|
|
| BLAKE2b-256 |
99ef4691e3b06c9c2de8bae57e8176c350990ab53b2e7da25c1c53232e5f6b24
|
Provenance
The following attestation bundles were made for nautobot_nvdatamodels-0.16.3-py3-none-any.whl:
Publisher:
publish.yml on NVIDIA/nautobot-app-nvdatamodels
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nautobot_nvdatamodels-0.16.3-py3-none-any.whl -
Subject digest:
3f90de40b1a324d901ba621f8173e10155c3b38086610fc5e39c766542ec3ac9 - Sigstore transparency entry: 831951470
- Sigstore integration time:
-
Permalink:
NVIDIA/nautobot-app-nvdatamodels@f2d05e82b616f1f7ae03ba85039983560320f697 -
Branch / Tag:
refs/tags/v0.16.3 - Owner: https://github.com/NVIDIA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f2d05e82b616f1f7ae03ba85039983560320f697 -
Trigger Event:
push
-
Statement type: