From 72f0b2aa1eb4b7b2a2222c2847d26f99400a8374 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Tue, 22 Nov 2016 15:26:18 +0100 Subject: [PATCH] ceph-disk: trigger must ensure device ownership The udev rules that set the owner/group of the OSD devices are racing with 50-udev-default.rules and depending on which udev event fires last, ownership may not be as expected. Since ceph-disk trigger --sync runs as root, always happens after dm/lvm/filesystem units are complete and before activation, it is a good time to set the ownership of the device. It does not eliminate all races: a script running after systemd local-fs.target and firing a udev event may create a situation where the permissions of the device are temporarily reverted while the activation is running. Fixes: http://tracker.ceph.com/issues/17813 Signed-off-by: Loic Dachary --- src/ceph-disk/ceph_disk/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ceph-disk/ceph_disk/main.py b/src/ceph-disk/ceph_disk/main.py index 17a6695d2435..b856836fa6b9 100755 --- a/src/ceph-disk/ceph_disk/main.py +++ b/src/ceph-disk/ceph_disk/main.py @@ -4442,6 +4442,8 @@ def main_trigger(args): ) return + if get_ceph_user() == 'ceph': + command_check_call(['chown', 'ceph:ceph', args.dev]) parttype = get_partition_type(args.dev) partid = get_partition_uuid(args.dev) -- 2.47.3