Project

General

Profile

Bug #40664

zap always skips block.db, leaves them around

Added by Alfredo Deza 8 months ago. Updated 4 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

This happens because the 'backing devices' have the wrong identifier ("block" vs. "db"). The right change in zap.py is:

    backing_devices = [
        (journal_lvs, 'journal'),
        (db_lvs, 'db'),
        (wal_lvs, 'wal')
    ]

Additionally, the zapping of partitions was creating the following error:

--> Zapping: /dev/sdz1
Running command: /usr/sbin/wipefs --all /dev/sdz1
Running command: /bin/dd if=/dev/zero of=/dev/sdz1 bs=1M count=10
--> Destroying partition since --destroy was used: /dev/sdz1
Running command: /usr/sbin/parted /dev/sdz --script -- rm 1
--> Zapping: /dev/sdz2
Running command: /usr/sbin/wipefs --all /dev/sdz2
 stderr: wipefs: error: /dev/sdz2: probing initialization failed: No such file or directory
-->  RuntimeError: command returned non-zero exit status: 1

The immediate fix was to add a sleep before it:


        import time; time.sleep(2)
        wipefs(device.abspath)
        zap_data(device.abspath)

This is far from ideal, and what needs to happen here is to have a few try/except/sleeps so that this succeeds without problem when the "probing initialization failed: No such file or directory" message shows up.

History

#1 Updated by Alfredo Deza 8 months ago

  • Status changed from New to Fix Under Review

#2 Updated by Alfredo Deza 7 months ago

This ticket ended up being fixed by two PRs:

wipefs issue: http://tracker.ceph.com/issues/40664
block.db typo: https://github.com/ceph/ceph/pull/28267

#3 Updated by Alfredo Deza 4 months ago

  • Status changed from Fix Under Review to Resolved

Also available in: Atom PDF