]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 years agomgr/cephadm: block draining last _admin host 45174/head
Adam King [Fri, 25 Feb 2022 22:55:06 +0000 (17:55 -0500)]
mgr/cephadm: block draining last _admin host

Fixes: https://tracker.ceph.com/issues/54413
Signed-off-by: Adam King <adking@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 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 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>
3 years agoMerge pull request #45089 from athanatos/sjust/wip-seastore-journal-refactor
Samuel Just [Mon, 21 Feb 2022 06:04:04 +0000 (22:04 -0800)]
Merge pull request #45089 from athanatos/sjust/wip-seastore-journal-refactor

seastore: seperate Journal interface from SegmentedJournal implementation

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
3 years agoMerge pull request #45033 from anthonyeleven/anthonyeleven/releases-tweaks
zdover23 [Mon, 21 Feb 2022 05:59:52 +0000 (15:59 +1000)]
Merge pull request #45033 from anthonyeleven/anthonyeleven/releases-tweaks

doc/releases: Improve capitalization for Octopus

Reviewed-by: Zac Dover <zac.dover@gmail.com>
3 years agoMerge pull request #44994 from ljflores/wip-telemetry-device-assertion-failure
Laura Flores [Mon, 21 Feb 2022 00:52:47 +0000 (18:52 -0600)]
Merge pull request #44994 from ljflores/wip-telemetry-device-assertion-failure

mgr/telemetry: handle empty device report when "send" is triggered

3 years agoseastore: seperate Journal interface from SegmentedJournal implementation 45089/head
myoungwon oh [Fri, 13 Aug 2021 08:15:54 +0000 (17:15 +0900)]
seastore: seperate Journal interface from SegmentedJournal implementation

A subsequent PR will introduce a CircularBoundedJournal implementation
for fast nvme devices.

SegmentCleaner no longer needs a reference to Journal, so dispense with
the set_segment_provider machinery and simply pass it in the
constructor.

Move responsibility for finding the journal segments into the journal
itself.  This does mean that we check the segment headers on the journal
device twice, but that should be a neglible amount of overhead on mount.

SegmentCleaner::init_segments no longer needs to return Journal
segments, so merge with mount().

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agomgr/dashboard: Contact Info should be visible only when Ident channel is checked 44985/head
Sarthak0702 [Wed, 16 Feb 2022 12:45:35 +0000 (18:15 +0530)]
mgr/dashboard: Contact Info should be visible only when Ident channel is checked

Fixes:https://tracker.ceph.com/issues/54133
Signed-off-by: Sarthak0702 <sarthak.0702@gmail.com>
3 years agoMerge pull request #44936 from javacruft/build-compress-common-dep
Kefu Chai [Sun, 20 Feb 2022 17:02:44 +0000 (01:02 +0800)]
Merge pull request #44936 from javacruft/build-compress-common-dep

cmake: add dependency compress->common

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agocmake: add dependency compression->common 44936/head
James Page [Tue, 8 Feb 2022 09:10:36 +0000 (09:10 +0000)]
cmake: add dependency compression->common

The compression code depends on headers generated during the build
of the common code for Ceph.

Ensure that CMake understands this dependency, avoiding a race
between generation of header files in common and compilation of the
compression module.

Signed-off-by: James Page <james.page@ubuntu.com>
3 years agorgw/dbstore: use string_view for string constants
Casey Bodley [Fri, 18 Feb 2022 20:56:42 +0000 (15:56 -0500)]
rgw/dbstore: use string_view for string constants

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agoMerge pull request #44608 from liumiaomiaoIntel/qatchange
Kefu Chai [Sat, 19 Feb 2022 17:25:44 +0000 (01:25 +0800)]
Merge pull request #44608 from liumiaomiaoIntel/qatchange

common: fix compilation and function issues about compressor and crypto to enable latest QAT driver

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #44904 from chrisphoffman/wip_rbd_default_map_override
Ilya Dryomov [Sat, 19 Feb 2022 16:18:42 +0000 (17:18 +0100)]
Merge pull request #44904 from chrisphoffman/wip_rbd_default_map_override

tools/rbd: expand where option rbd_default_map_options can be set

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45085 from tchaikov/crimson-fmtlib-v8
Samuel Just [Sat, 19 Feb 2022 01:38:45 +0000 (17:38 -0800)]
Merge pull request #45085 from tchaikov/crimson-fmtlib-v8

crimson: fixes for compiling with fmtlib v8

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #43388 from e337/wip-doc-50499
Laura Flores [Sat, 19 Feb 2022 00:24:02 +0000 (18:24 -0600)]
Merge pull request #43388 from e337/wip-doc-50499

3 years agorbd-mirror: make mirror properly detect pool replayer needs restart 45086/head
Mykola Golub [Fri, 18 Feb 2022 10:42:23 +0000 (10:42 +0000)]
rbd-mirror: make mirror properly detect pool replayer needs restart

When a PoolReplayer detects remote pool metadata change it
sets "stopping" flag expecting the Mirror will restart it.

Although setting "stopping" flag makes the PoolReplayer::run
thread to terminate, the thread's is_started function will still
return true until join is called (and reset the thread id).

This made impossible for the Mirror to detect (by calling
PoolReplayer::is_running) that the PoolReplayer needed restart.

Fixes: https://tracker.ceph.com/issues/54258
Signed-off-by: Mykola Golub <mgolub@suse.com>
3 years agocrimson: specialize fmt::formatter<>() for crimson types 45085/head
Kefu Chai [Fri, 18 Feb 2022 15:23:54 +0000 (23:23 +0800)]
crimson: specialize fmt::formatter<>() for crimson types

otherwise we'd have FTBFS like

/usr/include/fmt/core.h:1727:3: error: static_assert failed due to requirement 'formattable' "Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api$
  static_assert(
  ^
/usr/include/fmt/core.h:1853:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, fmt::detail::type::custom_type, crimson::os:$
        data_{detail::make_arg<

please note, delta_op_t is lifted out of the templated outer class
to avoid the headache of specialization of template of template in
another namespace.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoqa/suites/krbd: add rbd_default_map_options override coverage 44904/head
Christopher Hoffman [Wed, 9 Feb 2022 20:28:19 +0000 (20:28 +0000)]
qa/suites/krbd: add rbd_default_map_options override coverage

Add coverage to test precedence, override, and option merge on rbd map.

Signed-off-by: Christopher Hoffman <choffman@redhat.com>
3 years agoqa/suites/krbd: rename rxbounce subsuite
Ilya Dryomov [Fri, 18 Feb 2022 16:06:42 +0000 (17:06 +0100)]
qa/suites/krbd: rename rxbounce subsuite

A new job that doesn't want ms_mode to be set underneath it is about to
be added.  Rename rxbounce to ms_modeless to make this purpose obvious.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agorbd: support pool and image level overrides for rbd_default_map_options
Christopher Hoffman [Fri, 4 Feb 2022 21:25:53 +0000 (21:25 +0000)]
rbd: support pool and image level overrides for rbd_default_map_options

Fixes: https://tracker.ceph.com/issues/52850
Signed-off-by: Christopher Hoffman <choffman@redhat.com>
3 years agocrimson/os/seastore: drop compile-time fmt validation
Kefu Chai [Fri, 18 Feb 2022 14:44:51 +0000 (22:44 +0800)]
crimson/os/seastore: drop compile-time fmt validation

_format() was deprecated in fmtlib v8, see also
https://github.com/fmtlib/fmt/pull/2646

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocompressor: fix compilation issues about QATzip 44608/head
Miaomiao Liu [Wed, 19 Jan 2022 07:27:07 +0000 (15:27 +0800)]
compressor: fix compilation issues about QATzip

Signed-off-by: Miaomiao Liu <miaomiao.liu@intel.com>
Signed-off-by: Hualong Feng <hualong.feng@intel.com>
3 years agoMerge pull request #44933 from liu-chunmei/seastore-support-sparse-read
Samuel Just [Thu, 17 Feb 2022 22:40:27 +0000 (14:40 -0800)]
Merge pull request #44933 from liu-chunmei/seastore-support-sparse-read

crimson/seastore: support sparse_read

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #44955 from aclamk/wip-vselector-check-fix
Neha Ojha [Thu, 17 Feb 2022 18:26:10 +0000 (10:26 -0800)]
Merge pull request #44955 from aclamk/wip-vselector-check-fix

os/bluestore/bluefs: Fix improper vselector tracking in _flush_special()

Reviewed-by: Igor Fedotov <igor.fedotov@croit.io>
3 years agocrimson/seastore: put ObjectDataHandler instance into do_with 44933/head
chunmei-liu [Wed, 16 Feb 2022 03:13:15 +0000 (19:13 -0800)]
crimson/seastore: put ObjectDataHandler instance into do_with

make ObjectDataHandler instance alive before sub functions are resolved.

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agocrimson/seastore:: add fiemap and sparse read unit test
chunmei-liu [Sat, 12 Feb 2022 21:36:33 +0000 (13:36 -0800)]
crimson/seastore:: add fiemap and sparse read unit test

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agocrimson/seastore: support sparse_read
chunmei-liu [Mon, 7 Feb 2022 22:34:33 +0000 (14:34 -0800)]
crimson/seastore: support sparse_read

add fiemap and readv functions.

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agoMerge pull request #45057 from zdover23/wip-doc-2022-02-17-os-recs-nautilus-and-lumin...
zdover23 [Thu, 17 Feb 2022 10:19:35 +0000 (20:19 +1000)]
Merge pull request #45057 from zdover23/wip-doc-2022-02-17-os-recs-nautilus-and-luminous-table-removal

doc/start: remove L and N release-related tables

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
3 years agoosd/scrub: stop sending bogus digest-update event messages 45068/head
Ronen Friedman [Thu, 17 Feb 2022 09:29:22 +0000 (09:29 +0000)]
osd/scrub: stop sending bogus digest-update event messages

A minimal change extracted from PR#44050, to facilitate
backporting.

The multitudes of bogus events generated fill up the logs.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agoMerge pull request #45049 from liu-chunmei/crimson-clang-warning-cleanup
Samuel Just [Wed, 16 Feb 2022 20:07:56 +0000 (12:07 -0800)]
Merge pull request #45049 from liu-chunmei/crimson-clang-warning-cleanup

crimson: eliminate clang build warning in crimson

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
3 years agorbd: avoid get_callback_adapter() for tcp_stream::async_connect() 45062/head
Casey Bodley [Tue, 15 Feb 2022 23:12:00 +0000 (18:12 -0500)]
rbd: avoid get_callback_adapter() for tcp_stream::async_connect()

works around a compilation failure in c++20 (with gcc 11.2 and boost
1.76) when choosing between two overloads of
`boost::beast::tcp_stream::async_connect()`

`get_callback_adapter()` returns a variadic lambda that matches the
concept for both overloads (`completion_token_for<ConnectHandler>`
and `completion_token_for<RangeConnectHandler>`), but compilation of
the wrapped lambda fails for the `ConnectHandler` overload because it
expects two arguments instead of one

instead of using `get_callback_adapter()` to convert the first argument
from `boost::system::error_code` to `int` for the wrapped lambda, do
this in the lambda itself

Fixes: https://tracker.ceph.com/issues/54303
Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agomgr/telemetry: handle empty device report when "send" is triggered 44994/head
Laura Flores [Fri, 11 Feb 2022 19:37:26 +0000 (19:37 +0000)]
mgr/telemetry: handle empty device report when "send" is triggered

On certain environments, such as the "ceph-dev-docker" environment
(https://github.com/ricardoasmarques/ceph-dev-docker), the mgr
module is unable to fetch device metrics. As a result, the device
report generated by "gather_device_report()" returns an empty dict.
This causes an AssertionError when the "send" function is triggered
(i.e. by running `ceph telemetry status` or `ceph telemetry send`),
and the module crashes.

The fix in this commit checks that the generated device report
contains metrics before trying to send it. If the device report
does not contain metrics (it returns an empty dict), the module
will log an appropriate message in the mgr log and not send the
device report.

If this scenario happens when running the `ceph telemetry send` command,
the user will additionally see this message:
```
Ceph report sent to https://telemetry.ceph.com/report
Unable to send device report: channel is on, but generated report was empty.
```

I also added a few more debug messages in gather_device_report() to make
future debugging easier.

Fixes: https://tracker.ceph.com/issues/54250
Signed-off-by: Laura Flores <lflores@redhat.com>
3 years agomgr/cephadm: Delete ceph.target if last cluster 45054/head
Redouane Kachach [Wed, 16 Feb 2022 11:01:57 +0000 (12:01 +0100)]
mgr/cephadm: Delete ceph.target if last cluster
Fixes: https://tracker.ceph.com/issues/46655
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
3 years agocrimson: eliminate clang build warning in crimson 45049/head
chunmei-liu [Wed, 16 Feb 2022 05:06:24 +0000 (21:06 -0800)]
crimson: eliminate clang build warning in crimson

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agodoc/start: remove L and N release-related tables 45057/head
Zac Dover [Wed, 16 Feb 2022 15:21:44 +0000 (01:21 +1000)]
doc/start: remove L and N release-related tables

This PR removes the tables for Luminous and Nautilus,
in order to keep the documentation as current as possible.
This is one a series of PRs intended to update the OS
Recommendations page. The scope of this PR is confined to
the removal of these two tables. Other PRs will update the
information elsewhere on the OS Recommendations page.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
3 years agocommon: replace BitVector::NoInitAllocator with wrapper struct 45031/head
Casey Bodley [Tue, 15 Feb 2022 23:27:10 +0000 (18:27 -0500)]
common: replace BitVector::NoInitAllocator with wrapper struct

in c++20, the deprecated `struct std::allocator<T>::rebind` template was
removed, so `BitVector` no longer compiles. without a `rebind` to
inherit, `std::allocator_traits<NoInitAllocator>::rebind_alloc<U>` was
looking for `NoInitAllocator<U>`, but it isn't a template class

further investigation found that in c++17, `vector<__u32, NoInitAllocator>`
was rebinding this `NoInitAllocator` to `std::allocator<__u32>` and
preventing the no-init optimization from taking effect

instead of messing with the allocator to avoid zero-initialization, wrap
each __u32 in a struct whose constructor does not initialize the value

Fixes: https://tracker.ceph.com/issues/54279
Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agoMerge pull request #45045 from idryomov/wip-qemu-task-rbd-package
Ilya Dryomov [Wed, 16 Feb 2022 13:15:24 +0000 (14:15 +0100)]
Merge pull request #45045 from idryomov/wip-qemu-task-rbd-package

qa/tasks/qemu: make sure block-rbd.so is installed

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
3 years agoqa/suites/rbd: make sure block-rbd.so is installed 45045/head
Ilya Dryomov [Wed, 16 Feb 2022 09:32:26 +0000 (10:32 +0100)]
qa/suites/rbd: make sure block-rbd.so is installed

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>