FS#55169 - [ceph] ceph-disk throws TruncatedLineError found

Attached to Project: Community Packages
Opened by Tim (bastelfreak) - Wednesday, 16 August 2017, 14:45 GMT
Last edited by Thore Bödecker (foxxx0) - Sunday, 10 December 2017, 10:34 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Thore Bödecker (foxxx0)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
Hi,
I'm getting the following error with ceph 10.2.5-2

# ceph-disk activate /dev/sdb
Traceback (most recent call last):
File "/usr/bin/ceph-disk", line 11, in <module>
load_entry_point('ceph-disk==1.0.0', 'console_scripts', 'ceph-disk')()
File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 5009, in run
main(sys.argv[1:])
File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 4962, in main
main_catch(args.func, args)
File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 4993, in main_catch
msg=e,
File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 270, in __str__
return ': '.join([doc] + [_bytes2str(a) for a in self.args])
TypeError: sequence item 2: expected string or Unicode, TruncatedLineError foun



Additional info:
* Upstream bugreport http://tracker.ceph.com/issues/18371
* Upstream pull request https://github.com/ceph/ceph/pull/12760/commits/5e0dd1e7df43a3be589d17878714756a22052d8e
* fixed since 10.2.6
* latest stable 10.2.9


Steps to reproduce: Try to prepare a disk for an OSD: ceph-disk activate $diskpath
This task depends upon

Closed by  Thore Bödecker (foxxx0)
Sunday, 10 December 2017, 10:34 GMT
Reason for closing:  Fixed
Additional comments about closing:  fixed as of ceph-12.2.1-2
Comment by Tim (bastelfreak) - Saturday, 26 August 2017, 15:33 GMT
I created a PKGBUILD that works for me and builds ceph 10.2.7. Newer versions didn't compile:

# $Id$
# Maintainer: Sébastien "Seblu" Luttringer <seblu@archlinux.org>
# Contributor: Tim "bastelfreak" Meusel <timbastelfreak.de>
pkgname=ceph
pkgver=10.2.7
pkgrel=1
pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
arch=('x86_64' 'i686')
url='https://ceph.com/'
license=('GPL')
makedepends=('boost' 'systemd' 'xfsprogs' 'python2-sphinx' 'cython2' 'sed')
depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'glibc'
'gperftools' 'keyutils' 'leveldb' 'libaio' 'libatomic_ops' 'libedit'
'libsystemd' 'libutil-linux' 'ncurses' 'nss' 'python2' 'snappy'
'python2-setuptools' 'xfsprogs')
options=('emptydirs')
source=("https://download.ceph.com/tarballs/$pkgname-$pkgver.tar.gz"
'ceph.sysusers'
'01-ceph-detec-init.patch')
sha512sums=('7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734'
'69018255573ba0b68f04ec38e5d8f25ed9cd38d14c5a2f34ada20b26513e00a561e1b7f62a28f49d4ea596a464ff0fc550de52dca30bd2a3f94950aa81f5079f'
'abffdd01c84e4674a939652d7b253c5d5ba6951cade7f11a97294582f2f9caaee86113c5d2e7bddbb21b69493805e72c82679ad02d25f737fe6b3bb14de5c13f')

prepare() {
cd $pkgname-$pkgver
# apply patch from the source array (should be a pacman feature)
local filename
for filename in "${source[@]}"; do
if [[ "$filename" =~ \.patch$ ]]; then
msg2 "Applying patch ${filename##*/}"
patch -p1 -N -i "$srcdir/${filename##*/}"
fi
done
:
}

build() {
cd $pkgname-$pkgver
# fix xfs.h failure in configure on i686
[[ $CARCH == i686 ]] && export CXXFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64"
# don't use autotools for ceph-disk, ceph-detect and tests
sed -ri 's,include (ceph-disk|ceph-detect-init|test)/Makefile.am,,' src/Makefile.am
# regen configure
./autogen.sh
# fix python-config binary name
sed -i 's,python-config,python2-config,g' configure
./configure \
--prefix=/usr \
--sbindir=/usr/bin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--localstatedir=/var \
--with-man-pages \
--without-radosgw \
--without-openldap \
PYTHON=/usr/bin/python2 \
CYTHON_CHECK=yes \
PYTHON_CONFIG_CHECK=yes \
SPHINX_BUILD=sphinx-build2
make
}

package() {
cd $pkgname-$pkgver

# main install
make DESTDIR="$pkgdir" install

# ceph-disk
pushd src/ceph-disk
python2 setup.py install --root "$pkgdir" --prefix=/usr
popd

# ceph-detect-init
pushd src/ceph-detect-init
python2 setup.py install --root "$pkgdir" --prefix=/usr
popd

# systemd stuff
install -Dm644 systemd/ceph.tmpfiles.d "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
install -Dm644 "$srcdir"/ceph.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"

# fix bash completions path
msg2 'Fix bash completion path'
install -d -m 755 "$pkgdir"/usr/share/bash-completion
mv "$pkgdir"/{etc/bash_completion.d,usr/share/bash-completion/completions}

# fix python2 shebang, did not do it in prepare() anymore because it
# confuse automake
msg2 'Fix python2 shebang'
find "$pkgdir" -type f -executable -exec \
sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
}

# vim:set ts=2 sw=2 et:
Comment by Thore Bödecker (foxxx0) - Sunday, 10 December 2017, 10:34 GMT
fixed as of 12.2.1-2 (currently there is even 12.2.2-1 in the repo already)

Loading...