<p>In my kubernetes cluster (v1.14.7)
after a cluster update one node didn't recoverd correctly.
the rook osd from that node didn't get rescheduled ( as it's explained in the documentation)
So im trying to add manually a new OSD.</p>

<p>my <code>ceph status</code> return this</p>

<p><a href="https://i.stack.imgur.com/wJ4U2.png" rel="nofollow noreferrer">here</a></p>

<p>and my <code>ceph osd tree</code> return this </p>

<p><a href="https://i.stack.imgur.com/0GrsK.png" rel="nofollow noreferrer">here</a></p>

<p>I tried link the new osd with the node using <code>ceph osd crush set osd.0 0.29199 root=default host=gke-dev-dev-110dd9ec-ntww</code> </p>

<p>but it return:
<em>Error ENOENT: unable to set item id 0 name 'osd.0' weight 0.29199 at location {host=gke-dev-dev-110dd9ec-ntww,root=default}: does not exist</em></p>

<p>Do you got a clue on how to fix this ?
Thanks in advance </p>

Rémi F
<p>Here's what I suggest, instead of trying to add a new osd right away, fix/remove the defective one and it should re-create.</p>

<p>Try this:</p>

<p>1 - mark out osd: ceph osd out osd.0<br>
2 - remove from crush map: ceph osd crush remove osd.0<br>
3 - delete caps: ceph auth del osd.0<br>
4 - remove osd: ceph osd rm osd.0<br>
5 - delete the deployment: kubectl delete deployment -n your-cluster-namespace rook-ceph-osd-0<br>
6 - edit out the config section of your osd id and underlying device.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kubectl edit configmap -n your-cluster-namespace rook-ceph-osd-nodename-config<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete {"/var/lib/rook":x}<br>
7 - restart the rook-operator pod by deleting the rook-operator pod<br>
8 - verify the health of your cluster: ceph -s; ceph osd tree</p>

<p>Hope this helps!</p>
