]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 years agotest: osd: add a /0 cidr test for 32-bit... 44151/head
Greg Farnum [Thu, 21 Apr 2022 00:16:22 +0000 (00:16 +0000)]
test: osd: add a /0 cidr test for 32-bit...

...and make the OSDMap handle it.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agotest: add a /0 cidr test that blocklists EVERYTHING
Greg Farnum [Wed, 20 Apr 2022 15:59:01 +0000 (15:59 +0000)]
test: add a /0 cidr test that blocklists EVERYTHING

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agotest: add a 128-bit range blocklist test
Greg Farnum [Wed, 20 Apr 2022 15:06:33 +0000 (15:06 +0000)]
test: add a 128-bit range blocklist test

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agotest: add 32-bit ipv4 and 64-bit ipv6 blocklist testing
Greg Farnum [Wed, 20 Apr 2022 14:51:09 +0000 (14:51 +0000)]
test: add 32-bit ipv4 and 64-bit ipv6 blocklist testing

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agotest: add a 30-bit range mask to ipv6 blocklisting tests
Greg Farnum [Wed, 20 Apr 2022 01:50:46 +0000 (01:50 +0000)]
test: add a 30-bit range mask to ipv6 blocklisting tests

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agotest: split up ip- and range-based blocklisting tests
Greg Farnum [Wed, 20 Apr 2022 00:38:21 +0000 (00:38 +0000)]
test: split up ip- and range-based blocklisting tests

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agotest: check range blocklist in cephtool/test.sh
Greg Farnum [Wed, 1 Dec 2021 16:18:50 +0000 (16:18 +0000)]
test: check range blocklist in cephtool/test.sh

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agotest: fix negative blocklist tests
Greg Farnum [Wed, 1 Dec 2021 16:16:18 +0000 (16:16 +0000)]
test: fix negative blocklist tests

These tests are supposed to be validating we don't accept invalid IPs,
but they left out the "add" subcommand so they're all failing on that!

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agodoc: update blocklist doc for ranges and up-to-date-ness
Greg Farnum [Wed, 1 Dec 2021 16:10:03 +0000 (16:10 +0000)]
doc: update blocklist doc for ranges and up-to-date-ness

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agotest: test OSDMap::is_blocklisted in unit tests
Greg Farnum [Tue, 30 Nov 2021 18:27:54 +0000 (18:27 +0000)]
test: test OSDMap::is_blocklisted in unit tests

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agoosd: Check range_blocklist in is_blocklisted(): we actually blocklist ranges
Greg Farnum [Tue, 30 Nov 2021 18:29:46 +0000 (18:29 +0000)]
osd: Check range_blocklist in is_blocklisted(): we actually blocklist ranges

Carry a parallel map from cidr addresses to a new
range_bits class (stored entirely as ephemeral state) so that we
don't need to re-compute masks and bit mappings too often, and to
separate out the unpleasant ipv6 bit mapping logic. Then check
against those with range_bits::matches() the same way we check
for equality on specific-entity matches. Nice and simple loops!

Fixes: https://tracker.ceph.com/issues/53050
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomon: dump range blocklist when dumping regular blocklist
Greg Farnum [Tue, 16 Nov 2021 18:41:08 +0000 (18:41 +0000)]
mon: dump range blocklist when dumping regular blocklist

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agoosdmap: convert get_blocklist() to provide the entity/IP and range blocklists
Greg Farnum [Tue, 2 Nov 2021 00:38:50 +0000 (00:38 +0000)]
osdmap: convert get_blocklist() to provide the entity/IP and range blocklists

Providing a non-range-aware blocklist accessor would just be
asking for trouble, so don't.

The ugly part of this is how the Objecter is currently just
throwing the range blocklist on the end of its own list. The in-tree
callers are okay with this, and I'd like to look at removing the
blocklist events API from librados entirely -- it exposes "OSD-only"
state to clients and, as evidenced by this patch series, is not
particularly stable.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomon: take blocklist ranges as a subcommand, not implicitly from address format
Greg Farnum [Wed, 8 Dec 2021 21:32:58 +0000 (21:32 +0000)]
mon: take blocklist ranges as a subcommand, not implicitly from address format

I discovered in testing with CephFS that this tends to interpret client IPs
(which don't have ports, but do have nonces) as invalid ranges. So give it
a separate input keyword that has to be applied first.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomon: check 'nonce' validity for cidr ranges
Greg Farnum [Mon, 15 Nov 2021 20:06:50 +0000 (20:06 +0000)]
mon: check 'nonce' validity for cidr ranges

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomon: trim range_blocklist alongside the regular one
Greg Farnum [Mon, 15 Nov 2021 20:42:35 +0000 (20:42 +0000)]
mon: trim range_blocklist alongside the regular one

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomon: osdmon: simplify maybe_rm_from_pending_blocklists
Greg Farnum [Thu, 28 Oct 2021 23:04:23 +0000 (23:04 +0000)]
mon: osdmon: simplify maybe_rm_from_pending_blocklists

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomon: osdmon: allow users to enter range blocklists.
Greg Farnum [Thu, 28 Oct 2021 22:34:40 +0000 (22:34 +0000)]
mon: osdmon: allow users to enter range blocklists.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomon: osdmon: don't overwrite type for entity_addr_t which is a cidr range
Greg Farnum [Wed, 27 Oct 2021 21:06:37 +0000 (21:06 +0000)]
mon: osdmon: don't overwrite type for entity_addr_t which is a cidr range

Doing so makes it no longer a cidr range entity_addr_t.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomon: osdmon: extract blocklist manipulation functions into lambdas
Greg Farnum [Thu, 28 Oct 2021 20:44:49 +0000 (20:44 +0000)]
mon: osdmon: extract blocklist manipulation functions into lambdas

I'm about to add new range blocklists that match the existing IP/entity
ones, and don't want to have separate update logic.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agoosdmap: store new range_blocklist, updated as we do the existing blocklist
Greg Farnum [Thu, 28 Oct 2021 22:00:27 +0000 (22:00 +0000)]
osdmap: store new range_blocklist, updated as we do the existing blocklist

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomsg: common: allow entity_addr_t to store a CIDR address range
Greg Farnum [Mon, 25 Oct 2021 19:53:04 +0000 (19:53 +0000)]
msg: common: allow entity_addr_t to store a CIDR address range

This required very little change to the existing code. Use with care, because
existing code expects an IP address instead of a range, but it saves on
writing a new parser.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agomds: Server: Simplify apply_blocklist and usage of the OSDMap's blocklist
Greg Farnum [Tue, 2 Nov 2021 00:34:34 +0000 (00:34 +0000)]
mds: Server: Simplify apply_blocklist and usage of the OSDMap's blocklist

This previoulsly re-implemented a bunch of the OSDMap::is_blocklisted()
function, and wasn't actually any faster to run -- the list of new blocklists
may be smaller than the full set, but OSDMap::blocklist is an unordered_map
of constant lookup time so it shouldn't slow things down. More importantly,
this is much simpler, less likely to be buggy from duplicate code, and lets
the MDS off the hook for dealing with range blocklisting.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agoclient: Simplify blocklist tracking and interface
Greg Farnum [Mon, 1 Nov 2021 23:52:53 +0000 (23:52 +0000)]
client: Simplify blocklist tracking and interface

I'm not sure if the blocklist events tracking in Client.cc was ever
the simplest way to track that state, but it definitely isn't now. We
can just hand our addr_vec to the OSDMap and ask it -- it handles
version compatibility issues and, happily, means the Client doesn't
need to learn to deal with ranges directly.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
3 years agoMerge pull request #45756 from rzarzynski/wip-common-no-cpp17-second_round
Yuri Weinstein [Tue, 12 Apr 2022 20:51:58 +0000 (13:51 -0700)]
Merge pull request #45756 from rzarzynski/wip-common-no-cpp17-second_round

common/bl: fix FTBFS on C++11 due to C++17's if-with-initializer

Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #45819 from ljflores/wip-anonymize-telemetry-host-names
Yuri Weinstein [Tue, 12 Apr 2022 19:12:26 +0000 (12:12 -0700)]
Merge pull request #45819 from ljflores/wip-anonymize-telemetry-host-names

mgr/telemetry: anonymize daemons in telemetry `perf_counters`

Reviewed-by: Yaarit Hatuka <yaarithatuka@gmail.com>
3 years agoMerge pull request #45802 from ljflores/wip-config-dump-yaml
Yuri Weinstein [Tue, 12 Apr 2022 19:10:48 +0000 (12:10 -0700)]
Merge pull request #45802 from ljflores/wip-config-dump-yaml

ceph.in: clarify the usage of `--format` in the ceph command

Reviewed-by: Vikhyat Umrao <vikhyat@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 years agoMerge pull request #45531 from ifed01/wip-ifed-alloc-replay-with-bin
Neha Ojha [Tue, 12 Apr 2022 18:06:19 +0000 (11:06 -0700)]
Merge pull request #45531 from ifed01/wip-ifed-alloc-replay-with-bin

os/bluestore: proper locking for Allocators' dump

Reviewed-by: Adam Kupczyk <akucpzyk@redhat.com>
3 years agoMerge pull request #45684 from CongMinYin/pwl-add-stats
Ilya Dryomov [Tue, 12 Apr 2022 14:48:54 +0000 (16:48 +0200)]
Merge pull request #45684 from CongMinYin/pwl-add-stats

librbd/cache/pwl: add pwl metrics in "rbd status" display

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45357 from cbodley/wip-54531
Casey Bodley [Tue, 12 Apr 2022 13:34:58 +0000 (09:34 -0400)]
Merge pull request #45357 from cbodley/wip-54531

rgw: disable RGWDataChangesLog::add_entry() when log_data is off

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
3 years agoos/bluestore: proper locking for Allocators' dump methods 45531/head
Igor Fedotov [Mon, 21 Mar 2022 11:58:18 +0000 (14:58 +0300)]
os/bluestore: proper locking for Allocators' dump methods

Plus renaming parametrized dump to foreach()
Fixes: https://tracker.ceph.com/issues/54973
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
3 years agotest/allocator_replay_test: introduce check for duplicates
Igor Fedotov [Fri, 18 Mar 2022 19:13:12 +0000 (22:13 +0300)]
test/allocator_replay_test: introduce check for duplicates

This performs check for duplicates using free dump.

Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
3 years agotest/allocator_replay_test: introduce binary format for free list dump
Igor Fedotov [Fri, 18 Mar 2022 11:35:16 +0000 (14:35 +0300)]
test/allocator_replay_test: introduce binary format for free list dump

Adding new command to export free dump to binary format plus capability
to use new format for replay.
This dramatically increases large dump loading.

Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
3 years agoMerge pull request #45677 from ideepika/wip-ninja-default
Ilya Dryomov [Tue, 12 Apr 2022 08:57:30 +0000 (10:57 +0200)]
Merge pull request #45677 from ideepika/wip-ninja-default

ceph.spec: make ninja-build package install always

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Tim Serong <tserong@suse.com>
3 years agoMerge pull request #45820 from liu-chunmei/crimson-do_osd_ops_params_t
Liu-Chunmei [Tue, 12 Apr 2022 04:57:36 +0000 (21:57 -0700)]
Merge pull request #45820 from liu-chunmei/crimson-do_osd_ops_params_t

crimson: keep do_osd_ops_params_t alive when call do_osd_ops

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoMerge pull request #45137 from myoungwon/wip-51627-2
Samuel Just [Mon, 11 Apr 2022 23:31:03 +0000 (16:31 -0700)]
Merge pull request #45137 from myoungwon/wip-51627-2

osd: return appropriate error if the object is not manifest

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agocrimson: keep do_osd_ops_params_t alive when call do_osd_ops 45820/head
chunmei-liu [Fri, 8 Apr 2022 00:35:37 +0000 (17:35 -0700)]
crimson: keep do_osd_ops_params_t alive when call do_osd_ops

otherwise stack-under-overflow

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agoMerge pull request #45744 from idryomov/wip-stretch-last-force-resend
Yuri Weinstein [Mon, 11 Apr 2022 22:58:23 +0000 (15:58 -0700)]
Merge pull request #45744 from idryomov/wip-stretch-last-force-resend

mon/OSDMonitor: properly set last_force_op_resend in stretch mode

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
3 years agoMerge pull request #45670 from pdvian/wip-fix-mgr-daemon-state
Yuri Weinstein [Mon, 11 Apr 2022 22:57:36 +0000 (15:57 -0700)]
Merge pull request #45670 from pdvian/wip-fix-mgr-daemon-state

mgr, mon: Keep upto date metadata with mgr for MONs

Reviewed-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #45599 from amathuria/amathuri-54994-fix
Yuri Weinstein [Mon, 11 Apr 2022 22:56:54 +0000 (15:56 -0700)]
Merge pull request #45599 from amathuria/amathuri-54994-fix

osd: add scrub duration for scrubs after recovery

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
3 years agoMerge pull request #45547 from nkshirsagar/master
Yuri Weinstein [Mon, 11 Apr 2022 22:55:43 +0000 (15:55 -0700)]
Merge pull request #45547 from nkshirsagar/master

Catch exception if thrown by __generate_command_map()

Reviewed-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #45505 from pdvian/wip-fix-daemon-version
Yuri Weinstein [Mon, 11 Apr 2022 22:51:26 +0000 (15:51 -0700)]
Merge pull request #45505 from pdvian/wip-fix-daemon-version

mgr, mgr/prometheus: Fix regression with prometheus metrics

Reviewed-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #45822 from liu-chunmei/crimson-enametoolong
Samuel Just [Mon, 11 Apr 2022 21:35:06 +0000 (14:35 -0700)]
Merge pull request #45822 from liu-chunmei/crimson-enametoolong

crimson: check -ENAMETOOLONG for Name, Locator, NameSpace

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoMerge pull request #45584 from votdev/issue_54983_default_rgw_daemon
Ernesto Puerta [Mon, 11 Apr 2022 18:50:56 +0000 (20:50 +0200)]
Merge pull request #45584 from votdev/issue_54983_default_rgw_daemon

mgr/dashboard: RGW users and buckets tables are empty if the selected gateway is down

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
3 years agoMerge pull request #45790 from rhcs-dashboard/host-toggle-column-fix
Ernesto Puerta [Mon, 11 Apr 2022 18:48:48 +0000 (20:48 +0200)]
Merge pull request #45790 from rhcs-dashboard/host-toggle-column-fix

mgr/dashboard: datatable in Cluster Host page hides wrong column on selection

Reviewed-by: Sarthak0702 <NOT@FOUND>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agoMerge pull request #45007 from VallariAg/dashboard-complexity-cleanup
Ernesto Puerta [Mon, 11 Apr 2022 18:45:58 +0000 (20:45 +0200)]
Merge pull request #45007 from VallariAg/dashboard-complexity-cleanup

mgr/dashboard: reduce method (cyclomatic) complexity

Reviewed-by: VallariAg <NOT@FOUND>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
3 years agoMerge pull request #45070 from rkachach/fix_issue_52042
Adam King [Mon, 11 Apr 2022 17:18:36 +0000 (13:18 -0400)]
Merge pull request #45070 from rkachach/fix_issue_52042

mgr/cephadm: Making default cephadm shell cmd easier

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45056 from ktdreyer/explain-cephadm-tox
Adam King [Mon, 11 Apr 2022 16:51:59 +0000 (12:51 -0400)]
Merge pull request #45056 from ktdreyer/explain-cephadm-tox

cephadm: add comment explaining docker.io grep test

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45815 from cbodley/wip-55232
Casey Bodley [Mon, 11 Apr 2022 16:42:51 +0000 (12:42 -0400)]
Merge pull request #45815 from cbodley/wip-55232

test/rgw: use mock OpsLogSink instead of OpsLogSocket

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
3 years agoMerge pull request #45770 from yuvalif/wip-yuval-fix-54416
Casey Bodley [Mon, 11 Apr 2022 16:40:51 +0000 (12:40 -0400)]
Merge pull request #45770 from yuvalif/wip-yuval-fix-54416

test/multisite: dont use path when mrun outside of src tree

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 years agoMerge pull request #45347 from mgfritch/cephadm-config-noreplace
Adam King [Mon, 11 Apr 2022 14:10:55 +0000 (10:10 -0400)]
Merge pull request #45347 from mgfritch/cephadm-config-noreplace

cephadm: preserve `authorized_keys` file during upgrade

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
3 years agoMerge pull request #45589 from melissa-kun-li/bootstrap_registry_warning
Adam King [Mon, 11 Apr 2022 14:07:50 +0000 (10:07 -0400)]
Merge pull request #45589 from melissa-kun-li/bootstrap_registry_warning

cephadm: show error during bootstrap if private registry cred not provided

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45685 from rkachach/fix_issue_47905
Adam King [Mon, 11 Apr 2022 14:07:07 +0000 (10:07 -0400)]
Merge pull request #45685 from rkachach/fix_issue_47905

mgr/cephadm: improving logging to send errors to stderr

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45798 from adk3798/iscsi-only-pid-limit
Ilya Dryomov [Mon, 11 Apr 2022 14:02:50 +0000 (16:02 +0200)]
Merge pull request #45798 from adk3798/iscsi-only-pid-limit

cephadm: only apply unlimited pids-limit to iscsi and rgw

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45689 from vshankar/wip-55110
Venky Shankar [Mon, 11 Apr 2022 13:49:23 +0000 (19:19 +0530)]
Merge pull request #45689 from vshankar/wip-55110

mount.ceph: remove `ms_mode' mount option when switching to old-syntax

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoqa: test_iscsi_pids_limit.sh: increase sleep time 45798/head
Ilya Dryomov [Mon, 11 Apr 2022 10:45:02 +0000 (12:45 +0200)]
qa: test_iscsi_pids_limit.sh: increase sleep time

It could take longer than 30 seconds to fork off 40000 processes on
a busy system.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agorbd: include persistent cache metrics in "rbd status" report 45684/head
Ilya Dryomov [Sat, 9 Apr 2022 15:48:17 +0000 (17:48 +0200)]
rbd: include persistent cache metrics in "rbd status" report

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agomount.ceph: remove `ms_mode' mount option when switching to old-syntax 45689/head
Venky Shankar [Tue, 29 Mar 2022 13:18:06 +0000 (09:18 -0400)]
mount.ceph: remove `ms_mode' mount option when switching to old-syntax

... and switch to using v1 addresses (if users haven't specified those
explicitly). kernel versions <5.11 do not understand `ms_mode' mount
option which would result in mount failure.

Fixes: http://tracker.ceph.com/issues/55110
Signed-off-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45791 from rhcs-dashboard/rm-true
Ernesto Puerta [Mon, 11 Apr 2022 08:26:47 +0000 (10:26 +0200)]
Merge pull request #45791 from rhcs-dashboard/rm-true

build: install-deps failing in docker build

Reviewed-by: David Galloway <dgallowa@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agorbd: factor out get_percentage() helper
Ilya Dryomov [Sat, 9 Apr 2022 09:06:32 +0000 (11:06 +0200)]
rbd: factor out get_percentage() helper

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd/cache/pwl: no need to set clean and empty in remove_pool_file()
Ilya Dryomov [Fri, 8 Apr 2022 13:53:38 +0000 (15:53 +0200)]
librbd/cache/pwl: no need to set clean and empty in remove_pool_file()

It is redundant -- the only caller sets both since commit 6593e31fff18
("librbd/cache/pwl: correct cache state").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd/cache/pwl: avoid inconsistencies in ImageCacheState
Ilya Dryomov [Thu, 7 Apr 2022 16:49:46 +0000 (18:49 +0200)]
librbd/cache/pwl: avoid inconsistencies in ImageCacheState

When empty and/or clean bools are updated in I/O handling code paths,
ImageCacheState becomes inconistent for a short while: e.g. with clean
transitioned to true, dirty_bytes counter could still be positive
because the counters are updated only in periodic_stats().  Move to
updating the counters in update_image_cache_state(Context*) to avoid
this.

update_image_cache_state(Context*) now requires m_lock -- most call
sites already hold it anyway.  The only problematic call site was
AbstractWriteLog::shut_down() callback chain: perf_stop() needed to
be moved to the very end since perf counters must be alive now for
update_image_cache_state() to work.

Don't override expect_op_work_queue() in unit tests: completing
context in the same thread now results in a deadlock on m_lock in
all test cases that call AbstractWriteLog::init().

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd/cache/pwl: handle invalid ImageCacheState json
Ilya Dryomov [Thu, 7 Apr 2022 14:02:46 +0000 (16:02 +0200)]
librbd/cache/pwl: handle invalid ImageCacheState json

get_json_format() and create_image_cache_state() attempt to get
particular keys which could result in an unhandled std::runtime_error
exception.  Conversely, ImageCacheState constructor just swallows that
exception which could leave the newly constructed object incorrectly
initialized.  Avoid doing parsing in the constructor and introduce
init_from_config() and init_from_metadata() methods instead.

While at it, move everything out from under "persistent_cache" key.
Also fix init_state_json_write test case which stopped working now
that types are enforced by json_spirit.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd/cache/pwl: add basic metrics to ImageCacheState
Yin Congmin [Tue, 29 Mar 2022 08:59:05 +0000 (16:59 +0800)]
librbd/cache/pwl: add basic metrics to ImageCacheState

Add basic metrics to ImageCacheState and persist them, including
allocated_bytes, cached_bytes, dirty_bytes, free_bytes and hit/miss
info.

Leverage periodic_stats() timer to call update_image_cache_state.
In order to avoid outputting too much debug information, the original
statistics output log level is changed to 5.

Switch to json_spirit for encoding because encode_json encodes bool as
"true"/"false" string.

Remove rbd_persistent_cache_log_periodic_stats option because we need
to always update cache state.

[ idryomov: add cached_bytes and hits_partial; report misses and
  miss_bytes instead of respective totals; naming ]

Fixes: https://tracker.ceph.com/issues/50614
Signed-off-by: Yin Congmin <congmin.yin@intel.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45832 from anthonyeleven/anthonyeleven/min-alloc-size-53752
zdover23 [Sun, 10 Apr 2022 18:35:54 +0000 (04:35 +1000)]
Merge pull request #45832 from anthonyeleven/anthonyeleven/min-alloc-size-53752

doc/rados/configuration: document min_alloc_size values and space amplification

Reviewed-by: Zac Dover <zac.dover@gmail.com>
3 years agodoc/rados/configuration: document min_alloc_size values and space amplification 45832/head
Anthony D'Atri [Sat, 9 Apr 2022 03:59:12 +0000 (20:59 -0700)]
doc/rados/configuration: document min_alloc_size values and space amplification

Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
3 years agomgr/telemetry: fix daemon anonymization in perf_counters 45819/head
Yaarit Hatuka [Sat, 9 Apr 2022 01:12:48 +0000 (21:12 -0400)]
mgr/telemetry: fix daemon anonymization in perf_counters

Anonymized daemons now appear with a SHA1 digest instead of their
original identifier, e.g.:

    "perf_counters": {
        "mon.1b1b829ba9298527f4934053a4742a1710937007": {
            "mon": {
                "election_call": {
                    "value": 1
                },
                ...
                "session_trim": {
                    "value": 0
                }
            },
        ...
        }
    ...
    }

Signed-off-by: Yaarit Hatuka <yaarit@redhat.com>
3 years agomgr/telemetry: add anonymize_entity_name function
Yaarit Hatuka [Sat, 9 Apr 2022 00:33:04 +0000 (20:33 -0400)]
mgr/telemetry: add anonymize_entity_name function

The ability to anonymize entity names should have its own function
to prevent duplicate code.
Will clean up in a separate commit.

Signed-off-by: Yaarit Hatuka <yaarit@redhat.com>
3 years agocrimson: check -ENAMETOOLONG for Name, Locator, NameSpace 45822/head
chunmei-liu [Fri, 8 Apr 2022 07:07:53 +0000 (00:07 -0700)]
crimson: check -ENAMETOOLONG for Name, Locator, NameSpace

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agoMerge pull request #45749 from josephsawaya/fix-rook-tests
Laura Flores [Fri, 8 Apr 2022 21:36:38 +0000 (16:36 -0500)]
Merge pull request #45749 from josephsawaya/fix-rook-tests

Remove orchestrator from rook task and suite

3 years agocmake: move rgw_lua_request.cc from rgw_common target to rgw_a 45815/head
Casey Bodley [Thu, 7 Apr 2022 20:06:22 +0000 (16:06 -0400)]
cmake: move rgw_lua_request.cc from rgw_common target to rgw_a

resolves a clang linker error where `rgw::lua::request::RequestLog()`
from rgw_lua_request.cc (in rgw_common) looks for `rgw_log_op()` from
rgw_log.cc (in rgw_a)

rgw_a depends on rgw_common, not the other way around. so this moves
rgw_lua_request.cc into the same target as rgw_log.cc

lua is now a public dependency of rgw_common so it's not hidden from
rgw_a or unit tests

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agoMerge pull request #45734 from kalebskeithley/vtable-dtor
Casey Bodley [Fri, 8 Apr 2022 16:00:13 +0000 (12:00 -0400)]
Merge pull request #45734 from kalebskeithley/vtable-dtor

rgw: add missing virtual decls for dtors

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 years agocephadm: show error message if private registry credentials not provided 45589/head
Melissa Li [Wed, 23 Mar 2022 15:38:37 +0000 (11:38 -0400)]
cephadm: show error message if private registry credentials not provided

Raise UnauthorizedRegistryError in `_pull_image` if user tries to pull from a private registry without authentication, handle error in `command_bootstrap`, `commond_adopt`, `command_pull`

Fixes: https://tracker.ceph.com/issues/55015
Signed-off-by: Melissa Li <melissali@redhat.com>
3 years agoMerge pull request #45758 from linuxbox2/wip-rgwlc-dmfix
Matt Benjamin [Fri, 8 Apr 2022 13:51:29 +0000 (09:51 -0400)]
Merge pull request #45758 from linuxbox2/wip-rgwlc-dmfix

rgwlc:  don't incorrectly expire delete markers when !next_key_name

3 years agomgr/cephadm: Making default cephadm shell cmd easier 45070/head
Redouane Kachach [Thu, 17 Feb 2022 12:48:08 +0000 (13:48 +0100)]
mgr/cephadm: Making default cephadm shell cmd easier
Fixes: https://tracker.ceph.com/issues/52042
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
3 years agoMerge pull request #45597 from adk3798/node-exporter-paths
Adam King [Fri, 8 Apr 2022 13:09:54 +0000 (09:09 -0400)]
Merge pull request #45597 from adk3798/node-exporter-paths

cephadm: Specify proc/sys path for node-exporter to use

Reviewed-by: Tatjana Dehler <tdehler@suse.com>
3 years agoMerge pull request #45304 from dvanders/cleanup_46456
Casey Bodley [Fri, 8 Apr 2022 13:05:33 +0000 (09:05 -0400)]
Merge pull request #45304 from dvanders/cleanup_46456

rgw_reshard: drop olh entries with empty name

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 years agocephadm: only apply pids-limit to iscsi and rgw
Adam King [Wed, 6 Apr 2022 15:24:24 +0000 (11:24 -0400)]
cephadm: only apply pids-limit to iscsi and rgw

Signed-off-by: Adam King <adking@redhat.com>
3 years agomgr/cephadm: improving logging to send errors to stderr 45685/head
Redouane Kachach [Tue, 29 Mar 2022 11:30:37 +0000 (13:30 +0200)]
mgr/cephadm: improving logging to send errors to stderr
Fixes: https://tracker.ceph.com/issues/47905
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
3 years agoMerge pull request #45639 from dparmar18/dhairya_mds_doc
Venky Shankar [Fri, 8 Apr 2022 06:20:55 +0000 (11:50 +0530)]
Merge pull request #45639 from dparmar18/dhairya_mds_doc

doc/cephfs/add-remove-mds: added cephadm note, refined "Adding an MDS"

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agocommon/bl: fix FTBFS on C++11 due to C++17's if-with-initializer 45756/head
Radosław Zarzyński [Sun, 3 Apr 2022 09:53:04 +0000 (11:53 +0200)]
common/bl: fix FTBFS on C++11 due to C++17's if-with-initializer

Fixes: https://tracker.ceph.com/issues/55233
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 years agomgr/telemetry: anonymize daemons in telemetry perf_counters
Laura Flores [Thu, 7 Apr 2022 22:20:14 +0000 (22:20 +0000)]
mgr/telemetry: anonymize daemons in telemetry perf_counters

In the telemetry perf channel we collect 'perf_counters' of individual daemons.
The monitors appear with their full name, which includes the host name.
The host name part must be anonymized.

To err on the safe side, I have anonymized all daemons except for osds,
since they are not attached to host names.

Fixes: https://tracker.ceph.com/issues/55229
Signed-off-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #44666 from s0nea/correct_metric_name
Neha Ojha [Thu, 7 Apr 2022 20:57:52 +0000 (13:57 -0700)]
Merge pull request #44666 from s0nea/correct_metric_name

doc/mgr/prometheus: correct metric name

Reviewed-by: Patrick Seidensal <pseidensal@suse.com>
Reviewed-by: Paul Cuzner <pcuzner@redhat.com>
3 years agomgr/dashboard: datatable in Cluster Host page hides wrong column on selection 45790/head
Sarthak0702 [Wed, 6 Apr 2022 00:53:35 +0000 (06:23 +0530)]
mgr/dashboard: datatable in Cluster Host page hides wrong column on selection

Signed-off-by: Sarthak0702 <sarthak.dev.0702@gmail.com>
3 years agoMerge pull request #45787 from kalebskeithley/zipper-api
Casey Bodley [Thu, 7 Apr 2022 18:11:03 +0000 (14:11 -0400)]
Merge pull request #45787 from kalebskeithley/zipper-api

rgw: zipper: move functions so they're on correct side of API

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
3 years agobuild: install-deps failing in docker build 45791/head
Nizamudeen A [Wed, 6 Apr 2022 07:39:26 +0000 (13:09 +0530)]
build: install-deps failing in docker build

install-deps.sh was failing in our docker build due to the recent change in
the script. Failure can be seen here: https://github.com/rhcs-dashboard/ceph-dev/runs/5844502455?check_suite_focus=true#step:3:2586

This seems to fix the issue.

Signed-off-by: Nizamudeen A <nia@redhat.com>
3 years agotest/rgw: use mock OpsLogSink instead of OpsLogSocket
Casey Bodley [Thu, 7 Apr 2022 17:10:51 +0000 (13:10 -0400)]
test/rgw: use mock OpsLogSink instead of OpsLogSocket

Fixes: https://tracker.ceph.com/issues/55232
Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 years agoworkunits/rgw: reshard cleans empty name entries 45304/head
Dan van der Ster [Wed, 30 Mar 2022 08:55:49 +0000 (10:55 +0200)]
workunits/rgw: reshard cleans empty name entries

Check that reshard prunes olh entries with empty name.

Fixes: https://tracker.ceph.com/issues/54500
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
3 years agoMerge pull request #45751 from ceph/rhel85
David Galloway [Thu, 7 Apr 2022 14:36:38 +0000 (10:36 -0400)]
Merge pull request #45751 from ceph/rhel85

qa: Latest RHEL8 -> RHEL8.5

3 years agoMerge pull request #45760 from pritha-srivastava/wip-rgw-gc-54742
Casey Bodley [Thu, 7 Apr 2022 13:20:31 +0000 (09:20 -0400)]
Merge pull request #45760 from pritha-srivastava/wip-rgw-gc-54742

rgw: adding BUCKET_REWRITE and OBJECT_REWRITE OPS to

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 years agoMerge pull request #44676 from linuxbox2/wip-lc-name-cleanup
Casey Bodley [Thu, 7 Apr 2022 12:43:07 +0000 (08:43 -0400)]
Merge pull request #44676 from linuxbox2/wip-lc-name-cleanup

rgwlc: improve naming of lifecycle entries

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
3 years agoMerge pull request #45781 from sseshasa/wip-update-mclock-rel-notes
Sridhar Seshasayee [Thu, 7 Apr 2022 11:20:52 +0000 (16:50 +0530)]
Merge pull request #45781 from sseshasa/wip-update-mclock-rel-notes

PendingReleaseNotes: Update mclock release note regarding an existing issue.

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agotest/multisite: dont use path when mrun outside of src tree 45770/head
Yuval Lifshitz [Mon, 4 Apr 2022 14:27:29 +0000 (17:27 +0300)]
test/multisite: dont use path when mrun outside of src tree

when running in teuthology we should take the binaries
from the machine without specifying a path

Fixes: https://tracker.ceph.com/issues/54416
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
3 years agodoc/man/8: update the description of `--format` 45802/head
Laura Flores [Wed, 6 Apr 2022 16:53:44 +0000 (11:53 -0500)]
doc/man/8: update the description of `--format`

The `ceph --format` option includes yaml, which
is only valid for orch commands.

Signed-off-by: Laura Flores <lflores@redhat.com>
3 years agoceph.in: clarify the usage of `--format` in the ceph command
Laura Flores [Wed, 6 Apr 2022 15:22:30 +0000 (15:22 +0000)]
ceph.in: clarify the usage of `--format` in the ceph command

It is not clear to users in the output of `ceph --help` that
the yaml formatter option is only valid for orch commands.

Before:
-f {json,json-pretty,xml,xml-pretty,plain,yaml}, --format {json,json-pretty,xml,xml-pretty,plain,yaml}

After:
-f {json,json-pretty,xml,xml-pretty,plain,yaml}, --format {json,json-pretty,xml,xml-pretty,plain,yaml}
                        Note: yaml is only valid for orch commands

Fixes: https://tracker.ceph.com/issues/53895
Signed-off-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #45782 from zdover23/wip-doc-2022-04-05-os-recommendations
zdover23 [Wed, 6 Apr 2022 14:49:29 +0000 (00:49 +1000)]
Merge pull request #45782 from zdover23/wip-doc-2022-04-05-os-recommendations

doc/start: add testing support information

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
3 years agoMerge pull request #45187 from rhcs-dashboard/update-monitoring-stack-versions
Ernesto Puerta [Wed, 6 Apr 2022 14:28:46 +0000 (16:28 +0200)]
Merge pull request #45187 from rhcs-dashboard/update-monitoring-stack-versions

mgr/cephadm: update monitoring stack versions

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: p-se <NOT@FOUND>
3 years agodoc/start: add testing support information 45782/head
Zac Dover [Tue, 5 Apr 2022 15:48:24 +0000 (01:48 +1000)]
doc/start: add testing support information

This PR adds information about support for testing,
and information about which distros the Ceph project
builds packages for.

This is one in a series of PRs including the following:

https://github.com/ceph/ceph/pull/45385
https://github.com/ceph/ceph/pull/45764

This PR specifically includes the information that Ernesto
Puerta collected here:
https://github.com/ceph/ceph/pull/45385#pullrequestreview-911766656

Signed-off-by: Zac Dover <zac.dover@gmail.com>
3 years agoMerge pull request #45793 from rhcs-dashboard/update-piechart-vonage-versions
Ernesto Puerta [Wed, 6 Apr 2022 14:12:02 +0000 (16:12 +0200)]
Merge pull request #45793 from rhcs-dashboard/update-piechart-vonage-versions

mgr/dashboard: upgrade grafana pie-chart and vonage-status-panel versions

Reviewed-by: MrFreezeex <NOT@FOUND>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
3 years agomgr/dashboard: upgrade grafana pie-chart and vonage-status-panel versions 45793/head
Aashish Sharma [Wed, 6 Apr 2022 09:54:41 +0000 (15:24 +0530)]
mgr/dashboard: upgrade grafana pie-chart and vonage-status-panel versions

Fixes:https://tracker.ceph.com/issues/55195
Signed-off-by: Aashish Sharma <aasharma@redhat.com>