]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoMerge pull request #5252 from ceph/wip-12021-hammer
Sage Weil [Thu, 16 Jul 2015 15:04:52 +0000 (11:04 -0400)]
Merge pull request #5252 from ceph/wip-12021-hammer

OSDMonitor: allow addition of cache pool with non-empty snaps with co…

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4891 from theanalyst/wip-11740-hammer
Loic Dachary [Wed, 15 Jul 2015 23:15:51 +0000 (01:15 +0200)]
Merge pull request #4891 from theanalyst/wip-11740-hammer

crush: take crashes due to invalid arg

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4899 from theanalyst/wip-11911-hammer
Loic Dachary [Tue, 14 Jul 2015 18:43:02 +0000 (20:43 +0200)]
Merge pull request #4899 from theanalyst/wip-11911-hammer

start_flush: filter out removed snaps before determining snapc's

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4868 from SUSE/wip-11879-hammer
Loic Dachary [Tue, 14 Jul 2015 18:42:45 +0000 (20:42 +0200)]
Merge pull request #4868 from SUSE/wip-11879-hammer

Clock skew causes missing summary and confuses Calamari

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4883 from SUSE/wip-11638-hammer
Loic Dachary [Tue, 14 Jul 2015 14:42:12 +0000 (16:42 +0200)]
Merge pull request #4883 from SUSE/wip-11638-hammer

ceph.spec.in: ceph-common subpackage def needs tweaking for SUSE/openSUSE

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoMerge pull request #5208 from tchaikov/wip-11975-hammer
Kefu Chai [Sat, 11 Jul 2015 18:19:57 +0000 (02:19 +0800)]
Merge pull request #5208 from tchaikov/wip-11975-hammer

tests: TEST_crush_reject_empty must not run a mon

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agocrush/CrushTester: return EINVAL if crushtool returns non-zero 5208/head
Kefu Chai [Sat, 11 Jul 2015 15:04:33 +0000 (23:04 +0800)]
crush/CrushTester: return EINVAL if crushtool returns non-zero

this backports a tiny part of ec02441, otherwise
CrushTester will return 1, and "ceph" cli will take it
as EPERM, which is miss leading, and fails
osd-crush.sh:TEST_crush_reject_empty.

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agotests: TEST_crush_reject_empty must not run a mon
Loic Dachary [Fri, 10 Jul 2015 14:23:47 +0000 (16:23 +0200)]
tests: TEST_crush_reject_empty must not run a mon

* Back in Hammer, the osd-crush.sh individual tests did not run the
  monitor, it was taken care of by the run() function. An attempt to run
  another mon fails with:

  error: IO lock testdir/osd-crush/a/store.db/LOCK: Resource temporarily
  unavailable

  This problem was introduced by cc1cc033930e8690a57674e842a003f6bbc7a242
  from https://github.com/ceph/ceph/pull/4936
* replace test/mon/mon-test-helpers.sh with test/ceph-helpers.sh as
  we need run_osd() in this newly added test
* update the run-dir of commands: ceph-helpers.sh use the different
  convention for the run-dir of daemons.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoceph-helpers: implement test_expect_failure
Loic Dachary [Tue, 21 Apr 2015 14:11:33 +0000 (16:11 +0200)]
ceph-helpers: implement test_expect_failure

To display the output in case the command did not fail with the expected
output.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit 5871781b10ff0b26c731b70d1898c474006cbee3)

10 years agotests: display the output of failed make check runs
Loic Dachary [Wed, 10 Jun 2015 21:16:01 +0000 (23:16 +0200)]
tests: display the output of failed make check runs

After a make check fails, it shows a summary but not the output of the
failed tests although they contain information to diagnose the problem.

Set the VERBOSE=true automake variable which is documented to collect
and display the failed script output at the end of a run (the content of
the test-suite.log file (valid from automake-1.11 up).

http://www.gnu.org/software/automake/manual/automake.html#index-VERBOSE

Also remove the run-make-check.sh that did the same in a way that is not
compatible with automake-1.11.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit 3a55cb029bb7db9542d2b14f2deda90feb0ae0f6)

10 years agoMerge pull request #4889 from theanalyst/wip-11484-hammer
Loic Dachary [Fri, 10 Jul 2015 08:17:24 +0000 (10:17 +0200)]
Merge pull request #4889 from theanalyst/wip-11484-hammer

OPT_INT option interprets 3221225472 as -1073741824, and crashes in Throttle::Throttle()

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4776 from tchaikov/wip-11279-hammer
Loic Dachary [Fri, 10 Jul 2015 08:16:25 +0000 (10:16 +0200)]
Merge pull request #4776 from tchaikov/wip-11279-hammer

ceph: cli interactive mode does not understand quotes

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4657 from ceph/wip-hammer-11535-admin-socket
Loic Dachary [Fri, 10 Jul 2015 08:14:42 +0000 (10:14 +0200)]
Merge pull request #4657 from ceph/wip-hammer-11535-admin-socket

common/admin_socket: close socket descriptor in destructor

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4687 from SUSE/wip-7387-hammer
Kefu Chai [Fri, 10 Jul 2015 08:07:48 +0000 (16:07 +0800)]
Merge pull request #4687 from SUSE/wip-7387-hammer

utf8 and old gcc breakage on RHEL6.5

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #5122 from theanalyst/wip-11982-hammer
Kefu Chai [Fri, 10 Jul 2015 08:00:00 +0000 (16:00 +0800)]
Merge pull request #5122 from theanalyst/wip-11982-hammer

ceph fails to compile with boost 1.58

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4936 from ceph/wip-11975-hammer
Kefu Chai [Fri, 10 Jul 2015 07:59:35 +0000 (15:59 +0800)]
Merge pull request #4936 from ceph/wip-11975-hammer

mon crashes when "ceph osd tree 85 --format json"

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4892 from theanalyst/wip-11760-hammer
Loic Dachary [Fri, 10 Jul 2015 07:48:44 +0000 (09:48 +0200)]
Merge pull request #4892 from theanalyst/wip-11760-hammer

ceph-disk: get_partition_type fails on /dev/cciss...

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4877 from SUSE/wip-11902-hammer
Loic Dachary [Fri, 10 Jul 2015 07:43:57 +0000 (09:43 +0200)]
Merge pull request #4877 from SUSE/wip-11902-hammer

admin/build-doc: script fails silently under certain circumstances

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: add "--check" to CrushTester::test_with_crushtool() 4936/head
Kefu Chai [Tue, 26 May 2015 10:11:59 +0000 (18:11 +0800)]
mon: add "--check" to CrushTester::test_with_crushtool()

so we don't need to call CrushTester::check_name_maps() in OSDMonitor.cc
anymore.

Fixes: #11680
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit c6e634875316cf17368d497e6dc4f6f4b5dd65d2)

10 years agocrushtool: rename "--check-names" to "--check"
Kefu Chai [Tue, 26 May 2015 09:51:50 +0000 (17:51 +0800)]
crushtool: rename "--check-names" to "--check"

* because "--check" also checks for the max_id

Note: edited since we do not have the fix introduced in 46103b2 in
      hammer.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 9381d53acdce85fcbff828926b911e050ba36e51)

10 years agomon: check the new crush map against osdmap.max_osd
Kefu Chai [Tue, 26 May 2015 08:58:23 +0000 (16:58 +0800)]
mon: check the new crush map against osdmap.max_osd

Fixes: #11680
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 22e6bd6e01d5df3f3e897562597e22ca1737f8c8)

10 years agocrushtool: enable check against max_id
Kefu Chai [Tue, 26 May 2015 07:35:10 +0000 (15:35 +0800)]
crushtool: enable check against max_id

add an argument "max_id" for "--check-names" to check if any item
has an id greater or equal to given "max_id" in crush map.

Note: edited since we do not have the fix introduced in 46103b2 in
      hammer.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit d0658dd3cdf072b2a7c2a1986f8785a697c591ee)

10 years agocrush/CrushTester: check if any item id is too large
Kefu Chai [Tue, 26 May 2015 07:34:33 +0000 (15:34 +0800)]
crush/CrushTester: check if any item id is too large

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit e640d89240017956b8c7411babb86be0f1e2b172)

10 years agomon: validate new crush for unknown names
Kefu Chai [Mon, 25 May 2015 12:14:32 +0000 (20:14 +0800)]
mon: validate new crush for unknown names

* the "osd tree dump" command enumerates all buckets/osds found in either the
  crush map or the osd map. but the newly set crushmap is not validated for
  the dangling references, so we need to check to see if any item in new crush
  map is referencing unknown type/name when a new crush map is sent to
  monitor, reject it if any.

Fixes: #11680
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit a955f36a509e5412b1f72632a1a956d99e768e35)

10 years agocrushtool: add the "--check-names" option
Kefu Chai [Tue, 26 May 2015 04:08:36 +0000 (12:08 +0800)]
crushtool: add the "--check-names" option

* so one is able to verify that the "ceph osd tree" won't chock on the
  new crush map because of dangling name/type references

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit d6b46d4c7b722945ce24ac2930381a109b1e3dda)

10 years agocrush/CrushTester: add check_name_maps() method
Kefu Chai [Tue, 26 May 2015 04:08:09 +0000 (12:08 +0800)]
crush/CrushTester: add check_name_maps() method

* check for dangling bucket name or type names referenced by the
  buckets/items in the crush map.
* also check for the references from Item(0, 0, 0) which does not
  necessarily exist in the crush map under testing. the rationale
  behind this is: the "ceph osd tree" will also print stray OSDs
  whose id is greater or equal to 0. so it would be useful to
  check if the crush map offers the type name indexed by "0"
  (the name of OSDs is always "OSD.{id}", so we don't need to
  look up the name of an OSD item in the crushmap).

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit b75384d73958faf81d45847a7dfa56f4fa347e6f)

10 years agoMerge pull request #4667 from SUSE/wip-11611-hammer
Loic Dachary [Fri, 10 Jul 2015 07:39:15 +0000 (09:39 +0200)]
Merge pull request #4667 from SUSE/wip-11611-hammer

ceph.spec: update OpenSUSE BuildRequires

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoOSDMonitor: allow addition of cache pool with non-empty snaps with config 5252/head
Samuel Just [Tue, 7 Jul 2015 18:43:01 +0000 (11:43 -0700)]
OSDMonitor: allow addition of cache pool with non-empty snaps with config

We need to be able to allow the version of ceph_test_* from earlier
versions of ceph to continue to work.  This patch also adjusts the
work unit to use a single rados snap to test the condition without
--force-nonempty to ensure that we don't need to be careful about
the config value when running that script.

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #5123 from theanalyst/wip-11979-hammer
Gregory Farnum [Wed, 8 Jul 2015 15:52:12 +0000 (16:52 +0100)]
Merge pull request #5123 from theanalyst/wip-11979-hammer

MDSMonitor: handle MDSBeacon messages properly

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoAlways provide summary for non-healthy cluster 4868/head
Thorsten Behrens [Fri, 6 Feb 2015 00:26:40 +0000 (01:26 +0100)]
Always provide summary for non-healthy cluster

This fixes a problem, wherein calamari does not provide
popup drill-downs for warnings or errors, should the summary
be missing.

Calamari gets health info from /api/v1/cluster/$FSID/health.
If the data here has a summary field, this summary is provided
in a popup window:

  /api/v1/cluster/$FSID/health is populated (ultimately) with
  status obtained via librados python bindings from the ceph
  cluster. In the case where there's clock skew, the summary
  field supplied by the ceph cluster is empty.

No summary field, no popup window with more health details.

Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
(cherry picked from commit eaf6e0cf48488fe604d0ef0db164d44948d4e8d4)

10 years agoMerge pull request #4862 from SUSE/wip-11874-hammer
Loic Dachary [Wed, 8 Jul 2015 13:36:38 +0000 (15:36 +0200)]
Merge pull request #4862 from SUSE/wip-11874-hammer

Bucket header is enclosed by quotes

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4885 from theanalyst/wip-11755-hammer
Loic Dachary [Wed, 8 Jul 2015 13:35:53 +0000 (15:35 +0200)]
Merge pull request #4885 from theanalyst/wip-11755-hammer

Object copy bug

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4884 from theanalyst/wip-11722-hammer
Loic Dachary [Wed, 8 Jul 2015 13:34:45 +0000 (15:34 +0200)]
Merge pull request #4884 from theanalyst/wip-11722-hammer

Keystone PKI token expiration is not enforced

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #4875 from ceph/wip-11770-hammer
Loic Dachary [Wed, 8 Jul 2015 13:30:48 +0000 (15:30 +0200)]
Merge pull request #4875 from ceph/wip-11770-hammer

librbd: aio calls may block

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: always reply mdsbeacon 5123/head
Kefu Chai [Fri, 15 May 2015 14:50:36 +0000 (22:50 +0800)]
mon: always reply mdsbeacon

the MDS (Beacon) is always expecting the reply for the mdsbeacon messages from
the lead mon, and it uses the delay as a metric for the laggy-ness of the
Beacon. when it comes to the MDSMonitor on a peon, it will remove the route
session at seeing a reply (route message) from leader, so a reply to
mdsbeacon will stop the peon from resending the mdsbeacon request to the
leader.

if the MDSMonitor re-forwards the unreplied requests after they are
outdated, there are chances that the requests reflecting old and even wrong
state of the MDSs mislead the lead monitor. for example, the MDSs which sent
the outdated messages could be dead.

Fixes: #11590
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit b3555e9c328633c9e1fbc27d652c004b30535e5b)

10 years agomon/MDSMonitor: rename labels to a better name
Kefu Chai [Wed, 3 Jun 2015 06:20:21 +0000 (23:20 -0700)]
mon/MDSMonitor: rename labels to a better name

* s/ignore/reply/
* s/out/ignore/

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit f00ecb8b3df73ce6337985bc6d43bce5143ee537)

10 years agomon: send no_reply() to peon to drop ignored mdsbeacon
Kefu Chai [Tue, 2 Jun 2015 04:55:06 +0000 (12:55 +0800)]
mon: send no_reply() to peon to drop ignored mdsbeacon

so the peon can remove the ignored mdsbeacon request from the
routed_requets at seeing this reply, and hence no longer resend the
request.

Fixes: #11590
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 72a37b3a8e145d8522ea67fc14ce2c5510b6852b)

10 years agomon: remove unnecessary error handling
Kefu Chai [Tue, 2 Jun 2015 04:22:26 +0000 (12:22 +0800)]
mon: remove unnecessary error handling

msg.get_session() should always return a non-zero pointer in
Monitor.dispatch()

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 16e8e2cc82a90c49cd8aa3d0e3acc4694ba659a0)

10 years agomon: remove unused variable 5122/head
Kefu Chai [Fri, 8 May 2015 07:21:20 +0000 (15:21 +0800)]
mon: remove unused variable

* as a side effect, this change silences
  http://tracker.ceph.com/issues/11576

Fixes: #11576
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit e7b196a4a091c0ea258866559ba06e7ed0cc4247)

10 years agoMerge pull request #4886 from theanalyst/wip-11737-hammer
Abhishek L [Wed, 1 Jul 2015 12:39:46 +0000 (18:09 +0530)]
Merge pull request #4886 from theanalyst/wip-11737-hammer

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #5095 from ceph/wip-fix-doc-hammer
Kefu Chai [Sat, 27 Jun 2015 09:11:11 +0000 (17:11 +0800)]
Merge pull request #5095 from ceph/wip-fix-doc-hammer

doc: fix doc build

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: add the corresponding @endcond command for @cond 5095/head
Kefu Chai [Sat, 27 Jun 2015 06:44:55 +0000 (14:44 +0800)]
doc: add the corresponding @endcond command for @cond

* they are used to applease asphyxiate, as it
  is not able to handle "enum" sections

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agodoc: remove orphan: directive in ceph-create-keys.rst
Kefu Chai [Sat, 27 Jun 2015 06:43:01 +0000 (14:43 +0800)]
doc: remove orphan: directive in ceph-create-keys.rst

* it is used to silence the sphinx warning, but conf.py
  does not like it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agodoc: let doxygen ignore src/tracing
Kefu Chai [Sat, 27 Jun 2015 06:41:59 +0000 (14:41 +0800)]
doc: let doxygen ignore src/tracing

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #4902 from theanalyst/wip-11908-hammer
Samuel Just [Fri, 26 Jun 2015 21:19:40 +0000 (14:19 -0700)]
Merge pull request #4902 from theanalyst/wip-11908-hammer

Fixes for rados ops with snaps

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #5069 from dachary/wip-11806-hammer
Loic Dachary [Fri, 26 Jun 2015 00:03:42 +0000 (20:03 -0400)]
Merge pull request #5069 from dachary/wip-11806-hammer

ceph / ceph-dbg steal ceph-objecstore-tool from ceph-test / ceph-test-dbg

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years agodebian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg (take 2) 5069/head
Loic Dachary [Wed, 24 Jun 2015 18:58:47 +0000 (14:58 -0400)]
debian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg (take 2)

968573b8930a7c8485bf53e3a989ce2f7d0a2fff incorrectly backported
6f11fbf41fab10924b1e0e41fcf27864779d4073. It should instead reflect that
ceph-dbg in 0.94.2 and above will break ceph-test-dbg in all versions
prior to 0.94.2.

In other words, 0.94-XXXX being lower than 0.94.1, upgrading from
0.94.1 to 0.94.2 will not notice that ceph-dbg breaks ceph-test-dbg.

$ dpkg --compare-versions 0.94-XXXX lt 0.94.1 && echo yes || echo no
yes
$ dpkg --compare-versions 0.94.2 lt 0.94.1-xxx && echo yes || echo no
no

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

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoqa/workunits/rados/test-upgarde-v9.0.1: fix exclude syntax
Sage Weil [Wed, 17 Jun 2015 16:35:28 +0000 (09:35 -0700)]
qa/workunits/rados/test-upgarde-v9.0.1: fix exclude syntax

It's -, then a list of all exclusions separated by :.  There are just 2.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoqa/workunits/rados/test-upgrade-v9.0.1: skip one more evict test
Sage Weil [Wed, 17 Jun 2015 04:05:29 +0000 (21:05 -0700)]
qa/workunits/rados/test-upgrade-v9.0.1: skip one more evict test

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoqa: add compatibility filtered rados api tests for upgrades
Josh Durgin [Mon, 15 Jun 2015 22:12:43 +0000 (15:12 -0700)]
qa: add compatibility filtered rados api tests for upgrades

Post-9.0.1, the evict op returns success when an object doesn't exist
in the cache tier. Skip the tests that are incompatible across
versions.

Fixes: #11548
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #4961 from ceph/wip-11493-hammer
Sage Weil [Mon, 15 Jun 2015 19:38:57 +0000 (12:38 -0700)]
Merge pull request #4961 from ceph/wip-11493-hammer

backport 11493 fixes, and test, prevetning ec cache pools

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoOSDMonitor: disallow ec pools as tiers 4961/head
Samuel Just [Fri, 15 May 2015 20:05:40 +0000 (13:05 -0700)]
OSDMonitor: disallow ec pools as tiers

Fixes: 11650
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 11b7801bb57cb25cd2d26d58722d49691747725b)

10 years agomon: prevent pool with snapshot state from being used as a tier
Sage Weil [Wed, 29 Apr 2015 19:34:25 +0000 (12:34 -0700)]
mon: prevent pool with snapshot state from being used as a tier

If we add a pool with snap state as a tier the snap state gets clobbered
by OSDMap::Incremental::propogate_snaps_to_tiers(), and may prevent OSDs
from starting.  Disallow this.

Include a test.

Fixes: #11493
Backport: hammer, giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit bbec53edf9e585af4e20bbc9ba9057d6fdfda342)

10 years agotest/librados/tier.cc: destroy and recreate cache pool on every test
Samuel Just [Fri, 8 May 2015 17:26:48 +0000 (10:26 -0700)]
test/librados/tier.cc: destroy and recreate cache pool on every test

Namespaces are not sufficient with the checks for 11493 in the mon.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit bef09e0cdb274cb1c87335a2af9ee532d14a4596)

10 years agoMerge pull request #4846 from SUSE/wip-11862-hammer
Loic Dachary [Mon, 15 Jun 2015 15:26:07 +0000 (17:26 +0200)]
Merge pull request #4846 from SUSE/wip-11862-hammer

missing man pages for ceph-create-keys, ceph-disk-*

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoMerge pull request #4934 from dachary/wip-releases-hammer
Sage Weil [Thu, 11 Jun 2015 20:54:35 +0000 (13:54 -0700)]
Merge pull request #4934 from dachary/wip-releases-hammer

doc/release-notes: v0.94.2

10 years agodoc/release-notes: v0.94.2 4934/head
Sage Weil [Wed, 10 Jun 2015 19:48:41 +0000 (12:48 -0700)]
doc/release-notes: v0.94.2

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 306345b29c259ab04a58ed5d40f801645485b29d)

Conflicts:
doc/release-notes.rst

10 years agotests: verify librbd blocking aio code path 4875/head
Jason Dillaman [Tue, 2 Jun 2015 14:33:35 +0000 (10:33 -0400)]
tests: verify librbd blocking aio code path

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

Conflicts:
src/test/librbd/test_librbd.cc: trival resolution

10 years agolibrbd: new rbd_non_blocking_aio config option
Jason Dillaman [Tue, 2 Jun 2015 02:56:11 +0000 (22:56 -0400)]
librbd: new rbd_non_blocking_aio config option

Setting this option to false reverts librbd to legacy behavior
where AIO operations could potentially block.

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

10 years agoPendingReleaseNotes: document changes to librbd's aio_read methods
Jason Dillaman [Fri, 10 Apr 2015 00:34:28 +0000 (20:34 -0400)]
PendingReleaseNotes: document changes to librbd's aio_read methods

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: AioRequest::send no longer returns a result
Jason Dillaman [Thu, 9 Apr 2015 17:33:09 +0000 (13:33 -0400)]
librbd: AioRequest::send no longer returns a result

The librados calls used by AioRequest::send should always return
zero unless there is a bug.

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

Conflicts:
src/librbd/AioRequest.cc: trivial resolution
src/librbd/AsyncFlattenRequest.cc: trivial resolution

10 years agotests: update librbd AIO tests to remove result code
Jason Dillaman [Thu, 9 Apr 2015 01:55:36 +0000 (21:55 -0400)]
tests: update librbd AIO tests to remove result code

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

Conflicts:
src/test/librbd/test_internal.cc: trivial resolution
src/test/librbd/test_librbd.cc: trivial resolution

10 years agolibrbd: internal AIO methods no longer return result
Jason Dillaman [Thu, 9 Apr 2015 01:37:50 +0000 (21:37 -0400)]
librbd: internal AIO methods no longer return result

All failures should be returned via the AioCompletion.

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

Conflicts:
src/librbd/AioRequest.cc: trivial resolution
src/librbd/internal.cc: trivial resolution

10 years agoThrottle: added pending_error method to SimpleThrottle
Jason Dillaman [Thu, 9 Apr 2015 01:48:21 +0000 (21:48 -0400)]
Throttle: added pending_error method to SimpleThrottle

Allow the client of SimpleThrottle to detect an async error
so that it can exit early.

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

10 years agolibrbd: add new fail method to AioCompletion
Jason Dillaman [Thu, 9 Apr 2015 00:18:50 +0000 (20:18 -0400)]
librbd: add new fail method to AioCompletion

Helper method to handle passing fatal errors generated within
librbd (not from the OSDs) back to the client.

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

10 years agolibrbd: avoid blocking AIO API methods
Jason Dillaman [Wed, 8 Apr 2015 23:06:52 +0000 (19:06 -0400)]
librbd: avoid blocking AIO API methods

Enqueue all AIO API methods within the new librbd thread pool to
reduce the possibility of any blocking operations. To maintain
backwards compatibility with the legacy return codes of the API's
AIO methods, it's still possible to block attempting to acquire
the snap_lock.

Fixes: #11056
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 3a7b5e30efdb21aa1a0aeb68a5d02a1ac2a5faf3)

10 years agolibrbd: add task pool / work queue for requests
Jason Dillaman [Wed, 8 Apr 2015 21:24:08 +0000 (17:24 -0400)]
librbd: add task pool / work queue for requests

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

Conflicts:
src/librbd/ImageCtx.cc: trivial resolution
src/librbd/ImageCtx.h: trivial resolution

10 years ago0.94.2 v0.94.2
Jenkins [Tue, 9 Jun 2015 19:32:34 +0000 (12:32 -0700)]
0.94.2

10 years agoReplicatedPG::release_op_ctx_locks: requeue in scrub queue if blocked 4902/head
Samuel Just [Wed, 20 May 2015 23:10:02 +0000 (16:10 -0700)]
ReplicatedPG::release_op_ctx_locks: requeue in scrub queue if blocked

Otherwise we can reorder an op around another op which got blocked by a
scrub which started after the first blocked on an obc.

Fixes: #11691
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit be873eb8da7b29ecefaa5a99b88de7ddcca711ee)

10 years agoReplicatedPG::finish_ctx: take excl lock if operation is rw
Samuel Just [Tue, 19 May 2015 17:56:11 +0000 (10:56 -0700)]
ReplicatedPG::finish_ctx: take excl lock if operation is rw

Fixes: #11677
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 5c2b795724423ed484ab451de855ddcfc085342b)

10 years agoRadosModel: randomly prefix delete with assert_exists
Samuel Just [Thu, 21 May 2015 19:13:43 +0000 (12:13 -0700)]
RadosModel: randomly prefix delete with assert_exists

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 4fe7d2abdff2fce359e5e992206644cc03825ee0)

10 years agoRadosModel: assert exists on subsequent writes
Samuel Just [Thu, 21 May 2015 18:36:42 +0000 (11:36 -0700)]
RadosModel: assert exists on subsequent writes

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 121aa3bc612b86281535ac3bcfe98bc99bc99ace)

10 years agotest/librados/snapshots.cc: add test for 11677
Samuel Just [Tue, 19 May 2015 17:23:01 +0000 (10:23 -0700)]
test/librados/snapshots.cc: add test for 11677

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit c2d17b927f8a222164b3bf2922a4ff337696f566)

10 years agoReplicatedPG::trim_object: write filtered snapset while we're at it 4899/head
Samuel Just [Wed, 27 May 2015 18:14:15 +0000 (11:14 -0700)]
ReplicatedPG::trim_object: write filtered snapset while we're at it

If we trimmed an object, we might as well remove the obsolete snaps
as well.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 90eb7768f99ea249952df195a844a3a7c9a59b78)

10 years agoReplicatedPG: start_flush: use filtered snapset
Samuel Just [Wed, 27 May 2015 18:00:54 +0000 (11:00 -0700)]
ReplicatedPG: start_flush: use filtered snapset

Otherwise, we might send our deletes based on deleted snaps.  This is
problematic since we may have trimmed the clones to which those snaps
belong, causing us to send them at an earlier snap than we used before.

The specific situation was

78:[78, 70, 63, 5a, 58, 57]:[64(63), 58(58, 57)]

with 58 already clean.  To flush 64, we send:

delete@58
delete@59
copyfrom@62

Then, snap 63 is trimmed leaving us with a snapset of:

78:[78, 70, 63, 5a, 58, 57]:[58(58, 57)]

since trim_object doesn't filter the head object snapset snaps.  This
isn't really a bug since in general all snapset users must be aware
that there may be trimmed snaps in snapset::snaps.  However, here
it becomes a problem when we go to flush head:

delete@58 -- ignored due to snapc
delete@59 -- ignored due to snapc
copyfrom@78 -- not ignored

The base pool head is at snap seq 62, so it clones that value into
clone 78(78, 70) instead of forgetting it.  What should have happened
is that we should have based our flushes on filtered snapset:

78:[78, 70, 58, 57]:[58(58, 57)]

Causing us to instead send:

delete@58 -- ignored due to snapc
delete@69 -- not ignored, causes no clone to be made
copyfrom@78 -- not ignored, updates head such that a subsequent clone
will leave 70 out of the clone snaps vector.

Fixes: 11787
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 6051e255ac062985ada1989edb7f23cd750915e2)

10 years agoceph-disk: support NVMe device partitions 4892/head
islepnev [Fri, 17 Apr 2015 19:33:01 +0000 (22:33 +0300)]
ceph-disk: support NVMe device partitions

Linux nvme kernel module v0.9 enumerate devices as following:

/dev/nvme0 - characted revice
/dev/nvme0n1 - whole block device
/dev/nvme0n1p1 - first partition
/dev/nvme0n1p2 - second partition

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

Signed-off-by: Ilja Slepnev <islepnev@gmail.com>
(cherry picked from commit 9b62cf254d02d30609793be8b1cb8a94f38891f1)

10 years agomon: prevent bucket deletion when referenced by a rule 4891/head
Sage Weil [Tue, 12 May 2015 23:37:56 +0000 (16:37 -0700)]
mon: prevent bucket deletion when referenced by a rule

If a rule references a bucket with 'take', prevent deletion.

Fixes: #11602
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 3d591afef90b0601572c748f13faac029d05f5a0)

10 years agocrush: fix crash from invalid 'take' argument
Sage Weil [Tue, 12 May 2015 21:03:49 +0000 (14:03 -0700)]
crush: fix crash from invalid 'take' argument

Verify that the 'take' argument is a valid device or bucket.  Otherwise,
ignore it (do not add the value to the working vector).

Backport: hammer, firefly
Fixes: #11602
Reported-by: shiva rkreddy <shiva.rkreddy@gmail.com>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9324d0a1af61e1c234cc48e2175b4e6320fff8f4)

10 years agocommon/config: detect overflow of float values 4889/head
Kefu Chai [Wed, 29 Apr 2015 10:28:18 +0000 (03:28 -0700)]
common/config: detect overflow of float values

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 1ff409ef8d022a1a84d034bd3db976c4d769e993)

10 years agocommon/config: detect overflow of int values
Kefu Chai [Wed, 29 Apr 2015 07:41:08 +0000 (15:41 +0800)]
common/config: detect overflow of int values

* #include "strtol.h" in strtol.cc, to ensure the function defintions
  are consistent.
* add a test accordingly
* fix the testcase of converting 1024E.
* do not accept integers overflow after adding SI suffix
* do not accept integers underflow (i.e. negative values)

Fixes: #11484
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit d62f80dc7b25d312ff05b65b7be854aae15b66a8)

10 years agomds: clear CDir::STATE_REJOINUNDEF after fetching dirfrag 4886/head
Yan, Zheng [Tue, 12 May 2015 06:52:30 +0000 (14:52 +0800)]
mds: clear CDir::STATE_REJOINUNDEF after fetching dirfrag

Fixes: #11541
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit ab1e5394dc778f6799472bd79a4d9ba7197107c2)

10 years agorgw: Use attrs from source bucket on copy 4885/head
Javier M. Mellid [Fri, 15 May 2015 12:22:29 +0000 (14:22 +0200)]
rgw: Use attrs from source bucket on copy

On copy objects, when bucket source is the same as the destination, use attrs
from source bucket.

Fixes: #11639
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
(cherry picked from commit 1dac80df1d4a2364154ed8b404d13609936c257b)

10 years agorgw: always check if token is expired 4884/head
Anton Aksola [Fri, 10 Apr 2015 10:25:21 +0000 (13:25 +0300)]
rgw: always check if token is expired

Fixes: #11367
Currently token expiration is only checked by the token cache. With PKI
tokens no expiration check is done after decoding the token. This causes
PKI tokens to be valid indefinitely. UUID tokens are validated by
keystone after cache miss so they are not affected by this bug.

This commit adds explicit token expiration check to
RGWSwift::validate_keystone_token()

Signed-off-by: Anton Aksola <anton.aksola@nebula.fi>
Reported-by: Riku Lehto <riku.lehto@nexetic.com>
(cherry picked from commit 2df069390ea3bbcfbab5022750e89f51d197cc11)

10 years agoceph.spec.in: tweak ceph-common for SUSE/openSUSE 4883/head
Nathan Cutler [Fri, 15 May 2015 19:43:34 +0000 (21:43 +0200)]
ceph.spec.in: tweak ceph-common for SUSE/openSUSE

ceph-common needs python-argparse in SUSE/openSUSE and
needs redhat-lsb-core only in RHEL/CentOS/Fedora.

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

Signed-off-by: Nathan Cutler <ncutler@suse.cz>
(cherry picked from commit 363d957d8fdd15a1674befbd8e485fd89b76d716)

10 years agoadmin/build-doc: fix dependency checks 4877/head
John Spray [Wed, 3 Jun 2015 09:09:09 +0000 (10:09 +0100)]
admin/build-doc: fix dependency checks

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

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

Conflicts:
admin/build-doc
            Insert lines at appropriate spot

10 years agoman/ceph-create-keys.8: add missing file 4846/head
Nathan Cutler [Wed, 3 Jun 2015 08:41:27 +0000 (10:41 +0200)]
man/ceph-create-keys.8: add missing file

This is the generated manpage, taken from a local build of master

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

10 years agodoc: add ceph-create-keys.8
Kefu Chai [Tue, 21 Apr 2015 06:59:32 +0000 (14:59 +0800)]
doc: add ceph-create-keys.8

Fixes: #10725
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 27cee2f1f46a9f47cda9dfeb56ff1259e982960c)

Conflicts:
    doc/man/8/ceph-create-keys.rst
    Includes fixes from https://github.com/ceph/ceph/pull/4855

10 years agoWorkQueue: added virtual destructor
Jason Dillaman [Mon, 11 May 2015 21:05:49 +0000 (17:05 -0400)]
WorkQueue: added virtual destructor

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

10 years agoWorkQueue: add new ContextWQ work queue
Jason Dillaman [Wed, 8 Apr 2015 20:46:34 +0000 (16:46 -0400)]
WorkQueue: add new ContextWQ work queue

The queue holds a collection of Context pointers that will
be completed by the thread pool.

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

10 years agorgw: Do not enclose the Bucket header in quotes 4862/head
Wido den Hollander [Wed, 3 Jun 2015 11:13:33 +0000 (13:13 +0200)]
rgw: Do not enclose the Bucket header in quotes

Fixes: #11860
Signed-off-by: Wido den Hollander <wido@42on.com>
(cherry picked from commit 8af25faed93fe02d3dad585b8579ce8b041cc4e6)

10 years agoMerge pull request #4795 from dachary/wip-11806-hammer
Loic Dachary [Fri, 29 May 2015 07:49:43 +0000 (09:49 +0200)]
Merge pull request #4795 from dachary/wip-11806-hammer

ceph / ceph-dbg steal ceph-objecstore-tool from ceph-test / ceph-test-dbg

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agodebian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg 4795/head
Loic Dachary [Thu, 28 May 2015 08:35:51 +0000 (10:35 +0200)]
debian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg

When ceph-objectstore-tool was moved from ceph-test to
ceph by 61cf5da0b51e2d9578c7b4bca85184317e30f4ca, the ceph package in
debian/control was updated accordingly, as recommended by
https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces

The same must be done for the ceph-dbg package because
/usr/lib/debug/usr/bin/ceph-objectstore-too is no longer in
ceph-test-dbg.

Although the change was merged may 6th, 2015
8f23382064c189b657564d58c3f9d17720e891ed, teuthology jobs were not
always failing because packages were not systematically upgraded during
the installation. The missing dependencies that were responsible for
this upgrade problem were fixed by
f898ec1e4e3472b0202280f09653a769fc62c8d3 on may 18th, 2015 and all
upgrade tests relying on ceph-*-dbg packages started to fail
systematically after this date.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit 6f11fbf41fab10924b1e0e41fcf27864779d4073)

10 years agoceph.in: handle unknown Exception correctly 4776/head
Kefu Chai [Fri, 24 Apr 2015 06:04:30 +0000 (14:04 +0800)]
ceph.in: handle unknown Exception correctly

* in case parse_cmdargs() throws

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 7789eefc01deb9ca7fe90f5521aece3e36c3c350)

10 years agoceph.in: improve the interactive mode
Kefu Chai [Thu, 23 Apr 2015 17:27:44 +0000 (01:27 +0800)]
ceph.in: improve the interactive mode

* if ceph is not reading from a tty, expect EOF instead of "quit"
  as the end of input.
* do not panic at seeing the EOF
* update the test case test_mon_injectargs_SI(). since we disables
  "ceph injectargs <args,...>" in a458bd83, in which the arguments
  of "injectargs" are supposed to be consumed by "tell" instead.
  so "ceph injectargs ..." is taken as an incomplete command, and
  this command will bring ceph cli into the interactive mode,
  redirecting its stdin to /dev/null helps ceph cli quit the loop,
  but in a way of throwing EOFError exception. this change handles
  the EOF, so the "ceph injectargs ..." does not throws anymore.
  but the side effect is that the test fails since it expects a
  non-zero return code. so replace it with an equivalent "tell"
  command which also fails but due to the non-SI postfix.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit da9d2b4077ab1dceeed979ab71f0d9ed59b14266)

10 years agoceph.in: parse quote correctly in interactive mode
Kefu Chai [Thu, 23 Apr 2015 16:50:37 +0000 (00:50 +0800)]
ceph.in: parse quote correctly in interactive mode

Fixes: #11279
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit bc7d8c99d2e16a141a8b575281ba12c67628dac3)

10 years agoMerge pull request #4773 from dachary/wip-11733-hammer
Ken Dreyer [Wed, 27 May 2015 01:52:59 +0000 (19:52 -0600)]
Merge pull request #4773 from dachary/wip-11733-hammer

Debian: ceph-test and rest-bench debug packages should require their respective binary packages

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years agodebian: set rest-bench-dbg ceph-test-dbg dependencies 4773/head
Ken Dreyer [Mon, 18 May 2015 16:50:58 +0000 (10:50 -0600)]
debian: set rest-bench-dbg ceph-test-dbg dependencies

Debian's debug packages ought to depend on their respective binary
packages. This was the case for many of our ceph packages, but it was
not the case for ceph-test-dbg or rest-bench-dbg.

Add the dependencies on the relevant binary packages, pinned to
"= ${binary:Version}" per convention.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit f898ec1e4e3472b0202280f09653a769fc62c8d3)

10 years agoMerge pull request #4696 from ceph/wip-11622-hammer
Loic Dachary [Mon, 18 May 2015 12:26:16 +0000 (14:26 +0200)]
Merge pull request #4696 from ceph/wip-11622-hammer

Wip 11622 hammer

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4649 from ceph/wip-hammer-package-perf-objectstore
Sage Weil [Fri, 15 May 2015 20:47:04 +0000 (13:47 -0700)]
Merge pull request #4649 from ceph/wip-hammer-package-perf-objectstore

packaging: include ceph_perf_objectstore

10 years agorgw: merge manifests correctly when there's prefix override 4696/head
Yehuda Sadeh [Thu, 14 May 2015 00:05:22 +0000 (17:05 -0700)]
rgw: merge manifests correctly when there's prefix override

Fixes: #11622
Backport: hammer, firefly

Prefix override happens in a manifest when a rados object does not
conform to the generic prefix set on the manifest. When merging
manifests (specifically being used in multipart objects upload), we need
to check if the rule that we try to merge has a prefix that is the same
as the previous rule. Beforehand we checked if both had the same
override_prefix setting, but that might not apply as both manifests
might have different prefixes.

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