Bug #13970
ceph-disk list fails on /dev/cciss!c0d0
0%
Description
Reported by Stolte, Felix
„ceph-disk list“ I get the following Traceback: ceph-disk list Traceback (most recent call last): File "/usr/sbin/ceph-disk", line 3576, in <module> main(sys.argv[1:]) File "/usr/sbin/ceph-disk", line 3532, in main main_catch(args.func, args) File "/usr/sbin/ceph-disk", line 3554, in main_catch func(args) File "/usr/sbin/ceph-disk", line 2915, in main_list devices = list_devices(args) File "/usr/sbin/ceph-disk", line 2855, in list_devices partmap = list_all_partitions(args.path) File "/usr/sbin/ceph-disk", line 545, in list_all_partitions dev_part_list[name] = list_partitions(os.path.join('/dev', name)) File "/usr/sbin/ceph-disk", line 550, in list_partitions if is_mpath(dev): File "/usr/sbin/ceph-disk", line 433, in is_mpath uuid = get_dm_uuid(dev) File "/usr/sbin/ceph-disk", line 421, in get_dm_uuid uuid_path = os.path.join(block_path(dev), 'dm', 'uuid') File "/usr/sbin/ceph-disk", line 416, in block_path rdev = os.stat(path).st_rdev OSError: [Errno 2] No such file or directory: '/dev/cciss!c0d0'
I’m running ceph 9.2 on Ubuntu 14.04.3 LTS on HP Hardware with HP P400 Raidcontroller. 4 Node Cluster (3 of them are Mons), 5-6 OSDs per Node with journals on separate drive.
Related issues
Associated revisions
ceph-disk: fix regression in cciss devices names
The cciss driver has device paths such as /dev/cciss/c0d1 with a
matching /sys/block/cciss!c0d1. The general case is that whenever a
device name is found in /sys/block, the / is replaced by the !.
When refactoring the ceph-disk list subcommand, this conversion was
overlooked in a few places. All explicit concatenation of /dev with a
device name are replaced with a call to get_dev_name which does the same
but also converts all ! in /.
http://tracker.ceph.com/issues/13970 Fixes: #13970
Signed-off-by: Loic Dachary <loic@dachary.org>
ceph-disk: fix regression in cciss devices names
The cciss driver has device paths such as /dev/cciss/c0d1 with a
matching /sys/block/cciss!c0d1. The general case is that whenever a
device name is found in /sys/block, the / is replaced by the !.
When refactoring the ceph-disk list subcommand, this conversion was
overlooked in a few places. All explicit concatenation of /dev with a
device name are replaced with a call to get_dev_name which does the same
but also converts all ! in /.
http://tracker.ceph.com/issues/13970 Fixes: #13970
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit a2fd3a535e66b3a2b694cda9c6add33383ccfa4a)
Conflicts:
src/ceph-disk : trivial resolution
History
#1 Updated by Loïc Dachary over 8 years ago
- Status changed from 12 to In Progress
- Backport set to infernalis
#2 Updated by Loïc Dachary over 8 years ago
A tentative workaround is to replace in /usr/sbin/ceph-disk
def block_path(dev): path = os.path.realpath(dev)
with
def block_path(dev): path = get_dev_path(os.path.basename(os.path.realpath(dev)))
#3 Updated by Nathan Cutler over 8 years ago
Is that exclamation point supposed to be there??
Look at http://man7.org/linux/man-pages/man4/cciss.4.html
The device naming scheme is: /dev/cciss/c0d0 Controller 0, disk 0, whole device /dev/cciss/c0d0p1 Controller 0, disk 0, partition 1 /dev/cciss/c0d0p2 Controller 0, disk 0, partition 2 /dev/cciss/c0d0p3 Controller 0, disk 0, partition 3 /dev/cciss/c1d1 Controller 1, disk 1, whole device /dev/cciss/c1d1p1 Controller 1, disk 1, partition 1 /dev/cciss/c1d1p2 Controller 1, disk 1, partition 2 /dev/cciss/c1d1p3 Controller 1, disk 1, partition 3
#4 Updated by Nathan Cutler over 8 years ago
nevermind, now I see the email - it comes from /dev/cciss/c0d0 being mapped to /sys/block/cciss!c0d0
#5 Updated by Loïc Dachary over 8 years ago
- Status changed from In Progress to Fix Under Review
#6 Updated by Loïc Dachary over 8 years ago
- Status changed from Fix Under Review to Pending Backport
#7 Updated by Loïc Dachary over 8 years ago
- Copied to Backport #14044: infernalis: ceph-disk list fails on /dev/cciss!c0d0 added
#8 Updated by Loïc Dachary over 8 years ago
- Status changed from Pending Backport to Fix Under Review
#9 Updated by Loïc Dachary over 8 years ago
- Regression changed from No to Yes
#10 Updated by Loïc Dachary over 8 years ago
- Blocked by Bug #14080: ceph-disk: use blkid instead of sgdisk -i added
#11 Updated by Loïc Dachary over 8 years ago
- Blocked by deleted (Bug #14080: ceph-disk: use blkid instead of sgdisk -i)
#12 Updated by Loïc Dachary over 8 years ago
- Blocked by Bug #13988: new OSD re-using old OSD id fails to boot added
#13 Updated by Loïc Dachary about 8 years ago
- Status changed from Fix Under Review to Pending Backport
#14 Updated by Nathan Cutler about 8 years ago
- Status changed from Pending Backport to Resolved