Skip to content

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

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

halfcyan wants to merge 22 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
@halfcyan
halfcyan force-pushed the cypress/ceph-volume-lifecycle branch from 96e9ba1 to a9dbc29 Compare October 15, 2026 01:09
@halfcyan
halfcyan force-pushed the cypress/ceph-volume-lifecycle branch 3 times, most recently from 9055490 to 906b5f4 Compare November 3, 2026 20:54
@halfcyan
halfcyan force-pushed the cypress/ceph-volume-lifecycle branch from 906b5f4 to 8027f07 Compare November 3, 2026 21:02
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

2 participants