Subject: bug#36169: Why does parted change ownerships of devices?

From: Guillaume Abrioux <[email-masked]>
Date: Tue, 11 Jun 2019 11:23:47 +0200

Hello,

We use parted in ceph-ansible playbook [1] to retrieve some devices
information, the parted ansible module runs a parted/print command [2], but
we are facing an issue where ownerships get modified after that.

Doing the test manually without ansible context shows it's parted itself
which apply this change:

Before running parted on /dev/sdc:
[root@osd0 ~]# ls -l /dev/sdc*
brw-rw----. 1 root disk 8, 32 Jun 11 08:53 /dev/sdc
brw-rw----. 1 ceph ceph 8, 33 Jun 11 08:53 /dev/sdc1
brw-rw----. 1 ceph ceph 8, 34 Jun 11 08:53 /dev/sdc2

Running a basic parted/print:
[root@osd0 ~]# parted -s /dev/sdc print
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sdc: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name           Flags
 1      1049kB  1075MB  1074MB               ceph block.db
 2      1075MB  2149MB  1074MB               ceph block.db

We can see ownerships have changed from ceph:ceph to root:disk:
[root@osd0 ~]# ls -l /dev/sdc*
brw-rw----. 1 root disk 8, 32 Jun 11 08:57 /dev/sdc
brw-rw----. 1 root disk 8, 33 Jun 11 08:57 /dev/sdc1
brw-rw----. 1 root disk 8, 34 Jun 11 08:57 /dev/sdc2
[root@osd0 ~]#

I'm wondering whether there's a good reason for this or should it be
considered as a bug?

Thanks!

[1]
https://github.com/ceph/ceph-ansible/blob/master/roles/ceph-osd/tasks/main.yml#L39-L44
[2]
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/system/parted.py#L418

*Guillaume Abrioux*Senior Software Engineer