Skip to content

Tracking: Ceph Mgr orchestrator module (microceph-orch) #743

@UtkarshBhatthere

Description

@UtkarshBhatthere

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions