]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agodoc/start: fix "Planet Ceph" link 51403/head
Zac Dover [Tue, 9 May 2023 03:39:10 +0000 (13:39 +1000)]
doc/start: fix "Planet Ceph" link

Fix a link to Planet Ceph on the doc/start/get-involved.rst page.

Reported 2023 Apr 21, here:
https://pad.ceph.com/p/Report_Documentation_Bugs

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agoMerge pull request #51355 from aravind-wdc/wip-crimson-zbd
Yingxin [Tue, 9 May 2023 03:29:54 +0000 (11:29 +0800)]
Merge pull request #51355 from aravind-wdc/wip-crimson-zbd

crimson/os/seastore: enable SMR HDD

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #51392 from parth-gr/rgw-mutisite-ceph-doc
zdover23 [Tue, 9 May 2023 02:37:40 +0000 (12:37 +1000)]
Merge pull request #51392 from parth-gr/rgw-mutisite-ceph-doc

doc: update multisite doc

Reviewed-by: Jiffin Tony Thottan <jthottan@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Zac Dover <zac.dover@proton.me>
2 years agoMerge pull request #50857 from kamoltat/wip-ksirivad-iswriteable
Kamoltat Sirivadhna [Tue, 9 May 2023 01:04:59 +0000 (21:04 -0400)]
Merge pull request #50857 from kamoltat/wip-ksirivad-iswriteable

mon/Monitor.cc: exit function if !osdmon()->is_writeable()
Reviewd-by: Gregory Farnum <gfarnum@redhat.com>
2 years agoMerge pull request #51394 from rzarzynski/wip-doc-encode-stdoptional
zdover23 [Tue, 9 May 2023 00:53:06 +0000 (10:53 +1000)]
Merge pull request #51394 from rzarzynski/wip-doc-encode-stdoptional

doc/dev/encoding.txt: update per std::optional

Reviewed-by: Zac Dover <zac.dover@proton.me>
2 years agoMerge pull request #51365 from nbalacha/fix-remove-unused-type
Ilya Dryomov [Mon, 8 May 2023 19:24:28 +0000 (21:24 +0200)]
Merge pull request #51365 from nbalacha/fix-remove-unused-type

librbd: remove unused enum WriteOpType

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge pull request #49975 from sseshasa/wip-fix-mclk-rec-backfill-cost
Radoslaw Zarzynski [Mon, 8 May 2023 18:22:11 +0000 (20:22 +0200)]
Merge pull request #49975 from sseshasa/wip-fix-mclk-rec-backfill-cost

osd: mClock recovery/backfill cost fixes

Reviewed-by: Sam Just <sjust@redhat.com>
Reviewed-by: Radosław Zarzyński <rzarzyns@redhat.com>
2 years agoMerge pull request #51381 from Matan-B/wip-matanb-c-blocklist-fix
Matan [Mon, 8 May 2023 16:48:28 +0000 (19:48 +0300)]
Merge pull request #51381 from Matan-B/wip-matanb-c-blocklist-fix

crimson/osd/osd_operations/client_request: Fix client blocklisting

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #43245 from thiagoarrais/docs-java-examples
Daniel Gryniewicz [Mon, 8 May 2023 15:47:15 +0000 (11:47 -0400)]
Merge pull request #43245 from thiagoarrais/docs-java-examples

[rgw]: Update AWS SDK in Java examples

2 years agodoc/dev/encoding.txt: update per std::optional 51394/head
Radoslaw Zarzynski [Mon, 8 May 2023 14:41:22 +0000 (14:41 +0000)]
doc/dev/encoding.txt: update per std::optional

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agodoc: update multisite doc 51392/head
parth-gr [Mon, 8 May 2023 13:53:29 +0000 (19:23 +0530)]
doc: update multisite doc

cmd for getting zone group was spelled incorrectly
Updated to rdosgw-admin

Signed-off-by: parth-gr <paarora@redhat.com>
2 years agolibrbd : remove unused enum type WriteOpType 51365/head
N Balachandran [Mon, 8 May 2023 13:24:35 +0000 (18:54 +0530)]
librbd : remove unused enum type WriteOpType

This removes the unused enum WriteOpType from
the librbd deep_copy code.

Signed-off-by: N Balachandran <nibalach@redhat.com>
2 years agoMerge pull request #51387 from zdover23/wip-doc-2023-05-08-rados-operations-stretch...
zdover23 [Mon, 8 May 2023 12:48:30 +0000 (22:48 +1000)]
Merge pull request #51387 from zdover23/wip-doc-2023-05-08-rados-operations-stretch-mode-other-commands

doc/rados: stretch-mode.rst (other commands)

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
2 years agodoc/rados: stretch-mode.rst (other commands) 51387/head
Zac Dover [Mon, 8 May 2023 11:08:49 +0000 (21:08 +1000)]
doc/rados: stretch-mode.rst (other commands)

Edit the "Other Commands" section of
doc/rados/operations/stretch-mode.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agoqa/: Override mClock profile to 'high_recovery_ops' for qa tests 49975/head
Sridhar Seshasayee [Sat, 29 Apr 2023 05:16:58 +0000 (10:46 +0530)]
qa/: Override mClock profile to 'high_recovery_ops' for qa tests

The qa tests are not client I/O centric and mostly focus on triggering
recovery/backfills and monitor them for completion within a finite amount
of time. The same holds true for scrub operations.

Therefore, an mClock profile that optimizes background operations is a
better fit for qa related tests. The osd_mclock_profile is therefore
globally overriden to 'high_recovery_ops' profile for the Rados suite as
it fits the requirement.

Also, many standalone tests expect recovery and scrub operations to
complete within a finite time. To ensure this, the osd_mclock_profile
options is set to 'high_recovery_ops' as part of the run_osd() function
in ceph-helpers.sh.

A subset of standalone tests explicitly used 'high_recovery_ops' profile.
Since the profile is now set as part of run_osd(), the earlier overrides
are redundant and therefore removed from the tests.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agodoc/: Modify mClock configuration documentation to reflect profile changes
Sridhar Seshasayee [Tue, 11 Apr 2023 17:57:05 +0000 (23:27 +0530)]
doc/: Modify mClock configuration documentation to reflect profile changes

Modify the relevant documentation to reflect:

- change in the default mClock profile to 'balanced'
- new allocations for ops across mClock profiles
- change in the osd_max_backfills limit
- miscellaneous changes related to warnings.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agocommon/options/osd.yaml.in: Change mclock max sequential bandwidth for SSDs
Sridhar Seshasayee [Tue, 11 Apr 2023 16:47:53 +0000 (22:17 +0530)]
common/options/osd.yaml.in: Change mclock max sequential bandwidth for SSDs

The osd_mclock_max_sequential_bandwidth_ssd is changed to 1200 MiB/s as
a reasonable middle ground considering the broad range of SSD capabilities.
This allows the mClock's cost model to extract the SSDs capability
depending on the cost of the IO being performed.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd/: Retain the default osd_max_backfills limit to 1 for mClock
Sridhar Seshasayee [Tue, 11 Apr 2023 16:30:11 +0000 (22:00 +0530)]
osd/: Retain the default osd_max_backfills limit to 1 for mClock

The earlier limit of 3 was still aggressive enough to have an impact on
the client and other competing operations. Retain the current default
for mClock. This can be modified if necessary after setting the
osd_mclock_override_recovery_settings option.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agocommon/options/osd.yaml.in: change mclock profile default to balanced
Samuel Just [Tue, 11 Apr 2023 15:15:38 +0000 (08:15 -0700)]
common/options/osd.yaml.in: change mclock profile default to balanced

Let's use the middle profile as the default.
Modify the standalone tests accordingly.

Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoosd/scheduler/mClockScheduler: avoid limits for recovery
Samuel Just [Tue, 11 Apr 2023 15:10:04 +0000 (08:10 -0700)]
osd/scheduler/mClockScheduler: avoid limits for recovery

Now that recovery operations are split between background_recovery and
background_best_effort, rebalance qos params to avoid penalizing
background_recovery while idle.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/: add counters for ops delayed due to degraded|unreadable target
Samuel Just [Mon, 10 Apr 2023 21:18:49 +0000 (14:18 -0700)]
osd/: add counters for ops delayed due to degraded|unreadable target

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoosd/: add counters for queue latency for PGRecovery[Context]
Samuel Just [Thu, 6 Apr 2023 21:15:02 +0000 (14:15 -0700)]
osd/: add counters for queue latency for PGRecovery[Context]

Signed-off-by: Samuel Just <sjust@redhat.com>
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 agocrimson/osd/osd_operations/client_request: Fix client blocklisting 51381/head
Matan Breizman [Sun, 7 May 2023 13:29:22 +0000 (13:29 +0000)]
crimson/osd/osd_operations/client_request: Fix client blocklisting

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

Signed-off-by: Matan Breizman <mbreizma@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 agocrimson/os/seastore: Enable SMR HDD. 51355/head
Aravind Ramesh [Wed, 3 May 2023 09:01:00 +0000 (11:01 +0200)]
crimson/os/seastore: Enable SMR HDD.

SMR HDDs are also zoned block devices similar to ZNS SSDs. SMR
devices have 2 types of zones named as conventional zones which are
random writeable and sequentially-write-required zones, which are
sequentially writable and lend themselves to zone operations like
ZNS SSD zones.

Conventional zones do not respond to zone operations, so to enable
crimson-osd to use SMR HDDs, for now, we don't consider the
conventional zones which generally make up a very small percentage
of the drive capacity.

Signed-off-by: Aravind Ramesh <aravind.ramesh@wdc.com>
2 years agocrimson/os/seastore: change zoned device interface name from ZNS to ZBD
Aravind Ramesh [Tue, 2 May 2023 05:55:37 +0000 (07:55 +0200)]
crimson/os/seastore: change zoned device interface name from ZNS to ZBD

We can essentially support SMR devices(HDD) and ZNS device(SSDs)
which are both subsets of Zoned Block Devices under the same interface
ZNSSegmentManager with small changes in design. Hence changing the
interface name to a more contextual name ZBDSegmentManager.
This also helps to add SMR device support for crimson.

Signed-off-by: Aravind Ramesh <aravind.ramesh@wdc.com>
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>