Open swiftgist opened 4 years ago
For anybody reading this, the workaround is to remove and deploy the osd as two steps.
The comparison in osd.is_incorrect is relying on the pillar. I don't see a quick fix for this.
osd.is_incorrect
Here's one example, although many existed in this particular installation. The grains are correct for
25: ---------- fsid: 0f85b6ed-cedb-4296-b35e-3cead398f688 partitions: ---------- journal: /dev/disk/by-id/wwn-0x50014ee2600a9932-part2 osd: /dev/disk/by-id/wwn-0x50014ee2600a9932-part1
and lists a filestore OSD. Here are the corresponding snipped logs from an osd.redeploy run
osd.redeploy
[INFO ] Partition: /dev/disk/by-id/wwn-0x50014ee2600a9932-part1 [INFO ] readlink -f /dev/disk/by-id/wwn-0x50014ee2600a9932-part1 [DEBUG ] '/dev/sdad1' [DEBUG ] '' [DEBUG ] splitting partition /dev/sdad1 [INFO ] ID: 25 [INFO ] Disk: /dev/sdad ... [INFO ] No journal specified for /dev/sdad [DEBUG ] OSD config: {'capacity': '3726 GB', 'db': None, 'db_size': None, 'device': '/dev/sdad', 'disk_format': 'bluestore', 'encryption': False, 'journal': False, 'journal_size': '5242880K', 'size': 4000787030016, 'small': False, 'tli': {'/dev/sda': {'format': 'bluestore'}, '/dev/sdaa': {'format': 'bluestore'}, '/dev/sdab': {'format': 'bluestore'}, '/dev/sdac': {'format': 'bluestore'}, '/dev/sdad': {'format': 'bluestore'}, '/dev/sdae': {'format': 'bluestore'}, ...
The is_incorrect uses the OSDConfig which inspects the pillar and not the actual disk. The pillar part is
is_incorrect
/dev/disk/by-id/wwn-0x50014ee2600a9932: ---------- format: bluestore
The end result is that all disks come back as "bluestore" which matches the desired configuration, so no OSD gets removed and recreated. The disk_format and journal above are correct for the pillar, but not the actual OSD.
This is related to bnc:1157549.
Description of Issue/Question
For anybody reading this, the workaround is to remove and deploy the osd as two steps.
The comparison in
osd.is_incorrect
is relying on the pillar. I don't see a quick fix for this.Here's one example, although many existed in this particular installation. The grains are correct for
and lists a filestore OSD. Here are the corresponding snipped logs from an
osd.redeploy
runThe
is_incorrect
uses the OSDConfig which inspects the pillar and not the actual disk. The pillar part isThe end result is that all disks come back as "bluestore" which matches the desired configuration, so no OSD gets removed and recreated. The disk_format and journal above are correct for the pillar, but not the actual OSD.
This is related to bnc:1157549.