1
0
mirror of https://github.com/ceph/ceph synced 2025-03-23 10:48:12 +00:00
Commit Graph

28301 Commits

Author SHA1 Message Date
Gary Lowell
ab1f4386a1 Merge pull request from dalgaaf/wip-da-spec-req
Fix BuildRequires in SPEC file
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
2013-08-01 11:11:44 -07:00
Danny Al-Gaaf
caaaf2c211 ceph.spec.in: merge back JUnit handling from SUSE spec
Merge back what we have in the (open)SUSE ceph spec file for JUnit.
Add missing Requires and the package is named junit4 on some SUSE
versions.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-08-01 15:01:22 +02:00
Danny Al-Gaaf
cbf3a11cf3 ceph.spec.in: move junit BuildRequires to the cephfs-java subpackage
JUnit is only needed by cephfs-java. Move the BuildRequires to this
subpackage.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-08-01 15:00:25 +02:00
Danny Al-Gaaf
4a95796251 ceph.spec.in: use snappy-devel only on RHEL derivatives
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-08-01 15:00:22 +02:00
Erik Logtenberg
17b460c55f ceph.spec.in: add missing buildrequires for Fedora
This patch adds two buildrequires to the ceph.spec file, that are needed
to build the rpms under Fedora. Danny Al-Gaaf commented that the
snappy-devel dependency should actually be added to the leveldb-devel
package. I will try to get that fixed too, in the mean time, this patch
does make sure Ceph builds on Fedora.

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
2013-08-01 15:00:19 +02:00
Dan Mick
bbd558ada5 Merge branch 'wip-5815' into next
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-31 23:01:03 -07:00
David Zafman
317d698235 Merge branch 'wip-5784' into next
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-07-31 21:25:20 -07:00
Dan Mick
c70e59ed74 mon/MDSMonitor: don't call all EINVALs "unrecognized command"
Some of them are valid EINVALs (like mds setmap with the wrong epochnum)

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-31 18:11:47 -07:00
Dan Mick
c9e8ff2bf1 rest/test.py: retry mds setmap in case epoch has changed
Loop 10 times retrying mds dump/getmap/setmap.

Fixes: 
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-31 18:11:47 -07:00
Dan Mick
dc1d95d713 rest/test.py: expect_nofail() to allow examination of reason
Also remove unused MyException

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-07-31 18:11:47 -07:00
Sage Weil
bf0061bf31 v0.67-rc3
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJR+DJQAAoJEH6/3V0X7TFtDWEP/2GtRA5fhypShgnmFgFkn4Jo
 cIass+kDsAnd0w0BVxLdnuOOv6xru4yc5NBE1u+FFfIJnLXt6cfCAc0wdZ+nDzX6
 eqTL/+oB0N9mScuuo/SRSlfj3tbhivPW/WU6wj9C1w0HevAh2uS2pYsbQx7+oQt1
 LHKQRB0tCq7/ASnLw3MxeZr6rw8+TYFCl+1X/b9h+ls0GSF7Qzbrqtr6r0dFAMk8
 +BT/O9duOEbQzOtVL0kohYy9Mv1W308EQA+WvMAqXvylmQW8BV3jErQbm8miIYhK
 9RFyZ8FtlXVoXnbYS4nOV53TQaSZ0IxMvi65osB2ce+MFzlSLnvo4+5Ip2NcVDfY
 PN5omSgc5Kp5EAVAAeHHwyTjVEIQc1R5pI1sffBUzBhHp7wqsNZ3tSxwL8c4ZmEU
 /oa6K4JuTUSsVHW13KS/fVs1NHkP25itUI+jCY8VNsGDogTvGJe62BHX9WgGabzj
 oDUieTGJpSJwpH11E9uDve8qe0WQqVzeJLJb+7CXWm5l3xNE/+Gt0dOrVPqznorO
 3nEGZm2x48kSFEjlKyDhIN9LMEEgJm/+Hpx3n+QvVmlvZFku64azKf/inC9+LdPa
 4N7c3vbNsRT5bOdQLEbFfFh0GupFdUPsuYZgSun6sbfUhe9kq2t72JmOfuMcNegf
 IxXJeBxlw9UNTaWFX4uj
 =7B6k
 -----END PGP SIGNATURE-----

Merge tag 'v0.67-rc3' into next

v0.67-rc3
2013-07-31 18:08:08 -07:00
David Zafman
4a6eff88aa Verify that deleting op never in check_latest_map_ops map
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-07-31 17:04:09 -07:00
David Zafman
600e6aca2c osdc: op left in check_lastest_map_ops
Call op_cancel_map_check before cancel_op() in send_linger()

Fixes: 

Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-07-31 15:51:13 -07:00
Danny Al-Gaaf
175feb9578 rgw_rados.cc: fix invalid iterator comparison
The iterator should be compared against the end() function of
the same iter() from region_conn_map.

CID 1058791 ( of 1): Invalid iterator comparison (MISMATCHED_ITERATOR)
  mismatched_comparison: Comparing "iter" from "this->region_conn_map" to
  "this->zone_conn_map.end()" from "this->zone_conn_map".

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-08-01 00:34:41 +02:00
Sage Weil
b4ed4e2ebd qa/workunits/cephtool/test_daemon.sh: sudo
Fixes: 
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-31 13:46:12 -07:00
David Zafman
d651658d17 osdc: Add asserts that client_lock is held
Clarify locking by indicating that client_lock is held

Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-07-31 12:04:23 -07:00
David Zafman
5bd061c039 test: Fix valgrind found "Mismatched free() / delete / delete []"
Use delete[] in set_argv() so that valgrind runs clean

Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-07-31 12:04:23 -07:00
David Zafman
c48644d811 qa: Add workunit that hangs for manual thrasher testing
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-07-31 12:04:23 -07:00
Sage Weil
00dc634451 ceph: developer mode: set PATH, too
Otherwise the call to ceph-conf may fail if it is not installed on the
local machine.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-30 23:08:58 -07:00
Sage Weil
e70e08c060 cephtool/test.sh: add tests for mon daemon command
[Also move into a separatate test script; validate result -sage]

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-30 23:04:41 -07:00
Dan Mick
47d0d64d5c Make all AdminSocket commands use argparse/cmdmap.
Fixes regression in daemon commands with arguments; also resolves
reported bug with existing daemon code for arguments with
embedded spaces.

Fixes: 
Fixes: 

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-30 22:28:36 -07:00
Sage Weil
3fa1cd20b5 Merge remote-tracking branch 'gh/next' 2013-07-30 16:55:21 -07:00
Yehuda Sadeh
736d6a1bde rgw: fix set_buckets_enabled(), set_bucket_owner()
Fixes: 5808

We cannot call get_bucket_instance_info() at that point,
as the bucket structure wasn't initialized, so we don't
have the bucket instance location information. Just calling
get_bucket_info().

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-07-30 16:03:12 -07:00
Samuel Just
0e125e0e86 Objecter: set c->session to NULL if acting is empty
Otherwise, we might leave a session attached to the
CommandOp for an down OSD.  handle_osd_map will then
delete the session for the down OSD.  tick() will then
attempt to follow the invalid pointer to find a
connection over which to send a MPing.

Fixes: 
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-30 15:52:38 -07:00
Gary Lowell
16adb916cd v0.67-rc3 2013-07-30 14:37:56 -07:00
Sage Weil
e747fa8e32 Revert "Use dh_installinit to install upstart job files"
This reverts commit 251a6a498d.

This includes /etc/init.d/radosgw in the ceph package, which makes it
conflict with radosgw.
2013-07-30 13:31:35 -07:00
Sage Weil
60cbed3fcd Merge remote-tracking branch 'gh/wip-mon' into next
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-07-30 12:40:55 -07:00
Sage Weil
ebab04e018 mon: add missing state name
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-29 22:19:39 -07:00
Sage Weil
b8af38b6fc mon: allow others to sync from us across bootstrap calls
If someone is syncing from us and there is an election, they currently get
reset and have to restart their sync.  This can lead to situations where
they can never finish, e.g., when the load from them syncing makes us time
out commits and call elections.

There is nothing that changes during bootstrap that would prevent a sync
from proceeding.  The only time we need to stop providing is when we
ourselves decide to sync from someone else; modify that reset call to
reset provider state.  All other resets become requester resets.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-29 17:14:57 -07:00
Sage Weil
634dcf3362 mon: drop useless sync_reset() calls
These are both right before bootstrap(), which also resets.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-29 17:10:09 -07:00
Sage Weil
f7d1902ccf mon/Paxos: be more vocal about calling elections
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-29 16:09:06 -07:00
Yehuda Sadeh
eb6e6da1a9 rgw: keep a region connection map
Fixes: 

Beforehand all remote copies were going to the master region
which was awfully wrong.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-07-29 15:11:41 -07:00
Yehuda Sadeh
f10c2e746e rgw: cors subresource needs to be in canonical auth header
Fixes: 

This was fixed before, however, might have been lost due to
recent refactoring + merge.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-07-29 15:11:37 -07:00
Sage Weil
3f5352ac67 Merge pull request from toabctl/upstart-handling
Use dh_installinit to install upstart job files

Reviewed-by: Gaudenz Steinlin <gaudenz@debian.org>
2013-07-29 15:09:19 -07:00
Yehuda Sadeh
b5e74485d9 rgw: set bucket attrs are a bucket instance meta operation
Need to do the action through the bucket instance handler
and not through the bucket handler, otherwise it's wrongly
recorded (and wrongly replayed, ouch).

Fixes: 

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-07-29 15:06:56 -07:00
Yehuda Sadeh
68730d80c8 rgw: track bucket instance oid
We now keep the bucket instance oid in rgw_bucket. The reason
we need it is that the bucket might have been created before
the entrypoint / bucket instance separation.

Fixes: 

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-07-29 15:06:56 -07:00
Yehuda Sadeh
acd16d1aed rgw: read / write bucket attributes from bucket instance
and not from bucket entry point.

Fixes: 

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-07-29 15:06:56 -07:00
Sage Weil
f3eda63494 mon/PGMonitor: fix 'pg dump_[pools_]json'
Use the correct type for the dumpcontents arg.  Fixes the dump_pools_json
output and avoids these errors:

2013-07-29 13:09:14.089188 7fa0c5d21700 -1 0x7fa0c5d1e7a8
2013-07-29 13:09:16.306560 7fa0c5d21700 -1 bad boost::get: key dumpcontents is not type std::vector<std::string, std::allocator<std::string> >
2013-07-29 13:09:16.317104 7fa0c5d21700 -1 0x7fa0c5d1e7a8
2013-07-29 13:09:16.317136 7fa0c5d21700 -1 bad boost::get: key dumpcontents is not type std::vector<std::string, std::allocator<std::string> >

Fixes: 
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-29 13:13:24 -07:00
Sage Weil
099ac5184d mon: fix xml element name
Should be the type, not the name.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-29 13:01:30 -07:00
Loic Dachary
ee9f04c5f8 check_new_interval must compare old acting with old osdmap
When trying to establish if the old acting set is either empty or
smaller than the min_size of the osdmap,
pg_interval_t::check_new_interval compares with the min_size of the
new osdmap. Since the goal is to try to determine if the previous
interval may have been writeable, it should not enter the if when
there were not enough osds in the acting set ( i.e. < min_size ). But
it may enter it anyway if min_size was decremented in the new osdmap.

A complete set of unit tests were added to cover the logic of
check_new_interval. The parameters are prepared to describe a
situation where the function returns false (i.e. no new
interval). Each case is described in a separate bloc that introduces
the minimal changes to demonstrate the intended test case.

Because a number of cases have the same output while implementing a
different logic, the debug output is parsed to differentiate between them.

A test case demonstrating the problem ( check_new_interval must
compare old acting with old osdmap ) is added, with a link to the bug
number for future reference. The problem is fixed. The text of two
debug messages are slightly changed to make the maintenance of the
test that match them easier.

http://tracker.ceph.com/issues/5780 refs 

Signed-off-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-07-29 12:49:25 -07:00
Samuel Just
1f13d8ac5b OSD: suspend tp timeout while taking pg lock in OpWQ
If N op_tp threads are configured, and recovery_max_active
is set to a sufficiently large number, all N op_tp threads
might grab a MOSDPGPush op off of the queue for the same PG.
The last thread to get the lock will have waited
N*time_to_handle_push before completing its item and pinging
the heartbeat timeout.  If that time exceeds the timeout
and there are enough ops waiting, each thread subsequently
will end up exceeding the timeout before completeing an
item preventing the OSD from heartbeating indefinitely.

We prevent this by suspending the timeout while we try to
get the PG lock.  Even if we do block for an excessive
period of time attempting to get the lock, hopefully,
the thread holding the lock will cause the threadpool
to time out.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-29 12:49:16 -07:00
Samuel Just
f1bd4e5bdf WorkQueue: fix bracing on reset_tp_timeout
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-29 12:49:09 -07:00
Sage Weil
a6cd9fea50 osd: get initial full map after a map gap
If there is a gap in our map history, get the full range of maps that
the mon has.  Make sure the first one is a full map.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-07-29 12:12:14 -07:00
Sage Weil
e24b50225c osd: fix off-by-one in map gap logic
If we have map 250, and monitor's first is 251, but sends 260, we can
request the intervening range.

Fixes: 
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-07-29 12:11:35 -07:00
athanatos
1cb3216c5f Merge pull request from dachary/wip-5527
unit tests for sharedptr_registry

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-07-29 11:00:59 -07:00
Thomas Bechtold
251a6a498d Use dh_installinit to install upstart job files
Signed-off-by: Thomas Bechtold <thomasbechtold@jpberlin.de>
2013-07-29 14:53:58 +02:00
Sage Weil
b62845e739 doc/changelog/v0.61.7
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-28 20:43:01 -07:00
Sage Weil
ee18322e5b Merge remote-tracking branch 'gh/next' 2013-07-28 16:17:55 -07:00
Sage Weil
a46f60afde doc/dev/repo-lab-access: notes
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-28 16:17:50 -07:00
Sage Weil
12c1f1157c ceph_test_rados: print version banner on startup
It is helpful when looking at qa run logs to see what version of the
tester is running.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-28 15:42:08 -07:00