一键导入
ovstorage-contributor-services-client-conformance
Use when checking the Storage API wire contract that ovstorage-plugin-services-client depends on.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when checking the Storage API wire contract that ovstorage-plugin-services-client depends on.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Deploy and develop against NVIDIA Omniverse Storage APIs on any Kubernetes cluster (MicroK8s, EKS, AKS, GKE, bare metal). Two storage adapters: (1) Example Storage Adapter — Python filesystem reference implementation + Discovery for learning and custom adapter development; (2) S3/Azure Production Storage Adapter — NVIDIA pre-built S3/Azure adapter + Discovery as minimum, expandable with Event Aggregation, Event Consumer, RabbitMQ, Envoy Auth Extension, Storage Navigator, and Contour ingress. Can deploy on the developer's behalf (generating scripts + .env) or guide manual deployment. Custom adapter development covers three APIs: Storage, Notifications, and Permissions. Use when a developer asks about deploying, configuring, validating, troubleshooting, or building any component of the Omniverse Storage APIs stack.
Use when adding or reviewing an authz plugin for ovstorage-broker or ovstorage-rest - covers the AuthzPlugin trait, the 21 operations, the policy-epoch model, and the cdylib cancellation contract.
Use when adding or reviewing a storage backend plugin for ovstorage.
Use when Rust changes affect ovstorage C or C++ headers and checked-in generated headers must be refreshed.
Use when starting an ovstorage-broker locally for development or integration testing - covers a minimal TOML, the cdylib plugin path, and how to hit the listener with broker-client or curl.
Use before opening or merging an ovstorage PR to run the project verification gate and inspect risky diffs.
| name | ovstorage-contributor-services-client-conformance |
| description | Use when checking the Storage API wire contract that ovstorage-plugin-services-client depends on. |
| license | CC-BY-4.0 |
| version | 0.1.0 |
| author | NVIDIA Omniverse |
| tags | ["ovstorage","services","conformance"] |
| tools | ["Read","Bash"] |
| compatibility | Requires the ovstorage-services conformance suite, Python and Poetry, and a local or deployed Storage API service. Deployment credentials are user-supplied. |
The Omniverse Storage API ships its own pytest-bdd conformance
suite (Gherkin features, executed via the run-conformance-tests Poetry
script). In the root ovstorage repo, use it to check the wire contract that
ovstorage-plugin-services-client/ depends on: after a vendor-sync, before
relying on a deployed Omniverse Storage Service endpoint, or when investigating whether a
services-client failure is caused by server/API drift.
This is not the service implementation or Kubernetes deployment runbook. For
service-stack deployment and operations, use the ovstorage-services routing
in a source checkout.
ovstorage-services/ (the canonical contracts
or the suite itself may have moved).The suite is a black-box pytest run against a separately-running Storage API service. It does NOT boot an in-process server — you start one first, then point the suite at it.
cd ovstorage-services/apis/storage-api/conformance_tests
# One-time setup
python -m venv .poetry_venv
.poetry_venv/bin/pip install poetry
.poetry_venv/bin/poetry install
source .venv/bin/activate
# In a second terminal: start the reference Storage API service
local-filesystem-service filesystem --static-dir /tmp/storage
# Default endpoints: REST http://localhost:8011, gRPC localhost:50051
# Back in the first terminal: run the suite
run-conformance-tests
run-conformance-tests is a Poetry-script entrypoint installed by
poetry install. It wraps pytest and pre-loads the default
storageapi_testdata_generator plugin; any extra args pass through to
pytest, e.g. run-conformance-tests -k stat -vv.
To target a deployed server instead of the reference filesystem, override the endpoints via environment variables before running:
TEST_STORAGE_API_REST_ENDPOINT (default http://localhost:8011)TEST_STORAGE_API_GRPC_ENDPOINT (default localhost:50051)TEST_STORAGE_API_RESOURCE_BASE (default file-storage://fileservice)The suite's own
README.md
covers the alternative boto3 test-data generator and the OpenAPI
schema-diff hooks.
The suite's Gherkin features live under
conformance_tests/src/conformance_tests/features/. The current
coverage areas are:
capabilities/ — ListTopLevelAddresses responses and capability
discovery.filefolder/ (v1alpha + v1beta) — folder creation, ListStat,
delete-folder semantics.fileobject/ (v1alpha + v1beta) — Stat, ReadFromAddress,
Write, Copy, Delete, FetchWriteTypeInfo.metadata/v1alpha — GetMetadata / UpdateMetadata.versioning/v1beta — EnumerateVersions.Watches (EventConsumerService) and ACL-specific behavior are NOT
covered by this suite today.
A test failure either (a) flags a real plugin/server bug, or (b)
indicates the conformance suite has been updated and the
implementation under test hasn't caught up. The pytest output names
the scenario; read the matching .feature and step-definitions under
conformance_tests/src/conformance_tests/features/ for the expected
behavior.
docs/public/plugin-storage/plugin-services-client.mdovstorage-services-client/crates/ovstorage-plugin-services-client/README.mdovstorage-services/apis/storage-api/conformance_tests/README.md