]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agolibrbd: rename of non-existent image results in seg fault 20280/head
Jason Dillaman [Tue, 5 Sep 2017 16:11:45 +0000 (12:11 -0400)]
librbd: rename of non-existent image results in seg fault

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

Conflicts:
        src/librbd/internal.cc (retain redundant "delete ictx" that has been
            dropped in master)

7 years agoMerge pull request #20070 from smithfarm/wip-22771-jewel
David Zafman [Sat, 3 Feb 2018 00:44:42 +0000 (16:44 -0800)]
Merge pull request #20070 from smithfarm/wip-22771-jewel

jewel: tools: ceph-objectstore-tool set-size should clear data-digest

Reviewed-by: David Zafman <dzafman@redhat.com>
7 years agoMerge pull request #19469 from linuxbox2/jewel-22410
Nathan Cutler [Fri, 2 Feb 2018 21:20:33 +0000 (22:20 +0100)]
Merge pull request #19469 from linuxbox2/jewel-22410

jewel: rgw: fix chained cache invalidation to prevent cache size growth

Reviewed-by: Mark Kogan <mkogan@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #19747 from linuxbox2/jewel-rgw-21984
Nathan Cutler [Fri, 2 Feb 2018 21:17:55 +0000 (22:17 +0100)]
Merge pull request #19747 from linuxbox2/jewel-rgw-21984

jewel: rgw: fix doubled underscore with s3/swift server-side copy

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Marcus Watts <mwatts@redhat.com>
7 years agoMerge pull request #19769 from linuxbox2/jewel-rgw-22517
Nathan Cutler [Fri, 2 Feb 2018 21:15:21 +0000 (22:15 +0100)]
Merge pull request #19769 from linuxbox2/jewel-rgw-22517

jewel: rgw: resolve Random 500 errors in Swift PutObject (22517)

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #18303 from smithfarm/wip-21632-jewel
Nathan Cutler [Thu, 1 Feb 2018 23:18:49 +0000 (00:18 +0100)]
Merge pull request #18303 from smithfarm/wip-21632-jewel

jewel: doc: remove region from INSTALL CEPH OBJECT GATEWAY

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #18951 from dzafman/wip-21440
David Zafman [Fri, 26 Jan 2018 22:50:27 +0000 (14:50 -0800)]
Merge pull request #18951 from dzafman/wip-21440

Jewel: Performance: Only scan for omap corruption once

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #18690 from dzafman/wip-1508935
David Zafman [Fri, 26 Jan 2018 15:56:00 +0000 (07:56 -0800)]
Merge pull request #18690 from dzafman/wip-1508935

jewel: osd: recover_replicas: object added to missing set for backfill, but is not in recovering, error!

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #18925 from ivancich/jewel-backport-18821
Nathan Cutler [Tue, 23 Jan 2018 14:36:21 +0000 (15:36 +0100)]
Merge pull request #18925 from ivancich/jewel-backport-18821

jewel: rgw: Fix swift object expiry not deleting objects

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoceph-objectstore-tool: Fix set-size to clear data_digest if changing disk size 20070/head
David Zafman [Fri, 10 Nov 2017 00:11:14 +0000 (16:11 -0800)]
ceph-objectstore-tool: Fix set-size to clear data_digest if changing disk size

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 7ca3ce93099de9412012b7a88121f9fced34f4b8)

Conflicts:
    src/tools/ceph_objectstore_tool.cc (in jewel, ::encode() takes only two
        arguments, while in luminous/master it takes a third which we omit
        here)

7 years agotest: Add undocumented corrupt-size for testing
David Zafman [Fri, 30 Jun 2017 00:13:50 +0000 (17:13 -0700)]
test: Add undocumented corrupt-size for testing

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit c0606b9eea977074b560b44c4cd1a3d8e8bc3e0a)
(cherry picked from commit feb02bdd64531e9098dca580b673e3886ba922b1)

7 years agorgw: Fix swift object expiry not deleting objects 18925/head
Pavan Rallabhandi [Wed, 8 Nov 2017 16:05:54 +0000 (21:35 +0530)]
rgw: Fix swift object expiry not deleting objects

In cls_timeindex_list() though `to_index` has expired for a timespan, the marker is set for a subsequent index during the time boundary check.
This marker is further returned to RGWObjectExpirer::process_single_shard(), where this out_marker is trimmed from the respective shard,
resulting in a lost removal hint and a leaked object.

Fixes: http://tracker.ceph.com/issues/22084
Signed-off-by: Pavan Rallabhandi <PRallabhandi@walmartlabs.com>
(cherry picked from commit 70adfaae5073d2680a9722526a6a19795dd18780)

7 years agoMerge pull request #19840 from joscollin/wip-jewel-backport-22569-2
Jos Collin [Mon, 8 Jan 2018 14:16:46 +0000 (14:16 +0000)]
Merge pull request #19840 from joscollin/wip-jewel-backport-22569-2

jewel: doc: clarify Path Restriction instructions

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agodoc: hyperlink fix 19840/head
Drunkard Zhang [Wed, 1 Mar 2017 01:51:01 +0000 (09:51 +0800)]
doc: hyperlink fix

Signed-off-by: Drunkard Zhang <gongfan193@gmail.com>
(cherry picked from commit f763bacab3ea66ab13b4d62ad883c365a8e0a604)

7 years agoMerge pull request #19795 from joscollin/wip-jewel-backport-22569
Jos Collin [Mon, 8 Jan 2018 04:21:32 +0000 (04:21 +0000)]
Merge pull request #19795 from joscollin/wip-jewel-backport-22569

jewel: doc: clarify Path Restriction instructions

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agodoc/mds: add generated files into the /etc/ceph/ 19795/head
huanwen ren [Thu, 4 Aug 2016 11:50:18 +0000 (19:50 +0800)]
doc/mds: add generated files into the /etc/ceph/

Fixes: 16906
Signed-off-by: huanwen ren <ren.huanwen@zte.com.cn>
(cherry picked from commit d1277f116cd297bae8da7b3e1a7000d3f99c6a51)

7 years agorgw: Plumb refresh logic into object cache 19769/head
Adam C. Emerson [Wed, 20 Dec 2017 22:06:32 +0000 (17:06 -0500)]
rgw: Plumb refresh logic into object cache

Now when we force a refetch of bucket info it will actually go to the
OSD rather than simply using the objects in the object cache.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit d997f657750faf920170843e62deacab70008d8b)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Add expiration in the object cache
Adam C. Emerson [Tue, 19 Dec 2017 21:47:09 +0000 (16:47 -0500)]
rgw: Add expiration in the object cache

We had it in the chained caches, but it doesn't do much good if
they just fetch objects out of the object cache.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 82a7e6ca31b416a7f0e41b5fda4c403d1d6be947)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: retry CORS put/delete operations on ECANCELLED
Adam C. Emerson [Tue, 19 Dec 2017 17:53:05 +0000 (12:53 -0500)]
rgw: retry CORS put/delete operations on ECANCELLED

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit bff7e61ca5a66b301ec49c1cf9054d1b74535832)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Expire entries in bucket info cache
Adam C. Emerson [Fri, 17 Nov 2017 22:15:26 +0000 (17:15 -0500)]
rgw: Expire entries in bucket info cache

To bound the degree to which an RGW instance can go out to lunch if
the watch/notify breaks down, force refresh of any cache entry over a
certain age.

Fifteen minutes by default, and expiration can be turned off entirely.

This is separate from the LRU. The LRU removes entries based on the
last time of access. This expiration patch forces refresh based on the
last time they were updated.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 4489cb58a15647a31ac0546d70400af5668404cb)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Handle stale bucket info in RGWDeleteBucketWebsite
Adam C. Emerson [Fri, 17 Nov 2017 21:05:06 +0000 (16:05 -0500)]
rgw: Handle stale bucket info in RGWDeleteBucketWebsite

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit f4d274248e43cb38ff2b27782c010b2c35b12b2b)

7 years agorgw: Handle stale bucket info in RGWSetBucketWebsite
Adam C. Emerson [Fri, 17 Nov 2017 21:03:13 +0000 (16:03 -0500)]
rgw: Handle stale bucket info in RGWSetBucketWebsite

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit b2b7385f194def1025a8947bab876c9856b06400)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Handle stale bucket info in RGWSetBucketVersioning
Adam C. Emerson [Fri, 17 Nov 2017 20:59:44 +0000 (15:59 -0500)]
rgw: Handle stale bucket info in RGWSetBucketVersioning

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit a0a1e7c2ef992b8758bcfb20d893730c1b202475)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Handle stale bucket info in RGWPutMetadataBucket
Adam C. Emerson [Fri, 17 Nov 2017 20:53:05 +0000 (15:53 -0500)]
rgw: Handle stale bucket info in RGWPutMetadataBucket

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit ebb86301b20098e15824f469001f6153b27965f5)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agorgw: Add retry_raced_bucket_write
Adam C. Emerson [Fri, 17 Nov 2017 20:51:42 +0000 (15:51 -0500)]
rgw: Add retry_raced_bucket_write

If the OSD informs us that our bucket info is out of date when we need
to write, we should have a way to update it.

This template function allows us to wrap relevant sections of code so
they'll be retried against new bucket info on -ECANCELED.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 1a3fcc70c0747791aa423cd0aa7d2596eaf3d73c)

7 years agorgw: Add try_refresh_bucket_info function
Adam C. Emerson [Thu, 16 Nov 2017 19:42:58 +0000 (14:42 -0500)]
rgw: Add try_refresh_bucket_info function

Sometimes operations fail with -ECANCELED. This means we got raced. If
this happens we should update our bucket info from cache and try again.

Some user reports suggest that our cache may be getting and staying
out of sync. This is a bug and should be fixed, but it would also be
nice if we were robust enough to notice the problem and refresh.

So in that case, we invalidate the cache and fetch direct from the
OSD, putting a warning in the log.

Fixes: http://tracker.ceph.com/issues/22517
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 9114e5e50995f0c7d2be5c24aa4712d89cd89f48)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoradosgw: fix doubled underscore with s3/swift server-side copy 19747/head
Marcus Watts [Tue, 2 Jan 2018 22:24:38 +0000 (17:24 -0500)]
radosgw: fix doubled underscore with s3/swift server-side copy

A name is almost an oid.  Except that if a name starts
with a _, the corresponding oid starts with a double _.
The copy logic passes the oid straight in as a name,
which results in a triple _ on the oid, resulting in
an object name with a double __.

Fix: remove one _ when converting an oid back into
a name, so that the final oid only has a double _.

Fixes: http://tracker.ceph.com/issues/22529
This change is not needed on master or Luminous, due to
already-merged #18662.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #19656 from tchaikov/wip-install-deps-jewel
Nathan Cutler [Fri, 29 Dec 2017 17:27:12 +0000 (18:27 +0100)]
Merge pull request #19656 from tchaikov/wip-install-deps-jewel

jewel: install-deps.sh: update g++ symlink also

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #19603 from ceph/wip-jewel-ansible-branch
Sage Weil [Fri, 29 Dec 2017 16:44:20 +0000 (10:44 -0600)]
Merge pull request #19603 from ceph/wip-jewel-ansible-branch

qa/tests: use 'stable-2.1' branch for jewel testing

7 years agoinstall-deps.sh: update g++ symlink also 19656/head
Kefu Chai [Fri, 22 Dec 2017 14:42:16 +0000 (22:42 +0800)]
install-deps.sh: update g++ symlink also

we need to update g++ symlink also, if it points to the wrong version

http://tracker.ceph.com/issues/22220
Signed-off-by: Kefu Chai <kchai@redhat.com>
Conflicts: the libboost issue does not affect master. as master builds
     boost from source. so, it's not cherry-picked from master.

7 years agoqa/tests: use 'stable-2.1' branch for jewel testing 19603/head
Vasu Kulkarni [Tue, 19 Dec 2017 21:04:56 +0000 (13:04 -0800)]
qa/tests: use 'stable-2.1' branch for jewel testing

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
7 years agoMerge pull request #19521 from tchaikov/wip-22220-jewel
Kefu Chai [Fri, 15 Dec 2017 06:02:15 +0000 (14:02 +0800)]
Merge pull request #19521 from tchaikov/wip-22220-jewel

jewel: install-deps.sh: readlink /usr/bin/gcc not /usr/bin/x86_64-linux-gnu-gcc

Signed-off-by: Nathan Cutler <ncutler@suse.com>
7 years agoinstall-deps.sh: readlink /usr/bin/gcc not /usr/bin/x86_64-linux-gnu-gcc 19521/head
Kefu Chai [Thu, 14 Dec 2017 13:01:43 +0000 (21:01 +0800)]
install-deps.sh: readlink /usr/bin/gcc not /usr/bin/x86_64-linux-gnu-gcc

See: http://tracker.ceph.com/issues/22220
Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #19461 from tchaikov/wip-22220-jewel
Kefu Chai [Thu, 14 Dec 2017 12:28:45 +0000 (20:28 +0800)]
Merge pull request #19461 from tchaikov/wip-22220-jewel

jewel: install-deps.sh: point gcc to the one shipped by distro

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoinstall-deps.sh: point gcc to the one shipped by distro 19461/head
Kefu Chai [Wed, 13 Dec 2017 05:36:54 +0000 (13:36 +0800)]
install-deps.sh: point gcc to the one shipped by distro

to define a struct in a method is legal in C++11, but it causes internal
compiler error due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82155
if we are using GCC-7. so we need to either workaround in our source
code by moving the struct definition out of the member method or revert
to a GCC without this bug. but if we go with the first route, the jewel
build still fails, because GCC-7 starts to use the new CXX11 ABI, which
is not compatible with the libboost we use in jewel. the libboost was
still built with the old ABI for backward compatibility. so let's just
fix the install-deps.sh to point gcc to the origin one.

See: http://tracker.ceph.com/issues/22220
Signed-off-by: Kefu Chai <kchai@redhat.com>
Conflicts: the libboost issue does not affect master. as master builds
 boost from source. so, it's not cherry-picked from master.

7 years agorgw: fix chained cache invalidation to prevent cache size growth 19469/head
Mark Kogan [Tue, 12 Dec 2017 15:34:05 +0000 (10:34 -0500)]
rgw: fix chained cache invalidation to prevent cache size growth
above the rgw_cache_lru_size limit

Fixes: http://tracker.ceph.com/issues/22410
Signed-off-by: Mark Kogan <mkogan@redhat.com>
(cherry picked from commit a6a1b664d313a54ad9d2f64b859296b1352b1ce4)

7 years agoMerge pull request #19214 from liewegas/wip-no-ec-upgrade-test
Sage Weil [Tue, 28 Nov 2017 16:28:38 +0000 (10:28 -0600)]
Merge pull request #19214 from liewegas/wip-no-ec-upgrade-test

qa/workunitse/rados/test/test-upgrade-11.0.0-noec: more *EC* skipping

7 years agoqa/workunitse/rados/test/test-upgrade-11.0.0-noec: more *EC* skipping 19214/head
Sage Weil [Tue, 28 Nov 2017 16:21:59 +0000 (10:21 -0600)]
qa/workunitse/rados/test/test-upgrade-11.0.0-noec: more *EC* skipping

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #19176 from liewegas/wip-no-ec-upgrade-test
Sage Weil [Mon, 27 Nov 2017 16:30:07 +0000 (10:30 -0600)]
Merge pull request #19176 from liewegas/wip-no-ec-upgrade-test

qa/workunits/rados/test-upgrade-11.0.0-noec.yaml: skip ec tests

7 years agoqa/workunits/rados/test-upgrade-11.0.0-noec.yaml: skip ec tests 19176/head
Sage Weil [Mon, 27 Nov 2017 16:24:47 +0000 (10:24 -0600)]
qa/workunits/rados/test-upgrade-11.0.0-noec.yaml: skip ec tests

This is needed for jewel-x point to point upgrade because earlier point
releases can't handle our ec profiles with ruleset-* (later ones can) and
the test races with the mon upgrades.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #19153 from smithfarm/wip-22236-jewel
Kefu Chai [Sun, 26 Nov 2017 16:42:30 +0000 (00:42 +0800)]
Merge pull request #19153 from smithfarm/wip-22236-jewel

jewel: ceph-disk flake8 test fails on very old, and very new, versions of flake8

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agotests: ceph-disk: ignore E722 in flake8 test 19153/head
Nathan Cutler [Tue, 21 Nov 2017 10:36:02 +0000 (11:36 +0100)]
tests: ceph-disk: ignore E722 in flake8 test

Very old, and very new, versions of flake8 treat E722 as an error:

flake8 runtests: commands[0] | flake8 --ignore=H105,H405,E127 ceph_disk tests
ceph_disk/main.py:1575:9: E722 do not use bare except'
ceph_disk/main.py:1582:9: E722 do not use bare except'
ceph_disk/main.py:3252:5: E722 do not use bare except'
ceph_disk/main.py:3288:21: E722 do not use bare except'
ceph_disk/main.py:3296:17: E722 do not use bare except'
ceph_disk/main.py:4358:5: E722 do not use bare except'
tests/test_main.py:26:1: E722 do not use bare except'
ERROR: InvocationError: '/opt/j/ws/mkck/src/ceph-disk/.tox/flake8/bin/flake8 --ignore=H105,H405,E127 ceph_disk tests'

Fixes: http://tracker.ceph.com/issues/22207
References: https://gitlab.com/pycqa/flake8/issues/361

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

7 years agoMerge pull request #19121 from liewegas/wip-jewel-x-fix
Kefu Chai [Fri, 24 Nov 2017 02:08:07 +0000 (10:08 +0800)]
Merge pull request #19121 from liewegas/wip-jewel-x-fix

qa/workunits/rados/test-upgrade-11.0.0: skip LibRadosMiscECPP.CompareExtentRange

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoqa/workunits/rados/test-upgrade-11.0.0: skip LibRadosMiscECPP.CompareExtentRange 19121/head
Sage Weil [Thu, 23 Nov 2017 21:47:56 +0000 (15:47 -0600)]
qa/workunits/rados/test-upgrade-11.0.0: skip LibRadosMiscECPP.CompareExtentRange

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: Scrub of object with only object error(s) are not logged 18951/head
David Zafman [Sat, 21 Oct 2017 02:50:32 +0000 (19:50 -0700)]
osd: Scrub of object with only object error(s) are not logged

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 1ad05b1068ddd5d3312af45af1a60587200ddcd7)

7 years agoosd: Only scan for omap corruption once
David Zafman [Wed, 13 Sep 2017 00:17:13 +0000 (17:17 -0700)]
osd: Only scan for omap corruption once

Before
  state 2: Can have complete tables (some may be bad)
state 3: Never had complete tables
After
  state 2: Can have complete tables (some may be bad)
state 3 with legacy: Can have complete tables (bad ones are cleared)
state 3: Never had complete tables

Once OSDs boot with this change you can't downgrade to a previous release.
If someone does downgrade they could have unstable OSDs that hit assert(state.v < 3).
The following command run after shutting down the cluster but before downgrading
ceph packages would be a way to fix this.

ceph-osdomap-tool --omap-path ... --command resetv2

Fixes: http://tracker.ceph.com/issues/21328
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 8805ef53424e30fd3f24ee38f5a6bdd9e6dd8641)

Conflicts:
src/os/filestore/DBObjectMap.h (trivial)

7 years agotools: Add the ability to reset state to v2
David Zafman [Wed, 13 Sep 2017 06:14:15 +0000 (23:14 -0700)]
tools: Add the ability to reset state to v2

Available for testing and user downgrade.

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 3e4d68640cc43efc0cf10ea8119b3aa583b7f36b)

Conflicts:
src/tools/ceph_osdomap_tool.cc (trivial)

7 years agotools: Show DB state information
David Zafman [Wed, 13 Sep 2017 05:12:52 +0000 (22:12 -0700)]
tools: Show DB state information

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 3214882a95f9f70d9f6d28f4e403ee16324530f9)

7 years agotools: Add --backend option to ceph-osdomap-tool default to rocksdb
David Zafman [Wed, 13 Sep 2017 01:06:10 +0000 (18:06 -0700)]
tools: Add --backend option to ceph-osdomap-tool default to rocksdb

Fix hard-coded "leveldb" backend.  The command is broken in Luminous
now that "rocksdb" is the default.

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit de43493990923bcdd20f88e9d04647e5ba709feb)

Conflicts:
src/tools/ceph_osdomap_tool.cc (trivial)

7 years agotest: Fix osd-scrub-repair.sh for Jewel 18690/head
David Zafman [Fri, 3 Nov 2017 00:49:14 +0000 (17:49 -0700)]
test: Fix osd-scrub-repair.sh for Jewel

The alloc_hint addition is caused by: 3bdd4398f1dcad0b7e22f1750ca524b97feca15a

Signed-off-by: David Zafman <dzafman@redhat.com>
7 years agotest: Test case that reproduces tracker 18162
David Zafman [Mon, 2 Oct 2017 20:51:17 +0000 (13:51 -0700)]
test: Test case that reproduces tracker 18162

recover_replicas: object added to missing set for backfill, but is not in recovering, error!

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit b9de5eec267627c8bc5ff0759ddea6c4a8aa7bce)

Conflicts:
src/test/erasure-code/test-erasure-eio.sh (Errors during backfill/recovery doesn't change state)

7 years agoMerge pull request #17082 from vumrao/wip-vumrao-scrub-recovery-false
Kefu Chai [Fri, 3 Nov 2017 13:55:04 +0000 (21:55 +0800)]
Merge pull request #17082 from vumrao/wip-vumrao-scrub-recovery-false

jewel: osd: default osd_scrub_during_recovery=false

Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #17841 from smithfarm/wip-21478-jewel
Kefu Chai [Fri, 3 Nov 2017 13:52:25 +0000 (21:52 +0800)]
Merge pull request #17841 from smithfarm/wip-21478-jewel

jewel: systemd: Add explicit Before=ceph.target

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #17847 from batrick/i21481
Kefu Chai [Fri, 3 Nov 2017 13:49:59 +0000 (21:49 +0800)]
Merge pull request #17847 from batrick/i21481

jewel: qa: use xfs instead of btrfs w/ filestore

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #17101 from vumrao/wip-vumrao-jewel
Kefu Chai [Fri, 3 Nov 2017 13:47:29 +0000 (21:47 +0800)]
Merge pull request #17101 from vumrao/wip-vumrao-jewel

jewel: core: Addition of online osd 'omap'compaction command

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: liuchang0812 <liuchang0812@gmail.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #17893 from dzafman/wip-19140-19224
Kefu Chai [Fri, 3 Nov 2017 13:42:59 +0000 (21:42 +0800)]
Merge pull request #17893 from dzafman/wip-19140-19224

jewel: osd ops (sent and?) arrive at osd out of order

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18080 from linuxbox2/jewel-awsv4-sort
Kefu Chai [Fri, 3 Nov 2017 13:36:29 +0000 (21:36 +0800)]
Merge pull request #18080 from linuxbox2/jewel-awsv4-sort

jewel: radosgw: fix awsv4 header line sort order.

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
7 years agoMerge pull request #18165 from tchaikov/wip-no-btrfs-jewel
Kefu Chai [Fri, 3 Nov 2017 13:33:52 +0000 (21:33 +0800)]
Merge pull request #18165 from tchaikov/wip-no-btrfs-jewel

jewel: qa: use xfs instead of btrfs w/ filestore

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoqa/suites: add objectstore facet where it was missing 18165/head
Sage Weil [Tue, 28 Mar 2017 16:03:41 +0000 (12:03 -0400)]
qa/suites: add objectstore facet where it was missing

There are places where we were testing xfs vs btrfs on
filestore and now want to cover both filestore and bluestore.

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

Conflicts: remove bluestore.yaml as jewel does not support it. and
  remove links to objectstore from where the tests do not exist in jewel
  yet, for instance, qa/suites/mgr/basic.

7 years agoMerge pull request #17594 from tchaikov/wip-jewel-20616
Kefu Chai [Fri, 3 Nov 2017 05:51:29 +0000 (13:51 +0800)]
Merge pull request #17594 from tchaikov/wip-jewel-20616

jewel: librados: copy out data to users' buffer for xio

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoosd: Better handle failure to get enough EC shards to backfill
David Zafman [Wed, 4 Oct 2017 01:32:20 +0000 (18:32 -0700)]
osd: Better handle failure to get enough EC shards to backfill

Fixes: http://tracker.ceph.com/issues/18162
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 6a02bfef3d44a13589c1a90bec29ff0ac64f97aa)

Conflicts:
src/osd/PGBackend.h (trivial)
src/osd/ReplicatedPG.cc (trivial)
src/osd/ReplicatedPG.h (trivial)

7 years agoosd: For recovery get all possible shards to read on errors
David Zafman [Fri, 22 Sep 2017 03:35:27 +0000 (20:35 -0700)]
osd: For recovery get all possible shards to read on errors

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 390d12f71a1bd6e07f3516b1c73e467e9960725d)

Conflicts:
src/osd/ECBackend.h (trivial)

7 years agoosd: Allow recovery to send additional reads
David Zafman [Fri, 22 Sep 2017 00:48:28 +0000 (17:48 -0700)]
osd: Allow recovery to send additional reads

For now it doesn't include non-acting OSDs
Added test for this case

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 1235810c2ad08ccb7ef5946686eb2b85798f5bca)

7 years agotest: Allow modified options to existing setup functions
David Zafman [Thu, 21 Sep 2017 21:49:17 +0000 (14:49 -0700)]
test: Allow modified options to existing setup functions

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit f92aa6c82449152901a4663c523e9ba43363eca3)

Conflicts:
src/test/erasure-code/test-erasure-eio.sh (trivial)

7 years agotest: Use feature to get last array element
David Zafman [Wed, 27 Sep 2017 21:29:25 +0000 (14:29 -0700)]
test: Use feature to get last array element

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 43e3206de2a20bf17ad9f2b16b7e486804097bf2)

7 years agotest: Add a removal test for erasure code read
David Zafman [Tue, 12 Sep 2017 22:03:33 +0000 (15:03 -0700)]
test: Add a removal test for erasure code read

Test feature: http://tracker.ceph.com/issues/14513

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 50e08b0a5d7dc30a164313c1480b6cc829b6ec65)

7 years agoqa: Add common generalized inject_eio() to ceph-helpers.sh
David Zafman [Wed, 2 Aug 2017 04:35:34 +0000 (21:35 -0700)]
qa: Add common generalized inject_eio() to ceph-helpers.sh

Retry for a while to allow pool to appear

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 574b3cd3d416a3ba3611775f871646ab137266f5)

Conflicts:
qa/workunits/ceph-helpers.sh (trivial)
src/test/erasure-code/test-erasure-eio.sh (trivial)
src/test/osd/osd-scrub-repair.sh (asok sockets not in /tmp)

7 years ago osd/ECBackend: only need check missing_loc when doing recovery
huangjun [Fri, 16 Dec 2016 10:14:23 +0000 (18:14 +0800)]
  osd/ECBackend: only need check missing_loc when doing recovery

Signed-off-by: huangjun <hjwsm1989@gmail.com>
(cherry picked from commit 317100ad5b12ffaf00b0559b1b50a99323d6dc4f)

7 years agotest: test-erasure-eio.sh fix recovery testing and enable it
David Zafman [Wed, 23 Nov 2016 19:50:52 +0000 (11:50 -0800)]
test: test-erasure-eio.sh fix recovery testing and enable it

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 4f592255e1e7aa1c176652e554bc1346ac447e30)

7 years agotest: CLEANUP make test clearer by using "fail" as argument
David Zafman [Wed, 23 Nov 2016 19:46:57 +0000 (11:46 -0800)]
test: CLEANUP make test clearer by using "fail" as argument

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit ce85112d353b30a615093643d29410432d69b4cd)

7 years agotest: CLEANUP to later enable TEST_rados_get_with_subreadall_eio_shard_*
David Zafman [Sat, 12 Nov 2016 01:04:03 +0000 (17:04 -0800)]
test: CLEANUP to later enable TEST_rados_get_with_subreadall_eio_shard_*

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 6a78b81f37fd6fb495672142fe9d135d144391c6)

7 years agoerasure: Remove unused variable
Adam C. Emerson [Tue, 8 Nov 2016 16:26:32 +0000 (11:26 -0500)]
erasure: Remove unused variable

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 6cb93f7d3406efb8955770aef21e2dc791958b0a)

7 years agoMerge pull request #18548 from dillaman/wip-21911-jewel
Jason Dillaman [Fri, 27 Oct 2017 15:45:28 +0000 (11:45 -0400)]
Merge pull request #18548 from dillaman/wip-21911-jewel

jewel: test/librbd: fixed metadata tests under upgrade scenarios

Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
7 years agoMerge pull request #18560 from dillaman/wip-21912-jewel
Jason Dillaman [Fri, 27 Oct 2017 15:44:48 +0000 (11:44 -0400)]
Merge pull request #18560 from dillaman/wip-21912-jewel

jewel: test/librbd: updated test_notify to handle new release lock semantics

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
7 years agotest/librbd: updated test_notify to handle new release lock semantics 18560/head
Jason Dillaman [Thu, 26 Oct 2017 14:52:16 +0000 (10:52 -0400)]
test/librbd: updated test_notify to handle new release lock semantics

Fixes: http://tracker.ceph.com/issues/21912
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agotest/librbd: fixed metadata tests under upgrade scenarios 18548/head
Jason Dillaman [Thu, 26 Oct 2017 02:00:13 +0000 (22:00 -0400)]
test/librbd: fixed metadata tests under upgrade scenarios

Fixes: http://tracker.ceph.com/issues/21911
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agodoc: replace region with zonegroup in configure bucket sharding section 18303/head
Orit Wasserman [Sun, 1 Oct 2017 05:40:27 +0000 (08:40 +0300)]
doc: replace region with zonegroup in configure bucket sharding section

Fixes: http://tracker.ceph.com/issues/21610
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit 8a1034bccdd514a3eaa6abfdc62c5e3d1e46d5cf)

Conflicts:
doc/install/install-ceph-gateway.rst (trivial resolution)

7 years agoMerge pull request #17942 from smithfarm/wip-21522-jewel
Kefu Chai [Wed, 11 Oct 2017 02:36:55 +0000 (10:36 +0800)]
Merge pull request #17942 from smithfarm/wip-21522-jewel

jewel: ceph-disk: fix --runtime omission when enabling ceph-osd@$ID.service units for device-backed OSDs

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #17815 from dzafman/wip-21117
Nathan Cutler [Mon, 9 Oct 2017 20:43:18 +0000 (22:43 +0200)]
Merge pull request #17815 from dzafman/wip-21117

jewel: osd: osd_scrub_during_recovery only considers primary, not replicas

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoqa/workunits/cephtool/test.sh: add sudo for daemon compact 17101/head
Sage Weil [Sat, 22 Jul 2017 03:18:03 +0000 (23:18 -0400)]
qa/workunits/cephtool/test.sh: add sudo for daemon compact

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

7 years agotest: add test of ceph compact command
liuchang0812 [Mon, 3 Jul 2017 08:31:31 +0000 (16:31 +0800)]
test: add test of ceph compact command

Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
(cherry picked from commit d1f24d053f367511cf12a43350bad246c5f28c9f)

 Conflicts:
qa/workunits/cephtool/test.sh
         Removed all tests which are not part of this backport

7 years agoosd: new command compact via tell/daemon
liuchang0812 [Fri, 30 Jun 2017 12:56:04 +0000 (20:56 +0800)]
osd: new command compact via tell/daemon

user could manual compact OSD's omap as following:
1. ceph tell osd.id compact
2. ceph daemon osd.id compact
user's requests will be impacted during compaction.

Fixes: http://tracker.ceph.com/issues/19592
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
(cherry picked from commit b4ad4297652df2f6ebfadcdededc7a47607ab534)

 Conflicts:
src/osd/OSD.cc
         Removed all admin socket register and unregister commands
         which are not part of this backport
         Changed admin_command to command variable because in jewel
         we use command variable.

7 years agoos: export compact interface in ObjectStore and ObjectMap
liuchang0812 [Fri, 30 Jun 2017 08:50:53 +0000 (16:50 +0800)]
os: export compact interface in ObjectStore and ObjectMap

Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
(cherry picked from commit eb5723d3abd4e1b6caec477090761d7919efc7bd)

 Conflicts:
src/os/bluestore/BlueStore.h
         Removed declarations which are not part of this backport
          inject_data_error()
          inject_mdata_error()
          debug_data_eio()
          debug_mdata_eio()
          debug_oj_on_delete()
src/os/filestore/FileStore.h
         Removed declarations which are not part of this backport
          set<ghobject_t> data_error_set
          set<ghobject_t> mdata_error_set
          inject_data_error() override
          inject_mdata_error() override

7 years agoMerge pull request #18169 from tchaikov/wip-bz1494543-jewel
Kefu Chai [Mon, 9 Oct 2017 12:12:34 +0000 (20:12 +0800)]
Merge pull request #18169 from tchaikov/wip-bz1494543-jewel

jewel: ceph-disk: factor out the retry logic into a decorator

Reviewed-by: Loic Dachary <ldachary@redhat.com>
7 years agoMerge pull request #18166 from tchaikov/wip-jewel-sphinx
Alfredo Deza [Mon, 9 Oct 2017 11:13:40 +0000 (07:13 -0400)]
Merge pull request #18166 from tchaikov/wip-jewel-sphinx

jewel: admin: bump sphinx to 1.6

Reviewed-by: Alfredo Deza <adeza@redhat.com>
7 years agoceph-disk: retry on OSError 18169/head
Kefu Chai [Sat, 7 Oct 2017 14:15:11 +0000 (22:15 +0800)]
ceph-disk: retry on OSError

we are likely to
1) create partition, for instance, sdc1
2) partprobe sdc
3) udevadm settle
4) check the device by its path: /dev/sdc1

but there is chance that the uevent sent from kernel fails to reach udev
before we call "udevadm", hence "/dev/sdc1" does not exist even after
"udevadm settle" returns. so we retry in case of OSError here.

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

7 years agoMerge pull request #16294 from smithfarm/wip-18853-jewel
Kefu Chai [Sun, 8 Oct 2017 11:48:01 +0000 (19:48 +0800)]
Merge pull request #16294 from smithfarm/wip-18853-jewel

jewel: build/ops: upstart: radosgw-all does not start on boot if ceph-base is not installed

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoceph-disk: factor out the retry logic into a decorator
Kefu Chai [Sat, 7 Oct 2017 13:13:47 +0000 (21:13 +0800)]
ceph-disk: factor out the retry logic into a decorator

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

Conflicts:
src/ceph-disk/ceph_disk/main.py: jewel does not have PROCDIR,
so resolve it by using '/proc'. also, in jewel, unmount() does not
have `do_rm` parameter, so do not handle it.

7 years agoadmin/build-doc: support optional argument for specifying sphinx builders 18166/head
Kefu Chai [Tue, 21 Mar 2017 04:22:57 +0000 (12:22 +0800)]
admin/build-doc: support optional argument for specifying sphinx builders

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

Conflicts:
admin/build-doc: trivial resolution

7 years agodoc,cmake: do not scan non-man pages when building man pages
Kefu Chai [Tue, 24 May 2016 04:53:21 +0000 (12:53 +0800)]
doc,cmake: do not scan non-man pages when building man pages

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

Conflicts:
doc/man/CMakeLists.txt: jewel does not have this file. so do
not cherry-pick changes of it.

7 years agodoc: switch to upstream sphinx-ditaa
Kefu Chai [Mon, 11 Sep 2017 13:54:33 +0000 (21:54 +0800)]
doc: switch to upstream sphinx-ditaa

it works with setuptools and is now compatible with py3

the py3 branch is created to track the upstream's master branch

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

7 years agoadmin: bump sphinx to 1.6
Alfredo Deza [Tue, 15 Aug 2017 13:12:27 +0000 (09:12 -0400)]
admin: bump sphinx to 1.6

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 88a1114cb3f90e52ba718dc832617fa004d63b3c)

7 years agoqa: stop testing btrfs
Sage Weil [Fri, 30 Jun 2017 13:28:03 +0000 (09:28 -0400)]
qa: stop testing btrfs

This is too noisy and we don't recommend it anyway.

See http://tracker.ceph.com/issues/20169

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

Conflicts:
qa/objectstore/filestore-btrfs.yaml: we add some notes in this
file in master, but didn't backport the commit(s) adding these notes to
jewel. we are removing this file anyway. so who cares!

7 years agoqa/suites: remove 'fs' facet from all tests
Sage Weil [Tue, 28 Mar 2017 15:57:21 +0000 (11:57 -0400)]
qa/suites: remove 'fs' facet from all tests

The objectstore facet now covers bluestore, filestore(xfs),
and filestore(btrfs).

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

Conflicts:
qa/suites/fs/recovery/xfs.yaml: in master, this file is factored
into a facet: a/suites/fs/recovery/fs/xfs.yaml, but in jewel, it still a
plain xfs.yaml. but it's good enough for us, as what we need is just
xfs.

7 years agoqa/objectstore: split filestore into xfs and btrfs variants
Sage Weil [Tue, 28 Mar 2017 15:54:56 +0000 (11:54 -0400)]
qa/objectstore: split filestore into xfs and btrfs variants

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

7 years ago10.2.10 v10.2.10
Jenkins Build Slave User [Wed, 4 Oct 2017 14:17:25 +0000 (14:17 +0000)]
10.2.10

7 years agoMerge pull request #18100 from ceph/wip-yuriw-fix-clients-jewel
Jason Dillaman [Tue, 3 Oct 2017 19:58:17 +0000 (15:58 -0400)]
Merge pull request #18100 from ceph/wip-yuriw-fix-clients-jewel

tests: Added openstack.yaml bits to enable runs on ovh nodes

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agotests - Added openstack.yaml bits to enable runs on ovh nodes 18100/head
Yuri Weinstein [Tue, 3 Oct 2017 19:50:24 +0000 (12:50 -0700)]
tests - Added openstack.yaml bits to enable runs on ovh nodes

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
7 years agoradosgw: fix awsv4 header line sort order. 18080/head
Matt Benjamin [Mon, 2 Oct 2017 15:49:05 +0000 (11:49 -0400)]
radosgw: fix awsv4 header line sort order.

The awsv4 signature calculation includes a list of header lines, which
are supposed to be sorted.  The existing code sorts by header name, but
it appears that in fact it is necessary to sort the whole header *line*,
not just the field name.  Sorting by just the field name usually works,
but not always.  The s3-tests teuthology suite includes
s3tests.functional.test_s3.test_object_header_acl_grants
s3tests.functional.test_s3.test_bucket_header_acl_grants
which include the following header lines,

x-amz-grant-read-acp:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234
x-amz-grant-read:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234
x-amz-grant-write-acp:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234
x-amz-grant-write:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234

in this case, note that ':' needs to sort after '-'.

Fixes: http://tracker.ceph.com/issues/21607
Signed-off-by: Marcus Watts <mwatts@redhat.com>
(cherry picked from commit c11485e1b3a58631628644152816d9b22a17d8bd)

7 years agoMerge pull request #18044 from ceph/wip-yuriw-fix-clients-jewel
Yuri Weinstein [Mon, 2 Oct 2017 15:39:01 +0000 (08:39 -0700)]
Merge pull request #18044 from ceph/wip-yuriw-fix-clients-jewel

qa: Changed distros symlink to point to supported OSs

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