Remove OSD from CRUSH map fails if OSD Running
Removing an OSD from the CRUSH map requires the user to stop the OSD first. If the user doesn't stop the OSD and runs:
ceph osd crush remove osd.123
The system crashes. That's not good etiquette. We should consider cleaning this up to either fail more gracefully, or walk the user forward. For example, when the user executes "ceph osd crush remove osd.123," the process first checks to see if osd.123 is running. If it is, the process may return an error; alternatively, the process may prompt the user for input, such as:
"OSD.123 is still running. Do you want to stop OSD 123 and remove it from the CRUSH map? Yes | No"
If the user selects "Yes," the process does /etc/init.d/ceph stop osd.123 and waits until it stops, then invokes itself again. We shouldn't expose users to crashes just because they don't follow the directions carefully.