DeepSea icon indicating copy to clipboard operation
DeepSea copied to clipboard

SES5: osd.redeploy fails for filestore -> bluestore

Open swiftgist opened this issue 4 years ago • 0 comments

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

       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

[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

               /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.

swiftgist avatar Feb 21 '20 19:02 swiftgist