Project

General

Profile

Bug #2401

Remove OSD from CRUSH map fails if OSD Running

Added by John Wilkins almost 12 years ago. Updated almost 7 years ago.

Status:
Resolved
Priority:
High
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

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.

History

#1 Updated by Sage Weil almost 12 years ago

  • Tracker changed from Cleanup to Bug
  • Priority changed from Normal to High

#2 Updated by Sage Weil almost 12 years ago

  • Status changed from New to Resolved

this bug was just fixed by wip-osdmap branch, yay!

#3 Updated by Greg Farnum almost 7 years ago

  • Project changed from Ceph to RADOS
  • Category deleted (10)

Also available in: Atom PDF