]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
8 years agomds: fix null pointer dereference in Locker::handle_client_caps 13060/head
Yan, Zheng [Fri, 6 Jan 2017 07:42:52 +0000 (15:42 +0800)]
mds: fix null pointer dereference in Locker::handle_client_caps

Locker::handle_client_caps delays processing cap message if the
corresponding inode is freezing or frozen. When the message gets
processed, client can have already closed the session.

Fixes: http://tracker.ceph.com/issues/18306
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit e281a0b9c1fdeaf09f1b01f34cecd62e4f49d02e)

8 years agoMerge pull request #12766 from jtlayton/wip-18408-jewel
Nathan Cutler [Fri, 20 Jan 2017 14:50:16 +0000 (15:50 +0100)]
Merge pull request #12766 from jtlayton/wip-18408-jewel

client: Fix lookup of "/.." in jewel

Reviewed-by: Yan, Zheng <zyan@redhat.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
8 years agoMerge pull request #12147 from dachary/wip-18007-jewel
Loic Dachary [Fri, 20 Jan 2017 11:31:26 +0000 (12:31 +0100)]
Merge pull request #12147 from dachary/wip-18007-jewel

jewel: ceph-disk: ceph-disk@.service races with ceph-osd@.service

Reviewed-by: Nathan Cutler <ncutler@suse.cz>
8 years agoMerge pull request #12983 from ceph/wip-cherry-pick-4vasu
vasukulkarni [Wed, 18 Jan 2017 20:43:34 +0000 (12:43 -0800)]
Merge pull request #12983 from ceph/wip-cherry-pick-4vasu

qa: Wip cherry pick https://github.com/ceph/ceph/pull/12969

8 years agoAdd ceph-create-keys to explicitly create admin/bootstrap keys 12983/head
Vasu Kulkarni [Tue, 10 Jan 2017 00:45:01 +0000 (16:45 -0800)]
Add ceph-create-keys to explicitly create admin/bootstrap keys

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit 68f9b7eb3c0548c88650f67fb72c6ff9bc0f3ead)

8 years agoRemove debug overrides
Vasu Kulkarni [Tue, 10 Jan 2017 01:59:20 +0000 (17:59 -0800)]
Remove debug overrides

the high level of debug for mon/osd is causing remoto to hang during get key

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit f7dcc74cd3f119a2f65584fdb544c08d115f8c39)

8 years agouse the create option during instantiation
Vasu Kulkarni [Tue, 10 Jan 2017 23:43:12 +0000 (15:43 -0800)]
use the create option during instantiation

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit be836bb30960000468c79e08fb416ceefd79d7db)

8 years agoMerge pull request #12210 from ddiss/tracker18049_ceph_disk_trigger_flock_timeout_jewel
Loic Dachary [Wed, 18 Jan 2017 16:12:54 +0000 (17:12 +0100)]
Merge pull request #12210 from ddiss/tracker18049_ceph_disk_trigger_flock_timeout_jewel

jewel: systemd/ceph-disk: reduce ceph-disk flock contention

Reviewed-by: Nathan Cutler <ncutler@suse.cz>
8 years agoMerge pull request #12959 from SUSE/wip-18545-jewel
Jason Dillaman [Tue, 17 Jan 2017 13:41:25 +0000 (08:41 -0500)]
Merge pull request #12959 from SUSE/wip-18545-jewel

jewel: [teuthology] update Ubuntu image url after ceph.com refactor

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoqa/tasks/qemu: update default image url after ceph.com redesign 12959/head
Jason Dillaman [Tue, 17 Jan 2017 03:12:51 +0000 (22:12 -0500)]
qa/tasks/qemu: update default image url after ceph.com redesign

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

8 years agoMerge pull request #12745 from SUSE/wip-18386-jewel
Loic Dachary [Fri, 13 Jan 2017 10:10:39 +0000 (11:10 +0100)]
Merge pull request #12745 from SUSE/wip-18386-jewel

jewel: tests: use ceph-jewel branch for s3tests

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #12912 from liewegas/wip-workunits-jewel
Josh Durgin [Thu, 12 Jan 2017 21:58:42 +0000 (13:58 -0800)]
Merge pull request #12912 from liewegas/wip-workunits-jewel

qa/tasks/workunits: backport misc fixes to jewel

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoqa/tasks/workunit: clear clone dir before retrying checkout 12912/head
Sage Weil [Thu, 22 Dec 2016 18:05:22 +0000 (13:05 -0500)]
qa/tasks/workunit: clear clone dir before retrying checkout

If we checkout ceph-ci.git, and don't find a branch,
we'll try again from ceph.git. But the checkout will
already exist and the clone will fail, so we'll still
fail to find the branch.

The same can happen if a previous workunit task already
checked out the repo.

Fix by removing the repo before checkout (the first and
second times).  Note that this may break if there are
multiple workunit tasks running in parallel on the same
role.  That is already racy, so if it's happening, we'll
want to switch to using a truly unique clonedir for each
instantiation.

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

8 years agoqa/tasks/workunit: retry on ceph.git if checkout fails
Sage Weil [Fri, 16 Dec 2016 20:06:16 +0000 (15:06 -0500)]
qa/tasks/workunit: retry on ceph.git if checkout fails

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

8 years agoqa/tasks/workunit.py: add CEPH_BASE env var
Sage Weil [Thu, 15 Dec 2016 18:26:14 +0000 (13:26 -0500)]
qa/tasks/workunit.py: add CEPH_BASE env var

Root of git checkout

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

8 years agoqa/tasks/workunit: leave workunits inside git checkout
Sage Weil [Thu, 15 Dec 2016 18:25:23 +0000 (13:25 -0500)]
qa/tasks/workunit: leave workunits inside git checkout

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

8 years agoMerge pull request #12791 from athanatos/wip-15943-jewel
Loic Dachary [Thu, 12 Jan 2017 06:29:34 +0000 (07:29 +0100)]
Merge pull request #12791 from athanatos/wip-15943-jewel

jewel: crash adding snap to purged_snaps in ReplicatedPG::WaitingOnReplicas (part 2)

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #12868 from athanatos/wip-17899-jewel
Samuel Just [Wed, 11 Jan 2017 00:25:18 +0000 (16:25 -0800)]
Merge pull request #12868 from athanatos/wip-17899-jewel

OSDMonitor: only reject MOSDBoot based on up_from if inst matches

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoPG: fix cached_removed_snaps bug in PGPool::update after map gap 12791/head
Samuel Just [Mon, 12 Dec 2016 18:35:38 +0000 (10:35 -0800)]
PG: fix cached_removed_snaps bug in PGPool::update after map gap

5798fb3bf6d726d14a9c5cb99dc5902eba5b878a actually made 15943 worse
by always creating an out-of-date cached_removed_snaps value after
a map gap rather than only in the case where the the first map after
the gap did not remove any snapshots.

Introduced: 5798fb3bf6d726d14a9c5cb99dc5902eba5b878a
Fixes: http://tracker.ceph.com/issues/15943
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 5642e7e1b3bb6ffceddacd2f4030eb13a17fcccc)

8 years agoqa/config/rados.yaml: enable osd_debug_verify_cached_snaps
Samuel Just [Wed, 14 Dec 2016 23:48:59 +0000 (15:48 -0800)]
qa/config/rados.yaml: enable osd_debug_verify_cached_snaps

Also, make map gaps more likely.

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

8 years agoPG::handle_advance_map: add debugging option to verify cached_removed_snaps
Samuel Just [Mon, 12 Dec 2016 18:33:13 +0000 (10:33 -0800)]
PG::handle_advance_map: add debugging option to verify cached_removed_snaps

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

8 years agoclient: don't use special faked-up inode for /.. 12766/head
Jeff Layton [Tue, 3 Jan 2017 17:56:51 +0000 (12:56 -0500)]
client: don't use special faked-up inode for /..

The CEPH_INO_DOTDOT thing is quite strange. Under most OS (Linux
included), the parent of the root is itself. IOW, at the root, '.' and
'..' refer to the same inode.

Change the ceph client to do the same, as this allows users to get
valid stat info for '..', as well as elimnating some special-casing.

Also in several places, we're checking dn_set.empty as an indicator
of being the root. While that is true for the root, it's also true
for unlinked directories.

This patch has treats them the same. An unlinked directory will
be reparented to itself, effectively acting as a root of its own.

Fixes: http://tracker.ceph.com/issues/18408
Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 30d4ca01db0de9a1e12658793ba9bf9faf0331dd)

8 years agotests: use ceph-jewel branch for s3tests 12745/head
Orit Wasserman [Mon, 4 Jan 2016 09:03:08 +0000 (10:03 +0100)]
tests: use ceph-jewel branch for s3tests

Signed-off-by: Nathan Cutler <ncutler@suse.com>
8 years agoMerge remote-tracking branch 'ceph/jewel-next' into jewel
Loic Dachary [Wed, 21 Dec 2016 23:18:11 +0000 (00:18 +0100)]
Merge remote-tracking branch 'ceph/jewel-next' into jewel

8 years agoMerge pull request #12591 from jtlayton/wip-18308-jewel
jtlayton [Wed, 21 Dec 2016 14:18:18 +0000 (09:18 -0500)]
Merge pull request #12591 from jtlayton/wip-18308-jewel

Clear setuid bits on ownership changes

8 years agoMerge branch 'jewel' into wip-18308-jewel 12591/head
jtlayton [Tue, 20 Dec 2016 20:36:39 +0000 (15:36 -0500)]
Merge branch 'jewel' into wip-18308-jewel

8 years agoMerge pull request #12592 from jtlayton/wip-18307-jewel
jtlayton [Tue, 20 Dec 2016 20:35:54 +0000 (15:35 -0500)]
Merge pull request #12592 from jtlayton/wip-18307-jewel

Fix mount root for ceph_mount users and change tarball format

8 years agoceph_disk: fix a jewel checkin test break 12592/head
Jeff Layton [Tue, 20 Dec 2016 19:44:04 +0000 (14:44 -0500)]
ceph_disk: fix a jewel checkin test break

Silly python:

    ceph_disk/main.py:173:1: E305 expected 2 blank lines after class or function definition, found 1
    ceph_disk/main.py:5011:1: E305 expected 2 blank lines after class or function definition, found 1

Signed-off-by: Jeff Layton <jlayton@redhat.com>
8 years agoautomake: convert to tar-pax
Jeff Layton [Tue, 20 Dec 2016 16:54:25 +0000 (11:54 -0500)]
automake: convert to tar-pax

We hit some recent build issues with the merge of ceph-qa-suite into
the main repo. The ustar format barfs on >100 character symlink
paths.

Convert to using "tar-pax" which should make it use the posix format.
Any build machine that we're reasonably targeting should support it.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
8 years agoclient: drop setuid/setgid bits on ownership change
Jeff Layton [Tue, 20 Dec 2016 13:17:21 +0000 (08:17 -0500)]
client: drop setuid/setgid bits on ownership change

When we hold exclusive auth caps, then the client is responsible for
handling changes to the mode. Make sure we remove any setuid/setgid
bits on an ownership change.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 18d2499d6c85a10b4b54f3b8c335cddf86c4588f)

8 years agomds: clear setuid/setgid bits on ownership changes
Jeff Layton [Tue, 20 Dec 2016 13:16:43 +0000 (08:16 -0500)]
mds: clear setuid/setgid bits on ownership changes

If we get a ownership change, POSIX mandates that you clear the
setuid and setgid bits unless you are "appropriately privileged", in
which case the OS is allowed to leave them intact.

Linux however always clears those bits, regardless of the process
privileges, as that makes it simpler to close some potential races.
Have ceph do the same.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 6da72500882d9749cb2be6eaa2568e6fe6e5ff4d)

8 years agoclient: set metadata["root"] from mount method when it's called with a pathname
Jeff Layton [Tue, 20 Dec 2016 13:07:23 +0000 (08:07 -0500)]
client: set metadata["root"] from mount method when it's called with a pathname

Currently, we only set the root properly config file or the
--client_metadata command line option. If a userland client program
tries to call ceph_mount with a pathname, it's not being properly
set.

Since we already hold the mutex, we can just update it directly.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 9f8810008c82eebe6e354e7e321e33a3dcba8407)

8 years agoMerge pull request #12454 from liewegas/qa-suite-jewel
Sage Weil [Wed, 14 Dec 2016 17:39:56 +0000 (11:39 -0600)]
Merge pull request #12454 from liewegas/qa-suite-jewel

jewel: merge ceph-qa-suite

8 years agomerge ceph-qa-suite 12454/head
Sage Weil [Wed, 14 Dec 2016 17:29:59 +0000 (11:29 -0600)]
merge ceph-qa-suite

8 years agomove ceph-qa-suite dirs into qa/
Sage Weil [Wed, 14 Dec 2016 17:29:55 +0000 (11:29 -0600)]
move ceph-qa-suite dirs into qa/

8 years agoRevert "tasks/workunit.py: depth 1 clone"
Sage Weil [Wed, 14 Dec 2016 17:27:58 +0000 (12:27 -0500)]
Revert "tasks/workunit.py: depth 1 clone"

This reverts commit e6f61ea9f19d0f1fad4a6547775fa80616eeeb89.

8 years agotasks/workunit.py: depth 1 clone
Sage Weil [Wed, 14 Dec 2016 17:19:44 +0000 (12:19 -0500)]
tasks/workunit.py: depth 1 clone

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

8 years agotasks/workunit: remove kludge to use git.ceph.com
Sage Weil [Wed, 14 Dec 2016 17:18:29 +0000 (12:18 -0500)]
tasks/workunit: remove kludge to use git.ceph.com

This was hard-coded to ceph.git (almost) and breaks when
you specify --ceph-repo.  Remove it entirely.  We'll see if
github.com is better at handling our load than it used to
be!

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

8 years agotasks/ceph: restore context of osd mount path before mkfs
Kefu Chai [Fri, 9 Dec 2016 18:36:52 +0000 (02:36 +0800)]
tasks/ceph: restore context of osd mount path before mkfs

all newly created files and directories under the mount dir inherit the
SELinux type of their parent directory. so we need to set it before
mkfs.

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

8 years ago10.2.5 v10.2.5
Jenkins Build Slave User [Fri, 9 Dec 2016 20:08:24 +0000 (20:08 +0000)]
10.2.5

8 years agoMerge pull request #11865 from dachary/wip-17710-jewel
Yehuda Sadeh [Thu, 8 Dec 2016 19:22:16 +0000 (11:22 -0800)]
Merge pull request #11865 from dachary/wip-17710-jewel

jewel: multisite: race between ReadSyncStatus and InitSyncStatus leads to EIO errors

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
8 years agoMerge pull request #12376 from liewegas/wip-msgr-eagain-loop-jewel
Samuel Just [Thu, 8 Dec 2016 15:55:27 +0000 (07:55 -0800)]
Merge pull request #12376 from liewegas/wip-msgr-eagain-loop-jewel

msg/simple/Pipe: avoid returning 0 on poll timeout

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
8 years agomsg/simple/Pipe: avoid returning 0 on poll timeout 12376/head
Sage Weil [Thu, 8 Dec 2016 00:25:55 +0000 (18:25 -0600)]
msg/simple/Pipe: avoid returning 0 on poll timeout

If poll times out it will return 0 (no data to read on socket).  In
165e5abdbf6311974d4001e43982b83d06f9e0cc we changed tcp_read_wait from
returning -1 to returning -errno, which means we return 0 instead of -1
in this case.

This makes tcp_read() get into an infinite loop by repeatedly trying to
read from the socket and getting EAGAIN.

Fix by explicitly checking for a 0 return from poll(2) and returning
EAGAIN in that case.

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

8 years agoMerge pull request #12033 from dachary/wip-17926-jewel
Loic Dachary [Tue, 6 Dec 2016 14:54:45 +0000 (15:54 +0100)]
Merge pull request #12033 from dachary/wip-17926-jewel

jewel: ceph-disk --dmcrypt create must not require admin key

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #11968 from ddiss/jewel_next_flush_evict_snaps
Loic Dachary [Tue, 6 Dec 2016 08:47:07 +0000 (09:47 +0100)]
Merge pull request #11968 from ddiss/jewel_next_flush_evict_snaps

jewel: tools: snapshotted RBD extent objects can't be manually evicted from a cache tier

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #12151 from dachary/wip-18011-jewel
Loic Dachary [Tue, 6 Dec 2016 08:46:01 +0000 (09:46 +0100)]
Merge pull request #12151 from dachary/wip-18011-jewel

jewel: test fails due to The UNIX domain socket path

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #12296 from SUSE/wip-18133-jewel
Loic Dachary [Tue, 6 Dec 2016 08:45:26 +0000 (09:45 +0100)]
Merge pull request #12296 from SUSE/wip-18133-jewel

jewel: build/ops: fix undefined crypto references with --with-xio

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years ago10.2.4 v10.2.4
Jenkins Build Slave User [Mon, 5 Dec 2016 22:15:20 +0000 (22:15 +0000)]
10.2.4

8 years agoMerge pull request #11997 from Abhishekvrshny/wip-17876-jewel
Sage Weil [Mon, 5 Dec 2016 19:01:55 +0000 (14:01 -0500)]
Merge pull request #11997 from Abhishekvrshny/wip-17876-jewel

jewel: osd: update_log_missing does not order correctly with osd_ops

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #11944 from SUSE/wip-17866-jewel
Sage Weil [Mon, 5 Dec 2016 19:01:03 +0000 (14:01 -0500)]
Merge pull request #11944 from SUSE/wip-17866-jewel

jewel: osd: Add config option to disable new scrubs during recovery

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #11672 from linuxbox2/jewel-17663
Yehuda Sadeh [Mon, 5 Dec 2016 18:09:30 +0000 (10:09 -0800)]
Merge pull request #11672 from linuxbox2/jewel-17663

jewel: rgw_rest_s3:  apply missed base64 try-catch

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
8 years agoMerge pull request #11953 from SUSE/wip-17885-jewel
Loic Dachary [Mon, 5 Dec 2016 17:47:28 +0000 (18:47 +0100)]
Merge pull request #11953 from SUSE/wip-17885-jewel

jewel: test: temporarily disable fork()'ing tests

Reviewed-by: John Spray <john.spray@redhat.com>
8 years agoMerge pull request #11884 from SUSE/wip-17754-jewel
Loic Dachary [Mon, 5 Dec 2016 16:39:50 +0000 (17:39 +0100)]
Merge pull request #11884 from SUSE/wip-17754-jewel

jewel: ceph-create-keys loops forever

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #11529 from SUSE/wip-17600-jewel
Loic Dachary [Mon, 5 Dec 2016 16:38:50 +0000 (17:38 +0100)]
Merge pull request #11529 from SUSE/wip-17600-jewel

jewel: common: Improve linux dcache hash algorithm

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #12167 from liewegas/wip-osdmap-encoding-jewel
Loic Dachary [Mon, 5 Dec 2016 13:50:23 +0000 (14:50 +0100)]
Merge pull request #12167 from liewegas/wip-osdmap-encoding-jewel

jewel: osd: condition OSDMap encoding on features

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agoceph-disk: enable --runtime ceph-osd systemd units 12147/head
Loic Dachary [Wed, 30 Nov 2016 23:28:32 +0000 (00:28 +0100)]
ceph-disk: enable --runtime ceph-osd systemd units

If ceph-osd@.service is enabled for a given device (say /dev/sdb1 for
osd.3) the ceph-osd@3.service will race with ceph-disk@dev-sdb1.service
at boot time.

Enabling ceph-osd@3.service is not necessary at boot time because

   ceph-disk@dev-sdb1.service

calls

   ceph-disk activate /dev/sdb1

which calls

   systemctl start ceph-osd@3

The systemctl enable/disable ceph-osd@.service called by ceph-disk
activate is changed to add the --runtime option so that ceph-osd units
are lost after a reboot. They are recreated when ceph-disk activate is
called at boot time so that:

   systemctl stop ceph

knows which ceph-osd@.service to stop when a script or sysadmin wants
to stop all ceph services.

Before enabling ceph-osd@.service (that happens at every boot time),
make sure the permanent enablement in /etc/systemd is removed so that
only the one added by systemctl enable --runtime in /run/systemd
remains. This is useful to upgrade an existing cluster without creating
a situation that is even worse than before because ceph-disk@.service
races against two ceph-osd@.service (one in /etc/systemd and one in
/run/systemd).

Fixes: http://tracker.ceph.com/issues/17889
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 539385b143feee3905dceaf7a8faaced42f2d3c6)

8 years agobuild/ops: restart ceph-osd@.service after 20s instead of 100ms
Loic Dachary [Wed, 30 Nov 2016 16:33:54 +0000 (17:33 +0100)]
build/ops: restart ceph-osd@.service after 20s instead of 100ms

Instead of the default 100ms pause before trying to restart an OSD, wait
20 seconds instead and retry 30 times instead of 3. There is no scenario
in which restarting an OSD almost immediately after it failed would get
a better result.

It is possible that a failure to start is due to a race with another
systemd unit at boot time. For instance if ceph-disk@.service is
delayed, it may start after the OSD that needs it. A long pause may give
the racing service enough time to complete and the next attempt to start
the OSD may succeed.

This is not a sound alternative to resolve a race, it only makes the OSD
boot process less sensitive. In the example above, the proper fix is to
enable --runtime ceph-osd@.service so that it cannot race at boot time.

The wait delay should not be minutes to preserve the current runtime
behavior. For instance, if an OSD is killed or fails and restarts after
10 minutes, it will be marked down by the ceph cluster.  This is not a
change that could break things but it is significant and should be
avoided.

Refs: http://tracker.ceph.com/issues/17889

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

8 years agoceph-disk: trigger must ensure device ownership
Loic Dachary [Tue, 22 Nov 2016 14:26:18 +0000 (15:26 +0100)]
ceph-disk: trigger must ensure device ownership

The udev rules that set the owner/group of the OSD devices are racing
with 50-udev-default.rules and depending on which udev event fires last,
ownership may not be as expected.

Since ceph-disk trigger --sync runs as root, always happens after
dm/lvm/filesystem units are complete and before activation, it is a good
time to set the ownership of the device.

It does not eliminate all races: a script running after systemd
local-fs.target and firing a udev event may create a situation where the
permissions of the device are temporarily reverted while the activation
is running.

Fixes: http://tracker.ceph.com/issues/17813
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 72f0b2aa1eb4b7b2a2222c2847d26f99400a8374)

8 years agoceph-disk: systemd unit must run after local-fs.target
Loic Dachary [Tue, 22 Nov 2016 13:45:45 +0000 (14:45 +0100)]
ceph-disk: systemd unit must run after local-fs.target

A ceph udev action may be triggered before the local file systems are
mounted because there is no ordering in udev. The ceph udev action
delegates asynchronously to systemd via ceph-disk@.service which will
fail if (for instance) the LVM partition required to mount /var/lib/ceph
is not available yet. The systemd unit will retry a few times but will
eventually fail permanently. The sysadmin can systemctl reset-fail at a
later time and it will succeed.

Add a dependency to ceph-disk@.service so that it waits until the local
file systems are mounted:

After=local-fs.target

Since local-fs.target depends on lvm, it will wait until the lvm
partition (as well as any dm devices) is ready and mounted before
attempting to activate the OSD. It may still fail because the
corresponding journal/data partition is not ready yet (which is
expected) but it will no longer fail because the lvm/filesystems/dm are
not ready.

Fixes: http://tracker.ceph.com/issues/17889
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit d954de5546ea34a07c1e4234b07c1cef6ab74463)

8 years agoMerge pull request #1290 from SUSE/wip-18014-jewel
Nathan Cutler [Sun, 4 Dec 2016 10:46:45 +0000 (11:46 +0100)]
Merge pull request #1290 from SUSE/wip-18014-jewel

thrashosds: try ceph-objectstore-tool for 10 minutes

Reviewed-by: Loic Dachary <ldachary@redhat.com>
8 years agothrashosds: try ceph-objectstore-tool for 10 minutes
Nathan Cutler [Thu, 24 Nov 2016 10:25:35 +0000 (11:25 +0100)]
thrashosds: try ceph-objectstore-tool for 10 minutes

If ceph-objectstore-tool binary is not present, it's likely because we're in
the middle of an upgrade. Do not try to run the binary until we verify that
it's really present. If it is absent, spend up to 10 minutes waiting for it to
appear.

Before this patch there was quite a large window for a race to occur. This
patch doesn't entirely eliminate it, but drastically reduces it.

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

8 years agobuild/ops: fix undefined crypto references with --with-xio 12296/head
Nathan Cutler [Sat, 3 Dec 2016 12:29:56 +0000 (13:29 +0100)]
build/ops: fix undefined crypto references with --with-xio

Only with --with-xio, RPM build fails due to undefined references to various
symbols starting with "PK11_" in ./.libs/libcommon.a(Crypto.o) in several
of the unit tests.

Fixes: http://tracker.ceph.com/issues/18133
Signed-off-by: Nathan Cutler <ncutler@suse.com>
8 years agoMerge pull request #12067 from SUSE/wip-17953-jewel
Loic Dachary [Sat, 3 Dec 2016 09:57:18 +0000 (10:57 +0100)]
Merge pull request #12067 from SUSE/wip-17953-jewel

jewel: mon: OSDMonitor: only reject MOSDBoot based on up_from if inst matches

Reviewed-by: Samuel Just <sjust@redhat.com>
8 years agoMerge pull request #1297 from ceph/wip-14.04
Zack Cerza [Fri, 2 Dec 2016 20:25:32 +0000 (13:25 -0700)]
Merge pull request #1297 from ceph/wip-14.04

suites/rados: s/trusty/"14.04"/

8 years agoOSDMonitor: only reject MOSDBoot based on up_from if inst matches 12067/head
Samuel Just [Mon, 14 Nov 2016 19:50:23 +0000 (11:50 -0800)]
OSDMonitor: only reject MOSDBoot based on up_from if inst matches

If the osd actually restarts, there is no guarrantee that the epoch will
advance past up_from.  If the inst is different, it can't really be a
dup.  At worst, it might be a queued MOSDBoot from a previous inst, but
in that case, the real inst would see itself marked up, and then back
down causing it to try booting again.

Fixes: http://tracker.ceph.com/issues/17899
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 033ad5b46c0492134e72a8372e44e3ef1358d2df)

8 years agoMerge pull request #12207 from jdurgin/wip-librados-setxattr-overload-jewel
Josh Durgin [Fri, 2 Dec 2016 16:16:27 +0000 (08:16 -0800)]
Merge pull request #12207 from jdurgin/wip-librados-setxattr-overload-jewel

librados: remove new setxattr overload to avoid breaking the C++ ABI

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agosuites/rados: s/trusty/"14.04"/
Sage Weil [Fri, 2 Dec 2016 14:37:09 +0000 (09:37 -0500)]
suites/rados: s/trusty/"14.04"/

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #1296 from dachary/wip-ceph-coverage-jewel
Loic Dachary [Fri, 2 Dec 2016 10:42:34 +0000 (11:42 +0100)]
Merge pull request #1296 from dachary/wip-ceph-coverage-jewel

upgrade: ceph-test is needed for ceph-coverage

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
8 years agoupgrade/infernalis-client-x: ceph-test is needed for ceph-coverage
Loic Dachary [Fri, 2 Dec 2016 09:32:42 +0000 (10:32 +0100)]
upgrade/infernalis-client-x: ceph-test is needed for ceph-coverage

Do not exclude the ceph-test package otherwise the ceph-coverage
executable is not installed.

Fixes: http://tracker.ceph.com/issues/16506
Signed-off-by: Loic Dachary <loic@dachary.org>
8 years agoupgrade: ceph-test is needed for ceph-coverage
Loic Dachary [Fri, 2 Dec 2016 09:27:25 +0000 (10:27 +0100)]
upgrade: ceph-test is needed for ceph-coverage

Do not exclude the ceph-test package otherwise the ceph-coverage
executable is not installed.

Fixes: http://tracker.ceph.com/issues/16506
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 8122494530589e27df929652e38c74137d6d823a)

8 years agoMerge pull request #12267 from dachary/wip-17904-jewel
Loic Dachary [Fri, 2 Dec 2016 09:01:39 +0000 (10:01 +0100)]
Merge pull request #12267 from dachary/wip-17904-jewel

 jewel: Error EINVAL: removing mon.a at 172.21.15.16:6789/0, there will be 1 monitors

Reviewed-by: Samuel Just <sjust@redhat.com>
8 years agoMerge pull request #1284 from ceph/jewel-name-limits
Sage Weil [Thu, 1 Dec 2016 21:57:20 +0000 (16:57 -0500)]
Merge pull request #1284 from ceph/jewel-name-limits

drop broken name length config args

8 years agoMerge pull request #1292 from ceph/jewel-avoid-xenial
Sage Weil [Thu, 1 Dec 2016 21:56:55 +0000 (16:56 -0500)]
Merge pull request #1292 from ceph/jewel-avoid-xenial

rados: avoid xenial for upgrade tests

8 years agomon: MonmapMonitor: drop unnecessary 'goto' statements 12267/head
Joao Eduardo Luis [Wed, 2 Nov 2016 15:38:36 +0000 (15:38 +0000)]
mon: MonmapMonitor: drop unnecessary 'goto' statements

Signed-off-by: Joao Eduardo Luis <joao@suse.de>
(cherry picked from commit 20dcb597e35e6961db81831facefbe22cecddec3)

8 years agomon: MonmapMonitor: return success when monitor will be removed
Joao Eduardo Luis [Wed, 2 Nov 2016 15:33:52 +0000 (15:33 +0000)]
mon: MonmapMonitor: return success when monitor will be removed

Fixes: http://tracker.ceph.com/issues/17725
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
(cherry picked from commit c9d46cfbf2512bc3495c6901de2b8f711bef9bae)

8 years agoMerge pull request #11999 from Abhishekvrshny/wip-17904-jewel
Samuel Just [Thu, 1 Dec 2016 19:50:35 +0000 (11:50 -0800)]
Merge pull request #11999 from Abhishekvrshny/wip-17904-jewel

jewel: Error EINVAL: removing mon.a at 172.21.15.16:6789/0, there will be 1 monitors

Reviewed-by: Samuel Just <sjust@redhat.com>
8 years agoMerge pull request #12001 from dachary/wip-17915-jewel
Samuel Just [Thu, 1 Dec 2016 19:08:04 +0000 (11:08 -0800)]
Merge pull request #12001 from dachary/wip-17915-jewel

jewel: filestore: can get stuck in an unbounded loop during scrub

Reviewed-by: Samuel Just <sjust@redhat.com>
8 years agoMerge pull request #12174 from SUSE/wip-18025-jewel
Yehuda Sadeh [Thu, 1 Dec 2016 18:55:01 +0000 (10:55 -0800)]
Merge pull request #12174 from SUSE/wip-18025-jewel

rgw: don't store empty chains in gc

8 years agoMerge pull request #11758 from Abhishekvrshny/wip-17784-jewel
Yehuda Sadeh [Thu, 1 Dec 2016 18:46:30 +0000 (10:46 -0800)]
Merge pull request #11758 from Abhishekvrshny/wip-17784-jewel

jewel: osd crashes when radosgw-admin bi list --max-entries=1 command runing

8 years agoupgrade/client-upgrade: correct distros/ location
Sage Weil [Thu, 1 Dec 2016 15:03:49 +0000 (10:03 -0500)]
upgrade/client-upgrade: correct distros/ location

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoupgrade/client-upgrade: fix distro symlinks
Sage Weil [Thu, 1 Dec 2016 14:53:53 +0000 (09:53 -0500)]
upgrade/client-upgrade: fix distro symlinks

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoupgrade/client-upgrade: specify centos or trusty (not xenial)
Sage Weil [Wed, 30 Nov 2016 16:55:45 +0000 (11:55 -0500)]
upgrade/client-upgrade: specify centos or trusty (not xenial)

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agorados: avoid ubuntu xenial on upgrade tests
Sage Weil [Wed, 30 Nov 2016 16:00:39 +0000 (11:00 -0500)]
rados: avoid ubuntu xenial on upgrade tests

Not all of the older package builds are present for xenial.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #1152 from ceph/wip-objecstore
Sage Weil [Wed, 30 Nov 2016 02:54:15 +0000 (21:54 -0500)]
Merge pull request #1152 from ceph/wip-objecstore

rados/objectstore/objectstore.yaml: skip bluestore tests

8 years agoMerge pull request #1288 from dachary/wip-shec-upgrade-jewel
Sage Weil [Tue, 29 Nov 2016 15:36:22 +0000 (10:36 -0500)]
Merge pull request #1288 from dachary/wip-shec-upgrade-jewel

upgrade/hammer-x: verify shec before the full upgrade

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agosystemd/ceph-disk: reduce ceph-disk flock contention 12210/head
David Disseldorp [Mon, 28 Nov 2016 13:16:22 +0000 (14:16 +0100)]
systemd/ceph-disk: reduce ceph-disk flock contention

"ceph-disk trigger" invocation is currently performed in a mutually
exclusive fashion, with each call first taking an flock on the path
/var/lock/ceph-disk. On systems with a lot of osds, this leads to a
large amount of lock contention during boot-up, and can cause some
service instances to trip the 120 second timeout.

Take an flock on a device specific path instead of /var/lock/ceph-disk,
so that concurrent "ceph-disk trigger" invocations are permitted for
independent osds. This greatly reduces lock contention and consequently
the chance of service timeout. Per-device concurrency restrictions
required for http://tracker.ceph.com/issues/13160 are maintained.

Fixes: http://tracker.ceph.com/issues/18060
Signed-off-by: David Disseldorp <ddiss@suse.de>
(cherry picked from commit 8a62cbc074b711275cfd57b372bfb35f6a017833)

8 years agoupgrade/hammer-x: verify shec before the full upgrade
Loic Dachary [Tue, 29 Nov 2016 08:49:15 +0000 (09:49 +0100)]
upgrade/hammer-x: verify shec before the full upgrade

The hammer-x/stress-split-erasure-code upgrade sequence comes from
hammer-x/stress-split and was modified to fully upgrade the cluster. It
previously upgraded only half of it. Verifying that the shec plugin is
not available and that trying to set it does not crash the OSD or the
MON must be tried before the upgrade is complete.

Signed-off-by: Loic Dachary <loic@dachary.org>
8 years agolibrados: remove new setxattr overload to avoid breaking the C++ ABI 12207/head
Josh Durgin [Tue, 29 Nov 2016 06:06:56 +0000 (22:06 -0800)]
librados: remove new setxattr overload to avoid breaking the C++ ABI

Fixes: http://tracker.ceph.com/issues/18058
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit b8ff781ddcf737882163cf56d7c9b11e815fb699)

Conflicts:
src/include/rados/librados.hpp (trivial namespace change in removed line)

8 years agoMerge pull request #1287 from ceph/jewel-failed-to-encode
Samuel Just [Mon, 28 Nov 2016 21:59:47 +0000 (13:59 -0800)]
Merge pull request #1287 from ceph/jewel-failed-to-encode

upgrade/hammer-x: encoding fixes (jewel)

Reviewed-by: Samuel Just <sjust@redhat.com>
8 years agocrush: condition latest tunable encoding on features 12167/head
Sage Weil [Wed, 23 Nov 2016 19:15:50 +0000 (14:15 -0500)]
crush: condition latest tunable encoding on features

This avoids throwing hammer OSDMap encodings off.

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

8 years agocrush/CrushWrapper: encode with features
Sage Weil [Mon, 28 Nov 2016 19:35:53 +0000 (14:35 -0500)]
crush/CrushWrapper: encode with features

No behavior change yet; just fixing callers.

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

[Updated write_file to use all feaetures]
[Updated OSDMonitor.cc to use mon->quorum_features instead of the
 mon->get_quorum_con_featuers() helper]
[trivial conflict from removed write_file and read_file]

Conflicts:
src/crush/CrushWrapper.h
src/mgr/PyModules.cc
src/mon/OSDMonitor.cc
src/tools/ceph_monstore_tool.cc

8 years agocrush/CrushWrapper: drop unused 'lean' encode() argument
Sage Weil [Mon, 28 Nov 2016 19:35:24 +0000 (14:35 -0500)]
crush/CrushWrapper: drop unused 'lean' encode() argument

No callers, no users.

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

Conflicts:
src/crush/CrushWrapper.h

[trivial conflict due to removal of write_file and read_file]

8 years agoupgrade/hammer-x/stress-split-*: disable sighup injection
Sage Weil [Mon, 28 Nov 2016 16:56:02 +0000 (11:56 -0500)]
upgrade/hammer-x/stress-split-*: disable sighup injection

We already did this for stress-split; do the same
here.  It triggers a File closed exception when the greenlet
is joined.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoupgrade/hammer-x/parallel: white 'failed to encode'
Sage Weil [Mon, 28 Nov 2016 15:29:40 +0000 (10:29 -0500)]
upgrade/hammer-x/parallel: white 'failed to encode'

The problem here has nothing to do with osdmap
encoding, but that hammer -> jewel makes the systemd
transition and installing the package starts
the mons.. before the osds.  I'm not sure what
the workaround for that is but the osdmap issue
appears okay, so ignore this for now.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #1285 from ceph/jewel-failed-to-encode
Yuri Weinstein [Sun, 27 Nov 2016 19:06:14 +0000 (11:06 -0800)]
Merge pull request #1285 from ceph/jewel-failed-to-encode

upgrade/hammer-x: do not whitelist 'failed to encode map'

8 years agoupgrade/hammer-x/parallel: upgrade osds first
Sage Weil [Sat, 26 Nov 2016 23:31:23 +0000 (18:31 -0500)]
upgrade/hammer-x/parallel: upgrade osds first

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoupgrade/hammer-x: do not whitelist 'failed to encode map'
Sage Weil [Sat, 26 Nov 2016 23:37:37 +0000 (18:37 -0500)]
upgrade/hammer-x: do not whitelist 'failed to encode map'

Well, on parallel.  For the others, keep it in
place because we don't upgrade osds first (we are testing
other things).

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agodrop broken name length config args
Sage Weil [Thu, 5 May 2016 13:07:36 +0000 (09:07 -0400)]
drop broken name length config args

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

8 years agorgw: don't store empty chains in gc 12174/head
Yehuda Sadeh [Mon, 14 Nov 2016 18:22:03 +0000 (10:22 -0800)]
rgw: don't store empty chains in gc

Fixes: http://tracker.ceph.com/issues/17897
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 7c8f1b9edc921711fa30345bbecea2dcd5de1229)

8 years agoupgrade/hammer-x: fix symlinks
Sage Weil [Wed, 23 Nov 2016 21:40:38 +0000 (16:40 -0500)]
upgrade/hammer-x: fix symlinks

Signed-off-by: Sage Weil <sage@redhat.com>