Use df instead of findmnt in cephstorage upgrade scripts
authorGiulio Fidente <gfidente@redhat.com>
Mon, 12 Dec 2016 21:37:48 +0000 (22:37 +0100)
committerGiulio Fidente <gfidente@redhat.com>
Mon, 12 Dec 2016 21:37:48 +0000 (22:37 +0100)
There are scenarios in which findmnt will return a list of all
mounted filesystems, which causes the upgrade script to fail in
recognizing if the Ceph OSD is backed by ext4.

Change-Id: Iadebdc32b523c05216202b782ceb54bec4389413
Closes-Bug: #1649407

extraconfig/tasks/major_upgrade_ceph_storage.sh

index d84cad4..b58ce38 100644 (file)
@@ -86,7 +86,7 @@ elif [[ "$UPDATED_VERSION" =~ ^10\.2.* ]]; then
     # If on ext4, we need to enforce lower values for name and namespace len
     # or ceph-osd will refuse to start, see: http://tracker.ceph.com/issues/16187
     for OSD_ID in $OSD_IDS; do
-      OSD_FS=$(findmnt -n -o FSTYPE -T /var/lib/ceph/osd/ceph-${OSD_ID})
+      OSD_FS=$(df -l --output=fstype /var/lib/ceph/osd/ceph-${OSD_ID} | tail -n +2)
       if [ ${OSD_FS} = ext4 ]; then
         crudini --set /etc/ceph/ceph.conf global osd_max_object_name_len 256
         crudini --set /etc/ceph/ceph.conf global osd_max_object_namespace_len 64