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>
The ceph-mds.conf file moced from the ceph package to the
ceph-mds package. Add replaces/breaks statements to the
control file to handle this on upgrade.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
ceph-disk-prepare and ceph-disk-activate use the with statement,
str.format, and possibly other new features from python 2.6.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
python-ceph complains when installed to debian squeeze about the 'with'
statement. Apparently installation tries to install the python-ceph package for
python 2.5, which does not support the 'with' statement natively.
Signed-off-by: Filippos Giannakos <philipgian@grnet.gr>
Remove request for libleveldb1 version > 1.2. Every libleveldb1 package
should work, otherwise the SO name/version of the library should change.
Fixes: #3945
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Dynamically link to the leveldb installed on the system rather than
statically linking ceph copy. Remove the --with-system-leveldb config
option, and add a requirement for leveldb libraries for rpm and debian
packages. Bug 3945.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Change the filter in logrotate to use sed instead of perl, and remove the
package dependency on perl.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
There was already a dependency on python in the debian control file,
a similar dependency was added to the rpm spec file. perl is needed
for the logrotate script, so a dependecy was on perl wass added to
both. Bug 3768.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
The ceph test programs that are now being built by default require the junit
and libboost-program-options packages. These have been added to the build
dependecies in the debian control file.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Creates libceph1-java package that contains
the libcephfs Java wrappers .jar file and the
JNI library.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Previously, ceph-disk-* would only let you use a journal that was a
file inside the OSD data directory. With this, you can do:
ceph-disk-prepare /dev/sdb /dev/sdb
to put the journal as a second partition on the same disk as the OSD
data (might save some file system overhead), or, more interestingly:
ceph-disk-prepare /dev/sdb /dev/sdc
which makes it create a new partition on /dev/sdc to use as the
journal. Size of the partition is decided by $osd_journal_size.
/dev/sdc must be a GPT-format disk. Multiple OSDs may share the same
journal disk (using separate partitions); this way, a single fast SSD
can serve as journal for multiple spinning disks.
The second use case currently requires parted, so a Recommends: for
parted has been added to Debian packaging.
Closes: #3078Closes: #3079
Signed-off-by: Tommi Virtanen <tv@inktank.com>
Ext4 as a default is a bad choice, as we don't perform enough QA with
it. To use XFS as the default for ceph-disk-prepare, we need to depend
on xfsprogs.
btrfs-tools is already recommended, so no change there. If you set
osd_fs_type=btrfs, and don't have the package installed, you'll just
get an error message.
Signed-off-by: Tommi Virtanen <tv@inktank.com>
Uses gdisk, as it seems to be the only tool that can automate GPT uuid
changes. Needs to run as root.
Adds Recommends: gdisk to ceph.deb.
Closes: #2547
Signed-off-by: Tommi Virtanen <tv@inktank.com>
Also adjust the recommends and depends, so that libcephfs1 and ceph-fuse
hang off of ceph-mds instead of ceph.
Signed-off-by: Sage Weil <sage@inktank.com>
We depend on leveldb, which only builds on
amd64 armel armhf i386 ia64 mipsel
Reported-by: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
Signed-off-by: Sage Weil <sage@inktank.com>
This puts in place an init script and a command it runs to save a
kernel core dump to a remote server when a panic or other kernel
failure occurs. The content of a crash file generated by the
"kdump" init script (which uses the Ubuntu "apport" kernel_crashdump
command) is re-packaged and copied (via scp) to a remote server
specified by variables in /etc/default/ceph-kdump-copy. This
packaging (as well as the work done by the apport script) is done
on the next boot of the kernel following a crash.
Note: Although the init script, its config file, and shell script
are known to work, the packaging of these things should not be
expected to be. I (now) know, for example, that the init script
belongs in src/init-ceph-kdump-copy.in if it is to follow the
pattern used by the ceph init script. And there are likely other
problems with the build/install portions of this patch.
Signed-off-by: Alex Elder <elder@dreamhost.com>
We are cheating with the shared libs by making small API changes without
bumping the soname. Bind users to a matching version to minimize user
pain. When the APIs become fully stable these will need to go away.
Fixes: #1354
Signed-off-by: Sage Weil <sage@newdream.net>
Build-depend on python-support. Add binary package
python-ceph, making it contain all the ceph python
packages, regardless of their name; the modules are
too small to deserve their own debs.
Make python-ceph depend only on librados2 for now.
librgw is not packaged yet.
Dropping unnecessary build-dep on python-dev, that's
only needed for compiling C extensions, and we're using
ctypes.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
So says dpkg-gencontrol, at least:
warning: dpkg-gencontrol: Depends field of package librados-dev: unknown substitution variable ${shlibs:Depends}
...
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
This ensures a smooth, automatic transition, by telling apt/dpkg that
it's ok to replace the old package with the new one.
Continuation of 95db4c5cb8.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
Update Debian packaging. For human-only mentions of librados,
use just "librados"
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
Conflicts:
debian/control
src/Makefile.am
Might be overkill? The error I see from pbuilder is
checking for a Python interpreter with version >= 2.4... none
error: configure: in `/tmp/buildd/ceph-0.24.3-676-gcde53e9':
error: configure: Failed to find Python 2.4 or newer
...but I'm guessing python-dev is needed too?
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Including switch OpenSSL dependency to Crypto++ as its being used instead of
the former; remove radosacl as its not compiled anymore and pristine clean
the source. Explicitly note this is in a 1.0 package format.
dpkg-buildpackage will autodetect the dependency. Except on lenny, where
it doesn't exist and we don't use it!
Signed-off-by: Sage Weil <sage@newdream.net>
Depend on libgoogle-perftools0, not libtcmalloc-minimal0, since we link
against libtcmalloc, not libtcmalloc-minimal. Duh.
Signed-off-by: Sage Weil <sage@newdream.net>
on a standalone fuse client ceph serverside is not needed. if it's
"Recommended" the default behaviour is to install it too. Move it to "Suggests"
that it's not installed by default if one installs just ceph-fuse.
from debian policy:
Suggests:
This is used to declare that one package may be more useful with one or more
others. Using this field tells the packaging system and the user that the listed
packages are related to this one and can perhaps enhance its usefulness, but
that installing this one without them is perfectly reasonable.
- Thomas
Signed-off-by: Sage Weil <sage@newdream.net>
The patch creates several packages:
ceph: The uber package that depends on ceph-mds ceph-osd ceph-mon ceph-fuse and ceph-source
ceph-mds: The ceph meta data server daemon
ceph-osd: The ceph object storage daemon
ceph-mon: The ceph cluster monitor
ceph-fuse: The ceph fuse client
ceph-source: The source for the ceph client kernel module for use with module-assistant
ceph-misc: Some ceph misc installed binaries
ceph-doc: What little ceph documentations in the source tarball
Hopefully this is useful.
Thanks,
- David Brown