When using microceph the ceph-csi appears to fail to configure itself correctly and shows the message "Ceph relation is missing data." while being stuck in a waiting state. I believe this is due to microceph running as a snap, and therefore, rather than ceph conf and keys being at /etc/ceph, they are stored at /var/snap/microceph/current/conf/. If I run "sudo cp /var/snap/microceph/current/conf/ceph.* /etc/ceph" on all nodes then this resolves the issue. Below is output from my "juju status" for reference
Model Controller Cloud/Region Version SLA Timestamp
cos-k8s foundation-maas-v3 maas_cloud/default 3.6.14 unsupported 10:03:53Z
App Version Status Scale Charm Channel Rev Exposed Message
ceph-csi waiting 3 ceph-csi latest/stable 88 no Ceph relation is missing data.
k8s 1.35.0 active 3 k8s 1.35/stable 1846 no Ready
microceph active 3 microceph squid/stable 227 no
ntp 4.5 active 3 ntp latest/stable 53 no chrony: Ready
Unit Workload Agent Machine Public address Ports Message
k8s/0 active idle 0 10.67.65.39 6443/tcp Ready
ceph-csi/4 waiting idle 10.67.65.39 Ceph relation is missing data.
ntp/2 active idle 10.67.65.39 123/udp chrony: Ready
k8s/1 active idle 1 10.67.65.40 6443/tcp Ready
ceph-csi/5* waiting idle 10.67.65.40 Ceph relation is missing data.
ntp/1 active idle 10.67.65.40 123/udp chrony: Ready
k8s/2* active idle 2 10.67.65.41 6443/tcp Ready
ceph-csi/3 waiting idle 10.67.65.41 Ceph relation is missing data.
ntp/0* active idle 10.67.65.41 123/udp chrony: Ready
microceph/3 active idle 0 10.67.65.39
microceph/4* active idle 1 10.67.65.40
microceph/5 active idle 2 10.67.65.41
Machine State Address Inst id Base AZ Message
0 started 10.67.65.39 cos-k8s-1 ubuntu@24.04 default Deployed
1 started 10.67.65.40 cos-k8s-2 ubuntu@24.04 default Deployed
2 started 10.67.65.41 cos-k8s-3 ubuntu@24.04 default Deployed
I also saw the following errors in the unit-ceph-csi-*.log
2026-03-09 09:58:21 INFO unit.ceph-csi/4.juju-log server.go:405 Installing ceph-common to version: 19.2.3-0ubuntu0.24.04.3.amd64
2026-03-09 09:58:21 INFO unit.ceph-csi/4.juju-log server.go:405 HTTP Request: GET https://127.0.0.1:6443/api/v1/namespaces/default "HTTP/1.1 200 OK"
2026-03-09 09:58:21 WARNING unit.ceph-csi/4.juju-log server.go:405 Ceph relation is missing data: ['auth', 'key', 'mon_hosts']
2026-03-09 09:58:21 ERROR unit.ceph-csi/4.juju-log server.go:405 Caught ReconcilerError
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-ceph-csi-4/charm/venv/charms/reconciler.py", line 45, in reconcile
self.reconcile_function(event)
File "/var/lib/juju/agents/unit-ceph-csi-4/charm/./src/charm.py", line 392, in reconcile
self.check_ceph_client()
File "/var/lib/juju/agents/unit-ceph-csi-4/charm/./src/charm.py", line 378, in check_ceph_client
raise status.ReconcilerError("Ceph relation is missing data.")
charms.contextual_status.ReconcilerError: Ceph relation is missing data.
2026-03-09 09:58:21 INFO unit.ceph-csi/4.juju-log server.go:405 Status context closed with: [WaitingStatus('Ceph relation is missing data.')]
2026-03-09 09:58:22 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
When using microceph the ceph-csi appears to fail to configure itself correctly and shows the message "Ceph relation is missing data." while being stuck in a waiting state. I believe this is due to microceph running as a snap, and therefore, rather than ceph conf and keys being at /etc/ceph, they are stored at /var/snap/microceph/current/conf/. If I run "sudo cp /var/snap/microceph/current/conf/ceph.* /etc/ceph" on all nodes then this resolves the issue. Below is output from my "juju status" for reference
I also saw the following errors in the unit-ceph-csi-*.log
2026-03-09 09:58:21 INFO unit.ceph-csi/4.juju-log server.go:405 Installing ceph-common to version: 19.2.3-0ubuntu0.24.04.3.amd64
2026-03-09 09:58:21 INFO unit.ceph-csi/4.juju-log server.go:405 HTTP Request: GET https://127.0.0.1:6443/api/v1/namespaces/default "HTTP/1.1 200 OK"
2026-03-09 09:58:21 WARNING unit.ceph-csi/4.juju-log server.go:405 Ceph relation is missing data: ['auth', 'key', 'mon_hosts']
2026-03-09 09:58:21 ERROR unit.ceph-csi/4.juju-log server.go:405 Caught ReconcilerError
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-ceph-csi-4/charm/venv/charms/reconciler.py", line 45, in reconcile
self.reconcile_function(event)
File "/var/lib/juju/agents/unit-ceph-csi-4/charm/./src/charm.py", line 392, in reconcile
self.check_ceph_client()
File "/var/lib/juju/agents/unit-ceph-csi-4/charm/./src/charm.py", line 378, in check_ceph_client
raise status.ReconcilerError("Ceph relation is missing data.")
charms.contextual_status.ReconcilerError: Ceph relation is missing data.
2026-03-09 09:58:21 INFO unit.ceph-csi/4.juju-log server.go:405 Status context closed with: [WaitingStatus('Ceph relation is missing data.')]
2026-03-09 09:58:22 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)