Summary
Tracking issue for MicroCeph's native Ceph Mgr orchestrator module (microceph-orch). The module exposes MicroCeph as a Ceph orchestrator backend so operators can manage MicroCeph clusters with standard ceph orch ... commands (apply / rm / restart / ps / ls / device ls / host ls).
Architecture: the Python module loads inside ceph-mgr (same snap as microcephd), talks to MicroCeph's unix socket via requests_unixsocket, and uses microcluster's server-side proxyTarget middleware (?target=<member> query) to mTLS-forward per-host operations. No external HTTPS connectivity, certs, or extra config required from operators.
Goals
- Provide a working
microceph backend selectable via ceph orch set backend microceph.
- Per-host targeting for apply / rm / restart from the local unix socket.
- Idempotent apply semantics; failures raise rather than partial-success-as-success.
- Clear errors for unsupported operations (e.g. dotted names on services that don't take a
service_id, restart of unsupported service types).
- Documentation: how-to (
use-ceph-orch.rst), explanation (ceph-orch-backend.rst), architecture paragraph, release notes.
Scope (initial set of supported verbs)
| Verb |
Services |
apply |
mon, mgr, mds, rgw, nfs, rbd-mirror, cephfs-mirror |
rm |
all of above; NFS requires nfs.<cluster_id> |
restart |
osd, mon, rgw (backend serviceWorkerTable limitation) |
ps |
all services (per-host, per-type filtering) |
ls |
service summaries |
device ls |
OSD-backing disks |
host ls |
cluster members |
Known limitations
- Single bare instance per node — no realms (RGW), no per-filesystem MDS, no rbd-mirror sharding. Dotted names raise
ValueError on non-NFS services.
restart limited to osd / mon / rgw (backend serviceWorkerTable in microceph/ceph/services.go).
orch device ls reports only OSD-backing disks; free-disk discovery via the orch path is not supported.
- Host labels not supported (
NotImplementedError).
- RGW SSL not configurable through
ceph orch apply rgw (the Ceph RGWSpec has no private-key field). Use native microceph enable rgw --ssl-certificate ... --ssl-private-key ....
Child PRs
Follow-ups
- Add
?target=-driven free-disk discovery so orch device ls can report unallocated disks across hosts.
- Pre-validate placement hosts against
get_cluster_members() for clearer errors on typo vs opaque microcluster proxy errors.
- Real-mgr verification of
RemoteException propagation through Ceph's handle_orch_error decorator (unit tests cover the stub only).
- Multi-fs MDS support (requires backend changes in
microceph/ceph/).
- RGW realm support (requires backend changes; currently
service_id rejected).
Summary
Tracking issue for MicroCeph's native Ceph Mgr orchestrator module (
microceph-orch). The module exposes MicroCeph as a Ceph orchestrator backend so operators can manage MicroCeph clusters with standardceph orch ...commands (apply / rm / restart / ps / ls / device ls / host ls).Architecture: the Python module loads inside
ceph-mgr(same snap asmicrocephd), talks to MicroCeph's unix socket viarequests_unixsocket, and uses microcluster's server-sideproxyTargetmiddleware (?target=<member>query) to mTLS-forward per-host operations. No external HTTPS connectivity, certs, or extra config required from operators.Goals
microcephbackend selectable viaceph orch set backend microceph.service_id, restart of unsupported service types).use-ceph-orch.rst), explanation (ceph-orch-backend.rst), architecture paragraph, release notes.Scope (initial set of supported verbs)
applyrmnfs.<cluster_id>restartserviceWorkerTablelimitation)pslsdevice lshost lsKnown limitations
ValueErroron non-NFS services.restartlimited to osd / mon / rgw (backendserviceWorkerTableinmicroceph/ceph/services.go).orch device lsreports only OSD-backing disks; free-disk discovery via the orch path is not supported.NotImplementedError).ceph orch apply rgw(the CephRGWSpechas no private-key field). Use nativemicroceph enable rgw --ssl-certificate ... --ssl-private-key ....Child PRs
use-ceph-orch.rst, P1ceph-orch-backend.rst, release notes, wordlist)Follow-ups
?target=-driven free-disk discovery soorch device lscan report unallocated disks across hosts.get_cluster_members()for clearer errors on typo vs opaque microcluster proxy errors.RemoteExceptionpropagation through Ceph'shandle_orch_errordecorator (unit tests cover the stub only).microceph/ceph/).service_idrejected).