This change ensures that the ceph-objectstore-tool utility is present on
all OSDs. This makes it easier for users to run this tool to do manual
debugging/recovery in some scenarios.
http://tracker.ceph.com/issues/11376 Refs: #11376
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
* move rst files from doc/man/8 into man/8
* extract man_pages setting for sphinx from doc/conf.py to man/conf.py
* generate all man pages in `make install`
* add python-sphinx to Build-Depends
* check for sphinx-build in `configure`
* run changed rst files through sphinx-build in `make check`
Signed-off-by: Kefu Chai <kchai@redhat.com>
On Debian, ceph-mds was split out into its own package in
9d6013e0db, but the /var/lib/ceph/mds
directory was not moved along with the rest of the mds pieces.
The /var/lib/ceph/mds directory is only necessary if a user has
installed ceph-mds. Move it to the ceph-mds subpackage.
http://tracker.ceph.com/issues/10587 Refs: #10587
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
The zlib1g-dev is installed indirectly for Ubuntu 12.04 or Ubuntu 14.04
but it is only suggested in Debian/jessie. Adding it to the
Build-depends is redundant and harmless for Ubuntu and resolves the
missing dependency for Debian.
http://tracker.ceph.com/issues/11068Fixes: #11068
Signed-off-by: Loic Dachary <ldachary@redhat.com>
We should ship the RBD udev rules in the same package that ships
/usr/bin/rbd. This package happens to be ceph-common, so move the udev
rules there.
The udev rules rely on the ceph-rbdnamer utility, so move that utility
and its man page as well.
http://tracker.ceph.com/issues/10864 Refs: #10864
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
- move argparse to ceph-common
- split out rados, rbd, and cephfs bindings into their own packages
- keep python-ceph as a metapackage
Signed-off-by: Sage Weil <sage@redhat.com>
There really should be a better way than this to ensure the right things are installed for make check.
The existing list in ceph.spec.in has been re-sorted, just as the debian/control is
Andrew Bartlett
python-virtualenv is required to run make check and xmlstarlet is useful
to develop shell base tests using ceph --format xml osd dump.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
These binaries haven't landed in Ubuntu, but they are in
sid and jessie for arm64. On Saucy I've installed them by
hand from ports.ubuntu.com and things seems pretty swell.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Add libkrbd libtool convenience library to provide an interface for
mapping and unmapping rbd images programmatically. This will be used
by the rbd binary itself and the librbd_fsx testing tool.
libkrbd takes care of the kernel module stuff (common/module.h) and
makes use of libudev to be able to properly wait for block device
creation and deletion and tell which block device got assigned by the
kernel to the newly created mapping.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
The older versions of ceph-common (ceph CLI, in particular) can't talk to
newer clusters. The primary change happened with dumpling when the new
CLI and rest-api changes were made. Although in reality ceph doesn't
care what version of ceph-common is installed, in practice this forces
ceph-common to get upgraded along with ceph and avoids some user pain.
Fixes: #7641
Signed-off-by: Sage Weil <sage@inktank.com>
Introduce XfsFileStoreBackend class, currently the only filestore
backend implementing SETALLOCHINT op. This commit adds a build-time
dependency on libxfs as xfs-specific ioctl (XFS_IOC_FSSETXATTR /
XFS_XFLAG_EXTSIZE) is used to implement the new set_alloc_hint()
method.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
python-ceph does not require requests, but ceph-common does (for ceph-brag).
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 9a0ef6a181)
Because the gitbuilder build environment does not read the build depends
from the packages and needs to be updated independantly.
Signed-off-by: Loic Dachary <loic@dachary.org>
make check runs vstart.sh to setup a cluster from source and it misses
the python-argparse library as well as uuidgen otherwise it will fail
with:
./vstart.sh: 460: uuidgen: not found
...
Error: Import No module named argparse
Signed-off-by: Loic Dachary <loic@dachary.org>
Currently the way 'rbd unmap' translates a user-provided block device
into an rbd id is it matches the major number of the specified device
against /sys/bus/rbd/devices/<id>/major for each rbd mapping and
declares success on the first match. This works for both entire disks
and partitions, because under the current device number allocation
scheme, each mapping means a new major number.
In preparation for support for single-major device number allocation
scheme, which would require matching both major and minor numbers, make
sure to always match against entire disk device numbers, by converting
the specified device major:minor pair into wholdedisk major:minor pair.
To achive that, use the libblkid library, which accomplishes this goal
by walking stable sysfs structures.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Run parse_json_funcsigs against the builtin commands found
in mon/MonCommands.h. Although it does not provide for a full
validation, it will detect some degenerate cases.
It is expected to raise if a space is missing at the end of an option
specification ( see https://github.com/ceph/ceph/pull/585 ) and this
case is tested. New tests of the same kind can be added whenever an
undetected error is found. Ideally a validation function is implemented
and it would be updated ( with an associated test ) when a new
pathological case is found.
The json string given to parse_json_funcsigs is obtained from
the support program get_command_descriptions.
The python-nose dependencies are added to the build requirements in
debian/control and ceph.spec.in because make check should always be run
at built time.
http://tracker.ceph.com/issues/6274 refs #6274
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
The fuse-utils package was deprecated a while ago.
Switch the primary dependency for fuse tools to use
the preferred 'fuse' package.
Signed-off-by: James Page <james.page@ubuntu.com>
Remove ceph-legacy-cli
Include ceph in proper places to get it built/installed/packaged
Make ceph-common (deb) or ceph (rpm) pkg depend on python-ceph pkg
Signed-off-by: Dan Mick <dan.mick@inktank.com>
...indirectly via ceph-common. We get bad behavior when they diverge, I
think because of libcommon.la being linked both statically and dynamically.
Fixes: #4997
Backport: cuttlefish, bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
Squeeze requires the cryptsetup package which has been renamed
cryptsetup-bin in later versions. Allow either package to
satisfy the dependency.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Two fixes for Centos 6.3 and other systems with udev versions
prior to 172. The disk peristant name using the GPT UUID does
not exist, so use the by_path persistent name instead for the
journal symlink.
The gpt label fields are not available for use in udev rules. Add
ceph-disk-udev wrapper script that extracts the partition
type guid from the label and calls ceph-disk-activate if it is
a ceph guid type. (Bug #4632)
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Add libboost-system-dev (bug #4725).
Add hdparm to rpm installation requirements. The hdparm
command is used to determin if write-caching is enabled on
the journal device.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>