]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commit
switch_to_containers: set GUID on lockbox part
authorDimitri Savineau <dsavinea@redhat.com>
Mon, 16 Dec 2019 21:41:20 +0000 (16:41 -0500)
committerGuillaume Abrioux <gabrioux@redhat.com>
Mon, 13 Jan 2020 15:52:55 +0000 (16:52 +0100)
commit24360443693fa0e0715e2d79b7b12af33516717f
tree09f6dc17e417d902686fb66f51781260ba6976e2
parent58ffae31175d313483505a03e6367d8e1aaf5ada
switch_to_containers: set GUID on lockbox part

The ceph lockbox partition (part number 5) used with non lvm scenarios
and in non containerized deployment don't have a valid PARTUUID.
The value is set to 00000000-0000-0000-0000-000000000000 for each OSD
devices.

$ blkid -t PARTLABEL="ceph lockbox" -o value -s PARTUUID
00000000-0000-0000-0000-000000000000
00000000-0000-0000-0000-000000000000
00000000-0000-0000-0000-000000000000
00000000-0000-0000-0000-000000000000
00000000-0000-0000-0000-000000000000

When switching to containerized deployment we manually mount the lockbox
partition by using the PARTUUID.
Unfortunately because we have most of the time multiple OSD on the same
node we can't have the right symlink in /dev/disk/by-partuuid because it
will point to only one partition.

/dev/disk/by-partuuid/00000000-0000-0000-0000-000000000000 -> ../../sdb5

After the switch_to_containers playbook then only one OSD will restart
correctly and the other will try to access to the wrong device causing
error like 'xxxx is still in use'.

When deploying with containers and dmcrypt OSDs we force a PARTUUID
value during the ceph-disk prepare task.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1616159
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml