Commit Graph

107649 Commits

Author SHA1 Message Date
J. Eric Ivancich
4470ca8a3f rgw: clean up address 0-length listing results...
Some minor clean-ups to the previous commit, including adjust logging
messages, rename variable, convert a #define to a constexpr (and
adjust its scope).

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2020-02-12 22:34:59 -05:00
J. Eric Ivancich
28bd8bada4 rgw: address 0-length listing results when non-vis entries dominate
A change to advance the marker in RGWRados::cls_bucket_list_ordered to
the last entry visited rather than the final entry in list to push
progress as far as possible.

Since non-vis entries tend to cluster on the same shard, such as
during incomplete multipart uploads, this can severely limit the
number of entries returned by a call to
RGWRados::cls_bucket_list_ordered since once that shard has provided
all its members, we must stop. This interacts with a recent
optimization to reduce the number of entries requested from each
shard. To address this the number of attempts is sent as a parameter,
so the number of entries requested from each shard can grow with each
attempt. Currently the growth is linear but perhaps exponential growth
(capped at number of entries requested) should be considered.

Previously RGWRados::Bucket::List::list_objects_ordered was capped at
2 attempts, but now we keep attempting to insure we make forward
progress and return entries when some exist. If we fail to make
forward progress, we log the error condition and stop looping.

Additional logging, mostly at level 20, is added to the two key
functions involved in ordered bucket listing to make it easier to
follow the logic and address potential future issues that might arise.

Additionally modify attempt number based on how many results were
received.

Change the per-shard request number, so it grows exponentially rather
than linearly as the attempts go up.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2020-02-12 20:38:44 -05:00
J. Eric Ivancich
210fb41806
Merge pull request #32562 from IlsooByun/fix_dm
rgw: do not remove delete marker when fixing versioned bucket
2020-02-12 14:47:44 -05:00
J. Eric Ivancich
59b3ccca7a
Merge pull request #30611 from ivancich/wip-make-reshard-status-enum-class
rgw: change cls rgw reshard status to enum class

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
2020-02-12 14:46:23 -05:00
Sage Weil
8817a232b7 Merge PR #33205 into master
* refs/pull/33205/head:
	mgr/cephadm: Bail if we cannot find a host for services
	mgr/cephadm: fix placement of new daemons (mds,rgw,rbd-m)
	mgr/orchestrator: minor change to improve type checking
	mgr/cephadm: test_cephadm: simplify matching strings

Reviewed-by: Sage Weil <sage@redhat.com>
2020-02-12 11:13:41 -06:00
zdover23
2b6819f0c9
Merge pull request #32587 from zdover23/wip-doc-nautilus-osd-fix-10Jan2020
doc: emphasize the importance of require-osd-release nautilus
2020-02-13 02:59:28 +10:00
Sebastian Wagner
19122bba3d
Merge pull request #32879 from shyukri/wip-42769-orch-log-handling-ench
mgr/orch: logging - handle lists output

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-12 16:32:34 +01:00
Sage Weil
070df40773 Merge PR #33229 into master
* refs/pull/33229/head:
	rpm: define weak_deps for el8

Reviewed-by: Sage Weil <sage@redhat.com>
2020-02-12 08:28:51 -06:00
Casey Bodley
1974b33285
Merge pull request #33230 from Rjerk/fix-multisite-doc-typo
doc/radosgw/multisite-sync-policy.rst: fix typo

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2020-02-12 08:48:31 -05:00
Kefu Chai
b3783bf517
Merge pull request #33233 from tchaikov/wip-crimson-misc
crimson: fix build with GCC-10

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-12 18:02:31 +08:00
Kefu Chai
c9e6fd5fd2
Merge pull request #33221 from liewegas/fix-44065
ceph.spec: Recommend (but do not require) podman

Reviewed-by: Dimitri Savineau <dsavinea@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-12 16:48:21 +08:00
Kefu Chai
42acd76579 crimson/common: correct type of callback func
`md_config_obs_t` is defined as
```
using md_config_obs_t = ceph::md_config_obs_impl<ConfigProxy>;
```
in `common/config_obs.h`. it takes advantage of a fact that
somebody exposes the correct version of `ConfigProxy` to the global
namespace. this is intended to fulfill the needs of other components
which expects `md_config_obs_t`. otherwise we need to specify
`ceph::md_config_obs_impl<ceph::ConfigProxy>` or
`ceph::md_config_obs_impl<crimson::common::ConfigProxy>` depending on
if we are programming crimson or not.

but in this case, we are actually defining
`crimson::common::ConfigProxy`, so it'd be better to define
`md_config_obs_t` explicitly instead relying on "somebody" which exposes
`ConfigProxy`. and `ConfigObserver` is defined using the current
`ConfigProxy`, so it's more correct and more readable than using
`md_config_obs_t` defined in `common/config_obs.h`.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-12 16:33:22 +08:00
Kefu Chai
b556e42e20 cmake: disable concepts in boost::asio
GCC-10 and Clang choke when compiling a concept constrained with
its template parameter, which is in turn another concept. as a
workaround of the bug of boost::asio, we should disable concepts
support in it. but it's nice to enable it when the compiler is
able to use concepts to do some compile time checkings even the
concepts are not compliant to C++20.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-12 16:33:20 +08:00
Jan Fajerski
6b31779a02
Merge pull request #33174 from jan--f/c-v-functional-centos8
ceph-volume: use centos8 for functional testing
2020-02-12 08:51:47 +01:00
Liu Lan
b6bce1c850 doc/radosgw/multisite-sync-policy.rst: fix typo
Signed-off-by: Liu Lan <rjerk.whatever@gmail.com>
2020-02-12 13:23:44 +08:00
Kefu Chai
365d986350
Merge pull request #33224 from howard0su/clean
src: polish the wording

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-12 12:55:47 +08:00
Kefu Chai
5c70f36111 rpm: define weak_deps for el8
RHEL/CentOS 8 comes with rpm 4.14, see
https://centos.pkgs.org/8/centos-baseos-x86_64/rpm-4.14.2-25.el8.x86_64.rpm.html
and
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/new-features-in-rhel-8_packaging-and-distributing-software

and since "Recommends" was introduced by rpm 4.12, see
https://fedoraproject.org/wiki/Changes/RPM-4.12 .
so we are able to use "Recommends" in el8 as well.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-12 12:28:35 +08:00
Kefu Chai
7ee700ba1e
Merge pull request #33203 from howard0su/wip_fix_dpdk
msg/async/dpdk: Fix build when DPDK enabled

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-12 10:28:48 +08:00
Sage Weil
b16f19efe7 ceph.spec: Recommend (but do not require) podman
1- Strictly speaking, docker is okay too.
2- We don't want podman (or docker) installed inside the container image,
but we do need the cephadm package.

Fixes: https://tracker.ceph.com/issues/44065
Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-11 19:51:23 -06:00
Jun Su
5e00dd5356 src: polish the wording
Signed-off-by: Jun Su <howard0su@gmail.com>
2020-02-12 09:01:02 +08:00
Sage Weil
207aca5325 Merge PR #33211 into master
* refs/pull/33211/head:
	qa/tasks/mgr/dashboard/test_orchestrator: support addr attribute in inventory

Reviewed-by: Sebastian Wagner <swagner@suse.com>
2020-02-11 18:17:06 -06:00
Sage Weil
f0c92ab584 debian/control: make cephadm recommend (but not require) docker
Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-11 18:15:36 -06:00
Sage Weil
d466f6f2d9 Merge PR #33191 into master
* refs/pull/33191/head:
	cephadm: shell: allow -e

Reviewed-by: Michael Fritch <mfritch@suse.com>
2020-02-11 17:25:21 -06:00
Sage Weil
3346765dd0 cephadm: shell: allow -e
Set environment variables for shell commands.

Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-11 15:52:07 -06:00
Sage Weil
90e7615380 Merge PR #33207 into master
* refs/pull/33207/head:
	doc/index: remove quick start from front page for now
	doc/bootstrap: warn that cephadm is not for production yet

Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-02-11 14:01:53 -06:00
Sage Weil
6b41b6cd7b doc/index: remove quick start from front page for now
1- wait until this works on a production version,
2- maybe a shorter procedure, or just the initial steps and then
link off to bootstrap.rst?

This effectively reverts 79040c2 (PR #32531)

Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-11 13:08:13 -06:00
Sage Weil
e335398ca1 doc/bootstrap: warn that cephadm is not for production yet
We can remove this when octopus is released, and/or adjust the language.

Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-11 13:07:39 -06:00
Yuri Weinstein
3ca9db5a7f
Merge pull request #33214 from yuriw/wip-yuriw-crontab-master
qa/tests: reduced runs for nautilus, added runs for octopus
2020-02-11 10:59:42 -08:00
J. Eric Ivancich
61d4498d0b rgw: change cls rgw reshard status to enum class
Get the type safety and reduced impact on global namespace of enum
class.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2020-02-11 13:15:21 -05:00
Jan Fajerski
5529552d2f ceph-volume: port lvm functional tests to centos
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-02-11 19:01:59 +01:00
Jan Fajerski
65526c44fb ceph-volume: port batch functional tests to centos8
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-02-11 19:01:59 +01:00
Sebastian Wagner
e1ab8304a8 mgr/cephadm: Bail if we cannot find a host for services
This would require tricky manipulation of ports etc.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-11 17:55:08 +01:00
Sebastian Wagner
281236dca0 mgr/cephadm: fix placement of new daemons (mds,rgw,rbd-m)
* Don't modify spec.count, as this is irritating to me.
* Place daemons on unused hosts
* Reduced code duplication

Fixes: https://tracker.ceph.com/issues/44019

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-11 17:55:08 +01:00
Sebastian Wagner
9bba57d3e8 mgr/orchestrator: minor change to improve type checking
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-11 17:50:49 +01:00
Sebastian Wagner
497dde17b2 mgr/cephadm: test_cephadm: simplify matching strings
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-11 17:50:49 +01:00
Sage Weil
d5b0eb8c5b Merge PR #33139 into master
* refs/pull/33139/head:
	mgr/cephadm: catch exception in _check_hosts()
	mgr/cephadm: do not crash module on exception in serve thread

Reviewed-by: Sebastian Wagner <swagner@suse.com>
2020-02-11 10:43:09 -06:00
Sage Weil
02aeeb0dac Merge PR #33175 into master
* refs/pull/33175/head:
	mgr/cephadm: Add some more type annotations
	mgr/orchestrator: unify StatelessServiceSpec and StatefulServiceSpec

Reviewed-by: Sage Weil <sage@redhat.com>
2020-02-11 10:42:58 -06:00
Sage Weil
6dcb514a57 Merge PR #33189 into master
* refs/pull/33189/head:
	mgr/cephadm: fix redeploy (etc) of crash containers
	cephadm: do not use special unit, naming for crash agent
	cephadm: 'crash' is a ceph daemon

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
2020-02-11 10:42:46 -06:00
Yuri Weinstein
f5552eb767 qa/tests: reduced runs for nautilus, added runs for octopus
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
2020-02-11 08:37:15 -08:00
Sebastian Wagner
a8e3fdfa6c
Merge pull request #33176 from jmolmo/bz_43972
mgr/rook: Fix error creating OSD's

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-11 16:40:19 +01:00
Kiefer Chang
9fd1743e1d
qa/tasks/mgr/dashboard/test_orchestrator: support addr attribute in inventory
The missing attribute `addr` causes error when loading dummy data.

Fixes: https://tracker.ceph.com/issues/44054
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
2020-02-11 23:08:29 +08:00
Sage Weil
678d6dfd62 Merge PR #33027 into master
* refs/pull/33027/head:
	os/bluestore/BlueFS: reclaim unused too-granular extents first
	os/bluestore/BlueFS: track bluefs owned extents that are too granular
	os/bluestore/BlueFS: verify that fnodes respect the bluefs alloc_size
	os/bluestore/BlueFS: align bluefs' owned extents to alloc_size

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2020-02-11 08:28:43 -06:00
Sage Weil
3eb830e938 Merge PR #33188 into master
* refs/pull/33188/head:
	qa/workunits/cephtool/test.sh: delete test_erasure pool

Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-02-11 08:28:27 -06:00
Mykola Golub
0ec4f8f1b9
Merge pull request #33187 from dillaman/wip-44066
qa/workunits/rbd: override CEPH_ARGS when initializing the site name

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-02-11 16:27:35 +02:00
Mykola Golub
ba9189c297
Merge pull request #33002 from dillaman/wip-43613
rbd-mirror: initial snapshot-based mirroring bootstrap logic

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-02-11 16:26:34 +02:00
Casey Bodley
72b44eb7f2
Merge pull request #33054 from cbodley/wip-rgw-pubsub-syncstop
rgw: use new Stopped state for special handling of 'bucket sync disable'

Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
2020-02-11 08:13:05 -05:00
Jun Su
6bdf97c329 msg/async/dpdk: Fix build when DPDK enabled
Signed-off-by: Jun Su <howard0su@gmail.com>
2020-02-11 20:12:21 +08:00
Kefu Chai
47621df953
Merge pull request #33199 from tchaikov/wip-crimson-do-with
crimson/common: more friendly to seastar::do_with()

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-11 19:35:02 +08:00
Kefu Chai
470d2e28fc crimson/common: more friendly to seastar::do_with()
so we don't need to do the box-unbox dance when callng
seastar::do_with() with multiple with'ed variables and
a continuation which returns `errator<...>::future`.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-11 18:20:54 +08:00
Kefu Chai
b3e3a8f68f
Merge pull request #33172 from tchaikov/wip-43582
ceph-monstore-tool: correct the key for storing mgr_command_descs

Reviewed-by: Sage Weil <sage@redhat.com>
2020-02-11 14:18:37 +08:00