summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: fix set_buckets_enabled(), set_bucket_owner()wip-5808Yehuda Sadeh2013-07-301-2/+2
| | | | | | | | | | | Fixes: 5808 We cannit call put_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 put_bucket_info(). Signed-off-by: Yehuda Sadeh <yehuda@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>
* 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>
* common/perf_counters: fix missing decimal in time, quotingSage Weil2013-07-261-10/+10
| | | | | | | We shouldn't quote integer or float values. Also easier to use dump_unsigned. Signed-off-by: Sage Weil <sage@inktank.com>
* common/Formatter: add dump_format_unquoted()Sage Weil2013-07-262-0/+30
| | | | | | | Sometimes a savvy caller wants to format the output but doesn't want it quoted. Signed-off-by: Sage Weil <sage@inktank.com>
* rados.py: missing parameter to make_ex()Dan Mick2013-07-261-1/+1
| | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* ceph-rest-api: clean up options/environmentDan Mick2013-07-264-220/+188
| | | | | | | | | | | | | | | | | | | ceph-rest-api: * create app from wrapper by calling generate_app() * pass args to generate_app() (early parsed in wrapper) * parse -i/--id here as well * set addr:port on returned app object * handle only EnvironmentError exceptions; let others spew traceback * turn off debug when running singlethreaded server ceph_rest_api.py: * put glob.* on app.ceph_* instead; pass around app in init code * drop conf parsing (let librados do its job) Documentation updated to match. Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* qa/fs/.gitignoreSage Weil2013-07-261-0/+1
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* ceph_test_admin_socket: fix unit testSage Weil2013-07-261-2/+2
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* message: Fix asserts that dont' triggerDavid Zafman2013-07-262-2/+2
| | | | | Signed-off-by: David Zafman <david.zafman@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* librados: EINVAL on a negative osd idSage Weil2013-07-261-0/+4
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* ceph.in: make osdids() (and mon, mds) work on old monsDan Mick2013-07-261-0/+11
| | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* osd: humor coveritySage Weil2013-07-262-3/+6
| | | | | | | | | | | | | CID 1058392: Out-of-bounds access (OVERRUN_DYNAMIC) [select issue] CID 1058391 (#1 of 1): Out-of-bounds access (OVERRUN) 32. alloc_strlen: Allocating insufficient memory for the terminating null of the string. CID 1058390 (#1 of 1): Unchecked return value from library (CHECKED_RETURN) 13. check_return: Calling function "this->class_handler->open_all_classes()" without checking return value. It wraps a library function that may fail and return an error code. [show details] 14. unchecked_value: No check of the return value of "this->class_handler->open_all_classes()". Signed-off-by: Sage Weil <sage@inktank.com>
* mon/MonCap: mds needs to subscribe to the osdmapSage Weil2013-07-261-0/+1
| | | | | | | | Usually it can get it from the OSD, but it assumes the mon will also share and doesn't behave when it does not. Fixes: #5767 Signed-off-by: Sage Weil <sage@inktank.com>
* remove unused fiemap codeSage Weil2013-07-267-138/+2
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* PendingReleaseNotes: note on 'ceph tell <pgid> ...'Sage Weil2013-07-261-0/+7
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Merge remote-tracking branch 'gh/wip-tell-unified' into nextSage Weil2013-07-2625-530/+805
|\ | | | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * ceph_rest_api.py: cleanup, more docstrings, unused varsDan Mick2013-07-261-28/+52
| | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * ceph_argparse.py: make find_cmd_target handle tell <pgid>Dan Mick2013-07-261-2/+17
| | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * ceph_argparse, mon: make "tell <pgid>" work (duplicating "pg <pgid>")Dan Mick2013-07-263-11/+35
| | | | | | | | | | | | | | It's a wad of special cases, but it implements "tell <pgid>" such that it has the same effect as "pg <pgid>". Signed-off-by: Dan Mick <dan.mick@inktank.com>