puppet-ceph isn't handling dev by id so ceph-disk parepare runs multiple times and fails. puppet-ceph works fine if you pass it paths to block devices like /dev/sdb. It _should_ also handle paths like /dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:16:0. However when dev by id is passed it attempts to try to ceph-disk prepare multiple times because it cannot tell that the disk is already prepared because its clause to determine this fails. It is necessary to pass dev by id sometimes if a system doesn't have consitent assignment of block devices between boots. So this is a scenario puppet-ceph should support.
This bugzilla has been removed from the release and needs to be reviewed and Triaged for another Target Release.
The deployment of the overcloud was successful, the Ceph OSDs has been set properly. When checking the mount the result is: /dev/vda1 on /var/lib/ceph/osd/ceph-1 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vdb1 on /var/lib/ceph/osd/ceph-4 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vdc1 on /var/lib/ceph/osd/ceph-6 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vdd1 on /var/lib/ceph/osd/ceph-9 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vde1 on /var/lib/ceph/osd/ceph-12 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vdf1 on /var/lib/ceph/osd/ceph-17 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vdh1 on /var/lib/ceph/osd/ceph-20 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vdg1 on /var/lib/ceph/osd/ceph-21 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vdi1 on /var/lib/ceph/osd/ceph-24 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) /dev/vdj1 on /var/lib/ceph/osd/ceph-27 type xfs (rw,noatime,seclabel,attr2,inode64,noquota) Which is mounting by its path to block device and not by path it was set in the environment file: ceph::profile::params::osds: '/dev/disk/by-path/virtio-pci-0000:00:05.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:06.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:07.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:08.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:0b.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:0d.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:0e.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:0f.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:10.0': journal: '/dev/disk/by-path/virtio-pci-0000:00:11.0': journal: is that right?
(In reply to Yogev Rabl from comment #8) > The deployment of the overcloud was successful, the Ceph OSDs has been set > properly. When checking the mount the result is: > /dev/vda1 on /var/lib/ceph/osd/ceph-1 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vdb1 on /var/lib/ceph/osd/ceph-4 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vdc1 on /var/lib/ceph/osd/ceph-6 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vdd1 on /var/lib/ceph/osd/ceph-9 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vde1 on /var/lib/ceph/osd/ceph-12 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vdf1 on /var/lib/ceph/osd/ceph-17 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vdh1 on /var/lib/ceph/osd/ceph-20 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vdg1 on /var/lib/ceph/osd/ceph-21 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vdi1 on /var/lib/ceph/osd/ceph-24 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > /dev/vdj1 on /var/lib/ceph/osd/ceph-27 type xfs > (rw,noatime,seclabel,attr2,inode64,noquota) > > Which is mounting by its path to block device and not by path it was set in > the environment file: > ceph::profile::params::osds: > '/dev/disk/by-path/virtio-pci-0000:00:05.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:06.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:07.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:08.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:0b.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:0d.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:0e.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:0f.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:10.0': > journal: > '/dev/disk/by-path/virtio-pci-0000:00:11.0': > journal: > > is that right? hi Yogev, this is the expected behavior; the aliases are resolved to the real device path during the deployment and this is what Ceph and ceph-disk will refer to in the various reporting commands.
Wonderful, in this case, this bug has been verified with puppet-ceph-2.3.0-5.el7ost.src.rpm
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2017:1245