]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agoqa/workunits/rbd: respect RBD_CREATE_ARGS environment variable 9721/head
Mykola Golub [Tue, 14 Jun 2016 12:28:06 +0000 (15:28 +0300)]
qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable

Fixes: http://tracker.ceph.com/issues/16289
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 3048d3c7ce800a6174c54946b838e4e4079ec609)

9 years agoMerge pull request #8938 from SUSE/wip-15739-jewel
Nathan Cutler [Wed, 8 Jun 2016 10:00:31 +0000 (12:00 +0200)]
Merge pull request #8938 from SUSE/wip-15739-jewel

jewel: ceph.spec.in: drop support for RHEL<7 and SUSE<1210 in jewel and above

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
9 years agoMerge pull request #9430 from ceph/wip-manila-backports
John Spray [Fri, 3 Jun 2016 11:37:00 +0000 (12:37 +0100)]
Merge pull request #9430 from ceph/wip-manila-backports

jewel: backports needed for Manila

Reviewed-by: John Spray <john.spray@redhat.com>
9 years agoMerge pull request #9423 from dillaman/wip-16101
Jason Dillaman [Thu, 2 Jun 2016 16:03:12 +0000 (12:03 -0400)]
Merge pull request #9423 from dillaman/wip-16101

jewel: rbd-mirror: replicate cloned images

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agopybind: configurable cephfs_vol_client prefix and ns_prefix. 9430/head
Xiaoxi Chen [Tue, 26 Apr 2016 22:51:48 +0000 (17:51 -0500)]
pybind: configurable cephfs_vol_client prefix and ns_prefix.

Which is useful if we would like to have multiple backends
in manila and potentially set different layout based on prefix.

And also make ns_prefix configurable also in order to support
multiple backend.

Fixes #15417

Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
(cherry picked from commit d1a21b07ede77ab3f2be7a753426d76de0343086)

9 years agoceph_volume_client: evict client also based on mount path
Ramana Raja [Wed, 13 Apr 2016 08:33:51 +0000 (14:03 +0530)]
ceph_volume_client: evict client also based on mount path

Evict clients based on not just their auth ID, but also based on the
volume path mounted. This is needed for the Manila use-case, where
the clients using an auth ID are denied further access to a share.

Fixes: http://tracker.ceph.com/issues/15855
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit 68714b9dda8ed6010cad6730e0ddf54b3219150d)
(cherry picked from commit aaa0e9aea9fcf2f63e73e544bd40c10a0d694408)

9 years agoclient: report root's quota in statfs
John Spray [Wed, 11 May 2016 12:18:23 +0000 (13:18 +0100)]
client: report root's quota in statfs

When user is mounted a quota-restricted inode
as the root, report that inode's quota status
as the filesystem statistics in statfs.

This allows us to have a fairly convincing illusion
that someone has a filesystem to themselves, when
they're really mounting a restricted part of
the larger global filesystem.

Fixes: http://tracker.ceph.com/issues/15599
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit b6d2b6d1a51969c210ae75fef93c71ac21f511a6)

9 years agopybind: fix unicode handling in CephFSVolumeClient::purge
John Spray [Fri, 1 Apr 2016 13:27:31 +0000 (14:27 +0100)]
pybind: fix unicode handling in CephFSVolumeClient::purge

os.path.join is sensitive to string encoding, but
just doing a straight substitution should not be.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit e590f4d05fdb46747e83e35e66a26d9f4aa0314d)

9 years agoqa/workunits/rbd: basic cloned image test 9423/head
Jason Dillaman [Thu, 26 May 2016 16:49:45 +0000 (12:49 -0400)]
qa/workunits/rbd: basic cloned image test

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 943ff829874f96f720d6c6299e1212e4da24c6c5)

9 years agorbd-mirror: copy snapshot parent image settings
Jason Dillaman [Thu, 26 May 2016 12:22:16 +0000 (08:22 -0400)]
rbd-mirror: copy snapshot parent image settings

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit f5fd09373714ebe8886bcf51bb97732038fffe55)

9 years agocls_rbd: asynchronous helper method to set parent
Jason Dillaman [Thu, 26 May 2016 16:01:15 +0000 (12:01 -0400)]
cls_rbd: asynchronous helper method to set parent

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit fcfdebb471650a1730306f6a309f1775ba7a5eee)

9 years agorbd-mirror: add support for cloning images from mirrored parent
Jason Dillaman [Wed, 25 May 2016 21:38:06 +0000 (17:38 -0400)]
rbd-mirror: add support for cloning images from mirrored parent

Fixes: http://tracker.ceph.com/issues/14937
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit ae6e03dfb1fa3be61e6deac4fe39982e7e7c18aa)

9 years agolibrbd: extend internal API to clone from open parent image
Jason Dillaman [Wed, 25 May 2016 21:36:06 +0000 (17:36 -0400)]
librbd: extend internal API to clone from open parent image

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit bfaa112c30da7091fd2d539b80a4a211176a6031)

9 years agocls_rbd: asynchronous helper methods to retrieve mirror image metadata
Jason Dillaman [Wed, 25 May 2016 21:13:59 +0000 (17:13 -0400)]
cls_rbd: asynchronous helper methods to retrieve mirror image metadata

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 5a26080447cfa4b7bfdacdc13242569258a64076)

9 years agorbd-mirror: helper state machine to open remote/read-only images
Jason Dillaman [Wed, 25 May 2016 19:16:28 +0000 (15:16 -0400)]
rbd-mirror: helper state machine to open remote/read-only images

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 3731c3c34c15f8dcfbab444bdbf3c05976b03431)

9 years agoMerge pull request #9409 from dillaman/wip-16068
Jason Dillaman [Tue, 31 May 2016 17:11:22 +0000 (13:11 -0400)]
Merge pull request #9409 from dillaman/wip-16068

jewel: rbd-mirror: support multiple replicated pools

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agorbd-mirror: cluster-level asok commands need to support multiple pools 9409/head
Jason Dillaman [Fri, 27 May 2016 15:40:58 +0000 (11:40 -0400)]
rbd-mirror: cluster-level asok commands need to support multiple pools

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit f4339ee8cb64d5f1a164e017fea942600ffb0ea9)

9 years agorbd-mirror: replayer should only handle a single pool
Jason Dillaman [Fri, 27 May 2016 03:26:20 +0000 (23:26 -0400)]
rbd-mirror: replayer should only handle a single pool

The pool watcher now only needs to scan a single pool for
its associated replayer since a peer is inherently tied to
a single pool.

Fixes: http://tracker.ceph.com/issues/16045
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit c5a8b780edeb9b62a601f0718459837f3d66e63d)

9 years agorbd-mirror: group peers by local pools
Jason Dillaman [Thu, 26 May 2016 20:03:59 +0000 (16:03 -0400)]
rbd-mirror: group peers by local pools

The peer structure is automatically unique per pool due to its
UUID, so grouping local pools by a single peer doesn't work.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 020f0282a0771c0d321732a62f53cee10a193715)

 Conflicts:
src/tools/rbd_mirror/ClusterWatcher.cc: trivial resolution

9 years agorbd-mirror: stop stale replayers before starting new replayers
Jason Dillaman [Wed, 25 May 2016 18:00:34 +0000 (14:00 -0400)]
rbd-mirror: stop stale replayers before starting new replayers

If the connection details are tweaked for a remote peer, stop
the existing replayer before potentially starting a new replayer
against the same remote.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 6a2adca2a47b384f64c20996b9fc77010a70bc22)

9 years agorbd-mirror: normalize debug log message prefix
Jason Dillaman [Thu, 26 May 2016 17:29:49 +0000 (13:29 -0400)]
rbd-mirror: normalize debug log message prefix

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit d52843190d84d533ab50a1702cf4a829b71ad68b)

9 years agoqa/workunits/rbd: create secondary replicated pool
Jason Dillaman [Thu, 26 May 2016 17:26:57 +0000 (13:26 -0400)]
qa/workunits/rbd: create secondary replicated pool

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 839544ee6446b959f01290667592e44fc5ee6991)

9 years agoMerge pull request #9373 from dillaman/wip-16055 9325/head
Jason Dillaman [Tue, 31 May 2016 15:51:05 +0000 (11:51 -0400)]
Merge pull request #9373 from dillaman/wip-16055

jewel: journal: support asynchronous shutdown

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9372 from dillaman/wip-15995
Jason Dillaman [Tue, 31 May 2016 15:49:39 +0000 (11:49 -0400)]
Merge pull request #9372 from dillaman/wip-15995

jewel: rbd-mirror: Delete local image mirror when remote image mirroring is disabled

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agorbd-mirror: image replay now uses asynchronous journal shutdown 9373/head
Jason Dillaman [Wed, 25 May 2016 06:31:11 +0000 (02:31 -0400)]
rbd-mirror: image replay now uses asynchronous journal shutdown

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit a1b0a1b1b9a237ae363a52c7b4038b19e87052a5)

9 years agolibrbd: integrate with async journaler shutdown API
Jason Dillaman [Wed, 25 May 2016 04:21:14 +0000 (00:21 -0400)]
librbd: integrate with async journaler shutdown API

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit ad297850b1be8ed38f77b86913c6821748f3368b)

9 years agojournal: extend asynchronous shutdown to facade
Jason Dillaman [Tue, 24 May 2016 20:12:16 +0000 (16:12 -0400)]
journal: extend asynchronous shutdown to facade

Fixes: http://tracker.ceph.com/issues/14530
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit f40c595255a6828e27abfe63b4209ebae03e237b)

9 years agojournal: trimmer now has asynchronous shutdown
Jason Dillaman [Tue, 24 May 2016 19:53:12 +0000 (15:53 -0400)]
journal: trimmer now has asynchronous shutdown

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 59ca9916ba2e2b144eff5ee471a314b9c4391936)

9 years agojournal: metadata init and shutdown now asynchronous
Jason Dillaman [Tue, 24 May 2016 19:36:17 +0000 (15:36 -0400)]
journal: metadata init and shutdown now asynchronous

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0543e1b29eb253bf1d9e9af7af6f22fa394dd854)

9 years agojournal: player shutdown is now handled asynchronously
Jason Dillaman [Tue, 24 May 2016 16:06:26 +0000 (12:06 -0400)]
journal: player shutdown is now handled asynchronously

Fixes: http://tracker.ceph.com/issues/15949
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 79b41346678b3acdeb547fe07e44d8d0543d37a7)

9 years agotest: use randomized write sizes for rbd-mirror stress test
Jason Dillaman [Tue, 24 May 2016 02:26:05 +0000 (22:26 -0400)]
test: use randomized write sizes for rbd-mirror stress test

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit b9edff2174ff04bb8b6353dd2d2218c64757aae1)

9 years agojournal: eliminate watch delay for object refetches
Jason Dillaman [Tue, 24 May 2016 02:21:33 +0000 (22:21 -0400)]
journal: eliminate watch delay for object refetches

The randomized write sizes of the modified rbd-mirror stress
test results in a lot of journal object with few entries.
Immediately fetch objects when performing a refetch check prior
to closing an empty object.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit d7b511b854c8ab633dcdb1c935014218b83f4e09)

9 years agojournal: keep active tag to assist with pruning watched objects
Jason Dillaman [Mon, 23 May 2016 18:57:03 +0000 (14:57 -0400)]
journal: keep active tag to assist with pruning watched objects

It's possible that there might be additional entries to prune in
objects that haven't been prefetched yet. Keep the active tag
to allow these entries to be pruned after they have been loaded.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0fb730e6be632e25d76695e1f37eba542162d620)

9 years agojournal: update commit entry object number upon overflow
Jason Dillaman [Mon, 23 May 2016 16:15:49 +0000 (12:15 -0400)]
journal: update commit entry object number upon overflow

Otherwise the recorded object positions might point to an older
object that doesn't contain the actual entry.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 5fbf5f82de8214c5c676d38feae7682a006fcab1)

9 years agojournal: cleanup watch refetch flag handling
Jason Dillaman [Mon, 23 May 2016 15:01:05 +0000 (11:01 -0400)]
journal: cleanup watch refetch flag handling

Clear the refetch required flag while scheduling the watch
and remove the stale object after the watch completes if still
empty. Previously, it was possible for the flag to become
out-of-sync with whether or not it was actually refreshed
and pruned.

Fixes: http://tracker.ceph.com/issues/15993
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit ff2cc27ae592646b495bf1b614d35bd50c091a3d)

9 years agorbd-mirror: test: added image-deleter test case when mirroring is disabled 9372/head
Ricardo Dias [Fri, 13 May 2016 15:47:25 +0000 (16:47 +0100)]
rbd-mirror: test: added image-deleter test case when mirroring is disabled

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit d85e312ead1da7c35d5ee4fe4be3d6e69a68b572)

9 years agorbd-mirror: Unregister clients from non-primary images journal
Ricardo Dias [Fri, 13 May 2016 15:44:53 +0000 (16:44 +0100)]
rbd-mirror: Unregister clients from non-primary images journal

A non-primary image may have registered clients on its journal
(for instance a primary image that was later demoted). We must
unregister the clients when disabling image mirroring with the
force option.

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit 9cb0b180bc8a12ea2ebb0d7e32279b696ddd127e)

9 years agorbd-mirror: test: Added unit test for testing image-deleter thread
Ricardo Dias [Tue, 19 Apr 2016 11:35:49 +0000 (12:35 +0100)]
rbd-mirror: test: Added unit test for testing image-deleter thread

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit ac9514941b0accb6c738ce4aa0953c36cdcf69a6)

9 years agorbd-mirror: test: Fixed test_PoolWatcher to support the new changes in PoolWatcher...
Ricardo Dias [Mon, 18 Apr 2016 11:22:19 +0000 (12:22 +0100)]
rbd-mirror: test: Fixed test_PoolWatcher to support the new changes in PoolWatcher class

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit e3677f115e1f369a49227fba51a1d34505d487ac)

9 years agorbd-mirror: Replayer: bootstrap existing mirrored images
Ricardo Dias [Tue, 5 Apr 2016 08:47:32 +0000 (09:47 +0100)]
rbd-mirror: Replayer: bootstrap existing mirrored images

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit 3c2615aa6da837bfef2365f701f56a34c49b536f)

9 years agorbd-mirror: replayer: Added image-deleter thread to replayer
Ricardo Dias [Thu, 28 Apr 2016 10:49:43 +0000 (11:49 +0100)]
rbd-mirror: replayer: Added image-deleter thread to replayer

Fixes: http://tracker.ceph.com/issues/14421
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit a6d698829d925894e4afcdec0ee42b1fc1205db0)

9 years agorbd-mirror: Added image-deleter thread to rbd-mirror
Ricardo Dias [Thu, 28 Apr 2016 10:48:05 +0000 (11:48 +0100)]
rbd-mirror: Added image-deleter thread to rbd-mirror

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit 011984d40bce448fe0febfc6a9fcf57d2c7b4768)

9 years agorbd-mirror: Added implementation of image-deleter thread
Ricardo Dias [Wed, 13 Apr 2016 14:17:40 +0000 (15:17 +0100)]
rbd-mirror: Added implementation of image-deleter thread

image-deleter thread will handle the deletion of local images that have
been disabled for mirroring by the primary site.

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit 6cc6e663ed2ec336a9475d93ab2cb605644e6ee0)

9 years agorbd-mirror: librbd::mirror_peer_list never returns -ENOENT
runsisi [Wed, 11 May 2016 12:42:37 +0000 (20:42 +0800)]
rbd-mirror: librbd::mirror_peer_list never returns -ENOENT

no need to check -ENOENT specially

Signed-off-by: runsisi <runsisi@zte.com.cn>
(cherry picked from commit 81ff42253369a9f57118bd26b29115c86a1748c5)

9 years agorbd-mirror: fix typo
runsisi [Wed, 11 May 2016 12:52:38 +0000 (20:52 +0800)]
rbd-mirror: fix typo

Signed-off-by: runsisi <runsisi@zte.com.cn>
(cherry picked from commit 25bfd4c786d0701fe6ae06e3d120098bd82f8aa0)

9 years agorbd-mirror: calculate behind_master only if mirror tag is not newer than master
Mykola Golub [Wed, 18 May 2016 07:07:55 +0000 (10:07 +0300)]
rbd-mirror: calculate behind_master only if mirror tag is not newer than master

Fixes: http://tracker.ceph.com/issues/15916
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit cbd8d526f94523c9de3c575d426063e63d7e1802)

9 years agoMerge pull request #9377 from dillaman/wip-16063
Jason Dillaman [Tue, 31 May 2016 15:48:06 +0000 (11:48 -0400)]
Merge pull request #9377 from dillaman/wip-16063

jewel: test: failure in journal.sh workunit test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agotest: workaround failure in journal.sh 9377/head
Mykola Golub [Wed, 25 May 2016 18:54:16 +0000 (21:54 +0300)]
test: workaround failure in journal.sh

With the changes to ensure that the commit position of a new
client is initialized to the minimum position of other clients,
the 'journal inspect/export' commands return zero records because
the master client has committed all of its entries.

Workaround this by restoring the initial commit position after
writing to the image.

Fixes: http://tracker.ceph.com/issues/16011
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit e9ed8ac33b1884c6ed5cdfb23023094ec790b116)

9 years agocls::journal: treat empty commit position as minimal
Mykola Golub [Wed, 25 May 2016 11:51:43 +0000 (14:51 +0300)]
cls::journal: treat empty commit position as minimal

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 16846e8085b0c594f065322a768e6dfcbd5d2444)

9 years agoMerge pull request #9376 from dillaman/wip-15994
Jason Dillaman [Tue, 31 May 2016 15:46:30 +0000 (11:46 -0400)]
Merge pull request #9376 from dillaman/wip-15994

jewel: cls_journal: initialize empty commit position upon client register

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agojewel: librbd: write-after-write might result in an inconsistent replicated image
Jason Dillaman [Tue, 31 May 2016 15:45:43 +0000 (11:45 -0400)]
jewel: librbd: write-after-write might result in an inconsistent replicated image

jewel: librbd: write-after-write might result in an inconsistent replicated image

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9318 from Abhishekvrshny/wip-15957-jewel
Jason Dillaman [Tue, 31 May 2016 15:30:47 +0000 (11:30 -0400)]
Merge pull request #9318 from Abhishekvrshny/wip-15957-jewel

jewel: Metadata config overrides are applied synchronously

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9317 from Abhishekvrshny/wip-15956-jewel
Jason Dillaman [Tue, 31 May 2016 15:29:45 +0000 (11:29 -0400)]
Merge pull request #9317 from Abhishekvrshny/wip-15956-jewel

jewel: rbd-mirror should disable the rbd cache for local images

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9403 from dachary/wip-16088-jewel
Kefu Chai [Tue, 31 May 2016 10:48:58 +0000 (18:48 +0800)]
Merge pull request #9403 from dachary/wip-16088-jewel

jewel: tests: rm -fr /tmp/*virtualenv*

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agotests: rm -fr /tmp/*virtualenv* 9403/head
Loic Dachary [Fri, 20 May 2016 11:19:07 +0000 (13:19 +0200)]
tests: rm -fr /tmp/*virtualenv*

Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 8f0eefba00d1c6ad656302a608217fc3395d0401)

9 years agoMerge pull request #8968 from Abhishekvrshny/wip-15728-jewel
Kefu Chai [Tue, 31 May 2016 05:46:31 +0000 (13:46 +0800)]
Merge pull request #8968 from Abhishekvrshny/wip-15728-jewel

jewel: osd: acting_primary not updated on split

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #9100 from Abhishekvrshny/wip-15856-jewel
Kefu Chai [Tue, 31 May 2016 05:42:28 +0000 (13:42 +0800)]
Merge pull request #9100 from Abhishekvrshny/wip-15856-jewel

jewel: Hammer (0.94.3) OSD does not delete old OSD Maps in a timely fashion (maybe at all?)

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #9245 from dreamhost/wip-15974-jewel
Yehuda Sadeh [Mon, 30 May 2016 10:53:45 +0000 (13:53 +0300)]
Merge pull request #9245 from dreamhost/wip-15974-jewel

rgw: fix manager selection when APIs customized

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoMerge pull request #9239 from yehudasa/wip-15886-jewel
Orit Wasserman [Mon, 30 May 2016 09:15:18 +0000 (11:15 +0200)]
Merge pull request #9239 from yehudasa/wip-15886-jewel

rgw: keep track of written_objs correctly
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
9 years agocls_journal: Select min commit position for new clients 9376/head
Venky Shankar [Thu, 19 May 2016 17:15:34 +0000 (22:45 +0530)]
cls_journal: Select min commit position for new clients

When a new client registers, its commit position is initialized
to the least commit position of all other clients.

Fixes: http://tracker.ceph.com/issues/15757
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit dd2e3dae8adb3778e7e381db5dbfca0948571c55)

9 years agocls_journal: remove duplicated key generation
runsisi [Mon, 9 May 2016 07:15:31 +0000 (15:15 +0800)]
cls_journal: remove duplicated key generation

Signed-off-by: runsisi <runsisi@zte.com.cn>
(cherry picked from commit 715e99c83e1ebc01ceb9eff0f66da8e2b598766a)

9 years agorgw: fix manager selection when APIs customized 9245/head
Robin H. Johnson [Fri, 20 May 2016 23:00:33 +0000 (16:00 -0700)]
rgw: fix manager selection when APIs customized

When modifying rgw_enable_apis per RGW instance, such as for staticsites, you
can end up with RESTManager instance being null in some cases, which returns a
HTTP 405 MethodNotAllowed to all requests.

Example configuration to trigger the bug:
rgw_enable_apis = s3website

Backport: jewel
X-Note: Patch from Yehuda in private IRC discussion, 2016/05/20.
Fixes: http://tracker.ceph.com/issues/15973
Fixes: http://tracker.ceph.com/issues/15974
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
(cherry picked from commit 7c7a465b55f7100eab0f140bf54f9420abd1c776)

9 years agoosd/OpRequest: reset connection upon unregister 9100/head
Kefu Chai [Fri, 13 May 2016 03:26:31 +0000 (11:26 +0800)]
osd/OpRequest: reset connection upon unregister

this helps to free the resources referenced by the connection, among
other things, in the case of MOSDOp, the OSD::Session and OSDMap. this
helps to free the resource earlier and trim the osdmaps in time.

Fixes: http://tracker.ceph.com/issues/13990
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 87850e96ea6fa45a8368bacabee50f9e95b40ae9)

9 years agoosd: reset session->osdmap if session is not waiting for a map anymore
Kefu Chai [Thu, 12 May 2016 12:28:11 +0000 (20:28 +0800)]
osd: reset session->osdmap if session is not waiting for a map anymore

we should release the osdmap reference once we are done with it,
otherwise we might need to wait very long to update that reference with
a newer osdmap ref. this appears to be an OSDMap leak: it is held by an
quiet OSD::Session forever.

the osdmap is not reset in OSD::session_notify_pg_create(), because its
only caller is wake_pg_waiters(), which will call
dispatch_session_waiting() later. and dispatch_session_waiting() will
check the session->osdmap, and will also reset the osdmap if
session->waiting_for_pg.empty().

Fixes: http://tracker.ceph.com/issues/13990
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 82b0af7cedc3071cd83ee53479f834c23c62b7d0)

9 years agolibrbd: metadata retrieval added to open image state machine 9318/head
Jason Dillaman [Wed, 18 May 2016 23:19:24 +0000 (19:19 -0400)]
librbd: metadata retrieval added to open image state machine

Fixes: http://tracker.ceph.com/issues/15928
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit b64cb31f8e7796175b4709929c017b3236649462)

9 years agocls_rbd: async version of metadata_list helper method
Jason Dillaman [Wed, 18 May 2016 21:50:07 +0000 (17:50 -0400)]
cls_rbd: async version of metadata_list helper method

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 985cb38211c51c95d84479df231c4f53847cb2ec)

9 years agorbd-mirror: disable librbd caching for replicated images 9317/head
Jason Dillaman [Thu, 19 May 2016 00:53:26 +0000 (20:53 -0400)]
rbd-mirror: disable librbd caching for replicated images

Each image has its own cache and each cache uses its own thread. With
a large replicated cluster, this could result in thousands of extra
threads and gigabytes of extra memory.

Fixes: http://tracker.ceph.com/issues/15930
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit ea35f148257282fe3f3ae02fe7a26cf245cda952)

9 years agorpm: Restore /var/run/ceph context manually 8938/head
Boris Ranto [Mon, 23 May 2016 15:06:19 +0000 (17:06 +0200)]
rpm: Restore /var/run/ceph context manually

The fixfiles command won't fix label for /var/run/ceph (/run is probably
excluded from relabel), we need to restore the context manually.

Signed-off-by: Boris Ranto <branto@redhat.com>
(cherry picked from commit 6de39ce73737f79d4511dfc4e1d10d7f3733ab1b)

9 years agorpm: Mute semodule in postun script
Boris Ranto [Fri, 20 May 2016 06:09:42 +0000 (08:09 +0200)]
rpm: Mute semodule in postun script

Currently, we don't mute the semodule output in postun script. This
results in the following message when removing ceph-selinux package:

libsemanage.semanage_direct_remove_key: Removing last ceph module (no
other ceph module exists at another priority).

The fix is to simply mute the output of the command.

Signed-off-by: Boris Ranto <branto@redhat.com>
(cherry picked from commit 3c104b106540fabdba43e0d04a3828d77f83e89d)

9 years agoinstall-deps.sh: systemd-rpm-macros must be installed on SUSE
Nathan Cutler [Wed, 27 Apr 2016 09:13:06 +0000 (11:13 +0200)]
install-deps.sh: systemd-rpm-macros must be installed on SUSE

Otherwise the script breaks.

Fixes: http://tracker.ceph.com/issues/15627
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit a7f5ad5f6f9c01ef81f90a7071b6e2243b6da4e7)

9 years agorpm: Drop SELinux priority setting
Boris Ranto [Tue, 10 May 2016 16:20:13 +0000 (18:20 +0200)]
rpm: Drop SELinux priority setting

Older versions of semodule binary that are in Centos/RHEL do not
support priority setting, dropping it.

Fixes: #15822
Signed-off-by: Boris Ranto <branto@redhat.com>
(cherry picked from commit 7e606f29f499eac83ecb7053ea6874fcfd092924)

9 years agorpm: Fix SELinux relabel on fedora
Boris Ranto [Wed, 4 May 2016 07:09:47 +0000 (09:09 +0200)]
rpm: Fix SELinux relabel on fedora

The SELinux userspace utilities stopped providing versions when they
switched to CIL language. We need to use a different technique to
relabel the files.

Fixes: #15725
Signed-off-by: Boris Ranto <branto@redhat.com>
(cherry picked from commit bd26641d705a34a1148a781eea08d203e81b750d)

9 years agoTest-enable XIO messenger and IB/RDMA support
Nathan Cutler [Tue, 12 Apr 2016 13:33:45 +0000 (15:33 +0200)]
Test-enable XIO messenger and IB/RDMA support

Fixes: http://tracker.ceph.com/issues/15472
Signed-off-by: Lars Marowsky-Bree <lmb@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit d4b74c56d6cbb2c6852bf66f2f34b8a877d7a9ef)

9 years agorpm: do a full make check when --with-tests is given
Nathan Cutler [Thu, 28 Apr 2016 17:29:00 +0000 (19:29 +0200)]
rpm: do a full make check when --with-tests is given

The check-local target tests the CLI tools only.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit e1514809ae3d2df08a0c47882f9b3bd0ed68d200)

9 years agorpm: drop sysvinit bits from relabel_files function
Nathan Cutler [Tue, 26 Apr 2016 15:03:28 +0000 (17:03 +0200)]
rpm: drop sysvinit bits from relabel_files function

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 20df58799a4853ed3798501176988ffaf888936b)

9 years agorpm: replace literal paths with RPM macros
Nathan Cutler [Sun, 11 Oct 2015 16:27:45 +0000 (18:27 +0200)]
rpm: replace literal paths with RPM macros

The only place we should write out literal paths is in the RPM scriptlets,
and there only for things that are not installed by this package.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit e0346b36fc0e6e17c80c047b13997448ccf1c76e)

9 years agorpm: drop udev/95-ceph-osd-alt.rules
Nathan Cutler [Sun, 11 Oct 2015 16:05:12 +0000 (18:05 +0200)]
rpm: drop udev/95-ceph-osd-alt.rules

This udev rules file was needed on older RHEL platforms, which are
unsupported as of jewel.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit ee4acb31593dd33da99138998fd0f30ebc2f1a6e)

9 years agorpm: global replace $RPM_BUILD_ROOT with %{buildroot}
Nathan Cutler [Sun, 11 Oct 2015 15:20:46 +0000 (17:20 +0200)]
rpm: global replace $RPM_BUILD_ROOT with %{buildroot}

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit bed92b6a86cdef784e89c38952fa779ce5fc5a91)

9 years agorpm: put dependencies in alphabetical order
Nathan Cutler [Sun, 11 Oct 2015 08:37:47 +0000 (10:37 +0200)]
rpm: put dependencies in alphabetical order

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 66042c03df012754215ed848e475f2195ee988a0)

9 years agorpm: drop sysvinit-specific dependencies
Nathan Cutler [Sun, 11 Oct 2015 08:32:46 +0000 (10:32 +0200)]
rpm: drop sysvinit-specific dependencies

Obsolete in jewel and above.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit c655cb896ad10e001b95848f4a4b64dd1ef6984f)

9 years agorpm: move boost-random dependency to appropriate section
Nathan Cutler [Sun, 11 Oct 2015 08:32:05 +0000 (10:32 +0200)]
rpm: move boost-random dependency to appropriate section

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 46b16c19f73d82cc357b16e6201926a3479046f2)

9 years agorpm: move unified python-sphinx build dependency
Nathan Cutler [Sat, 23 Apr 2016 17:57:49 +0000 (19:57 +0200)]
rpm: move unified python-sphinx build dependency

Now that the python-sphinx build dependency is unified, move it
to the proper section of the spec file.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 1d897da861c6134778136fa2b8b33e36c08faff9)

9 years agorpm: drop init-ceph.in-fedora.patch
Nathan Cutler [Sat, 23 Apr 2016 17:41:06 +0000 (19:41 +0200)]
rpm: drop init-ceph.in-fedora.patch

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit e8cf501d0f22c757a0860a0c91dcb1d7a472ed34)

9 years agorpm: drop dead conditionals
Nathan Cutler [Sun, 11 Oct 2015 08:22:37 +0000 (10:22 +0200)]
rpm: drop dead conditionals

This commit drops conditionals that no longer serve any purpose, since
jewel and above do not support the distro versions they are checking for.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 1332fac70e537014b5e03810aa983e2c9210d8dc)

9 years agorpm: drop python-argparse dependency
Nathan Cutler [Sun, 11 Oct 2015 08:18:33 +0000 (10:18 +0200)]
rpm: drop python-argparse dependency

This was only necessary for older (now unsupported) distro versions.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 6c42066d488d03142a56f92cff99d9c29d106214)

9 years agorpm: drop _with_systemd
Nathan Cutler [Sun, 11 Oct 2015 08:02:40 +0000 (10:02 +0200)]
rpm: drop _with_systemd

Ceph versions jewel and above only support systemd.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 2ca6dd250b6a049f27fa17c5e8ca11674acb63f6)

9 years agorpm: drop python_sitelib/sitearch conditional
Nathan Cutler [Sun, 11 Oct 2015 07:43:06 +0000 (09:43 +0200)]
rpm: drop python_sitelib/sitearch conditional

This conditional was required to support older versions of RHEL/CentOS that are
no longer supported in infernalis and above.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 98d52120f89af3e93896d0518dbea4c4f660af48)

9 years agoudev: remove 60-ceph-partuuid-workaround-rules
Sage Weil [Mon, 18 Apr 2016 13:16:02 +0000 (09:16 -0400)]
udev: remove 60-ceph-partuuid-workaround-rules

These were added to get /dev/disk/by-partuuid/ symlinks to work on
wheezy.  They are no longer needed for the supported distros (el7+,
jessie+, trusty+), and they apparently break dm by opening devices they
should not.

Fixes: http://tracker.ceph.com/issues/15516
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9f77244b8e0782921663e52005b725cca58a8753)

9 years agorpm: refrain from installing systemd unit files twice
Nathan Cutler [Wed, 20 Apr 2016 15:21:56 +0000 (17:21 +0200)]
rpm: refrain from installing systemd unit files twice

These files are already installed by systemd/Makefile.am

Fixes: http://tracker.ceph.com/issues/15549
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 6d3cbaa509525f1807ac34bf5fed0fe99255f40f)

9 years agotest/ec: build the libs only when 'make check'
Boris Ranto [Tue, 23 Feb 2016 04:57:14 +0000 (05:57 +0100)]
test/ec: build the libs only when 'make check'

Currently, we are always building the erasure code libraries while we
need them only when 'make check' is run. Moving the test libraries to
check_LTLIBRARIES should fix this for us.

We no longer need to remove the libec libs manually, remove the lines
that do that.

Signed-off-by: Boris Ranto <branto@redhat.com>
(cherry picked from commit 0bbfea5cf13c138bbb2f0993607fa0dbf756281b)

9 years agojournal: replay position might change after pruning stale tags 9269/head
Jason Dillaman [Thu, 19 May 2016 19:52:16 +0000 (15:52 -0400)]
journal: replay position might change after pruning stale tags

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0f5f1c375d8ef7b301cfd20b6848bdc81a761746)

9 years agolibrbd: delay commit of overwritten journal event
Jason Dillaman [Thu, 19 May 2016 19:50:04 +0000 (15:50 -0400)]
librbd: delay commit of overwritten journal event

With the cache enabled and write-after-write IOs to the same
object extents, it was possible for the overwritten journal event
to be committed before the overwriter journal event was written
to disk.  If a client crash occurs before the event is written,
the image will be inconsistent on replay.

Fixes: http://tracker.ceph.com/issues/15938
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit e8bf64cc85ffe3d2dda23eab1834f7a5f104f6fe)

9 years agoObjectCacher: pass new journal tid when overwriting extent
Jason Dillaman [Thu, 19 May 2016 18:13:46 +0000 (14:13 -0400)]
ObjectCacher: pass new journal tid when overwriting extent

librbd needs to ensure the new journal event has been safely
committed to disk before it can mark an overwritten journal
event as committed.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0051316effe0b25804378975b117691d7ad08a3b)

9 years agoqa/workunits/rbd: record rbd CLI debug messages during mirror stress
Jason Dillaman [Thu, 19 May 2016 17:48:22 +0000 (13:48 -0400)]
qa/workunits/rbd: record rbd CLI debug messages during mirror stress

The debug messages from 'rbd bench-write' and 'rbd snap create',
in addition to the existing debug messages from rbd-mirror, make
it possible to determine the source of any image inconsistency.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 714ed5e64e65fed9ac886537becf3a85ae6ae7fd)

9 years agorgw: keep track of written_objs correctly 9239/head
Yehuda Sadeh [Mon, 16 May 2016 21:35:12 +0000 (14:35 -0700)]
rgw: keep track of written_objs correctly

Fixes: http://tracker.ceph.com/issues/15886
Only add a rados object to the written_objs list if the write
was successful. Otherwise if the write will be canceled for some
reason, we'd remove an object that we didn't write to. This was
a problem in a case where there's multiple writes that went to
the same part. The second writer should fail the write, since
we do an exclusive write. However, we added the object's name
to the written_objs list anyway, which was a real problem when
the old processor was disposed (as it was clearing the objects).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 8fd74d11682f9d0c9085d2dc445fc3eb5631f6e0)

9 years agoMerge pull request #9232 from jdurgin/wip-mirror-workunit-jewel
Jason Dillaman [Fri, 20 May 2016 18:57:00 +0000 (14:57 -0400)]
Merge pull request #9232 from jdurgin/wip-mirror-workunit-jewel

jewel: qa/workunits/rbd: fixed rbd_mirror teuthology runtime errors

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoqa/workunits/rbd: fixed rbd_mirror teuthology runtime errors 9232/head
Jason Dillaman [Wed, 18 May 2016 18:17:13 +0000 (14:17 -0400)]
qa/workunits/rbd: fixed rbd_mirror teuthology runtime errors

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 8ef09c4d8d3c7c6fbc9b6f7ef17cca0179e73468)

9 years agoMerge pull request #9226 from dillaman/wip-15950
Jason Dillaman [Fri, 20 May 2016 13:02:51 +0000 (09:02 -0400)]
Merge pull request #9226 from dillaman/wip-15950

jewel: rbd-mirror: potential crash during image status update

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9069 from dillaman/fixup-mirror_image_status_list-jewel
Jason Dillaman [Fri, 20 May 2016 13:02:06 +0000 (09:02 -0400)]
Merge pull request #9069 from dillaman/fixup-mirror_image_status_list-jewel

jewel: cls::rbd: mirror_image_status_list returned max 64 items

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agojournal: reset watch step after pruning expired tag 9226/head
Jason Dillaman [Thu, 19 May 2016 14:11:12 +0000 (10:11 -0400)]
journal: reset watch step after pruning expired tag

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 48c2f4e079000021b6ebe807bb1dba0dc1a6a11d)