Commit Graph

39682 Commits

Author SHA1 Message Date
Sage Weil
955bd114fc Merge pull request #3845 from ceph/wip-wn-rgw-hammer
Wip wn rgw hammer

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-09 19:49:21 -07:00
Sage Weil
05bb9c9870 Merge pull request #3911 from athanatos/wip-11057
ReplicatedPG: block write on degraded object if there are waiters

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-09 19:43:02 -07:00
Loic Dachary
b780048c48 Merge pull request #3909 from dachary/wip-11068-debian-jessie
deb: add zlib1g-dev to Build-Depends for Debian/jessie

Reviewed-by: Yann Dupont <yann@objoo.org>
2015-03-09 23:40:04 +01:00
Loic Dachary
147b1db43f deb: add zlib1g-dev to Build-Depends for Debian/jessie
The zlib1g-dev is installed indirectly for Ubuntu 12.04 or Ubuntu 14.04
but it is only suggested in Debian/jessie. Adding it to the
Build-depends is redundant and harmless for Ubuntu and resolves the
missing dependency for Debian.

http://tracker.ceph.com/issues/11068 Fixes: #11068

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-09 15:51:53 +01:00
Loic Dachary
387887893f Merge pull request #3882 from dachary/wip-install-deps-alternatives
install-deps.sh: strip | in the list of packages

Reviewed-by: Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-09 13:53:25 +01:00
Sage Weil
bb9133af17 Merge pull request #3897 from ceph/wip-11015
crush: fix compilation of strwa2 buckets (fixes 11015)

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-03-09 05:41:21 -07:00
Sage Weil
023558bbfa Merge pull request #3899 from yuyuyu101/hammer-test
TestAsyncDriver: Fix typo in ceph_test_async_driver
2015-03-09 05:40:49 -07:00
Sage Weil
549a112c3d Merge pull request #3874 from ceph/wip-10828
objecter: fix linger cancel link bug 10828

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-03-08 21:04:19 -07:00
Haomai Wang
84f05c0f39 TestAsyncDriver: Fix typo in ceph_test_async_driver
Fix: #11058
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-03-07 17:14:31 +08:00
Samuel Just
b6326a05ee ReplicatedPG: block write on degraded object if there are waiters
Suppose we have min_size of 2 and size of 3, foo exists only on the
primary.
- block op 1 on foo due to < min_size
- start recovery on foo for replicas 1 and 2
- complete push to replica 1 (2 copies now)
- allow op 2 on foo through since we have 2 copies
- complete recovery on foo, requeue op 1

Fixes: 11057
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-03-06 18:02:25 -08:00
Sage Weil
7acfdaccb1 crushtool: test compilation of a rule with straw2 buckets
Signed-off-by: Sage Weil <sage@redhat.com>
2015-03-06 17:47:03 -08:00
Sage Weil
61308cc473 crush: parse alg names that include a digit
The str_p("straw2") won't parse straw2, it seems because the digit is throwing
it off.  Use the existing name rule instead which is more robust.  Note that
not constraining the alg value here is better anyway because instead of a
'cannot parse' error that is hard to debug we instead get a 'unknown alg foo'
error when doing the semantic pass.

Fixes: #11015
Signed-off-by: Sage Weil <sage@redhat.com>
2015-03-06 17:43:11 -08:00
Loic Dachary
cb6813cc16 tests: add Debian jessie dockerfile
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-07 02:40:13 +01:00
Loic Dachary
657844ac89 tests: DEBIAN_FRONTEND=noninteractive apt-get install
Go into non interactive mode when installing the compilation
dependencies, in case a package has a different default mode.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-07 02:40:13 +01:00
Loic Dachary
f8dec723f7 tests: jq is not available on Ubuntu precise
It should be installed from precise-backports but since it is not
currently used, just remove it.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-07 02:40:13 +01:00
Loic Dachary
4add63c92e install-deps.sh: strip | in the list of packages
Alternatives were introduced lately and the | needs to be stripped from
the list of packages to install otherwise apt-get will try to install
all packages.

Signed-off-by: Yann Dupont <yann@objoo.org>
2015-03-07 02:40:13 +01:00
Yehuda Sadeh
dbe2b24c41 rgw: flush watch after unregistering
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-06 17:24:14 -08:00
Sage Weil
3a1ba9368f Merge pull request #3835 from ceph/wip-mon-datahealth-fix.hammer
[hammer] mon: initialize data store stats structs to avoid weird behaviors
2015-03-06 16:20:52 -08:00
Gregory Farnum
060ff1536c Merge pull request #3877 from ceph/hammer-backports-hadoop
Hammer backports hadoop

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-03-06 09:29:22 -08:00
Greg Farnum
3530a25ae7 Client: do not require successful remount when unmounting
Fixes: #10982

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 71f2686252)
2015-03-06 09:27:21 -08:00
Jason Dillaman
3ca182a63d Merge pull request #3880 from jdurgin/wip-librbd-permissions-test
librbd: remove bad assert and fix permissions test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2015-03-05 16:13:39 -05:00
Yehuda Sadeh
e82ac10901 rgw: only finialize finisher if it's not null
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-05 12:29:24 -08:00
Yehuda Sadeh
7bab9f7c68 rgw: fix watch initialization and reinit on error
We can't just call rados->finalize_watch() and rados->init_watch() from
the watcher, as these calls modify the watcher itself. Also, we can't just
enable the cache after successful watch, because there's more than one
watcher. Only enable the cache if all watchers are set.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-05 12:29:24 -08:00
Yehuda Sadeh
387e4f8587 rgw: move watch reinit into a finisher
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-03-05 12:29:24 -08:00
Yehuda Sadeh
30c32b412f rgw: add support for new watch/notify functionality
Disable and invalidate cache on watch error, then reinitialize watch,
reenable cache.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>

Conflicts:
	src/rgw/rgw_cache.h
	src/rgw/rgw_rados.cc
	src/rgw/rgw_rados.h
2015-03-05 12:29:23 -08:00
Sage Weil
04437e416e rgw: switch to new watch/notify API
Note that we don't really use it fully, yet.  The main semantic change
here is that we have to explicitly ack the notify.

However, still missing is re-registration of the watch if we see a failure,
and ignoring the cache if watch_check tells us the watch is stale.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-03-05 12:29:23 -08:00
Sage Weil
2694f80b27 Merge pull request #3836 from ceph/wip-10546
mon: Monitor: fix timecheck rounds period

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-05 12:12:07 -08:00
Ken Dreyer
9e1c49c087 ceph.spec.in: loosen ceph-test's dependencies
In Debian, the ceph-test package can be installed with any version of
ceph-common.

Prior to this commit, in RHEL, we're much more strict about which
version of the dependencies we require. We depend directly on
librados2/librbd1/libcephfs1 instead of ceph-common, and we also require
the specific versions of these libraries to match the version of
ceph-test.

For testing Ceph, it is nice to have the ability to upgrade the
librados2/librbd1/libcephfs1 libraries on a host without having to also
upgrade the ceph-test package as well.

Remove the version number requirements, and change the dependencies from
librados2/librbd1/libcephfs1 to simply "ceph-common". That will make
/etc/ceph/ and /var/log/ceph present for the tests.

http://tracker.ceph.com/issues/10989 Refs: #10989

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 924f85f157)
2015-03-05 10:57:18 -08:00
Loic Dachary
452c651151 Merge pull request #3822 from dachary/wip-10947-setcrushmap
mon: timeout if crushtool takes longer than mon_lease

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
2015-03-05 14:28:27 +01:00
Josh Durgin
fa13a5dc5b qa: fix up rbd permissions test
! doesn't do what we want in bash -e. Use a more explicit helper
instead, and specify expected error codes.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2015-03-04 18:38:29 -08:00
Josh Durgin
cb840cc47d librbd: remove unneeded assert from unregister_watch()
Calling this unconditionally in close_image() simplifies error
handling when open_image() fails due to an error like EPERM from
registering a watch.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2015-03-04 17:52:43 -08:00
Sage Weil
8dc0bf8a16 osdc/Objecter: clean up oncommit_sync (and fix leak)
This was broken by e0707180de, which doesn't
clean up oncommit_sync for a canceled (linger) request.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-03-04 11:48:22 -08:00
Sage Weil
f7d35b9351 osdc/Objecter: count oncommit_sync as uncommitted
Just be consistent.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-03-04 10:28:11 -08:00
Noah Watkins
099264fb17 hadoop: workunits don't need java path
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit b3329a961b)

Conflicts:
	qa/workunits/hadoop/terasort.sh
2015-03-04 09:58:38 -08:00
Noah Watkins
2f2ace317c qa: update old replication tests
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit 15da810086)
2015-03-04 09:58:37 -08:00
Samuel Just
569b12035a Merge pull request #3789 from athanatos/wip-9891
DBObjectMap: lock header_lock on sync()

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-03-04 07:11:40 -08:00
Josh Durgin
8aafa04731 Merge pull request #3864 from ceph/wip-10968
librbd: delay completions for AioRequest

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-03-03 17:59:05 -08:00
Matt Benjamin
a6a6df6821 cmake: build fixes
* librbd
* test/ceph_dencoder

Signed-off-by: Matt Benjamin <matt@cohortfs.com>
(cherry picked from commit 9ad02c9303)
2015-03-03 11:22:42 -08:00
Jason Dillaman
137800a3c9 librbd: delay completion of AioRequest::read_from_parent
If the object map is enabled, it's possible for a read request to
instantly complete due to the skipped librados operations.  Now
AioRequest will block the completion of read_from_parent requests
to prevent the possibility of the parent image being closed while
the read_from_parent method invocation is in-progress.

Fixes: #10968
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-03-03 11:33:03 -05:00
Jason Dillaman
7d2fe5b8f3 librbd: allow AioCompletions to be blocked
Blocked AioCompletions will not fire their callback until unblocked.
This is an expansion / replacement of the previous 'building' flag
used to block completions while additional requests were added to the
completion.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-03-02 21:18:39 -05:00
Jason Dillaman
416ce7621d librbd: delete Contexts when object map aio_update not required
If an object map update is not required when modifying an image,
properly free the memory allocated for the callback Context.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-03-02 21:18:39 -05:00
Jason Dillaman
1bfd760898 librbd: handle possible aio_read return error code
AioRead and CopyupRequest were not properly handling possible
error codes from aio_read.  They now correctly free the completion
and invoke the callback context.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-03-02 21:18:39 -05:00
Jason Dillaman
fb2caa0141 librbd: add log message for completion of AioRequest
The log message will simplify future debugging activities.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-03-02 21:18:39 -05:00
Loic Dachary
1e3f814869 mon: ignore crushtool validation if too long
The crushtool is aborted if it takes more than mon lease seconds. Since
the monitor blocks while running it, this is mandatory otherwise the
monitor will be considered down and new elections triggered.

http://tracker.ceph.com/issues/10947 Fixes: #10947

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-03 02:13:27 +01:00
Loic Dachary
7a5a635ffb mon: do not hardwire crushtool command line
Make crushtool a configuration value that defaults to crushtool and
allow it to be injected. It helps with testing: the command can be
replaced with another that misbehaves in various ways.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-03-03 02:13:08 +01:00
Josh Durgin
8a83c824a0 Merge pull request #3850 from ceph/wip-10962
test/cli-integration/rbd: updated to new CLI 

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-03-02 16:53:29 -08:00
Jason Dillaman
eca153e910 test/cli-integration/rbd: updated to new CLI
rbd CLI now includes rbd image flags and no longer defaults
to enabling the new exclusive locking feature.

Fixes: #10962
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-03-02 18:47:54 -05:00
Jason Dillaman
6c2d92948c rbd: permit v2 striping for clones and imports
rbd did not previously support specifying striping params
for cloned and imported images.  Extend the behavior to
these other CLI commands.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-03-02 18:46:56 -05:00
Jason Dillaman
b5050b6ac5 rbd: fixed formatted output of rbd image features
All feature flags were being displayed when using JSON/XML
formatted output.  Now use the same formatting routing for
plain/JSON/XML output for features and flags.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-03-02 17:39:20 -05:00
Josh Durgin
172f24ccc6 Merge pull request #3848 from ceph/wip-10990
qa/workunits/rbd/copy.sh: remove all image locks

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-03-02 14:28:47 -08:00