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>
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>
* 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>
`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>
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>
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>
* 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>
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>
* 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>
* 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>
* refs/pull/33175/head:
mgr/cephadm: Add some more type annotations
mgr/orchestrator: unify StatelessServiceSpec and StatefulServiceSpec
Reviewed-by: Sage Weil <sage@redhat.com>
* 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>
* 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>
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>