DeepSea icon indicating copy to clipboard operation
DeepSea copied to clipboard

ceph.osd fails to determine osd-id

Open jschmid1 opened this issue 5 years ago • 3 comments

Description of Issue/Question

Setup

(Please provide relevant configs and/or SLS files (Be sure to remove sensitive info).)

A cluster with SSD/NVME/HDD

{'/dev/sdb': {'db': '/dev/nvme0n1',                                       
                    'db_size': '500m',
                    'format': 'bluestore',                                                                                                                   
                    'wal': '/dev/nvme0n1',                              
                    'wal_size': '500m'}

demeter:~ # cat /etc/ceph/destroyedOSDs.yml 
/dev/disk/by-path/pci-0000:00:17.0-ata-7: 25
/dev/disk/by-path/pci-0000:00:17.0-ata-8: 12
prepare: PYTHONWARNINGS=ignore ceph-disk -v prepare --osd-id {'/dev/disk/by-path/pci-0000:00:17.0-ata-7': 25, '/dev/disk/by-path/pci-0000:00:17.0-ata-8': 12} --bluestore --data-dev --journal-dev --cluster ceph --cluster-uuid 329eb419-bda0-3349-a22a-cea3eb61a65e --block.wal /dev/nvme0n1p3 --block.db /dev/nvme0n1p4 /dev/sdb

deepsea: 0.8.8

jschmid1 avatar Feb 11 '19 11:02 jschmid1

This seems like an issue with osd.py (find_destroyed()) which returns the content of the yaml when no by_path is present. that results in the above malformed prepare call.

jschmid1 avatar Feb 11 '19 11:02 jschmid1

that bug occurs when there are entries in the /etc/osd/destoyedOSD.yml file which don't match any device. (which is quite often the case)

jschmid1 avatar Feb 11 '19 11:02 jschmid1

Apparently introduced with a backport of 8e2592c2dc543aa8a6ad758eec79d8625bc1c0c8

jschmid1 avatar Feb 11 '19 12:02 jschmid1