summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* doc: Updated doc strings.wip-doc-rados-python-apiJohn Wilkins2013-07-311-153/+238
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* doc: Created new Python API for librados.John Wilkins2013-07-311-0/+398
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* doc: Updated text. Added python to index.John Wilkins2013-07-311-12/+13
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* Merge remote-tracking branch 'gh/next'Sage Weil2013-07-3020-43/+545
|\
| * rgw: fix set_buckets_enabled(), set_bucket_owner()Yehuda Sadeh2013-07-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Objecter: set c->session to NULL if acting is emptySamuel Just2013-07-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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: #5798 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * Merge remote-tracking branch 'gh/wip-mon' into nextSage Weil2013-07-304-18/+23
| |\ | | | | | | | | | Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * mon: allow others to sync from us across bootstrap callsSage Weil2013-07-292-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * mon: drop useless sync_reset() callsSage Weil2013-07-291-3/+0
| | | | | | | | | | | | | | | | | | These are both right before bootstrap(), which also resets. Signed-off-by: Sage Weil <sage@inktank.com>
| | * mon/Paxos: be more vocal about calling electionsSage Weil2013-07-292-5/+5
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon: add missing state nameSage Weil2013-07-291-0/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | rgw: keep a region connection mapYehuda Sadeh2013-07-292-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #5793 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>
| * | rgw: cors subresource needs to be in canonical auth headerYehuda Sadeh2013-07-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #5789 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>
| * | rgw: set bucket attrs are a bucket instance meta operationYehuda Sadeh2013-07-291-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: #5791 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * | rgw: track bucket instance oidYehuda Sadeh2013-07-292-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: #5790 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * | rgw: read / write bucket attributes from bucket instanceYehuda Sadeh2013-07-293-9/+17
| |/ | | | | | | | | | | | | | | | | and not from bucket entry point. Fixes: #5770 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * mon/PGMonitor: fix 'pg dump_[pools_]json'Sage Weil2013-07-291-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: #5786 Signed-off-by: Sage Weil <sage@inktank.com>
| * mon: fix xml element nameSage Weil2013-07-291-1/+1
| | | | | | | | | | | | Should be the type, not the name. Signed-off-by: Sage Weil <sage@inktank.com>
| * check_new_interval must compare old acting with old osdmapLoic Dachary2013-07-292-2/+419
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 #5780 Signed-off-by: Loic Dachary <loic@dachary.org> Reviewed-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * OSD: suspend tp timeout while taking pg lock in OpWQSamuel Just2013-07-296-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * WorkQueue: fix bracing on reset_tp_timeoutSamuel Just2013-07-291-1/+2
| | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * osd: get initial full map after a map gapSage Weil2013-07-291-2/+11
| | | | | | | | | | | | | | | | 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>
| * osd: fix off-by-one in map gap logicSage Weil2013-07-291-1/+1
| | | | | | | | | | | | | | | | | | If we have map 250, and monitor's first is 251, but sends 260, we can request the intervening range. Fixes: #5784 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | Revert "Use dh_installinit to install upstart job files"Sage Weil2013-07-3015-33/+9
| | | | | | | | | | | | | | This reverts commit 251a6a498d07f7873b0e15b0ca2caf7f12c48f04. This includes /etc/init.d/radosgw in the ceph package, which makes it conflict with radosgw.
* | Merge pull request #463 from toabctl/upstart-handlingSage Weil2013-07-2915-9/+33
|\ \ | | | | | | | | | | | | | | | Use dh_installinit to install upstart job files Reviewed-by: Gaudenz Steinlin <gaudenz@debian.org>
| * | Use dh_installinit to install upstart job filesThomas Bechtold2013-07-2915-9/+33
| | | | | | | | | | | | Signed-off-by: Thomas Bechtold <thomasbechtold@jpberlin.de>
* | | Merge pull request #425 from dachary/wip-5527athanatos2013-07-293-4/+316
|\ \ \ | | | | | | | | | | | | | | | | unit tests for sharedptr_registry Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | replace in_method_t with a counterLoic Dachary2013-07-272-32/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A single counter ( waiting ) accurately reflects the number of waiters, regardless of the method waiting. It is enough to allow unit tests to synthetise all situations, including: T1: x = lookup_or_create(0) T1: release x part 1 (weak_ptrs now fail to lock) T2: y = lookup_or_create(0) T2: block in lookup_or_create (waiting == 1) T1: z = lookup_or_create(1) (does not block because the key is different) while holding the lock it waiting++ and waiting == 2 and before returning it waiting-- and waiting is back to == 1 T1: complete release x T2: complete lookup_or_create(0) (waiting == 0) The unit tests are modified to add a lookup on an unrelated key to demonstrate that it does not reset waiting counter. http://tracker.ceph.com/issues/5527 refs #5527 Signed-off-by: Loic Dachary <loic@dachary.org>
| * | | unit tests for sharedptr_registryLoic Dachary2013-07-273-4/+306
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Covers 100% of the LOC and all the expected behavior, including thread safety. The sharedptr_registry is made friend of the test class so that it can synthetize race conditions. The lookup and lookup_or_create methods set the new in_method data member before calling cond.Wait() so that the caller knows it is waiting. http://tracker.ceph.com/issues/5527 refs #5527 Signed-off-by: Loic Dachary <loic@dachary.org>
* | | | doc/changelog/v0.61.7Sage Weil2013-07-281-0/+220
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | | Merge remote-tracking branch 'gh/next'Sage Weil2013-07-2869-912/+1151
|\ \ \ \ | | |_|/ | |/| |
| * | | ceph_test_rados: print version banner on startupSage Weil2013-07-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | ceph-authtool: fix cli testsSage Weil2013-07-283-6/+24
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | test/system/*: parse CEPH_ARGS environmentSage Weil2013-07-288-0/+11
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | Merge pull request #474 from dalgaaf/wip-da-next-fix-helpSage Weil2013-07-282-4/+27
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Add missing commands to help/usage and manpage of ceph-authtool Reviewed-by: Sage Weil <sage@inktank.com>
| | * | | ceph-authtool.8: add missing commands to man pageDanny Al-Gaaf2013-07-281-2/+19
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| | * | | ceph_authtool.cc: update help/usage textDanny Al-Gaaf2013-07-281-2/+8
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added implemented but not listed commands to the help/usage text: * -g shortcut for --gen-key * -a shortcut for --add-key * -u/--set-uid to set auid * --gen-print-key * --import-keyring Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | mon/DataHealthService: do not name xml key after monSage Weil2013-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The name might be something like '0', which is illegal. This should be the *type*, not name. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | debian, rpm: make python-ceph depend on python-requestsSage Weil2013-07-272-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | For ceph-rest-api. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | Merge pull request #471 from dalgaaf/wip-da-fix-pylintSage Weil2013-07-275-12/+10
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Cleanup minor issues from pylint Reviewed-by: Sage Weil <sage@inktank.com>
| | * | | pybind/rbd.py: remove unused import of 'pointer'Danny Al-Gaaf2013-07-271-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| | * | | cephfs.py: remove unused importsDanny Al-Gaaf2013-07-271-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed ctypes, c_uint64, c_ubyte, pointer, CFUNCTYPE since they are not used in the code. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| | * | | rados.py: fix bad indentationDanny Al-Gaaf2013-07-271-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| | * | | ceph_argparse.py: add missing spaces after commaDanny Al-Gaaf2013-07-271-3/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| | * | | ceph_argparse.py: remove unnecessary semicolonsDanny Al-Gaaf2013-07-271-3/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| | * | | ceph_rest_api.py: fix bad indentationDanny Al-Gaaf2013-07-271-1/+1
| |/ / / | | | | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | test/admin_socket: fix admin_socket unit testsSage Weil2013-07-261-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | Command is now JSON! Signed-off-by: Sage Weil <sage@inktank.com>
| * | | rgw: fix RGWFormatter_PlainSage Weil2013-07-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Needs dump_format_unqouted. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | common/admin_socket: do not populate empty help stringsSage Weil2013-07-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Hidden commands have no help string. Make this consistent: the m_help entry is always there, but may be empty. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | common/perf_counters: fix unit testsSage Weil2013-07-261-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | The commands are now in json. Signed-off-by: Sage Weil <sage@inktank.com>