Bug 1444909 - puppet-ceph isn't handling dev by id so ceph-disk parepare runs multiple times and fails
Summary: puppet-ceph isn't handling dev by id so ceph-disk parepare runs multiple time...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: puppet-ceph
Version: 11.0 (Ocata)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 11.0 (Ocata)
Assignee: Giulio Fidente
QA Contact: Yogev Rabl
Don Domingo
URL:
Whiteboard:
Depends On:
Blocks: 1444967
TreeView+ depends on / blocked
 
Reported: 2017-04-24 14:21 UTC by John Fulton
Modified: 2017-05-17 20:23 UTC (History)
13 users (show)

Fixed In Version: puppet-ceph-2.3.0-5.el7ost.src.rpm
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1444967 (view as bug list)
Environment:
Last Closed: 2017-05-17 20:23:46 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Launchpad 1677605 None None None 2017-04-24 14:21:50 UTC
OpenStack gerrit 451826 None None None 2017-04-24 14:23:57 UTC
Red Hat Product Errata RHEA-2017:1245 normal SHIPPED_LIVE Red Hat OpenStack Platform 11.0 Bug Fix and Enhancement Advisory 2017-05-17 23:01:50 UTC

Description John Fulton 2017-04-24 14:21:50 UTC
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.

Comment 1 Red Hat Bugzilla Rules Engine 2017-04-24 14:28:49 UTC
This bugzilla has been removed from the release and needs to be reviewed and Triaged for another Target Release.

Comment 8 Yogev Rabl 2017-05-03 19:51:45 UTC
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?

Comment 9 Giulio Fidente 2017-05-03 20:07:22 UTC
(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.

Comment 10 Yogev Rabl 2017-05-04 12:41:48 UTC
Wonderful, in this case, this bug has been verified with puppet-ceph-2.3.0-5.el7ost.src.rpm

Comment 12 errata-xmlrpc 2017-05-17 20:23:46 UTC
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


Note You need to log in before you can comment on or make changes to this bug.