]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agoosd/: add per-op latency averages for each recovery related message
Samuel Just [Thu, 6 Apr 2023 20:50:48 +0000 (20:50 +0000)]
osd/: add per-op latency averages for each recovery related message

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/: differentiate priority for PGRecovery[Context]
Samuel Just [Thu, 6 Apr 2023 07:04:05 +0000 (00:04 -0700)]
osd/: differentiate priority for PGRecovery[Context]

PGs with degraded objects should be higher priority.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/: add MSG_OSD_PG_(BACKFILL|BACKFILL_REMOVE|SCAN) as recovery messages
Samuel Just [Thu, 6 Apr 2023 05:57:48 +0000 (22:57 -0700)]
osd/: add MSG_OSD_PG_(BACKFILL|BACKFILL_REMOVE|SCAN) as recovery messages

Otherwise, these end up as PGOpItem and therefore as immediate:

class PGOpItem : public PGOpQueueable {
...
  op_scheduler_class get_scheduler_class() const final {
    auto type = op->get_req()->get_type();
    if (type == CEPH_MSG_OSD_OP ||
  type == CEPH_MSG_OSD_BACKOFF) {
      return op_scheduler_class::client;
    } else {
      return op_scheduler_class::immediate;
    }
  }
...
};

This was probably causing a bunch of extra interference with client
ops.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/: differentiate scheduler class for undersized/degraded vs data movement
Samuel Just [Thu, 6 Apr 2023 05:57:42 +0000 (22:57 -0700)]
osd/: differentiate scheduler class for undersized/degraded vs data movement

Recovery operations on pgs/objects that have fewer than the configured
number of copies should be treated more urgently than operations on
pgs/objects that simply need to be moved to a new location.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/.../OpSchedulerItem: add MSG_OSD_PG_PULL to is_recovery_msg
Samuel Just [Thu, 6 Apr 2023 04:30:18 +0000 (04:30 +0000)]
osd/.../OpSchedulerItem: add MSG_OSD_PG_PULL to is_recovery_msg

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/: move PGRecoveryMsg check from osd into PGRecoveryMsg::is_recovery_msg
Samuel Just [Thu, 6 Apr 2023 04:23:23 +0000 (04:23 +0000)]
osd/: move PGRecoveryMsg check from osd into PGRecoveryMsg::is_recovery_msg

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/: move get_recovery_op_priority into PeeringState next to get_*_priority
Samuel Just [Thu, 6 Apr 2023 03:45:19 +0000 (03:45 +0000)]
osd/: move get_recovery_op_priority into PeeringState next to get_*_priority

Consolidate methods governing recovery scheduling in PeeringState.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/scheduler: simplify qos specific params in OpSchedulerItem
Samuel Just [Tue, 4 Apr 2023 23:34:17 +0000 (23:34 +0000)]
osd/scheduler: simplify qos specific params in OpSchedulerItem

is_qos_item() was only used in operator<< for OpSchedulerItem.  However,
it's actually useful to see priority for mclock items since it affects
whether it goes into the immediate queues and, for some types, the
class.  Unconditionally display both class_id and priority.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/scheduler: remove unused PGOpItem::maybe_get_mosd_op
Samuel Just [Tue, 4 Apr 2023 23:22:59 +0000 (23:22 +0000)]
osd/scheduler: remove unused PGOpItem::maybe_get_mosd_op

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/scheduler: remove OpQueueable::get_order_locker() and supporting machinery
Samuel Just [Tue, 4 Apr 2023 23:13:41 +0000 (23:13 +0000)]
osd/scheduler: remove OpQueueable::get_order_locker() and supporting machinery

Apparently unused.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/scheduler: remove OpQueueable::get_op_type() and supporting machinery
Samuel Just [Tue, 4 Apr 2023 23:05:56 +0000 (23:05 +0000)]
osd/scheduler: remove OpQueueable::get_op_type() and supporting machinery

Apparently unused.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoPeeringState::clamp_recovery_priority: use std::clamp
Samuel Just [Mon, 3 Apr 2023 20:31:46 +0000 (13:31 -0700)]
PeeringState::clamp_recovery_priority: use std::clamp

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agodoc: Modify mClock configuration documentation to reflect new cost model
Sridhar Seshasayee [Sat, 25 Mar 2023 07:14:40 +0000 (12:44 +0530)]
doc: Modify mClock configuration documentation to reflect new cost model

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd: Retain overridden mClock recovery settings across osd restarts
Sridhar Seshasayee [Tue, 21 Feb 2023 12:24:36 +0000 (17:54 +0530)]
osd: Retain overridden mClock recovery settings across osd restarts

Fix an issue where an overridden mClock recovery setting (set prior to
an osd restart) could be lost after an osd restart.

For e.g., consider that prior to an osd restart, the option
'osd_max_backfill' was successfully set to a value different from the
mClock default. If the osd was restarted for some reason, the
boot-up sequence was incorrectly resetting the backfill value to the
mclock default within the async local/remote reservers. This fix
ensures that no change is made if the current overriden value is
different from the mClock default.

Modify an existing standalone test to verify that the local and remote
async reservers are updated to the desired number of backfills under
normal conditions and also across osd restarts.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd: Set default max active recovery and backfill limits for mClock
Sridhar Seshasayee [Mon, 20 Mar 2023 12:29:17 +0000 (17:59 +0530)]
osd: Set default max active recovery and backfill limits for mClock

Client ops are sensitive to the recovery load and must be carefully
set for osds whose underlying device is HDD. Tests revealed that
recoveries with osd_max_backfills = 10 and osd_recovery_max_active_hdd = 5
were still aggressive and overwhelmed client ops. The built-in defaults
for mClock are now set to:

    1) osd_recovery_max_active_hdd = 3
    2) osd_recovery_max_active_ssd = 10
    3) osd_max_backfills = 3

The above may be modified if necessary by setting
osd_mclock_override_recovery_settings option.

Fixes: https://tracker.ceph.com/issues/58529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd/scheduler/mClockScheduler: make is_rotational const
Samuel Just [Wed, 29 Mar 2023 06:29:58 +0000 (23:29 -0700)]
osd/scheduler/mClockScheduler: make is_rotational const

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/scheduler/mClockScheduler: simplify profile handling
Samuel Just [Wed, 29 Mar 2023 07:10:57 +0000 (00:10 -0700)]
osd/scheduler/mClockScheduler: simplify profile handling

Previously, setting default configs from the configured profile was
split across:
- enable_mclock_profile_settings
- set_mclock_profile - sets mclock_profile class member
- set_*_allocations - updates client_allocs class member
- set_profile_config - sets profile based on client_allocs class member

This made tracing the effect of changing the profile pretty challenging
due passing state through class member variables.

Instead, define a simple profile_t with three constexpr values
corresponding to the three profiles and handle it all in a single
set_config_defaults_from_profile() method.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd: Modify mClock scheduler's cost model to represent cost in bytes
Sridhar Seshasayee [Thu, 9 Feb 2023 15:17:44 +0000 (20:47 +0530)]
osd: Modify mClock scheduler's cost model to represent cost in bytes

The mClock scheduler's cost model for HDDs/SSDs is modified and now
represents the cost of an IO in terms of bytes.

The cost parameters, namely, osd_mclock_cost_per_io_usec_[hdd|ssd]
and osd_mclock_cost_per_byte_usec_[hdd|ssd] which represent the cost
of an IO in secs are inaccurate and therefore removed.

The new model considers the following aspects of an osd to calculate
the cost of an IO:

 - osd_mclock_max_capacity_iops_[hdd|ssd] (existing option)
   The measured random write IOPS at 4 KiB block size. This is
   measured during OSD boot-up using OSD bench tool.
 - osd_mclock_max_sequential_bandwidth_[hdd|ssd] (new config option)
   The maximum sequential bandwidth of of the underlying device.
   For HDDs, 150 MiB/s is considered, and for SSDs 750 MiB/s is
   considered in the cost calculation.

The following important changes are made to arrive at the overall
cost of an IO,

1. Represent QoS reservation and limit config parameter as proportion:
The reservation and limit parameters are now set in terms of a
proportion of the OSD's max IOPS capacity. The earlier representation
was in terms of IOPS per OSD shard which required the user to perform
calculations before setting the parameter. Representing the
reservation and limit in terms of proportions is much more intuitive
and simpler for a user.

2. Cost per IO Calculation:
Using the above config options, osd_bandwidth_cost_per_io for the osd is
calculated and set. It is the ratio of the max sequential bandwidth and
the max random write iops of the osd. It is a constant and represents the
base cost of an IO in terms of bytes. This is added to the actual size of
the IO(in bytes) to represent the overall cost of the IO operation.See
mClockScheduler::calc_scaled_cost().

3. Cost calculation in Bytes:
The settings for reservation and limit in terms a fraction of the OSD's
maximum IOPS capacity is converted to Bytes/sec before updating the
mClock server's ClientInfo structure. This is done for each OSD op shard
using osd_bandwidth_capacity_per_shard shown below:

    (res|lim)  = (IOPS proportion) * osd_bandwidth_capacity_per_shard
    (Bytes/sec)   (unitless)             (bytes/sec)

The above result is updated within the mClock server's ClientInfo
structure for different op_scheduler_class operations. See
mClockScheduler::ClientRegistry::update_from_config().

The overall cost of an IO operation (in secs) is finally determined
during the tag calculations performed in the mClock server. See
crimson::dmclock::RequestTag::tag_calc() for more details.

4. Profile Allocations:
Optimize mClock profile allocations due to the change in the cost model
and lower recovery cost.

5. Modify standalone tests to reflect the change in the QoS config
parameter representation of reservation and limit options.

Fixes: https://tracker.ceph.com/issues/58529
Fixes: https://tracker.ceph.com/issues/59080
Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd: update PGRecovery queue item cost to reflect object size
Sridhar Seshasayee [Thu, 2 Feb 2023 10:00:26 +0000 (15:30 +0530)]
osd: update PGRecovery queue item cost to reflect object size

Previously, we used a static value of osd_recovery_cost (20M
by default) for PGRecovery. For pools with relatively small
objects, this causes mclock to backfill very very slowly as
20M massively overestimates the amount of IO each recovery
queue operation requires. Instead, add a cost_per_object
parameter to OSDService::awaiting_throttle and set it to the
average object size in the PG being queued.

Fixes: https://tracker.ceph.com/issues/58606
Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd: update OSDService::queue_recovery_context to specify cost
Sridhar Seshasayee [Thu, 2 Feb 2023 08:12:39 +0000 (13:42 +0530)]
osd: update OSDService::queue_recovery_context to specify cost

Previously, we always queued this with cost osd_recovery_cost which
defaults to 20M. With mclock, this caused these items to be delayed
heavily. Instead, base the cost on the operation queued.

Fixes: https://tracker.ceph.com/issues/58606
Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd/osd_types: use appropriate cost value for PullOp
Sridhar Seshasayee [Fri, 3 Feb 2023 05:36:06 +0000 (11:06 +0530)]
osd/osd_types: use appropriate cost value for PullOp

See included comments -- previous values did not account for object
size.  This causes problems for mclock which is much more strict
in how it interprets costs.

Fixes: https://tracker.ceph.com/issues/58607
Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd/osd_types: use appropriate cost value for PushReplyOp
Sridhar Seshasayee [Wed, 25 Jan 2023 08:19:59 +0000 (13:49 +0530)]
osd/osd_types: use appropriate cost value for PushReplyOp

See included comments -- previous values did not account for object
size.  This causes problems for mclock which is much more strict
in how it interprets costs.

Fixes: https://tracker.ceph.com/issues/58529
Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoMerge pull request #51322 from zdover23/wip-doc-2023-05-03-rados-operations-stretch...
zdover23 [Sun, 7 May 2023 06:19:11 +0000 (16:19 +1000)]
Merge pull request #51322 from zdover23/wip-doc-2023-05-03-rados-operations-stretch-mode-stretch-mode-issues

doc/rados: stretch-mode: stretch cluster issues

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2 years agoMerge pull request #50983 from ljflores/wip-ceph-release-notes
Laura Flores [Sun, 7 May 2023 04:38:26 +0000 (23:38 -0500)]
Merge pull request #50983 from ljflores/wip-ceph-release-notes

2 years agoMerge pull request #51370 from anthonyeleven/anthonyeleven/correct-space-amp
Anthony D'Atri [Sat, 6 May 2023 15:28:53 +0000 (11:28 -0400)]
Merge pull request #51370 from anthonyeleven/anthonyeleven/correct-space-amp

doc/rados/configuration: correct space amp in bluestore-config-ref.rst

2 years agoMerge pull request #50392 from Svelar/seastore-cephadm
Svelar [Sat, 6 May 2023 06:22:12 +0000 (14:22 +0800)]
Merge pull request #50392 from Svelar/seastore-cephadm

ceph-volume: assign seastore as object store backend when deplying crimson-osd using LVM with cephadm

2 years agodoc/rados/configuration: correct space amp in bluestore-config-ref.rst 51370/head
Anthony D'Atri [Sat, 6 May 2023 00:43:15 +0000 (20:43 -0400)]
doc/rados/configuration: correct space amp in bluestore-config-ref.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 years agoMerge pull request #51359 from zdover23/wip-doc-2023-05-05-cephfs-troubleshooting...
Anthony D'Atri [Sat, 6 May 2023 00:10:36 +0000 (20:10 -0400)]
Merge pull request #51359 from zdover23/wip-doc-2023-05-05-cephfs-troubleshooting-post-upgrade-inaccessible-filesystems

doc/cephfs: repairing inaccessible FSes

2 years agodoc/cephfs: repairing inaccessible FSes 51359/head
Zac Dover [Fri, 5 May 2023 06:35:28 +0000 (16:35 +1000)]
doc/cephfs: repairing inaccessible FSes

Add a procedure to doc/cephfs/troubleshooting.rst that explains how to
restore access to FileSystems that became inaccessible after
post-Nautilus upgrades. The procedure included here was written by Harry
G Coin, and merely lightly edited by me. I include him here as a
"co-author", but it should be noted that he did the heavy lifting on
this.

See the email thread here for more context:
https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/message/HS5FD3QFR77NAKJ43M2T5ZC25UYXFLNW/

Co-authored-by: Harry G Coin <hgcoin@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agoscript: improve author scraping on cherry picks 50983/head
Laura Flores [Fri, 5 May 2023 18:31:53 +0000 (18:31 +0000)]
script: improve author scraping on cherry picks

Signed-off-by: Laura Flores <lflores@redhat.com>
2 years agoscript: handle a corner case for author in cherry-picked PRs
Laura Flores [Fri, 5 May 2023 18:06:30 +0000 (18:06 +0000)]
script: handle a corner case for author in cherry-picked PRs

Signed-off-by: Laura Flores <lflores@redhat.com>
2 years agoscript: fix author and title for cherry picks
Laura Flores [Thu, 4 May 2023 16:34:34 +0000 (16:34 +0000)]
script: fix author and title for cherry picks

Signed-off-by: Laura Flores <lflores@redhat.com>
2 years agoMerge pull request #51146 from ceph/wip-yuriw-release-process-main
Laura Flores [Fri, 5 May 2023 17:06:49 +0000 (12:06 -0500)]
Merge pull request #51146 from ceph/wip-yuriw-release-process-main

docs: added note for the TAG option

2 years agoMerge pull request #51348 from jamesorlakin/hotfix/doc-weightset-osd-tree-command
Anthony D'Atri [Thu, 4 May 2023 20:53:33 +0000 (16:53 -0400)]
Merge pull request #51348 from jamesorlakin/hotfix/doc-weightset-osd-tree-command

doc: Use `ceph osd crush tree` command to display weight set weights

2 years agoMerge pull request #51333 from Matan-B/wip-matanb-c-objclass-compile
Samuel Just [Thu, 4 May 2023 18:18:54 +0000 (11:18 -0700)]
Merge pull request #51333 from Matan-B/wip-matanb-c-objclass-compile

crimson/osd/objclass: Fix compilation warning

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agodoc: Use `ceph osd crush tree` command to display weight set weights 51348/head
James Lakin [Thu, 4 May 2023 17:02:36 +0000 (18:02 +0100)]
doc: Use `ceph osd crush tree` command to display weight set weights

The previous `ceph osd tree` doesn't show pool-defined weight-sets as the above documentation suggests.

Signed-off-by: James Lakin <james@jameslakin.co.uk>
2 years agoMerge pull request #50507 from cbodley/wip-rgw-api-zero
Casey Bodley [Thu, 4 May 2023 17:09:46 +0000 (13:09 -0400)]
Merge pull request #50507 from cbodley/wip-rgw-api-zero

rgw/rest: add 'zero' rest api

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2 years agoMerge pull request #50183 from rhcs-dashboard/edit-ceph-authx-user
Nizamudeen A [Thu, 4 May 2023 15:29:45 +0000 (20:59 +0530)]
Merge pull request #50183 from rhcs-dashboard/edit-ceph-authx-user

mgr/dashboard: Edit ceph authx users

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge PR #51224 into main
Venky Shankar [Thu, 4 May 2023 12:53:20 +0000 (18:23 +0530)]
Merge PR #51224 into main

* refs/pull/51224/head:
doc: add a note for minimum compatible python version and supported distros
tools/cephfs/top/CMakeList.txt: check the minimum compatible python version for cephfs-top

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge PR #51281 into main
Venky Shankar [Thu, 4 May 2023 12:52:08 +0000 (18:22 +0530)]
Merge PR #51281 into main

* refs/pull/51281/head:
dokan: handle std::stoul exceptions

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge pull request #50676 from soumyakoduri/wip-skoduri-archive
Soumya Koduri [Thu, 4 May 2023 11:04:05 +0000 (16:34 +0530)]
Merge pull request #50676 from soumyakoduri/wip-skoduri-archive

rgw/archive: Disable logging for archive zone

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2 years agoMerge pull request #51192 from soumyakoduri/wip-skoduri-cloudtier-sync
Soumya Koduri [Thu, 4 May 2023 10:46:37 +0000 (16:16 +0530)]
Merge pull request #51192 from soumyakoduri/wip-skoduri-cloudtier-sync

rgw/cloud-transition: Handle cloud-tiered objects in a multisite environment

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2 years agomgr/dashboard: Edit ceph authx users 50183/head
Pedro Gonzalez Gomez [Mon, 20 Feb 2023 13:37:00 +0000 (14:37 +0100)]
mgr/dashboard: Edit ceph authx users

Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge pull request #50643 from rhcs-dashboard/dashboard-edit-zone
Aashish Sharma [Thu, 4 May 2023 06:18:42 +0000 (11:48 +0530)]
Merge pull request #50643 from rhcs-dashboard/dashboard-edit-zone

mgr/dashboard: add support for editing RGW zone

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 years agoMerge pull request #51292 from zdover23/wip-doc-2023-04-30-rados-operations-stretch...
zdover23 [Thu, 4 May 2023 01:08:53 +0000 (11:08 +1000)]
Merge pull request #51292 from zdover23/wip-doc-2023-04-30-rados-operations-stretch-mode-limitations

doc/rados: edit stretch-mode.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2 years agoMerge pull request #50861 from weixinwei/master
Yuri Weinstein [Wed, 3 May 2023 22:06:33 +0000 (15:06 -0700)]
Merge pull request #50861 from weixinwei/master

osd: avoid watcher remains after "rados watch" is interrupted

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2 years agoMerge pull request #51226 from jsoref/spelling-orchestrator
Adam King [Wed, 3 May 2023 21:31:04 +0000 (17:31 -0400)]
Merge pull request #51226 from jsoref/spelling-orchestrator

orchestrator: Fix spelling

Reviewed-by: Adam King<adking@redhat.com>
2 years agoMerge pull request #50976 from phlogistonjohn/jjm-issue59270-inbuf
Adam King [Wed, 3 May 2023 21:29:10 +0000 (17:29 -0400)]
Merge pull request #50976 from phlogistonjohn/jjm-issue59270-inbuf

pybind/mgr: improve error when inbuf is given to commands that don't use it

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2 years agoMerge pull request #50868 from rhcs-dashboard/update-monitoring-stack
Adam King [Wed, 3 May 2023 21:27:26 +0000 (17:27 -0400)]
Merge pull request #50868 from rhcs-dashboard/update-monitoring-stack

mgr/cephadm: update monitoring stack versions

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2 years agoMerge pull request #50613 from adk3798/grafana-anonymous
Adam King [Wed, 3 May 2023 21:24:20 +0000 (17:24 -0400)]
Merge pull request #50613 from adk3798/grafana-anonymous

mgr/cephadm: allow configuring anonymous access for grafana

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #47199 from adk3798/osp-nfs-ha
Adam King [Wed, 3 May 2023 21:18:27 +0000 (17:18 -0400)]
Merge pull request #47199 from adk3798/osp-nfs-ha

mgr/cephadm: support for nfs backed by VIP

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #50418 from NitzanMordhai/wip-nitzan-blocklist-addr-valid-command
Yuri Weinstein [Wed, 3 May 2023 19:32:58 +0000 (12:32 -0700)]
Merge pull request #50418 from NitzanMordhai/wip-nitzan-blocklist-addr-valid-command

pybind/argparse: blocklist ip validation

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #50344 from rzarzynski/wip-msg-random-nonces
Yuri Weinstein [Wed, 3 May 2023 19:32:22 +0000 (12:32 -0700)]
Merge pull request #50344 from rzarzynski/wip-msg-random-nonces

msg: always generate random nonce; don't try to reuse PID

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Adam King adking@redhat.com
2 years agoMerge pull request #49885 from aclamk/wip-aclamk-bs-improve-fragm-score
Yuri Weinstein [Wed, 3 May 2023 19:31:15 +0000 (12:31 -0700)]
Merge pull request #49885 from aclamk/wip-aclamk-bs-improve-fragm-score

BlueStore: Improve fragmentation score metric

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2 years agomgr/dashboard: add support for editing RGW zone 50643/head
avanthakkar [Thu, 30 Mar 2023 17:18:52 +0000 (22:48 +0530)]
mgr/dashboard: add support for editing RGW zone

Fixes: https://tracker.ceph.com/issues/59328
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Co-authored-by: Aashish Sharma <aasharma@redhat.com>
2 years agoMerge pull request #51312 from Matan-B/wip-matanb-c-message-con
Matan [Wed, 3 May 2023 15:14:35 +0000 (18:14 +0300)]
Merge pull request #51312 from Matan-B/wip-matanb-c-message-con

crimson/osd/ops_executer: Fix usage of Message's connection

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radosław Zarzyński <rzarzyns@redhat.com>
2 years agodoc/rados: stretch-mode: stretch cluster issues 51322/head
Zac Dover [Wed, 3 May 2023 05:16:07 +0000 (15:16 +1000)]
doc/rados: stretch-mode: stretch cluster issues

Edit "Stretch Cluster Issues", which might better be called "Netsplits"
or "Recognizing Netsplits".

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agocrimson/osd/objclass: Compilation warning 51333/head
Matan Breizman [Wed, 3 May 2023 09:39:14 +0000 (09:39 +0000)]
crimson/osd/objclass: Compilation warning

```
In copy constructor ‘ceph::buffer::v15_2_0::list::list(const ceph::buffer::v15_2_0::list&)’,
    inlined from ‘OSDOp::OSDOp(const OSDOp&)’ at ../src/osd/osd_types.h:4081:8,
    inlined from ‘int cls_cxx_snap_revert(cls_method_context_t, snapid_t)’ at ../src/crimson/osd/objclass.cc:279:37:
../src/include/buffer.h:945:20: warning: ‘op.OSDOp::indata.ceph::buffer::v15_2_0::list::_len’ is used uninitialized [-Wuninitialized]
  945 |         _len(other._len),
      |              ~~~~~~^~~~
../src/crimson/osd/objclass.cc: In function ‘int cls_cxx_snap_revert(cls_method_context_t, snapid_t)’:
../src/crimson/osd/objclass.cc:279:9: note: ‘op’ declared here
  279 |   OSDOp op{op = CEPH_OSD_OP_ROLLBACK};
      |
```

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agoMerge pull request #51331 from Matan-B/wip-matanb-revert-51043
Ilya Dryomov [Wed, 3 May 2023 10:28:17 +0000 (12:28 +0200)]
Merge pull request #51331 from Matan-B/wip-matanb-revert-51043

Revert "common/tracer: fix decoding when jaeger tracing is disabled"

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2 years agocrimson/osd/ops_executer: Fix usage of Message's connection 51312/head
Matan Breizman [Tue, 2 May 2023 09:07:00 +0000 (09:07 +0000)]
crimson/osd/ops_executer: Fix usage of Message's connection

See #50835.
In crimson, conn is independently maintained outside Message.
Therefore, when trying to use the message's connection for
`get_orig_source_inst()` we won't be able to get the peer address.

Fixes: https://tracker.ceph.com/issues/59589
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agoRevert "common/tracer: fix decoding when jaeger tracing is disabled" 51331/head
Matan Breizman [Wed, 3 May 2023 08:04:11 +0000 (08:04 +0000)]
Revert "common/tracer: fix decoding when jaeger tracing is disabled"

This reverts commit 3701ffa6733b001d4278a0b68395c5efe2382f25.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agoMerge pull request #51255 from rhcs-dashboard/one-way-mirror-fix
Nizamudeen A [Wed, 3 May 2023 05:49:57 +0000 (11:19 +0530)]
Merge pull request #51255 from rhcs-dashboard/one-way-mirror-fix

mgr/dashboard: fix the rbd mirroring configure check

Reviewed-by: Pegonzal <NOT@FOUND>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agodoc/rados: edit stretch-mode.rst 51292/head
Zac Dover [Sun, 30 Apr 2023 02:09:51 +0000 (12:09 +1000)]
doc/rados: edit stretch-mode.rst

Edit "Stretch Mode Limitations" (renamed "Limitations of Stretch Mode"
in this commit) in doc/rados/operations/stretch-mode.rst.

Co-authored-by: Greg Farnum <gfarnum@redhat.com>
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agoMerge pull request #51161 from cbodley/wip-59495
Casey Bodley [Tue, 2 May 2023 20:57:22 +0000 (16:57 -0400)]
Merge pull request #51161 from cbodley/wip-59495

rgw/sts: AssumeRole no longer writes to user metadata

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
2 years agoMerge pull request #51052 from cbodley/wip-59433
Casey Bodley [Tue, 2 May 2023 20:56:53 +0000 (16:56 -0400)]
Merge pull request #51052 from cbodley/wip-59433

rgw/s3: dump Message field in Error response even if empty

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2 years agoMerge pull request #50925 from cbodley/wip-58725
Casey Bodley [Tue, 2 May 2023 20:56:17 +0000 (16:56 -0400)]
Merge pull request #50925 from cbodley/wip-58725

rgw/rados: check_quota() uses real bucket owner

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2 years agoMerge pull request #50924 from cbodley/wip-58594
Casey Bodley [Tue, 2 May 2023 20:55:27 +0000 (16:55 -0400)]
Merge pull request #50924 from cbodley/wip-58594

rgw: add crypt attrs for iam policy to PostObj and Init/CompleteMultipart

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2 years agoMerge pull request #49965 from pritha-srivastava/wip-rgw-sts-upload-part
Casey Bodley [Tue, 2 May 2023 20:54:59 +0000 (16:54 -0400)]
Merge pull request #49965 from pritha-srivastava/wip-rgw-sts-upload-part

rgw/sts: changing identity to boost::none, when role policy

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2 years agoMerge pull request #51048 from yaarith/pending-release-notes-leaderboard
yaarith [Tue, 2 May 2023 17:57:48 +0000 (13:57 -0400)]
Merge pull request #51048 from yaarith/pending-release-notes-leaderboard

PendingReleaseNotes: add a note about telemetry leaderboard

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2 years agorgw/archive: Correct the bucket sync status cmd output 50676/head
Soumya Koduri [Mon, 20 Mar 2023 12:15:33 +0000 (17:45 +0530)]
rgw/archive: Correct the bucket sync status cmd output

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2 years agorgw: Disable logging for datalog and bilog if zone doesn't export data
Soumya Koduri [Sat, 8 Apr 2023 12:23:24 +0000 (17:53 +0530)]
rgw: Disable logging for datalog and bilog if zone doesn't export data

Zones (such as archive zone) which do not export data should have
sync logging disabled.

Fixes# https://tracker.ceph.com/issues/59106

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2 years agoMerge pull request #51264 from idryomov/wip-rbd-gtest-skip
Ilya Dryomov [Tue, 2 May 2023 11:15:39 +0000 (13:15 +0200)]
Merge pull request #51264 from idryomov/wip-rbd-gtest-skip

test/librbd: use GTEST_SKIP macro to skip tests

Reviewed-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2 years agoMerge pull request #51295 from jzhu116-bloomberg/wip-59577
Yuval Lifshitz [Tue, 2 May 2023 09:35:22 +0000 (12:35 +0300)]
Merge pull request #51295 from jzhu116-bloomberg/wip-59577

rgw/notification: pass in bytes_transferred to populate object_size in sync notification

2 years agoMerge pull request #50457 from Matan-B/wip-matanb-c-new-rbd-api
Matan [Tue, 2 May 2023 09:21:35 +0000 (12:21 +0300)]
Merge pull request #50457 from Matan-B/wip-matanb-c-new-rbd-api

qa/suites/crimson-rados/rbd: Add new rbd image format api tests

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #50227 from xxhdx1985126/wip-share-map-over-heartbeat
Matan [Tue, 2 May 2023 09:19:33 +0000 (12:19 +0300)]
Merge pull request #50227 from xxhdx1985126/wip-share-map-over-heartbeat

crimson/osd/heartbeat: share osdmap to peers when necessary

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51202 from xxhdx1985126/wip-crimson-clone-head-version
Radoslaw Zarzynski [Tue, 2 May 2023 09:15:39 +0000 (11:15 +0200)]
Merge pull request #51202 from xxhdx1985126/wip-crimson-clone-head-version

crimson/osd/pg: make clone object's version consistent with pglog

Reviewed-by: Sam Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #51180 from xxhdx1985126/wip-59511
Radoslaw Zarzynski [Tue, 2 May 2023 09:03:59 +0000 (11:03 +0200)]
Merge pull request #51180 from xxhdx1985126/wip-59511

crimson/osd/snaptrim_event: get SnapSetContext from head obc

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Sam Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #47637 from rzarzynski/wip-crimson-blocklist
Radoslaw Zarzynski [Tue, 2 May 2023 09:01:46 +0000 (11:01 +0200)]
Merge pull request #47637 from rzarzynski/wip-crimson-blocklist

crimson/osd: bring support for client blocklisting

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Sam Just <sjust@redhat.com>
2 years agoMerge PR #51158 into main
Venky Shankar [Tue, 2 May 2023 06:47:28 +0000 (12:17 +0530)]
Merge PR #51158 into main

* refs/pull/51158/head:
cephfs-top: fix help text for delay

Reviewed-by: Neeraj Pratap Singh <neesingh@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge PR #51005 into main
Venky Shankar [Tue, 2 May 2023 05:58:41 +0000 (11:28 +0530)]
Merge PR #51005 into main

* refs/pull/51005/head:
qa: fix test_nfs_export_creation_at_symlink
qa: update test cases to check for ENOTDIR instead of EINVAL
qa: fix test_nfs_export_with_invalid_path
mgr/nfs: handle exceptions for cephfs_path_is_dir()
mgr/nfs/utils: changes to helper func to check cephfs path

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge pull request #51133 from zdover23/wip-doc-2023-04-18-mgr-prometheus-prompts...
zdover23 [Tue, 2 May 2023 02:55:53 +0000 (12:55 +1000)]
Merge pull request #51133 from zdover23/wip-doc-2023-04-18-mgr-prometheus-prompts-update

doc/mgr: update prompts in prometheus.rst

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
2 years agomgr/cephadm: prefer same hosts as related service daemons when picking arbitrary... 47199/head
Adam King [Wed, 5 Apr 2023 00:45:23 +0000 (20:45 -0400)]
mgr/cephadm: prefer same hosts as related service daemons when picking arbitrary hosts

For now, just for linking ingress services and
their backend services. The idea is if one, or both,
of the ingress service and backend service is using a
count, to try and get them to deploy their daemons
on the same host(s). If the placements have explicit
placements (not using count) we still stick to
those placements regardless.

This should enable something like specifying a host
for the backend service and leaving the ingress
placement as just "count: 1" and having the ingress
service get on the same host as the backend service
daemon. This is particularly useful for the keepalive-only
(VIP but no haproxy) over NFS setup where the keepalive
must share a host with the NFS to function, but will
also be useful for other VIP only setups we may do
in the future.

Signed-off-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #51299 from zdover23/wip-doc-2023-05-02-radosgw-notifications...
zdover23 [Mon, 1 May 2023 21:31:38 +0000 (07:31 +1000)]
Merge pull request #51299 from zdover23/wip-doc-2023-05-02-radosgw-notifications-rabbitmq-push-endpoint-directive-removal

doc/radosgw: rabbitmq - push-endpoint edit

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
2 years agoMerge pull request #50698 from linuxkidd/wip-rgw-restore-bucket-index-update
J. Eric Ivancich [Mon, 1 May 2023 21:14:39 +0000 (17:14 -0400)]
Merge pull request #50698 from linuxkidd/wip-rgw-restore-bucket-index-update

rgw: add use of cached `rados ls` output to rgw-restore-bucket-index script

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2 years agoMerge pull request #51270 from ljflores/wip-telemetry-selftest
yaarith [Mon, 1 May 2023 21:08:08 +0000 (17:08 -0400)]
Merge pull request #51270 from ljflores/wip-telemetry-selftest

mgr/telemetry: compile all channels and collections in selftest

Reviewed-by: Yaarit Hatuka <yaarit@redhat.com>
2 years agoMerge pull request #51296 from zdover23/wip-doc-2023-05-01-rados-operations-stretch...
zdover23 [Mon, 1 May 2023 20:11:04 +0000 (06:11 +1000)]
Merge pull request #51296 from zdover23/wip-doc-2023-05-01-rados-operations-stretch-mode-top-matter

doc/rados: edit stretch-mode.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoqa/cephadm: teuth test for keepalive-only ingress over nfs
Adam King [Mon, 13 Mar 2023 20:50:14 +0000 (16:50 -0400)]
qa/cephadm: teuth test for keepalive-only ingress over nfs

Signed-off-by: Adam King <adking@redhat.com>
2 years agomgr/cephadm: unit test for keepalive only nfs conf
Adam King [Fri, 10 Feb 2023 03:02:33 +0000 (22:02 -0500)]
mgr/cephadm: unit test for keepalive only nfs conf

Signed-off-by: Adam King <adking@redhat.com>
2 years agodoc/cephadm: document keepalive only nfs
Adam King [Fri, 10 Feb 2023 02:31:34 +0000 (21:31 -0500)]
doc/cephadm: document keepalive only nfs

Signed-off-by: Adam King <adking@redhat.com>
2 years agomgr/cephadm: support for nfs backed by VIP
Adam King [Wed, 20 Jul 2022 21:55:07 +0000 (17:55 -0400)]
mgr/cephadm: support for nfs backed by VIP

Fixes: https://tracker.ceph.com/issues/55663
Signed-off-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #51298 from ljflores/wip-urllib3-version
Laura Flores [Mon, 1 May 2023 19:30:17 +0000 (14:30 -0500)]
Merge pull request #51298 from ljflores/wip-urllib3-version

mgr: add urllib3==1.26.15 to mgr/requirements.txt

2 years agodoc/rados: edit stretch-mode.rst 51296/head
Zac Dover [Mon, 1 May 2023 02:29:07 +0000 (12:29 +1000)]
doc/rados: edit stretch-mode.rst

Refine and supplement the introductory and explanatory text at the top
of the /doc/rados/operations/stretch-mode.rst file.

Co-authored-by: Josh Durgin <jdurgin@redhat.com>
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agodoc/radosgw: rabbitmq - push-endpoint edit 51299/head
Zac Dover [Mon, 1 May 2023 17:14:01 +0000 (03:14 +1000)]
doc/radosgw: rabbitmq - push-endpoint edit

Remove a note that directed users to change "push-endpoint" (with a
hyphen) to "push_endpoint" (with an underscore) when using rabbitmq.

Re: https://github.com/ceph/ceph/pull/48486#issuecomment-1529925389

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agorgw/notification: read object size from the rados obj when populate sync notification 51295/head
Jane Zhu [Mon, 1 May 2023 02:20:16 +0000 (22:20 -0400)]
rgw/notification: read object size from the rados obj when populate sync notification

Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
2 years agomgr: add urllib3==1.26.15 to mgr/requirements.txt 51298/head
Laura Flores [Mon, 1 May 2023 16:28:54 +0000 (16:28 +0000)]
mgr: add urllib3==1.26.15 to mgr/requirements.txt

We do not depend on any particular version of
urllib3, but as a workaround to the incompatibility
of urllib3 constraints between kubernetes and
requests, we need to pin it temporarily to
the version both are happy with.

Fixes: https://tracker.ceph.com/issues/59591
Signed-off-by: Laura Flores <lflores@redhat.com>
2 years agorgw/cloud-transition: New attrs to detect cloudtiered objects 51192/head
Soumya Koduri [Tue, 25 Apr 2023 18:04:28 +0000 (23:34 +0530)]
rgw/cloud-transition: New attrs to detect cloudtiered objects

Add new attrs "RGW_ATTR_CLOUD_TIER_TYPE" and "RGW_ATTR_CLOUD_TIER_CONFIG"
to store details about cloud-tiered objects so that they get synced accordingly
in a multisite environment.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2 years agorgw: Dump tier_* config in RGWObjManifest
Soumya Koduri [Mon, 24 Apr 2023 17:44:15 +0000 (23:14 +0530)]
rgw: Dump tier_* config in RGWObjManifest

This was missed as part of refactoring done to encoder
and decoder methods (https://github.com/ceph/ceph/commit/2414c7584eb90bfff42d512879a0aa6b220d359e)

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2 years agorgw/cloudtransition: Allow multisite zones to sync cloudtiered objects
Soumya Koduri [Wed, 19 Apr 2023 18:03:28 +0000 (23:33 +0530)]
rgw/cloudtransition: Allow multisite zones to sync cloudtiered objects

In a multisite configuration, zones should be able to fetch & sync
cloud-transitioned objects as well. To allow this, a new header
'x-rgwx-sync-cloudtiered' is added to be used by sync client to GET
such objects.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2 years agorgw/cloudtier: Fix bug with decoding tier_targets
Soumya Koduri [Wed, 19 Apr 2023 11:14:24 +0000 (16:44 +0530)]
rgw/cloudtier: Fix bug with decoding tier_targets

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2 years agoMerge pull request #51284 from zdover23/wip-doc-2023-04-29-cephfs-nfs
Anthony D'Atri [Mon, 1 May 2023 12:39:42 +0000 (08:39 -0400)]
Merge pull request #51284 from zdover23/wip-doc-2023-04-29-cephfs-nfs

doc/cephfs: improve sentence in nfs.rst