From: Sage Weil Date: Fri, 14 Jun 2013 19:10:49 +0000 (-0700) Subject: ceph-disk: work around buggy rhel/centos parted X-Git-Tag: v0.65~70 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=82ff72f827b9bd7f91d30a09d35e42b25d2a7344;p=ceph.git ceph-disk: work around buggy rhel/centos parted parted on RHEL/Centos prefixes the *machine readable output* with 1b 5b 3f 31 30 33 34 68 Note that the same thing happens when you 'import readline' in python. Work around it! Signed-off-by: Sage Weil --- diff --git a/src/ceph-disk b/src/ceph-disk index 13d9f8203ce..1d1a1501e79 100755 --- a/src/ceph-disk +++ b/src/ceph-disk @@ -637,6 +637,11 @@ def get_free_partition_index(dev): raise Error('parted failed to output anything') lines = str(lines).splitlines(True) + # work around buggy libreadline(?) library in rhel/centos. + idiot_prefix = '\x1b\x5b\x3f\x31\x30\x33\x34\x68'; + if lines[0].startswith(idiot_prefix): + lines[0] = lines[0][8:] + if lines[0] not in ['CHS;\n', 'CYL;\n', 'BYT;\n']: raise Error('weird parted units', lines[0]) del lines[0]