Project

General

Profile

Feature #24428

Allow an `osd destroy` if it was just created

Added by Alfredo Deza about 1 year ago. Updated about 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Monitor
Target version:
-
Start date:
06/05/2018
Due date:
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

ceph-volume asks the monitor for an ID when the OSD provisioning starts. If the process doesn't complete correctly, ceph-volume will try to rollback the creation of the OSD,
the docstring explains:

    When the process of creating or preparing fails, the OSD needs to be either
    purged (ID fully removed) or destroyed (ID persists). This is important
    because otherwise it would leave the ID around, which can cause confusion
    if relying on the automatic (OSD.N + 1) behavior.
    When the OSD id is specified in the command line explicitly (with
    ``--osd-id``) , the the ID is then preserved with a soft removal (``ceph
    osd destroy``), otherwise it is fully removed with ``purge``.

This requires an admin keyring, and we are trying to not require an admin keyring for ceph-volume operations. It is understandable why an admin
keyring is required to destroy any OSD. But in this case it is an OSD that:

  • was just created (within the last 5 minutes)
  • it was never up

I am not sure how this logic would be possible on the monitor side to allow this operation, but it would help ceph-volume to be able to rollback
changes when things fail without requiring the admin keyring

History

#1 Updated by Alfredo Deza about 1 year ago

  • Tracker changed from Bug to Feature

#3 Updated by Kefu Chai about 1 year ago

  • Status changed from New to Resolved
  • Assignee set to Sage Weil

Also available in: Atom PDF