Commit Graph

214 Commits

Author SHA1 Message Date
Dan Mick
41930b5e8f ceph.spec.in, debian/control: python-ceph depends on python-flask
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-24 16:31:46 -07:00
Danny Al-Gaaf
e536d66e07 ceph.spec.in: obsolete ceph-libs only on the affected distro
The ceph-libs package existed only on Redhat based distro,
there was e.g. never such a package on SUSE. Therefore: make
sure the 'Obsoletes' is only set on these affected distros.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-23 22:06:47 +02:00
Gary Lowell
eabf2f6ae1 ceph.spec.in: Obsolete ceph-libs
Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-22 09:52:19 -07:00
Dan Mick
b5659b5e7f Merge branch 'wip-wsgi' into next
* wip-wsgi:
  ceph-rest-api: separate into module and front-end for WSGI deploy
  ceph-rest-api: make main program be "shell" around WSGI guts

  Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-12 16:38:28 -07:00
Dan Mick
cc10988850 ceph-rest-api: separate into module and front-end for WSGI deploy
To deploy ceph-rest-api within a WSGI server (apache/mod_wsgi,
nginx/uwsgi, etc.), there needs to be an importable (.py) module
that performs all init/config when imported.  ceph-rest-api was
close, but it needs to be named properly, and there's no argument
passing, so it needs to get args from a fixed file or the env.

Separate most of ceph-rest-api into pybind/ceph_rest_api.py, and make
its arguments come from the environment, and init errors be
ImportError exceptions.  Recase ceph-rest-api as a thin layer that
does the usual setup and arg parsing, and then sets args into the
environment and imports ceph_rest_api.py, catching exceptions and
reporting errors.  This allows standalone execution as usual.
ceph-rest-api grabs a few module globals (addr/port and the flask.app)
to use after it imports.

Accept cluster name, and do the ceph.conf search using cluster name
in the appropriate places in the searched-for files.

Also ceph_rest_api.py gets a little cleanup (fewer global variables,
cleaner conf file search algorithm, better error reporting on conf
load)

Also: doc updates, packaging updates to include ceph_rest_api.py

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-12 16:37:32 -07:00
Dan Mick
1f8fe709b6 ceph-rest-api: Missing packaging (binary in .spec, manpage in both)
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-11 18:25:44 -07:00
Dan Mick
4cb0e06266 Add 'ceph-rest-api'
ceph-rest-api is a Python WSGI module for accessing the Ceph cluster.
It supports most of the commands supported by the ceph CLI,
appropriately translated to HTTP GET/PUT requests.  It is not a
truly RESTful interface.

Not supported at this moment: "tell", "pg <pgid>", and "daemon"
commands.

Configuration options are specified in ceph.conf, specified with
-c/--conf or obtained from $CEPH_CONF, /etc/ceph/ceph.conf,
~/.ceph/ceph.conf, or ./ceph.conf.

-n/--name specifies the client name, used for the cluster
authentication key and for the ceph.conf section name (default
is client.restapi).

        restapi keyring = <keyring file>
        restapi public addr = listenIP:port (default 0.0.0.0:5000)
        restapi base url = <base path> (default /api/v0.1)
        restapi log level = (error, warning, info, debug)
        restapi log file = (default /var/log/ceph/<clientname>.log)

Primitive human-level command discovery is supported; GET from
BASEURL (say, http://localhost:5000/api/v0.1) will show an HTML
table of all commands and arguments, method supported, and help strings.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-10 20:58:51 -07:00
Sage Weil
c124aa09ee Merge pull request #419 from dalgaaf/wip-da-fix-build-rados-classes
ceph.spec.in: add missing %{_libdir}/rados-classes/libcls_* files
2013-07-10 09:34:40 -07:00
Danny Al-Gaaf
2e79f73bd3 ceph.spec.in: add missing %{_libdir}/rados-classes/libcls_* files
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-10 18:12:05 +02:00
Danny Al-Gaaf
640d138c80 ceph.spec.in: add some more ceph_test_cls_rgw_* files
Add new ceph_test_cls_rgw_* files to ceph-test package section.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-10 17:53:28 +02:00
Danny Al-Gaaf
78bae33f7f ceph.spec.in: add some ceph_test_cls_* files
Add some installed but not packaged ceph_test_cls_* files to
the ceph-test package.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-07-10 17:51:17 +02:00
Gary Lowell
db63965a7b ceph.spec.in: Fix file name typo
Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-07-03 13:14:36 -07:00
Laurent Barbe
0efcccdcc2 Move rbdmap file to /etc/ceph
Signed-off-by: Laurent Barbe <laurent@ksperis.com>
2013-07-02 16:53:11 +02:00
Laurent Barbe
ffe7045893 install rules for init-rbdmap
Signed-off-by: Laurent Barbe <laurent@ksperis.com>
2013-07-02 16:50:40 +02:00
Sage Weil
046e3b71a1 debian, rpm: remove python-lockfile dependency
As for 2a4953b697 ceph-disk no longer uses
this.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-24 13:04:58 -07:00
Dan Mick
67a3c1e48d ceph.in: rip out reusable code to pybind/ceph_argparse.py
Signed-off-by: Dan Mick <dan.mick@inktank.com>

Conflicts:
	src/ceph.in
2013-06-21 18:39:43 -07:00
Sage Weil
64ee0148a5 ceph.spec: create /var/run on package install
The %ghost %dir ... line will make this get cleaned up but won't install
it.

Reported-by: Derek Yarnell <derek@umiacs.umd.edu>
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
2013-06-18 14:51:24 -07:00
Sage Weil
253069e047 ceph.spec: include partuuid rules in package
Commit f3234c147e missed this.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 11:16:41 -07:00
Sage Weil
cc9b83a802 ceph.spec: install/uninstall init script
This was commented out almost years ago in commit 9baf5ef4 but it is not
clear to me that it was correct to do so.  In any case, we are not
installing the rc.d links for ceph, which means it does not start up after
a reboot.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 09:49:54 -07:00
Sage Weil
f3234c147e ceph.spec: include by-partuuid udev workaround rules
These are need for old or buggy udev.  Having them for new and unbroken
udev is harmless.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-14 14:04:42 -07:00
Sage Weil
1aa7f59537 ceph.spec: add missing ceph_test_rados_api_cmd to package
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-14 14:04:24 -07:00
Dan Mick
3ac6ffe802 Merge branch 'wip-ceph-cli' into master
Conflicts:
	src/include/rados/librados.h
	src/librados/librados.cc
	src/osdc/Objecter.cc
	src/pybind/rados.py

Required modifications to:
	src/osd/OSD.cc

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-06-06 20:08:15 -07:00
Josh Durgin
5a53da3c16 ceph-test: add ceph_test_rados_api_lock to packaging and qa
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-06-05 12:58:44 -07:00
Dan Mick
70a96973e9 packaging fixes around the new ceph cli:
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>
2013-05-21 20:33:23 -07:00
Dan Mick
850a4cc4f1 Rename "ceph" tool to "ceph-legacy-cli"
Conflicts:
	src/Makefile.am

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-05-21 15:54:12 -07:00
Gary Lowell
e5b25bd36b Merge branch 'next' 2013-05-06 19:51:47 -07:00
Danny Al-Gaaf
eae02fd34c ceph.spec.in: remove twice listed ceph-coverage
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-06 11:30:18 -07:00
Danny Al-Gaaf
71cef0867b ceph.spec: add some files to ceph
Add installed, but not packaged files to ceph-test (ceph-monstore-tool,
ceph-osdomap-tool) rpm file section.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-06 11:30:02 -07:00
Danny Al-Gaaf
6f33885111 ceph.spec.in: remove twice listed ceph-coverage
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-06 15:21:56 +02:00
Danny Al-Gaaf
acb60e58e4 ceph.spec: add some files to ceph
Add installed, but not packaged files to ceph-test (ceph-monstore-tool,
ceph-osdomap-tool) rpm file section.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-06 15:09:32 +02:00
Sage Weil
b2501e91bb ceph.spec: require xfsprogs
This is needed when creating new OSDs (via ceph-disk).  At least for most
people.  Eventually we'll want to include btrfs here.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-03 13:28:24 -07:00
Sage Weil
3cc106453f Merge remote-tracking branch 'gh/next' 2013-04-26 18:12:24 -07:00
Gary Lowell
50e58b9f49 ceph.spec.in: remove conditional checks on tcmalloc
tcmalloc is available on all supported platforms now.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-04-26 16:05:25 -07:00
Sage Weil
14777ec1b5 Merge remote-tracking branch 'gh/next'
Conflicts:
	ceph.spec.in
2013-04-24 08:51:25 -07:00
Gary Lowell
7ad63d23d7 ceph-disk: OSD hotplug fixes for Centos
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>
2013-04-22 22:30:39 -07:00
Gary Lowell
f4bc760776 build: Add new package dependencies
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>
2013-04-18 10:41:20 -07:00
Gary Lowell
69974a4dbd Merge branch 'wip-4725' Add build dependencies (Bug 4725) 2013-04-18 08:30:51 -07:00
Gary Lowell
86c1ea1156 build: Add new package dependencies
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>
2013-04-18 08:24:37 -07:00
Danny Al-Gaaf
d801ca3077 ceph.spec.in: use %{_sbindir} macro again
Commit ae71b576a7 change some paths
again to absolute path to /usr/sbin. Use the correct macro %{_sbindir}
again as done in 4b90a958d1.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-15 12:47:27 +02:00
Gary Lowell
ae71b576a7 init-radosgw.sysv: New radosgw init file for rpm based systems
Added init-radosgw.sys file for rpm based systems, added it to
the tarball list in the makefile, and updated the specfile to
install it.  Also added the a dependency in ceph since it uses
utility routes from that package (On debian systems these are
packaged in ceph-common).  Incorporated review comments from
Alex. (Bug #4571)

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
Reviewed-by: Alexandre Marangone  <alexandre.marangone@inktank.com>
2013-04-11 23:02:08 -07:00
Danny Al-Gaaf
a3a658dc53 ceph.spec.in: add installed but not packaged files to ceph-test
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-04 18:30:40 +02:00
Danny Al-Gaaf
8cf3319f5d ceph.spec.in: remove some twice created directories
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-04 18:27:13 +02:00
Danny Al-Gaaf
6bc14889be ceph.spec.in: fix udev rules.d files handling
Move 50-rbd.rules into the ceph base package since the related
ceph-rbdnamer binary is part of this package. Use correct install
pattern.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-04 18:23:40 +02:00
Danny Al-Gaaf
4b90a958d1 ceph.spec.in: use macros for standard directories
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-04 18:21:31 +02:00
Danny Al-Gaaf
a8362f5c9a ceph.spec.in: reorder and fix ceph file list
Reorder file list of ceph package. Fix handling of placeholder
directories, make use of directories marcros like %{_localstatedir}
for /var.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-04 18:18:30 +02:00
Danny Al-Gaaf
61a2be3bb6 ceph.spec.in: don't move ceph-disk* and ceph-create-keys around
Don't move these files around, they get installed now directly to
%{_sbindir}.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-04 15:58:12 +02:00
Danny Al-Gaaf
354c41e71d ceph.spec.in: use %{_sbindir} instead of /usr/sbin
Use %{_sbindir} macro which points to /usr/sbin instead of
hard coded path.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-04 12:52:55 +02:00
Gary Lowell
b98251633b ceph.spec.in: Add python-argparse dependency
The python-argparse package is needed by ceph-create-keys script.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-03-28 17:14:33 -07:00
Gary Lowell
e950ed07c3 ceph.spec.in: Move four scripts from sbin to usr/bin
The ceph-create-keys, ceph-disk, ceph-disk-activate, and
ceph-disk-prepare scripts are built in sbin, but debian installs
them into usr/bin, and several utilities look for them there.
This commit changes the RPM to install them in /usr/bin. (Bug #3921)

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-03-28 16:12:33 -07:00
Sage Weil
84738791fe Merge branch 'next' 2013-03-23 11:03:58 -07:00