From: Loic Dachary Date: Tue, 22 Nov 2016 14:26:18 +0000 (+0100) Subject: ceph-disk: trigger must ensure device ownership X-Git-Tag: v11.1.0~191^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F12132%2Fhead;p=ceph.git 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 --- 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)