Skip to content

Define and implement the Ceph-backed volume lifecycle - #148

Open
halfcyan wants to merge 3 commits into
cypress/cloud-initfrom
cypress/ceph-volume-lifecycle
Open

halfcyan wants to merge 3 commits into
cypress/cloud-initfrom
cypress/ceph-volume-lifecycle

Conversation

@halfcyan

@halfcyan halfcyan commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Closes #102

Summary

This stacked PR completes the Ceph-backed storage contract on top of #143, which supplies the shared provider lifecycle machinery. Together, the stack:

  • Documents local-file versus Ceph RBD behavior, the supported URI contract, ownership/attachment/mapping/teardown/deletion states, and operator configuration.
  • Resolves existing RBD images directly to host block devices; it does not copy images to compute-node-local storage or implicitly create/delete Ceph resources.
  • Tracks owned, borrowed, and shared mappings; prevents premature unmapping and makes cleanup retryable/idempotent.
  • Uses a mockable storage-provider interface and fake-provider tests, so CI does not require Ceph.
  • Validates RBD URI syntax before URL normalization or Cloud Hypervisor handoff.

Pool/image references are supplied by rbd://<pool>/<image> in each manifest attachment; CEPH_CONFIG, CEPH_ID, CEPH_KEYFILE, and CEPH_CLUSTER configure the node-local Ceph client.

Validation

  • cargo fmt --all -- --check
  • cargo test -p odorobo
  • cargo clippy -p odorobo --all-targets -- -D warnings

This PR is stacked on #143; #143 must land first.

@halfcyan
halfcyan added this pull request to stack #149 October 9, 2026 03:45
@halfcyan halfcyan changed the title define ceph volume lifestyle or whatever Define and implement the Ceph-backed volume lifecycle Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Define and implement the Ceph-backed volume lifecycle

1 participant