Project

General

Profile

Feature #7174

OSD scrub, deep-scrub, repair

Added by John Spray over 7 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Category:
Backend (services)
Target version:
% Done:

100%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:

Description

These are straightforward to implement as unlike some operations they aren't an update to an object, rather just a "fire and forget" initiation of a background operation.

Don't forget to make the human readable descriptions clear that they are starting the operation rather than encompassing it: "initiate scrub" can complete but the scrub will take some time in the background. That said, for a richer implementation we might consider making a scrub/repair/deep-repair UserRequest subclass that really does wait until the op in question completes before marking itself complete.

History

#1 Updated by John Spray over 7 years ago

  • translation missing: en.field_story_points set to 5.0

#2 Updated by John Spray over 7 years ago

  • Subject changed from PG and OSD scrub, deep-scrub, repair to OSD scrub, deep-scrub, repair

#3 Updated by John Spray over 7 years ago

  • Target version changed from v1.2 Backlog to v1.2-dev2

#4 Updated by John Spray over 7 years ago

  • Assignee set to Christina Meno

#5 Updated by John Spray over 7 years ago

Gregory - ping me if I haven't updated the UserRequest documentation in doc/development by the end of the week to ease the way for this.

#6 Updated by Ian Colle over 7 years ago

  • Target version changed from v1.2-dev2 to v1.2-dev4

#7 Updated by Christina Meno over 7 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 30

#8 Updated by Christina Meno over 7 years ago

  • Status changed from In Progress to Fix Under Review
  • % Done changed from 30 to 90

#9 Updated by Christina Meno over 7 years ago

  • Status changed from Fix Under Review to Resolved

#10 Updated by Christina Meno over 7 years ago

  • % Done changed from 90 to 100

#11 Updated by Yan-Fa Li over 7 years ago

I looked through the latest version of the API document, but couldn't find anything related to invoking scrub, deep scrub and repair. I see something in the comments for the API when you use the django rest interface about using a /command syntax. Gregory, could I get a quick tutorial in this bug for how to use the interface correctly?

Thanks

#12 Updated by Christina Meno over 7 years ago

Yan-Fa Li wrote:

I looked through the latest version of the API document, but couldn't find anything related to invoking scrub, deep scrub and repair. I see something in the comments for the API when you use the django rest interface about using a /command syntax. Gregory, could I get a quick tutorial in this bug for how to use the interface correctly?

Thanks

How to invoke a scrub, deep-scrub, repair

POST to /api/v2/cluster/<fsid>/osd/<osd_id>/command/<command>
e.g. POST http://localhost:8000/api/v2/cluster/4a4626ae-4093-4046-ad41-3d5867f0acf1/osd/0/command/scrub

will scrub osd 0 on cluster 4a4626ae-4093-4046-ad41-3d5867f0acf1

http://localhost:8000/api/v2/cluster/4a4626ae-4093-4046-ad41-3d5867f0acf1/osd/0/command/repair

would repair osd 0 on cluster 4a4626ae-4093-4046-ad41-3d5867f0acf1

Also available in: Atom PDF