Skip to content

[Store] Support namespace registration without target SPDK RPC - #4035

Open
cage-goat wants to merge 1 commit into
kvcache-ai:mainfrom
cage-goat:nof-namespace-query
Open

[Store] Support namespace registration without target SPDK RPC#4035
cage-goat wants to merge 1 commit into
kvcache-ai:mainfrom
cage-goat:nof-namespace-query

Conversation

@cage-goat

Copy link
Copy Markdown

Description

Fixes #4034.

The registration CLI requires SSH access and target-side SPDK management RPC to discover namespace capacity.

Add a master RPC to query namespace capacity and block size over NVMe-oF and register the full namespace. Expose query_and_register in Python and add namespace endpoint options to the registration CLI.

Module

  • Transfer Engine (mooncake-transfer-engine)
  • Mooncake Store (mooncake-store)
  • Reshard (mooncake-reshard)
  • Mooncake EP (mooncake-ep)
  • Mooncake PG (mooncake-pg)
  • Integration (mooncake-integration)
  • P2P Store (mooncake-p2p-store)
  • Python Wheel (mooncake-wheel)
  • Common (mooncake-common)
  • Mooncake RL (mooncake-rl)
  • CI/CD
  • Docs
  • Other

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Breaking change
  • Documentation update
  • Performance improvement
  • Other

How Has This Been Tested?

Test commands:

Run from the validation directory containing the NOF ON/OFF builds:

ctest --test-dir build-on --output-on-failure --timeout 60 \
    -R '^(nof_heartbeat_test|nof_register_config_test)$'
ctest --test-dir build-off --output-on-failure --timeout 60 \
    -R '^nof_register_config_test$'

Test results:

  • Unit tests pass
  • Integration tests pass (if applicable)
  • Manual testing done (describe below)

Validated with SPDK 23.01.1 malloc bdevs over NVMe/TCP:

  • 64 MiB with 512-byte blocks and 96 MiB with 4 KiB blocks.
  • Correct namespace capacity and full-range registration.

Checklist

  • I have performed a self-review of my own code
  • I have formatted my code using ./scripts/code_format.sh
  • I have run pre-commit on the files changed in this PR and all hooks pass
  • I have updated the documentation (if applicable)
  • I have added tests to prove my changes are effective
  • For changes >500 LOC: I have filed an RFC issue

AI Assistance Disclosure

  • No AI tools were used
  • AI tools were used (specify below)

OpenAI Codex assisted with implementation, code review, documentation, and validation.

The registration CLI requires SSH access and target-side SPDK RPC
to discover namespace capacity.

Add a master RPC to query namespace capacity and block size over
NVMe-oF and register the full namespace. Expose query_and_register
in Python and add namespace endpoint options to the registration CLI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation Installation Integration run-ci Store

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request]: Support querying and registering namespaces over NVMe-oF

1 participant