This should help simplify Chef etc deployments. Now (when using the
Upstart jobs), when a ceph-mon is started, ceph-create-admin-key is
triggered. If /etc/ceph/$cluster.client.admin.keyring already exists,
it does nothing; otherwise, it waits for ceph-mon to reach quorum, and
then does a "ceph auth get-or-create" to create the key, and writes it
atomically to disk.
The equivalent code can be removed from the Chef cookbook once this is
in.
LGPLv2 in spec file is not correct, because some of the included
packages/binaries are GPLv2. For example:
src/mount/mtab.c -> package ceph, binary mount.ceph
src/common/fiemap.cc -> package ceph, binary rbd
Also use SPDX format (http://www.spdx.org/licenses) for the sub-package
licenses.
Signed-off-by: Holger Macht <hmacht@suse.de>
This hunk was inadvertantly included in a330c64.
Reported-by: Guido Winkelmann <guido-ceph@thisisnotatest.de>
Signed-off-by: Sage Weil <sage@inktank.com>
Add BuildRequires: libxml2-devel.
Move BuildRequires: libcurl-devel to a more proper place.
[libs3 and librgw.h bits of patch dropped -sw]
Signed-off-by: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
Signed-off-by: Sage Weil <sage@newdream.net>
leveldb adds -I flags to CFLAGS and CXXFLAGS, but if these macros are
overridden in the make command line, the flags are dropped, and the
build fails. leveldb should probably use AM_CFLAGS instead, but the
spec file can specify the preferred CFLAGS in the configure command
line, and then everything will work as expected.
Signed-off-by: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
Signed-off-by: Sage Weil <sage.weil@dreamhost.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>
OSDs (src/osd/ClassHandler.cc) specifically look for libcls_*.so in
/usr/$libdir/rados-classes, so libcls_rbd.so and libcls_rgw.so need to
be shipped along with the base package.
Signed-off-by: Holger Macht <hmacht@suse.de>
Signed-off-by: Sage Weil <sage@newdream.net>
Some post-install rpmbuild defaults byte-compile all packaged python
files, so don't bother removing the .pyc files, and package .py* to
get both .pyo and .pyc. It wastes a tiny little bit of space, but it
makes the spec file portable across a wider range of rpm and python
configurations.
Signed-off-by: Alexandre Oliva <oliva@lsd.ic.unicam.br>
Signed-off-by: Sage Weil <sage@newdream.net>
Put OCF resource agents in a separate subpackage,
to be enabled with a separate build conditional
(--with ocf).
Make the subpackage depend on the resource-agents
package, which provides the ocf-shellfuncs library
that the Ceph RAs use.
Signed-off-by: Florian Haas <florian@hastexo.com>
Clean up and fix the spec file. This includes cleaning up of build and
installed system dependencies, LSB compliance fixes, splitting up into
several sub-packages (lib*) and so on. It now builds fine for the
following distributions in the Open Build Service and should be
considered as a starting point for further fixes:
- CentOS 6
- Fedora 15
- RedHat Enterprise Linux 6
- openSUSE 11.4
- openSUSE 12.1
- openSUSE Factory
- SUSE Linux Enterprise 11 (SP1 and SP2)
Signed-off-by: Holger Macht <hmacht@suse.de>
The redhat-rpm-config isn't installed on build.opensuse.org, which means
the processor is set to i386 instead of something less ancient. This
breaks compilation on 32-bit x86.
Kludge around it here.
Signed-off-by: Sage Weil <sage@newdream.net>
Pass correct path to configure (fixes SuSE builds).
Use %doc command to install sample.ceph.conf and sample.fetch_conf.
Signed-off-by: Sage Weil <sage@newdream.net>
You can still say "rpmbuild -ba --with tcmalloc ceph.spec"
if you have it.
Add BuildRequires on google-perftools when building with tcmalloc.
Ensure it's the right architecture.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
This is now the admin's job. Removes a lot of code with limited testing
and coverage.
We rev the internal monitor protocol because the state machine ids changed.
This should not affect the on-disk format. Just stop and restart all the
monitors at once during the upgrade.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
BuildRequires: cryptopp-devel has been replaced by nss-devel. Skip
google-perftools-devel because that package is not available for x86-64.
Add python.
Don't install libcls_rbd.so.1.0.0.debug.
Package crbdnamer and librados-config.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
When building the debian packages, use --sysconfdir=/etc.
Also, don't fudge sysconfdir in the init-ceph script.
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
configure is building radosgw as soon as libfcgi is installed, even
if --without-radosgw is given. Here is a fix for configure.in and the
specfile.
Regards,
Christian
Signed-off-by: Sage Weil <sage@newdream.net>
* now that make -j<numprocs> works out of the box, add it to the spec
* added new unpackaged files
* the test binaries get installed with "--without-debug". omitting
"--without-debug" fixes the problem.
Signed-off-by: Thomas Mueller <thomas@chaschperli.ch>
Signed-off-by: Sage Weil <sage@newdream.net>
encountered following errors building an rpm package with the
ceph.spec.in:
RPM build errors:
File not found: /var/tmp/ceph-0.21~rc-4el5.elefant-root-mockbuild/usr/
bin/mkmonfs
File must begin with "/": %{_initddir}/ceph
Installed (but unpackaged) file(s) found:
/usr/bin/dumpjournal
/usr/bin/dupstore
/usr/bin/psim
/usr/bin/radosacl
/usr/bin/streamtest
/usr/bin/test_ioctls
/usr/bin/test_trans
/usr/bin/testceph
/usr/bin/testcrypto
/usr/bin/testkeys
/usr/bin/testmsgr
/usr/bin/testrados
/usr/bin/testradospp
* mkmonfs - vanished. isn't it used anymore? if so, the man/mkmonfs.8 can
also be removed
* initddir can be ignored as it is centos/rhel specific (it's called
"initrddir")
* added CXXFLAGS to make
Reported-by: Thomas Mueller <thomas@chaschperli.ch>
Signed-off-by: Sage Weil <sage@newdream.net>
Add 'status' command.
Add chkconfig line.
Do lockfile stuff only if /var/run/subsys exists.
Still specifying the runlevels, though. The init script bails out (with
success code) if the ceph.conf is missing.
Attached is an update to the SPEC file. I had forgot to include the "fuse-devel" package
requirement for building the ceph packages, and didn't notice that ./configure gave the error
of -lfuse not found.