]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 years agorgw: adding OPT_DATA_SYNC_RUN to gc_ops_list so that gc gets 45207/head
Pritha Srivastava [Tue, 1 Mar 2022 10:23:32 +0000 (15:53 +0530)]
rgw: adding OPT_DATA_SYNC_RUN to gc_ops_list so that gc gets
initialized for this command.

Fixes: https://tracker.ceph.com/issues/54433
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
3 years agoMerge pull request #45198 from tchaikov/wip-cxx-20
Kefu Chai [Wed, 2 Mar 2022 02:20:35 +0000 (10:20 +0800)]
Merge pull request #45198 from tchaikov/wip-cxx-20

changes to compile with latest seastar and C++20

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #45204 from liu-chunmei/seastore-fix-bad_alloc
Liu-Chunmei [Wed, 2 Mar 2022 01:37:20 +0000 (17:37 -0800)]
Merge pull request #45204 from liu-chunmei/seastore-fix-bad_alloc

crimson/seastore: fix bad_alloc

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #45215 from neha-ojha/wip-cf-add
Neha Ojha [Tue, 1 Mar 2022 22:20:42 +0000 (14:20 -0800)]
Merge pull request #45215 from neha-ojha/wip-cf-add

doc/foundation.rst: Add ArvanCloud to the Foundation

Reviewed-by: Dan van der Ster <daniel.vanderster@cern.ch>
3 years agodoc/foundation.rst: Add ArvanCloud to the Foundation 45215/head
Neha Ojha [Tue, 1 Mar 2022 20:47:21 +0000 (20:47 +0000)]
doc/foundation.rst: Add ArvanCloud to the Foundation

Signed-off-by: Neha Ojha <nojha@redhat.com>
3 years agoseastar: bump up seastar submodule to recent master 45198/head
Kefu Chai [Tue, 1 Mar 2022 16:57:47 +0000 (00:57 +0800)]
seastar: bump up seastar submodule to recent master

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/common/interruptible_future: ensure seastar::AllAreFutures<> is happy
Kefu Chai [Tue, 1 Mar 2022 16:06:07 +0000 (00:06 +0800)]
crimson/common/interruptible_future: ensure seastar::AllAreFutures<> is happy

if compiled with C++20, C++ concept is enabled. to ensure the
constraints required by when_all_impl() is fulfilled, we need to
specialize is_tuple_of_futures<> for interruptible_future.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoinclude/xlist: define iterator without std::iterator<>
Kefu Chai [Tue, 1 Mar 2022 16:14:09 +0000 (00:14 +0800)]
include/xlist: define iterator without std::iterator<>

std::iterator<> is deprecated in C++17, so let's just
define the required traits directly.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/os/seastore: use iter_cend()
Kefu Chai [Tue, 1 Mar 2022 16:08:48 +0000 (00:08 +0800)]
crimson/os/seastore: use iter_cend()

to avoid the pain of fixing the FTBFS with C++20 like

/var/ssd/ceph/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc:141:19: error: use of overloaded operator '!=' is ambiguous (with operand types 'crimson::os::seastore::omap_manager::StringKVInnerN$
  assert(child_pt != iter_end());
         ~~~~~~~~ ^  ~~~~~~~~~~
/usr/include/assert.h:93:27: note: expanded from macro 'assert'
     (static_cast <bool> (expr)                                         \
                          ^~~~
/var/ssd/ceph/src/crimson/os/seastore/omap_manager/btree/string_kv_node_layout.h:380:10: note: candidate function
    bool operator==(const iter_t &rhs) const {
         ^
/var/ssd/ceph/src/crimson/os/seastore/omap_manager/btree/string_kv_node_layout.h:380:10: note: candidate function (with reversed parameter order)

also, to be explicit is advisable.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson: include <seastar/core/metrics.hh>
Kefu Chai [Tue, 1 Mar 2022 16:08:03 +0000 (00:08 +0800)]
crimson: include <seastar/core/metrics.hh>

after the restructure of seastar source tree, we have to include
metrics.hh for accessing the metrics types.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/admin/osd_admin: avoid using _format()
Kefu Chai [Tue, 1 Mar 2022 16:01:37 +0000 (00:01 +0800)]
crimson/admin/osd_admin: avoid using _format()

see also 3fd91d7e6d9315244aeff02070721ef4a021b0b3

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/osd: use reference when structured binding
Kefu Chai [Tue, 1 Mar 2022 14:38:49 +0000 (22:38 +0800)]
crimson/osd: use reference when structured binding

to silence warning from clang13 with -std=c++20, like

ceph/src/crimson/osd/replicated_recovery_backend.cc:1098:21: warning: loop variable '[off, len]' creates a copy from type 'const std::pair<const unsigned long, unsigned long>' [-Wrange-loop-construct]
    for (const auto [off, len] : extents) {
                    ^
ceph/src/crimson/osd/replicated_recovery_backend.cc:1098:10: note: use reference type 'const std::pair<const unsigned long, unsigned long> &' to prevent copying
    for (const auto [off, len] : extents) {
         ^~~~~~~~~~~~~~~~~~~~~~~
                    &

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoinclude/rados: define iterator without std::iterator<>
Kefu Chai [Mon, 28 Feb 2022 15:01:27 +0000 (23:01 +0800)]
include/rados: define iterator without std::iterator<>

std::iterator<> is deprecated in C++17, so let's just
define the required traits directly.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/os: define iterator without std::iterator<>
Kefu Chai [Mon, 28 Feb 2022 15:00:04 +0000 (23:00 +0800)]
crimson/os: define iterator without std::iterator<>

std::iterator<> is deprecated in C++17, so let's just
define the required traits directly.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/os/seastore: remove default ctor for delta_t
Kefu Chai [Mon, 28 Feb 2022 14:47:19 +0000 (22:47 +0800)]
crimson/os/seastore: remove default ctor for delta_t

otherwise the aggregate initialization for this type would fail to
work on C++20, as the user-declared ctor is defined for this struct.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/os: stop using seastar::metrics::label
Kefu Chai [Mon, 28 Feb 2022 14:35:52 +0000 (22:35 +0800)]
crimson/os: stop using seastar::metrics::label

seastar::metrics::label was dropped in a recent change. quote from
the commit message which removed this type:

>     In practice, it's an over-kill and just add information in the reporting
>    layer.

see also da395f31989a1ee333e489ffb251fc1152f12f0a in seastar repo

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoinclude/buffer: include <memory>
Kefu Chai [Mon, 28 Feb 2022 13:46:39 +0000 (21:46 +0800)]
include/buffer: include <memory>

to address following FTBFS:

/usr/bin/ccache /usr/bin/clang++-13 -DBOOST_ALL_NO_LIB -DBOOST_ASIO_DISABLE_CONCEPTS -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_T$
In file included from /var/ssd/ceph/src/crimson/os/seastore/seastore_types.cc:4:
In file included from /var/ssd/ceph/src/crimson/os/seastore/seastore_types.h:14:
In file included from /var/ssd/ceph/src/include/denc.h:47:
/var/ssd/ceph/src/include/buffer.h:98:37: error: no template named 'unique_ptr' in namespace 'std'; did you mean 'boost::movelib::unique_ptr'?
struct unique_leakable_ptr : public std::unique_ptr<T, ceph::nop_delete<T>> {
                                    ^~~~~~~~~~~~~~~
                                    boost::movelib::unique_ptr
/opt/ceph/include/boost/move/unique_ptr.hpp:354:7: note: 'boost::movelib::unique_ptr' declared here
class unique_ptr
      ^

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #45047 from ceph/wip-yuriw-release-15.2.16-master
Josh Durgin [Tue, 1 Mar 2022 16:05:55 +0000 (08:05 -0800)]
Merge pull request #45047 from ceph/wip-yuriw-release-15.2.16-master

doc: 15.2.16 Release Notes

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
3 years agoMerge pull request #44050 from ronen-fr/wip-rf-digest-update
Ronen Friedman [Tue, 1 Mar 2022 12:14:25 +0000 (14:14 +0200)]
Merge pull request #44050 from ronen-fr/wip-rf-digest-update

osd/scrub: ignoring unsolicited DigestUpdate events

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/seastore: fix bad_alloc 45204/head
chunmei-liu [Tue, 1 Mar 2022 01:22:23 +0000 (17:22 -0800)]
crimson/seastore: fix bad_alloc

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #45139 from zdover23/wip-doc-2022-02-24-hardware-recs-adatri-recs
zdover23 [Tue, 1 Mar 2022 04:41:20 +0000 (14:41 +1000)]
Merge pull request #45139 from zdover23/wip-doc-2022-02-24-hardware-recs-adatri-recs

doc/start: include A. D'Atri's hardware-recs recs

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 years agoMerge pull request #45191 from neesingh-rh/cephfs-top_doc_fix
Laura Flores [Mon, 28 Feb 2022 22:20:03 +0000 (16:20 -0600)]
Merge pull request #45191 from neesingh-rh/cephfs-top_doc_fix

doc/cephfs: Typographical error.

3 years agodoc/releases: couple of notable changes for core 45047/head
Neha Ojha [Mon, 28 Feb 2022 22:08:15 +0000 (22:08 +0000)]
doc/releases: couple of notable changes for core

also fix release date for v15.2.16

Signed-off-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #45136 from adk3798/extra-all
Adam King [Mon, 28 Feb 2022 21:58:38 +0000 (16:58 -0500)]
Merge pull request #45136 from adk3798/extra-all

mgr/cephadm: extend extra_container_args to other service types

Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agoMerge pull request #45166 from pritha-srivastava/wip-rgw-bucket-sync-run
Casey Bodley [Mon, 28 Feb 2022 21:16:03 +0000 (16:16 -0500)]
Merge pull request #45166 from pritha-srivastava/wip-rgw-bucket-sync-run

rgw: add OPT_BUCKET_SYNC_RUN to gc_ops_list, so that

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 years agodoc/cephfs: Typographical error. 45191/head
Neeraj Pratap Singh [Mon, 28 Feb 2022 09:45:22 +0000 (15:15 +0530)]
doc/cephfs: Typographical error.

Signed-off-by: Neeraj Pratap Singh <neesingh@redhat.com>
3 years agodoc/start: include A. D'Atri's hardware-recs recs 45139/head
Zac Dover [Thu, 24 Feb 2022 07:22:42 +0000 (17:22 +1000)]
doc/start: include A. D'Atri's hardware-recs recs

This PR restores material about partition alignment
and material about separating OS and OSD data that
was removed in an earlier rewrite. The restoration
of this information was requested by Anthony D'Atri in
https://github.com/ceph/ceph/pull/45123/

This PR also includes several refinements to the language
that could not be made to this text until now, owing to my
(Zac's) ignorance and illiteracy.

I call upon Mark Nelson (and anyone else with sufficient
command of the current state of storage technology) to advise
me on whether the Ceph Foundation feels comfortable in the year
2022 referring to QLC as an emerging technology.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(squash) more notes and revisions

Signed-off-by: Zac Dover <zac.dover@gmail.com>
3 years agorgw: add OPT_BUCKET_SYNC_RUN to gc_ops_list, so that 45166/head
Pritha Srivastava [Fri, 25 Feb 2022 11:00:46 +0000 (16:30 +0530)]
rgw: add OPT_BUCKET_SYNC_RUN to gc_ops_list, so that
gc is initialised and send_chain does not crash.

Also deleting objects inline in case gc is uninitialised.

Fixes: https://tracker.ceph.com/issues/54417
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
3 years agoosd/scrub: cluster-logging unsolicited DigestUpdate events 44050/head
Ronen Friedman [Thu, 2 Dec 2021 13:05:38 +0000 (13:05 +0000)]
osd/scrub: cluster-logging unsolicited DigestUpdate events

... and not just to the OSD's log

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agoMerge pull request #44941 from ronen-fr/wip-rf-scrubBEv1_2
Ronen Friedman [Sat, 26 Feb 2022 12:56:36 +0000 (14:56 +0200)]
Merge pull request #44941 from ronen-fr/wip-rf-scrubBEv1_2

osd/scrub: limiting scrubber-backend external interfaces

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #43957 from petrutlucian94/windows_ipv6
David Galloway [Fri, 25 Feb 2022 20:56:30 +0000 (15:56 -0500)]
Merge pull request #43957 from petrutlucian94/windows_ipv6

msg: Fix Windows IPv6 support

3 years agoMerge pull request #44870 from phlogistonjohn/jjm-nfs-cleanups2
Adam King [Fri, 25 Feb 2022 15:08:05 +0000 (10:08 -0500)]
Merge pull request #44870 from phlogistonjohn/jjm-nfs-cleanups2

mgr/nfs: support managing exports without orchestration enabled

Reviewed-by: Ramana Raja <rraja@redhat.com>
3 years agoMerge pull request #44845 from phlogistonjohn/jjm-nfs-cleanups
Adam King [Fri, 25 Feb 2022 15:02:52 +0000 (10:02 -0500)]
Merge pull request #44845 from phlogistonjohn/jjm-nfs-cleanups

mgr/nfs: various minor cleanups

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
3 years agoMerge pull request #45113 from adk3798/minimize-image
Adam King [Fri, 25 Feb 2022 14:58:08 +0000 (09:58 -0500)]
Merge pull request #45113 from adk3798/minimize-image

cephadm: still set container_image when --no-assimilate-config is provided in bootstrap

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agoMerge pull request #45127 from rkachach/fix_issue_54026_part1
Adam King [Fri, 25 Feb 2022 14:56:12 +0000 (09:56 -0500)]
Merge pull request #45127 from rkachach/fix_issue_54026_part1

mgr/cephadm: Adding python natsort module

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45132 from melissa-kun-li/asyncssh_error_messages
Adam King [Fri, 25 Feb 2022 14:54:15 +0000 (09:54 -0500)]
Merge pull request #45132 from melissa-kun-li/asyncssh_error_messages

mgr/cephadm: reduce log level for asyncssh error messages

Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agomgr/cephadm: extend extra_container_args to other service types 45136/head
Adam King [Wed, 23 Feb 2022 20:43:30 +0000 (15:43 -0500)]
mgr/cephadm: extend extra_container_args to other service types

Otherwise, without this change, this can only be used for mgr,
mon and crash (daemons without their own service spec class)

Fixes: https://tracker.ceph.com/issues/54390
Signed-off-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45041 from cyx1231st/wip-crimson-cleanup-epm-segment-writer
Samuel Just [Thu, 24 Feb 2022 22:23:12 +0000 (14:23 -0800)]
Merge pull request #45041 from cyx1231st/wip-crimson-cleanup-epm-segment-writer

crimson/os/seastore: introduce SegmentAllocator for Journal and ExtentPlacementManager

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #45109 from cbodley/wip-rgw-dbstore-strings
Casey Bodley [Thu, 24 Feb 2022 18:57:31 +0000 (13:57 -0500)]
Merge pull request #45109 from cbodley/wip-rgw-dbstore-strings

rgw/dbstore: use string_view for string constants

Reviewed-by: Soumya Koduri <skoduri@redhat.com>
3 years agoMerge pull request #45126 from guits/fix-bug-cv-bz2056719
Guillaume Abrioux [Thu, 24 Feb 2022 16:25:25 +0000 (17:25 +0100)]
Merge pull request #45126 from guits/fix-bug-cv-bz2056719

ceph-volume: abort when passed devices have partitions

3 years agoosd/scrub: fix some scrubber-backend formatting 44941/head
Ronen Friedman [Tue, 8 Feb 2022 16:09:19 +0000 (16:09 +0000)]
osd/scrub: fix some scrubber-backend formatting

no code changes.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agoosd/scrub: cleanup scrubber-be's usage of the size-of-disk service
Ronen Friedman [Mon, 31 Jan 2022 13:49:00 +0000 (13:49 +0000)]
osd/scrub: cleanup scrubber-be's usage of the size-of-disk service

Limit the amount of scrubber code that directly calls the
PG-Backend services - in this case, the logical-size to
on-disk-size translation.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agoosd/scrub: clean-up scrubber-be interfaces
Ronen Friedman [Tue, 15 Feb 2022 14:11:34 +0000 (14:11 +0000)]
osd/scrub: clean-up scrubber-be interfaces

Esp - the shallow/deep-error counters.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agoosd/scrub: make the scrubber-be the sole owner of the authoritative set
Ronen Friedman [Mon, 31 Jan 2022 13:25:58 +0000 (13:25 +0000)]
osd/scrub: make the scrubber-be the sole owner of the authoritative set

simplifying the interfaces used by the scrubber backend.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agoosd/scrub: remove I/O (store) direct access from the Scrubber Backend
Ronen Friedman [Mon, 31 Jan 2022 11:29:51 +0000 (11:29 +0000)]
osd/scrub: remove I/O (store) direct access from the Scrubber Backend

Target: improving Scrubber BE testability by reducing the number and
complexity of the external APIs it uses.

(note - first step of many)

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agocrimson/os/seastore/epm: integrate SegmentAllocator with Writer 45041/head
Yingxin Cheng [Fri, 18 Feb 2022 14:26:38 +0000 (22:26 +0800)]
crimson/os/seastore/epm: integrate SegmentAllocator with Writer

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: introduce SegmentAllocator and integrate with Journal
Yingxin Cheng [Fri, 18 Feb 2022 06:47:17 +0000 (14:47 +0800)]
crimson/os/seastore: introduce SegmentAllocator and integrate with Journal

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore/journal: cleanup, move commit_to to RecordSubmitter
Yingxin Cheng [Fri, 18 Feb 2022 02:41:14 +0000 (10:41 +0800)]
crimson/os/seastore/journal: cleanup, move commit_to to RecordSubmitter

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore/epm: replace condition_variable by a shared_promise
Yingxin Cheng [Tue, 15 Feb 2022 14:26:18 +0000 (22:26 +0800)]
crimson/os/seastore/epm: replace condition_variable by a shared_promise

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore/epm: simplify gating writes for Writer
Yingxin Cheng [Tue, 15 Feb 2022 01:28:04 +0000 (09:28 +0800)]
crimson/os/seastore/epm: simplify gating writes for Writer

Dropped open_segment_wrapper_t.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore/segment_cleaner: drop unnecessary future from get_segment()
Yingxin Cheng [Fri, 11 Feb 2022 06:27:54 +0000 (14:27 +0800)]
crimson/os/seastore/segment_cleaner: drop unnecessary future from get_segment()

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agoMerge pull request #45121 from yaarith/fix-wear-level-empty-page
Sridhar Seshasayee [Thu, 24 Feb 2022 07:54:08 +0000 (13:24 +0530)]
Merge pull request #45121 from yaarith/fix-wear-level-empty-page

mgr/devicehealth: skip null pages when extracting wear level

Reviewed-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #45118 from sseshasa/wip-fix-osd-bench-fill-non-zeros
Sridhar Seshasayee [Thu, 24 Feb 2022 07:53:40 +0000 (13:23 +0530)]
Merge pull request #45118 from sseshasa/wip-fix-osd-bench-fill-non-zeros

osd: Write non-zero data as part of osd benchmark test.

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #45010 from cyx1231st/wip-seastore-types-cleanup
Samuel Just [Thu, 24 Feb 2022 04:28:24 +0000 (20:28 -0800)]
Merge pull request #45010 from cyx1231st/wip-seastore-types-cleanup

crimson/os/seastore/seastore_types: cleanups

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agodoc/mgr/nfs: document that nfs exports related mgr call requirements 44870/head
John Mulligan [Wed, 2 Feb 2022 20:58:08 +0000 (15:58 -0500)]
doc/mgr/nfs: document that nfs exports related mgr call requirements

A recent change in the mgr/nfs module should enable the functioning
of export management commands/API calls as long as the rados namespaces
and objects have been already established. Document this fact, noting
that now only the `ceph nfs cluster ...` calls *require* an
orchestration module.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 years agomgr/nfs: support managing exports without orchestration enabled
John Mulligan [Sat, 29 Jan 2022 16:23:00 +0000 (11:23 -0500)]
mgr/nfs: support managing exports without orchestration enabled

This change allows the `ceph nfs export ...` commands to function
without the entire mgr/nfs subsystem requiring orchestration to be
enabled.  When there's no orchestration available, the code falls back
to examining the namespaces in the ".nfs" rados pool to determine what
cluster_id values are valid.

This change does not add support for creating the rados objects and
namespace needed to manage a nfs cluster. As discussed with the
orchestration group on 2022-01-22, rook does not need the mgr module to
establish the namespace. So, for now, we'll defer the work needed to
create the namespace/objects when orchestration is disabled.

Fixes: https://tracker.ceph.com/issues/54043
Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 years agomgr/nfs: fix typo in error message 44845/head
John Mulligan [Fri, 28 Jan 2022 16:30:15 +0000 (11:30 -0500)]
mgr/nfs: fix typo in error message

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 years agomgr/nfs: add unit test for normalize_path
John Mulligan [Fri, 28 Jan 2022 16:21:57 +0000 (11:21 -0500)]
mgr/nfs: add unit test for normalize_path

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 years agomgr/nfs: change method format_path to function normalize_path
John Mulligan [Fri, 28 Jan 2022 16:07:54 +0000 (11:07 -0500)]
mgr/nfs: change method format_path to function normalize_path

This function was not using self and thus has no need to be a method.
While we're at it, rename it to normalize_path because that's what
it is doing.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 years agomgr/nfs: clean up rados object naming code
John Mulligan [Thu, 27 Jan 2022 22:06:02 +0000 (17:06 -0500)]
mgr/nfs: clean up rados object naming code

The naming of rados objects used to store the nfs config was spread
all over the code, including inline f-strings, not-static methods,
etc.
This change unifies the naming by putting constant string prefixes
and name generating functions into the utils.py file.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 years agomgr/nfs: make _check_rados_notify a function
John Mulligan [Thu, 27 Jan 2022 21:06:50 +0000 (16:06 -0500)]
mgr/nfs: make _check_rados_notify a function

This was previously a staticmethod. This static method was only used by
NFSRados object. Staticmethods are nearly always better implemented as
functions, which is done so here.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 years agomgr/nfs: limit dependency of NFSRados object
John Mulligan [Thu, 27 Jan 2022 20:50:13 +0000 (15:50 -0500)]
mgr/nfs: limit dependency of NFSRados object

Previously, the NFSRados object accepted the "Module" as the
first argument but only used the rados attribute (type rados.Rados).
It's better to limit the scope of types when reasonably possible
so we can see what the true dependencies are. So we restrict
NFSRados to accepting a rados.Rados as the argument.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 years agocephadm: still set container_image when --no-assimilate-config is provided 45113/head
Adam King [Mon, 21 Feb 2022 21:34:47 +0000 (16:34 -0500)]
cephadm: still set container_image when --no-assimilate-config is provided

Fixes: https://tracker.ceph.com/issues/54141
Signed-off-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #44911 from Matan-B/wip-matanb-pool-name
Yuri Weinstein [Wed, 23 Feb 2022 18:22:49 +0000 (10:22 -0800)]
Merge pull request #44911 from Matan-B/wip-matanb-pool-name

mon/OSDMonitor: Restrict pool names beggining with a dot

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
3 years agoMerge pull request #44321 from Alexponomarev7/fix-static-librados-build
Yuri Weinstein [Wed, 23 Feb 2022 18:22:17 +0000 (10:22 -0800)]
Merge pull request #44321 from Alexponomarev7/fix-static-librados-build

cmake: add ceph-common DENABLE_SHARED=OFF support

Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agomgr/cephadm: reduce log level for asyncssh error messages 45132/head
Melissa Li [Wed, 23 Feb 2022 16:57:45 +0000 (11:57 -0500)]
mgr/cephadm: reduce log level for asyncssh error messages

Fixes: https://tracker.ceph.com/issues/54132
Signed-off-by: Melissa Li <melissali@redhat.com>
3 years agoMerge pull request #45023 from rkachach/fix_issue_54198
Adam King [Wed, 23 Feb 2022 14:05:38 +0000 (09:05 -0500)]
Merge pull request #45023 from rkachach/fix_issue_54198

mgr/cephadm: Show an error when invalid format

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #44928 from rkachach/fix_issue_54184
Adam King [Wed, 23 Feb 2022 14:02:16 +0000 (09:02 -0500)]
Merge pull request #44928 from rkachach/fix_issue_54184

mgr/cephadm: validating service_id for MDS

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #44896 from rkachach/fix_issue_53540
Adam King [Wed, 23 Feb 2022 13:58:58 +0000 (08:58 -0500)]
Merge pull request #44896 from rkachach/fix_issue_53540

mgr/cephadm: Adding AGE field to device ls cmd

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45119 from rhcs-dashboard/fix-dashboard_frontend_vulnerabilities...
Ernesto Puerta [Wed, 23 Feb 2022 12:40:24 +0000 (13:40 +0100)]
Merge pull request #45119 from rhcs-dashboard/fix-dashboard_frontend_vulnerabilities-master

mgr/dashboard: fix front-end vulnerabilities

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agoceph-volume: abort when passed devices have partitions 45126/head
Guillaume Abrioux [Wed, 23 Feb 2022 08:36:29 +0000 (09:36 +0100)]
ceph-volume: abort when passed devices have partitions

ceph-volume doesn't prevent from using db and/or wal devices
with existing partitions on them.
This can lead to a data loss situation.

Fixes: https://tracker.ceph.com/issues/54376
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoMerge pull request #45062 from cbodley/wip-54303
Ilya Dryomov [Wed, 23 Feb 2022 10:47:20 +0000 (11:47 +0100)]
Merge pull request #45062 from cbodley/wip-54303

librbd: avoid get_callback_adapter() for tcp_stream::async_connect()

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45031 from cbodley/wip-54279
Ilya Dryomov [Wed, 23 Feb 2022 10:45:56 +0000 (11:45 +0100)]
Merge pull request #45031 from cbodley/wip-54279

common: replace BitVector::NoInitAllocator with wrapper struct

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45086 from trociny/wip-54258
Ilya Dryomov [Wed, 23 Feb 2022 10:45:02 +0000 (11:45 +0100)]
Merge pull request #45086 from trociny/wip-54258

rbd-mirror: make mirror properly detect pool replayer needs restart

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45106 from idryomov/wip-image-replayer-stop
Ilya Dryomov [Wed, 23 Feb 2022 10:42:59 +0000 (11:42 +0100)]
Merge pull request #45106 from idryomov/wip-image-replayer-stop

rbd-mirror: synchronize with in-flight stop in ImageReplayer::stop()

Reviewed-by: Mykola Golub <mgolub@suse.com>
3 years agomgr/cephadm: Adding python natsort module 45127/head
Redouane Kachach [Wed, 23 Feb 2022 10:39:40 +0000 (11:39 +0100)]
mgr/cephadm: Adding python natsort module
Needed by: https://tracker.ceph.com/issues/54026

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
3 years agomgr/dashboard: fix front-end vulnerabilities 45119/head
Ernesto Puerta [Tue, 22 Feb 2022 18:58:53 +0000 (19:58 +0100)]
mgr/dashboard: fix front-end vulnerabilities

Fixes: https://tracker.ceph.com/issues/54367
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
3 years agomgr/devicehealth: skip null pages when extracting wear level 45121/head
Yaarit Hatuka [Tue, 22 Feb 2022 19:22:09 +0000 (19:22 +0000)]
mgr/devicehealth: skip null pages when extracting wear level

Some devices have null pages in their ata_device_statistics struct; skip
those pages in order to avoid an AttributeError when extracting device's
wear level.

Fixes: https://tracker.ceph.com/issues/51554
Signed-off-by: Yaarit Hatuka <yaarit@redhat.com>
3 years agoMerge pull request #45117 from idryomov/wip-rbd-trash-purge-error-typo
Ilya Dryomov [Tue, 22 Feb 2022 19:10:05 +0000 (20:10 +0100)]
Merge pull request #45117 from idryomov/wip-rbd-trash-purge-error-typo

mgr/rbd_support: fix a typo in the error message

Reviewed-by: Sunny Kumar <sunkumar@redhat.com>
3 years agoMerge pull request #45068 from ronen-fr/wip-rf-minimal-digestupd-fix
Yuri Weinstein [Tue, 22 Feb 2022 15:26:45 +0000 (07:26 -0800)]
Merge pull request #45068 from ronen-fr/wip-rf-minimal-digestupd-fix

osd/scrub: stop sending bogus digest-update event messages

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoosd: Write non-zero data as part of osd benchmark test. 45118/head
Sridhar Seshasayee [Tue, 22 Feb 2022 12:25:44 +0000 (17:55 +0530)]
osd: Write non-zero data as part of osd benchmark test.

An optimization (see PR: https://github.com/ceph/ceph/pull/43337) was made
in BlueStore to avoid writing bufferlists made up of zeros. The osd
benchmark used zero filled bufferlists and this resulted in inflated osd
benchmark results.

This issue is fixed by using bufferlists filled with non-zero values.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
Fixes: https://tracker.ceph.com/issues/54364
3 years agomgr/rbd_support: fix a typo in the error message 45117/head
Ilya Dryomov [Tue, 22 Feb 2022 12:16:14 +0000 (13:16 +0100)]
mgr/rbd_support: fix a typo in the error message

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agomgr/cephadm: Adding AGE field to device ls cmd 44896/head
Redouane Kachach [Fri, 4 Feb 2022 12:28:51 +0000 (13:28 +0100)]
mgr/cephadm: Adding AGE field to device ls cmd
Fixes: https://tracker.ceph.com/issues/53540
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
3 years agorgw/dbstore: DBOpPrepareInfo::query_str is a view 45109/head
Casey Bodley [Mon, 21 Feb 2022 17:07:26 +0000 (12:07 -0500)]
rgw/dbstore: DBOpPrepareInfo::query_str is a view

in `SQLiteDB::InitPrepareParams()`, `DBOpInfo::query_str` is assigned to
`DBOpPrepareInfo::query_str`:

  p_params.op.query_str = params->op.query_str;

by making `DBOpPrepareInfo::query_str` a view, we avoid allocating a
copy of the `std::string`

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agorgw/dbstore: use `const char*` for sqlite3_bind_parameter_index()
Casey Bodley [Mon, 21 Feb 2022 16:59:37 +0000 (11:59 -0500)]
rgw/dbstore: use `const char*` for sqlite3_bind_parameter_index()

all string constants passed to sqlite3_bind_parameter_index() are now
`static constexpr const char*` instead of `std::string`

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agorgw/dbstore: Schema() functions are static
Casey Bodley [Sat, 19 Feb 2022 17:09:53 +0000 (12:09 -0500)]
rgw/dbstore: Schema() functions are static

these functions only refer to static member variables, so can be static
themselves

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agorgw/dbstore: remove unused 'string Op' argument to InitializeParams()
Casey Bodley [Fri, 18 Feb 2022 22:45:04 +0000 (17:45 -0500)]
rgw/dbstore: remove unused 'string Op' argument to InitializeParams()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agomgr/cephadm: using MDSSPec instead of ServiceSpec 44928/head
Redouane Kachach [Mon, 7 Feb 2022 18:17:55 +0000 (19:17 +0100)]
mgr/cephadm: using MDSSPec instead of ServiceSpec
Fixes: https://tracker.ceph.com/issues/54184
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
3 years agoMerge pull request #44985 from rhcs-dashboard/dashboard-turns-telemetry-off 45251/head
Yuri Weinstein [Mon, 21 Feb 2022 15:44:51 +0000 (07:44 -0800)]
Merge pull request #44985 from rhcs-dashboard/dashboard-turns-telemetry-off

mgr/dashboard: dashboard turns telemetry off when configuring report

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Yaarit Hatuka <yaarit@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #45022 from kalebskeithley/54266
Casey Bodley [Mon, 21 Feb 2022 15:41:19 +0000 (10:41 -0500)]
Merge pull request #45022 from kalebskeithley/54266

rgw: cmake configure error on fedora-37/rawhide

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Soumya Koduri <skoduri@redhat.com>
3 years agoMerge pull request #44905 from mgfritch/cephadm-prom-chown
Adam King [Mon, 21 Feb 2022 15:19:40 +0000 (10:19 -0500)]
Merge pull request #44905 from mgfritch/cephadm-prom-chown

cephadm: chown the prometheus data dir during redeploy

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Patrick Seidensal <pseidensal@suse.com>
3 years agoMerge pull request #45054 from rkachach/fix_issue_46655
Adam King [Mon, 21 Feb 2022 15:17:00 +0000 (10:17 -0500)]
Merge pull request #45054 from rkachach/fix_issue_46655

mgr/cephadm: Delete ceph.target if last cluster

Reviewed-by: Michael Fritch mfritch@suse.com
3 years agorbd-mirror: synchronize with in-flight stop in ImageReplayer::stop() 45106/head
Ilya Dryomov [Sun, 20 Feb 2022 16:33:08 +0000 (17:33 +0100)]
rbd-mirror: synchronize with in-flight stop in ImageReplayer::stop()

Complete on_finish right away only if the replayer is stopped (meaning
that it is legible to be restarted immediately, possibly from on_finish
itself).  This is the behaviour pretty much anyone would assume and
also what ImageReplayer::restart() relies on.

Fixes: https://tracker.ceph.com/issues/54344
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agorbd-mirror: turn m_on_stop_finish into a list of Contexts
Ilya Dryomov [Sun, 20 Feb 2022 16:11:28 +0000 (17:11 +0100)]
rbd-mirror: turn m_on_stop_finish into a list of Contexts

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agorbd-mirror: manual stop should take precedence over regular stop
Ilya Dryomov [Sun, 20 Feb 2022 12:11:02 +0000 (13:11 +0100)]
rbd-mirror: manual stop should take precedence over regular stop

Somewhat similar to commit 0a3794e56256 ("rbd-mirror: make stop
properly cancel restart"), make it so that a) if a manual stop is
joined to regular stop, the stop becomes manual and b) if a regular
stop is joined to a manual stop, the stop stays manual.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agorbd-mirror: straighten ImageReplayer::stop() a bit
Ilya Dryomov [Sat, 19 Feb 2022 15:43:04 +0000 (16:43 +0100)]
rbd-mirror: straighten ImageReplayer::stop() a bit

- don't default on_finish parameter
- m_restart_requested is set in ImageReplayer::restart() which is the
  only restart=true call site, so setting m_restart_requested here is
  redundant
- is_stopped_() can't be true in is_running_() branch
- on_finish->complete(0) in the end is unreachable

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #44873 from kotreshhr/clone-inherit-quota-files
Venky Shankar [Mon, 21 Feb 2022 09:07:44 +0000 (14:37 +0530)]
Merge pull request #44873 from kotreshhr/clone-inherit-quota-files

mgr/volumes: Inherit file quota attr to clone

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #44854 from kotreshhr/subvolumegroup_ls
Venky Shankar [Mon, 21 Feb 2022 09:07:03 +0000 (14:37 +0530)]
Merge pull request #44854 from kotreshhr/subvolumegroup_ls

mgr/volumes: Fix subvolumegroup ls

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agocrimson/os/seastore/seastore_types: pretty print fundamental types 45010/head
Yingxin Cheng [Mon, 14 Feb 2022 03:37:20 +0000 (11:37 +0800)]
crimson/os/seastore/seastore_types: pretty print fundamental types

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore/seastore_types: unify NULL/MAX/default values
Yingxin Cheng [Mon, 14 Feb 2022 03:10:41 +0000 (11:10 +0800)]
crimson/os/seastore/seastore_types: unify NULL/MAX/default values

Mostly for paddr_t and journal_seq_t, and use P_ADDR_NULL and
JOURNAL_SEQ_NULL where possible, with related cleanups.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>