]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Matan Breizman [Thu, 18 Aug 2022 12:35:28 +0000 (12:35 +0000)]
include/buffer: avoid it = it->next() usage
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Matan Breizman [Thu, 18 Aug 2022 12:34:34 +0000 (12:34 +0000)]
include/buffer: clear_and_dispose() formatting
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Matan [Thu, 18 Aug 2022 10:52:45 +0000 (13:52 +0300)]
Merge pull request #47554 from Matan-B/wip-matanb-c-rados-python
qa/suite/crimson-rados: Fix rados_python test
Reviewed by: Samuel Just <sjust@redhat.com>
Reviewed by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed by: Nitzan Mordechai <nmordech@redhat.com>
Matan [Thu, 18 Aug 2022 05:56:38 +0000 (08:56 +0300)]
Merge pull request #47653 from Matan-B/wip-matanb-snapmapper-pending-typo
PendingReleaseNotes: fix typo in 15.2.17
Reviewed-by: Nitzan Mordechai <nmordech@redhat.com>
Matan [Thu, 18 Aug 2022 05:48:59 +0000 (08:48 +0300)]
Merge pull request #47392 from Matan-B/wip-matanb-memstore-subsys
common: MemStore debug subsystem
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Yingxin [Thu, 18 Aug 2022 05:20:55 +0000 (13:20 +0800)]
Merge pull request #47643 from aisakaki/wip-omap-merge
crimson/os/seastore/omap: optimize merge policy
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin [Thu, 18 Aug 2022 01:23:53 +0000 (09:23 +0800)]
Merge pull request #47558 from rzarzynski/wip-crimson-extradbgs
crimson/{net,osd}: add debugs after bughunt's investigations
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Patrick Donnelly [Wed, 17 Aug 2022 17:51:13 +0000 (13:51 -0400)]
Merge PR #47600 into main
* refs/pull/47600/head:
doc: document debugging for libcephsqlite
Reviewed-by: Laura Flores <lflores@redhat.com>
Adam King [Wed, 17 Aug 2022 16:49:49 +0000 (12:49 -0400)]
Merge pull request #47523 from adk3798/oracle-linux-support
cephadm: support for Oracle Linux 8
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
Matan Breizman [Wed, 17 Aug 2022 16:33:39 +0000 (16:33 +0000)]
PendingReleaseNotes: fix typo in 15.2.17
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Casey Bodley [Wed, 17 Aug 2022 14:00:04 +0000 (10:00 -0400)]
Merge pull request #47422 from adamemerson/wip-coroutine-cleaver
rgw: Break Full and Incremental sync out into their own classes
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Matan Breizman [Thu, 11 Aug 2022 08:01:27 +0000 (08:01 +0000)]
qa/suites: Reduce rados_python time out
This test runs for few minutes,
reducing timeout from 3h to 1h to avoid hanging jobs.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Matan Breizman [Wed, 10 Aug 2022 13:51:43 +0000 (13:51 +0000)]
qa/crimson-rados: add 'wait' attribute
wait_for_complete tests currently hanging with crimson-osd
and are temporary disabled in Crimson suite.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Xinyu Huang [Wed, 17 Aug 2022 04:19:24 +0000 (04:19 +0000)]
crimson/os/seastore/omap: optimize merge policy
in some corner cases on single key erase sence,
for e.g. we have three nodes which are brothers:
1 2 3 4 5 | 6 7 8 | 9 10 11, node min size is 3.
When erasing 11 will trigger balance instead of
merge, the middle nodes will adjust to 6 7, this
will not ensure the all nodes above min size.
This corner case might not be harmful but if we
want to erase 10,11 at one time (range remove wip
need this), this will trigger balance in past
policy which will make both two nodes below min
size and we might need at least one more merge.
This is actually because we cannot ensure a node
to merge in tree is above min size.
Signed-off-by: Xinyu Huang <xinyu.huang@intel.com>
Xinyu Huang [Tue, 16 Aug 2022 09:06:29 +0000 (09:06 +0000)]
crimson/os/seastore/omap: code cleanup
Signed-off-by: Xinyu Huang <xinyu.huang@intel.com>
Yingxin [Wed, 17 Aug 2022 08:39:22 +0000 (16:39 +0800)]
Merge pull request #47491 from cyx1231st/wip-seastore-fix-return-future
crimson/os/seastore/transaction_manager: return future when enoent
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Ronen Friedman [Wed, 17 Aug 2022 08:18:25 +0000 (11:18 +0300)]
Merge pull request #46855 from ronen-fr/wip-rf-pg-updates
osd/scrub: Scrubbing PGs now periodically update their stats
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
Yingxin [Wed, 17 Aug 2022 08:11:46 +0000 (16:11 +0800)]
Merge pull request #47553 from cyx1231st/wip-seastore-cleanup-reclaim
crimson/os/seastore: cleanups to gc reclaim
Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Reviewed-by: Zhang Song <zhangsong325@gmail.com>
Venky Shankar [Wed, 17 Aug 2022 07:06:10 +0000 (12:36 +0530)]
Merge pull request #47477 from mchangir/doc-clarify-start-time-in-snap-schedule
doc/cephfs: note regarding start time time zone
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Venky Shankar [Wed, 17 Aug 2022 05:44:21 +0000 (11:14 +0530)]
Merge pull request #47099 from joscollin/wip-B56537-wrong-rsp-wsp-values
cephfs-top: fix the rsp/wsp display
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Neeraj Pratap Singh <neesingh@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Adam King [Tue, 16 Aug 2022 18:35:16 +0000 (14:35 -0400)]
Merge pull request #47365 from adk3798/explicit-host-no-schedule
mgr/cephadm: fix handling of draining hosts with explicit placement specs
Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
Adam King [Tue, 16 Aug 2022 18:32:03 +0000 (14:32 -0400)]
Merge pull request #47529 from hookak/container-args
cephadm: Remove duplicated process args in promtail and loki
Reviewed-by: Adam King <adking@redhat.com>
Adam King [Tue, 16 Aug 2022 18:27:37 +0000 (14:27 -0400)]
Merge pull request #47545 from adk3798/grafana-password
mgr/cephadm: set dashboard grafana-api-password when user provides one
Reviewed-by: Michael Fritch <mfritch@suse.com>
Ronen Friedman [Tue, 14 Jun 2022 14:36:13 +0000 (14:36 +0000)]
osd/scrub: PGs that are scrubbing now update stats periodically
Added periodic calls to all PGs for which the OSD is the primary,
asking for a scrub statistics update.
This allows operator queries (e.g. 'pg dump pgs') to present
up-to-date scrub duration, "scrub is blocked" duration, etc'.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Adam King [Tue, 16 Aug 2022 12:50:10 +0000 (08:50 -0400)]
Merge pull request #47565 from adk3798/unit-test-runtime
mgr/cephadm: mock CephadmHttpServer run in unit tests
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
Milind Changire [Tue, 16 Aug 2022 12:21:37 +0000 (17:51 +0530)]
doc/cephfs: note regarding start time time zone
Fixes: https://tracker.ceph.com/issues/56730
Signed-off-by: Milind Changire <mchangir@redhat.com>
Nizamudeen A [Tue, 16 Aug 2022 11:59:05 +0000 (17:29 +0530)]
Merge pull request #47119 from rhcs-dashboard/image-refs-bug
mgr/dashboard: fix _rbd_image_refs caching
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Kefu Chai [Tue, 16 Aug 2022 11:19:07 +0000 (19:19 +0800)]
Merge pull request #47609 from cbodley/wip-install-deps-rhel
install-deps: remove outdated rhel8 devtool packages
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Ilya Dryomov [Tue, 16 Aug 2022 09:53:05 +0000 (11:53 +0200)]
Merge pull request #45628 from PepperJo/comparev_and_writev_v7
librbd: add compare-and-write compare length limit, remove sector size restriction
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Kefu Chai [Tue, 16 Aug 2022 08:59:43 +0000 (16:59 +0800)]
Merge pull request #47617 from tchaikov/wip-cmake-jsonnet
cmake: set $PATH for tests using jsonnet tools
Reviewed-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@cern.ch>
Yingxin [Tue, 16 Aug 2022 04:51:23 +0000 (12:51 +0800)]
Merge pull request #47618 from xxhdx1985126/wip-journal-move
crimson/os/seastore/journal: move bufferlists to reduce the amount of memory copies
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Xuehan Xu [Tue, 16 Aug 2022 02:56:30 +0000 (10:56 +0800)]
crimson/os/seastore/journal: move bufferlists to reduce the amount of memory copies
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Kefu Chai [Tue, 16 Aug 2022 02:52:53 +0000 (10:52 +0800)]
cmake: set $PATH for tests using jsonnet tools
otherwise they would not able to find executables installed into
${CMAKE_CURRENT_BINARY_DIR}.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Kefu Chai [Tue, 16 Aug 2022 01:45:54 +0000 (09:45 +0800)]
Merge pull request #47594 from tchaikov/wip-cmake-win32
cmake: enforce gcc-10 for win32 port
Reviewed-by: Casey Bodley <cbodley@redhat.com>
jinhong.kim [Wed, 10 Aug 2022 08:24:22 +0000 (17:24 +0900)]
cephadm: Remove duplicated process args in promtail and loki(config.file)
Signed-off-by: jinhong.kim <jinhong.kim0@navercorp.com>
Casey Bodley [Mon, 15 Aug 2022 20:22:44 +0000 (16:22 -0400)]
Merge pull request #47612 from cbodley/wip-rgw-revert-lua-filter
Revert "rgw/lua: allow read access to object data"
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Casey Bodley [Mon, 15 Aug 2022 18:20:20 +0000 (14:20 -0400)]
Revert "rgw/lua: allow read access to object data"
This reverts commit
f4501f69701d74caa5c0da0b7247eed80c1f2a3f .
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Casey Bodley [Mon, 15 Aug 2022 18:48:16 +0000 (14:48 -0400)]
Merge pull request #47564 from cbodley/wip-build-disable-motr
build: temporarily disable WITH_RADOSGW_MOTR in make check
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Casey Bodley [Mon, 15 Aug 2022 17:25:48 +0000 (13:25 -0400)]
install-deps: remove outdated rhel8 devtool packages
these were accidentally resurrected in
65b1a13139873c1525456e05cd00aeb64da4e881
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Adam King [Mon, 15 Aug 2022 17:24:57 +0000 (13:24 -0400)]
Merge pull request #47513 from Dazul/cephadm-allow-multiple-vips-keepalived
Cephadm: Allow multiple virtual IP addresses for keepalived and haproxy
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Patrick Donnelly [Mon, 15 Aug 2022 15:05:21 +0000 (11:05 -0400)]
doc: document debugging for libcephsqlite
Fixes: https://tracker.ceph.com/issues/57127
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Adam King [Mon, 15 Aug 2022 17:14:39 +0000 (13:14 -0400)]
Merge pull request #47539 from guits/fix-zap-msg-cephadm
cephadm: fix incorrect warning
Reviewed-by: Adam King <adking@redhat.com>
Adam King [Mon, 15 Aug 2022 17:11:33 +0000 (13:11 -0400)]
Merge pull request #47562 from guits/c-v-fix_ceph_device
cephadm/ceph-volume: fix rm-cluster --zap
Reviewed-by: Adam King <adking@redhat.com>
Yuval Lifshitz [Mon, 15 Aug 2022 16:57:09 +0000 (19:57 +0300)]
Merge pull request #46550 from yuvalif/wip-yuval-lua-filter
rgw/lua: allow access to object data
reviwed-by: cbodley, anthonyeleven
Yuval Lifshitz [Mon, 15 Aug 2022 16:55:36 +0000 (19:55 +0300)]
Merge pull request #47420 from yuvalif/wip-yuval-remove-metadata-entry
rgw: remove metadata entry when remote fetch reply with ENOENT
reviewed-by: cbodley
Daniel Gryniewicz [Mon, 15 Aug 2022 16:35:01 +0000 (12:35 -0400)]
Merge pull request #47362 from dang/wip-dang-zipper-cleanup
RGW - Zipper - Init cleanup
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuval Lifshitz [Mon, 15 Aug 2022 16:31:34 +0000 (19:31 +0300)]
Merge pull request #47010 from yuvalif/wip-yuval-fix-lua-post-ctx
rgw/lua: post request context does not work
reviewed-by: cbodley, zenomri
Yuval Lifshitz [Mon, 15 Aug 2022 16:30:11 +0000 (19:30 +0300)]
Merge pull request #46304 from yuvalif/wip-yuval-fix-53810
rgw/lua: don't create the script manager per request
reviewed-by: cbodley, dang, mkogan1
Casey Bodley [Mon, 15 Aug 2022 16:25:24 +0000 (12:25 -0400)]
Merge pull request #47411 from linuxbox2/wip-56997
rgwlc/sync: avoid calling merge-and-store-attrs from remove_bucket_co…
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Ilya Dryomov [Mon, 15 Aug 2022 07:44:09 +0000 (09:44 +0200)]
test/librbd: various fixups for compare-and-write test cases
- missing EILSEQ asserts in IO and IOWithIOHint
- AioCompletion leak in CompareTooSmall and WriteTooSmall
- skip StripeUnitUnaligned and TooLarge on the PWL cache as it wasn't
limited by the 512-byte sector limit before and isn't limited by the
stripe unit limit now
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Mon, 15 Aug 2022 07:44:09 +0000 (09:44 +0200)]
librbd/cache/pwl: adjust compare-and-write compare substringing
cmp_bl can no longer be shorter than read_bl (i.e. image extent).
This is caught very early at the API level, see commit
af96e6dae3f4
("librbd: make C++ cmp&write semantics equal to C API").
However, cmp_bl can still be longer than read_bl and in that case
it should be capped by the image extent length.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Mon, 15 Aug 2022 07:44:09 +0000 (09:44 +0200)]
librbd: discard cache state if compare-and-write writes to disk
Otherwise this is obviously broken with rbd_cache_policy = writeback or
rbd_cache_policy = writethrough as the write is done on the OSD, beneath
ObjectCacher. This went unnoticed because the original (and so far the
only known) compare-and-write user, tcmu-runner rbd driver, disables the
cache altogether.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Kefu Chai [Mon, 15 Aug 2022 07:24:14 +0000 (15:24 +0800)]
cmake: enforce gcc-10 for win32 port
we only have GCC-10 targeting MinGW at the time of writing, and it
is good enough for compiling the Winows port.
so let's relax the requirement to enable the windows build.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Kefu Chai [Mon, 15 Aug 2022 07:12:54 +0000 (15:12 +0800)]
Merge pull request #47402 from NitzanMordhai/wip-nitzan-crimson-rbd-cls-watcher-list
crimson/osd: Port rgw watcher list
Reviewed-by: Samuel Just <sjust@redhat.com>
Yingxin [Mon, 15 Aug 2022 03:41:26 +0000 (11:41 +0800)]
Merge pull request #47552 from myoungwon/wip-fix-seastore-trm-test
test/crimson/seastore: unittest-transaction-manager fixes
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Mon, 15 Aug 2022 03:31:41 +0000 (11:31 +0800)]
crimson/os/seastore/transaction_manager: don't return invalid extent in get_extents_if_live()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Fri, 12 Aug 2022 07:14:54 +0000 (15:14 +0800)]
crimson/os/seastore/async_cleaner: cleanup and add logs to gc trim
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Thu, 11 Aug 2022 05:38:05 +0000 (13:38 +0800)]
crimson/os/seastore: document how get_extents_if_live deals with extents split
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Fri, 12 Aug 2022 07:31:57 +0000 (15:31 +0800)]
crimson/os/seastore/transaction_manager: cleanups to get_extents_if_live
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Fri, 12 Aug 2022 07:27:46 +0000 (15:27 +0800)]
crimson/os/seastore/async_cleaner: cleanup, introduce do_gc_reclaim()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Fri, 12 Aug 2022 07:27:15 +0000 (15:27 +0800)]
crimson/os/seastore/async_cleaner: move retrieve_backref_extents_in_range to weak transaction
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Thu, 11 Aug 2022 05:56:43 +0000 (13:56 +0800)]
crimson/os/seastore/async_cleaner: cleanup gc_reclaim_space()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Thu, 11 Aug 2022 05:54:48 +0000 (13:54 +0800)]
crimson/os/seastore/async_cleaner: use weak transaction to get backref mappings
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
zdover23 [Mon, 15 Aug 2022 00:15:23 +0000 (10:15 +1000)]
Merge pull request #47580 from zdover23/wip-doc-2022-08-14-rados-operations-operating-prompt-update
doc/rados/operations: add prompts to operating.rst
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Ilya Dryomov [Sun, 14 Aug 2022 10:22:41 +0000 (12:22 +0200)]
Merge pull request #47570 from idryomov/wip-57107
rbd: find_action() should sort actions first
Reviewed-by: Mykola Golub <mgolub@suse.com>
Ronen Friedman [Sun, 14 Aug 2022 09:09:35 +0000 (12:09 +0300)]
Merge pull request #46891 from ronen-fr/wip-rf-redo-noscrub
osd/scrub: modify scrub behaviour under no-scrub
Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
Zac Dover [Sat, 13 Aug 2022 23:14:56 +0000 (09:14 +1000)]
doc/rados/operations: add prompts to operating.rst
This commit adds ".. prompt:: bash $"-style prompts to operating.rst.
This brings this file up to the standard established in 2020 when
Kefu added support for the ".. prompt::" directive.
This commit is a part of an initiative to modernize the presentation
of all BASH commands in the RADOS documentation.
The progress of this project can be tracked here:
https://tracker.ceph.com/issues/57108
Signed-off-by: Zac Dover <zac.dover@gmail.com>
Ilya Dryomov [Fri, 12 Aug 2022 15:57:59 +0000 (17:57 +0200)]
Merge pull request #44436 from nh2/patch-2
doc/man/rbd: Mention changed `bluestore_min_alloc_size`
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Niklas Hambüchen [Sun, 2 Jan 2022 22:27:55 +0000 (23:27 +0100)]
doc/man/rbd: Mention changed `bluestore_min_alloc_size`
This change was done in: https://github.com/ceph/ceph/pull/34588
Signed-off-by: Niklas Hambüchen <mail@nh2.me>
Kefu Chai [Fri, 12 Aug 2022 14:18:24 +0000 (22:18 +0800)]
Merge pull request #47272 from dheart-joe/master
test/osd/TestPGLog: Fix confusing description between log and olog.
Reviewed-by: Samuel Just <sjust@redhat.com>
Kefu Chai [Fri, 12 Aug 2022 14:17:06 +0000 (22:17 +0800)]
Merge pull request #46318 from rzarzynski/wip-mon-fix-mgrmap-rc
mon: fix a race between `mgr fail` and MgrMonitor::prepare_beacon()
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Kefu Chai [Fri, 12 Aug 2022 13:59:27 +0000 (21:59 +0800)]
Merge pull request #44836 from NitzanMordhai/wip-nitzan-osd-status-format-json
pybind/mgr: fix "osd status" command output with format json
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
Ilya Dryomov [Fri, 12 Aug 2022 11:55:01 +0000 (13:55 +0200)]
PendingReleaseNotes: add rbd compare-and-write notes
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Jonas Pfefferle [Fri, 5 Aug 2022 17:37:55 +0000 (19:37 +0200)]
librbd: make C++ cmp&write semantics equal to C API
The compare and write C++ API (both sync and async) does not check
compare bufferlist length and executes compare ops of bufferlist length
size, even if (write) "len" is smaller than bufferlist length.
This patch changes this behavior by always issuing compares and
writes of "len" size to match the C API. The bufferlist length
can be greater than "len" for both compare and write but only
"len" bytes are compared and written. If the bufferlist length
is smaller than "len" the call will fail.
Signed-off-by: Jonas Pfefferle <pepperjo@japf.ch>
Jonas Pfefferle [Fri, 5 Aug 2022 17:36:36 +0000 (19:36 +0200)]
librbd: remove cmp&write sector size restriction
This patch removes the compare and write max sector size len
restriction. We can allow up to stripe unit size accesses if
the access is aligned properly.
To allow larger size compare and write requests in the
journal we split the buffers like we do for writes now.
Signed-off-by: Jonas Pfefferle <pepperjo@japf.ch>
Jonas Pfefferle [Tue, 3 May 2022 07:16:00 +0000 (09:16 +0200)]
librbd: new cmp&write C API tests
Test correct mismatch offset is returned.
Test no data is written when compare fails.
Test correct data is written when compare succeeds.
Signed-off-by: Jonas Pfefferle <pepperjo@japf.ch>
Kefu Chai [Fri, 12 Aug 2022 10:06:57 +0000 (18:06 +0800)]
Merge pull request #47568 from tchaikov/wip-dashboard-more-itertools
mgr/dashboard: bump up more-itertools
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Venky Shankar [Fri, 12 Aug 2022 09:30:49 +0000 (15:00 +0530)]
Merge pull request #44710 from joscollin/wip-F40633-dump-recent-extraordinary-events
mds: dump recent log events for extraordinary events
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Venky Shankar [Fri, 12 Aug 2022 09:12:12 +0000 (14:42 +0530)]
Merge pull request #47067 from phlogistonjohn/jjm-cephfs-clone-config-1
mgr/volumes: prevent intermittent ParsingError failure in "clone cancel"
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Nikhilkumar Shelke <nshelke@redhat.com>
Ilya Dryomov [Fri, 12 Aug 2022 09:10:45 +0000 (11:10 +0200)]
rbd: remove incorrect use of std::includes()
- std::includes() requires sorted ranges but command specs aren't
sorted
- std::includes() purpose is to check whether the second range is
a subsequence of the first range but here the size of the second
range is always equal to the size of the first range, which means
that, had the ranges been sorted, std::includes() would have checked
straight equality
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Fri, 12 Aug 2022 09:10:45 +0000 (11:10 +0200)]
rbd: find_action() should sort actions first
The order in which objects with static storage duration in
different TUs are initialized is undefined. If the compiler
chooses to initialize Shell::Action objects in action/Trash.cc
before Shell::Action objects in action/TrashPurgeSchedule.cc,
all "rbd trash purge schedule ..." commands get shadowed by
"rbd trash purge" command:
$ rbd trash purge schedule list
rbd: too many arguments
The confusing error arises because "rbd trash purge" takes a single
positional argument. "schedule" gets interpreted as <pool-spec> and
"list" generates an error.
Fixes: https://tracker.ceph.com/issues/57107
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Venky Shankar [Fri, 12 Aug 2022 09:09:37 +0000 (14:39 +0530)]
Merge pull request #46750 from Mer1997/wip-56116
mds: replacing bootstrap session only if handle client session message
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Kefu Chai [Fri, 12 Aug 2022 05:06:25 +0000 (13:06 +0800)]
mgr/dashboard: bump up more-itertools
before this change, more-itertools tries to import Sequence from
collections, this leads us to failures like:
```
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 187, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/lib/python3.10/runpy.py", line 110, in _get_module_details
__import__(pkg_name)
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/__init__.py",
line 9, in <module>
import cherrypy
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/lib/python3.10/site-packages/cherrypy/__init__.py",
line 76, in <module>
from . import _cprequest, _cpserver, _cptree, _cplogging, _cpconfig
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/lib/python3.10/site-packages/cherrypy/_cprequest.py",
line 11, in <module>
from cherrypy import _cpreqbody
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/lib/python3.10/site-packages/cherrypy/_cpreqbody.py",
line 135, in <module>
import cheroot.server
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/lib/python3.10/site-packages/cheroot/server.py",
line 96, in <module>
from .workers import threadpool
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/lib/python3.10/site-packages/cheroot/workers/threadpool.py",
line 20, in <module>
from jaraco.functools import pass_none
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/lib/python3.10/site-packages/jaraco/functools.py",
line 8, in <module>
import more_itertools
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/lib/python3.10/site-packages/more_itertools/__init__.py",
line 1, in <module>
from more_itertools.more import * # noqa
File
"/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/lib/python3.10/site-packages/more_itertools/more.py",
line 3, in <module>
from collections import Counter, defaultdict, deque, Sequence
ImportError: cannot import name 'Sequence' from 'collections'
(/usr/lib/python3.10/collections/__init__.py)
ERROR: InvocationError for command
/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/bin/python3
-m dashboard.controllers.docs
/home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/.tox/openapi-check/tmp/openapi.yaml
(exited with code 1)
```
after this change, more-itertools is pin'ed at the latest stable
at the time of writing, which includes the fixes including
https://github.com/more-itertools/more-itertools/commit/
30a861bc5a4f53a9ba73923c9048a3632a0f9d18
.
please note, more-itertools dropped python3.3 support. but neither
do us support this python version, so we should be safe.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
myoungwon oh [Tue, 26 Jul 2022 00:46:29 +0000 (09:46 +0900)]
test/seastore: add write seqeunce to avoid racing
In the middle of test_random_write_concurrrent(), there is a chance
that consume(laddr A), regarding transaction 1, in try_submit_transaction
can be called after transaction 2's consume(laddr A) is invoked (note that
seastore handles both transaction 1 and 2 in order, and each other's laddr
are the same).
To avoid this, this commit adds a write seqeunce to prevent overwriting
old checksum associated with laddr---old checksum will not be updated
after write sequence comparison.
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
myoungwon oh [Tue, 9 Aug 2022 09:49:51 +0000 (18:49 +0900)]
seastore: prevent re-entering do_gc_cycle() when run_until_halt is called
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Kefu Chai [Fri, 12 Aug 2022 01:14:57 +0000 (09:14 +0800)]
Merge pull request #46523 from alvistack/pg_autoscaler-module.py
pybind/mgr: maximum recursion depth exceeded in comparison
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Adam King [Thu, 11 Aug 2022 18:26:11 +0000 (14:26 -0400)]
mgr/cephadm: mock CephadmHttpServer run in unit tests
While tests were still passing, since this server class
was added the units tests are taking significantly longer to
run and I'm seeing messages like
Failed to run cephadm http server: Expected 4 octets in "<MagicMock name='mock.get().__getitem__()' id='
139931011514704 '>"
The run time given by "time tox -e py3" without this commit on
my local machine was
real 2m45.749s
user 16m13.273s
sys 0m11.041s
and with this commit (and the server run function therefore mocked)
real 0m36.164s
user 0m26.932s
sys 0m2.367s
so it seems to run about 4x faster with the server run function
mocked and the tests pass in both cases
Issue introduced by: https://github.com/ceph/ceph/pull/46400/commits/
a0fe3ffdaaddd661f115de78ddae89b07b98a9ae
Signed-off-by: Adam King <adking@redhat.com>
Casey Bodley [Thu, 11 Aug 2022 17:47:39 +0000 (13:47 -0400)]
build: temporarily disable WITH_RADOSGW_MOTR in make check
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Adam King [Thu, 11 Aug 2022 17:48:48 +0000 (13:48 -0400)]
mgr/cephadm: unit test for draining with explicit placements
Signed-off-by: Adam King <adking@redhat.com>
Adam King [Fri, 29 Jul 2022 20:10:09 +0000 (16:10 -0400)]
mgr/cephadm: fix handling of draining hosts with explicit placement specs
Basically, if you have a placement that explicitly defines the hosts
to place on, and then add _no_schedule label to one of the hosts (which
should cause all daemons to be removed from the host) cpehadm will simply
fail to apply the spec, saying the host with the _no_schedule label is "Unknown".
This is due to the fact that we remove hosts with the _no_schedule label from
the pool of hosts the scheduler has to work with entirely. If we also provide
the scheduler with a list of currently draining hosts, it can handle this
better and the daemon can be drained off the host as expected.
Fixes: https://tracker.ceph.com/issues/56972
Signed-off-by: Adam King <adking@redhat.com>
Guillaume Abrioux [Wed, 10 Aug 2022 15:01:19 +0000 (17:01 +0200)]
cephadm: fix incorrect warning
when running `ceph orch osd rm` with `--zap`, it throws a warning
whereas it shouldn't
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Guillaume Abrioux [Thu, 11 Aug 2022 13:36:12 +0000 (15:36 +0200)]
ceph-volume: fix 'ceph_device' field in inventory
`ceph-volume inventory` should display a boolean value for the field
'ceph_device'.
current result:
```
[root@
6bda9ce84c4d /]# ceph-volume inventory /dev/vda
====== Device report /dev/vda ======
path /dev/vda
ceph device None
```
expected result:
```
[root@
6bda9ce84c4d /]# ceph-volume inventory /dev/sda
====== Device report /dev/sda ======
path /dev/sda
ceph device True
[root@
6bda9ce84c4d /]# ceph-volume inventory /dev/vda
====== Device report /dev/vda ======
path /dev/vda
ceph device False
```
Fixes: https://tracker.ceph.com/issues/57100
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Guillaume Abrioux [Thu, 11 Aug 2022 14:18:03 +0000 (16:18 +0200)]
cephadm: filter out non-ceph devices in _zap_osds()
`cephadm rm-cluster` tries to zap the device of the root fs.
```
fatal: [ceph-node4]: FAILED! => changed=true
cmd:
- cephadm
- rm-cluster
- --force
- --zap-osds
- --fsid
-
4217f198 -b8b7-11eb-941d-
5254004b7a69
delta: '0:00:28.784423'
end: '2022-08-11 10:15:53.676985'
msg: non-zero return code
rc: 1
start: '2022-08-11 10:15:24.892562'
stderr: |-
Traceback (most recent call last):
File "/sbin/cephadm", line 9780, in <module>
main()
File "/sbin/cephadm", line 9768, in main
r = ctx.func(ctx)
File "/sbin/cephadm", line 7222, in command_rm_cluster
_zap_osds(ctx)
File "/sbin/cephadm", line 2152, in _infer_image
return func(ctx)
File "/sbin/cephadm", line 7162, in _zap_osds
_zap(ctx, i.get('path'))
File "/sbin/cephadm", line 7138, in _zap
out, err, code = call_throws(ctx, c.run_cmd())
File "/sbin/cephadm", line 1829, in call_throws
raise RuntimeError('Failed command: %s' % ' '.join(command))
RuntimeError: Failed command: /bin/podman run --rm --ipc=host --stop-signal=SIGTERM --net=host --entrypoint /usr/sbin/ceph-volume --privileged --group-add=disk --init -e CONTAINER_IMAGE=quay.ceph.io/ceph-ci/ceph@sha256:
f50052ef84fe9a241e0f90d3d7a321394ab01b6792a5d802b6afe35bf52d35b9 -e NODE_NAME=ceph-node4 -e CEPH_USE_RANDOM_NONCE=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -v /dev:/dev -v /run/udev:/run/udev -v /sys:/sys -v /run/lvm:/run/lvm -v /run/lock/lvm:/run/lock/lvm quay.ceph.io/ceph-ci/ceph@sha256:
f50052ef84fe9a241e0f90d3d7a321394ab01b6792a5d802b6afe35bf52d35b9 lvm zap --destroy /dev/vda
stderr_lines: <omitted>
stdout: |-
Using ceph image with id '
9d87f3df8246 ' and tag '<none>' created on 2022-08-10 21:43:03 +0000 UTC
quay.ceph.io/ceph-ci/ceph@sha256:
f50052ef84fe9a241e0f90d3d7a321394ab01b6792a5d802b6afe35bf52d35b9
Zapping /dev/sda...
Zapping /dev/sdb...
Zapping /dev/sdc...
Zapping /dev/vda...
Non-zero exit code 1 from /bin/podman run --rm --ipc=host --stop-signal=SIGTERM --net=host --entrypoint /usr/sbin/ceph-volume --privileged --group-add=disk --init -e CONTAINER_IMAGE=quay.ceph.io/ceph-ci/ceph@sha256:
f50052ef84fe9a241e0f90d3d7a321394ab01b6792a5d802b6afe35bf52d35b9 -e NODE_NAME=ceph-node4 -e CEPH_USE_RANDOM_NONCE=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -e CEPH_VOLUME_SKIP_RESTORECON=yes -e CEPH_VOLUME_DEBUG=1 -v /dev:/dev -v /run/udev:/run/udev -v /sys:/sys -v /run/lvm:/run/lvm -v /run/lock/lvm:/run/lock/lvm quay.ceph.io/ceph-ci/ceph@sha256:
f50052ef84fe9a241e0f90d3d7a321394ab01b6792a5d802b6afe35bf52d35b9 lvm zap --destroy /dev/vda
/bin/podman: stderr Traceback (most recent call last):
/bin/podman: stderr File "/usr/sbin/ceph-volume", line 11, in <module>
/bin/podman: stderr load_entry_point('ceph-volume==1.0.0', 'console_scripts', 'ceph-volume')()
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/main.py", line 41, in __init__
/bin/podman: stderr self.main(self.argv)
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/decorators.py", line 59, in newfunc
/bin/podman: stderr return f(*a, **kw)
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/main.py", line 153, in main
/bin/podman: stderr terminal.dispatch(self.mapper, subcommand_args)
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/terminal.py", line 194, in dispatch
/bin/podman: stderr instance.main()
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/devices/lvm/main.py", line 46, in main
/bin/podman: stderr terminal.dispatch(self.mapper, self.argv)
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/terminal.py", line 194, in dispatch
/bin/podman: stderr instance.main()
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/devices/lvm/zap.py", line 401, in main
/bin/podman: stderr self.args = parser.parse_args(self.argv)
/bin/podman: stderr File "/usr/lib64/python3.6/argparse.py", line 1734, in parse_args
/bin/podman: stderr args, argv = self.parse_known_args(args, namespace)
/bin/podman: stderr File "/usr/lib64/python3.6/argparse.py", line 1766, in parse_known_args
/bin/podman: stderr namespace, args = self._parse_known_args(args, namespace)
/bin/podman: stderr File "/usr/lib64/python3.6/argparse.py", line 1975, in _parse_known_args
/bin/podman: stderr stop_index = consume_positionals(start_index)
/bin/podman: stderr File "/usr/lib64/python3.6/argparse.py", line 1931, in consume_positionals
/bin/podman: stderr take_action(action, args)
/bin/podman: stderr File "/usr/lib64/python3.6/argparse.py", line 1824, in take_action
/bin/podman: stderr argument_values = self._get_values(action, argument_strings)
/bin/podman: stderr File "/usr/lib64/python3.6/argparse.py", line 2279, in _get_values
/bin/podman: stderr value = [self._get_value(action, v) for v in arg_strings]
/bin/podman: stderr File "/usr/lib64/python3.6/argparse.py", line 2279, in <listcomp>
/bin/podman: stderr value = [self._get_value(action, v) for v in arg_strings]
/bin/podman: stderr File "/usr/lib64/python3.6/argparse.py", line 2294, in _get_value
/bin/podman: stderr result = type_func(arg_string)
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/util/arg_validators.py", line 57, in __call__
/bin/podman: stderr return self._format_device(self._is_valid_device())
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/util/arg_validators.py", line 60, in _is_valid_device
/bin/podman: stderr super()._is_valid_device()
/bin/podman: stderr File "/usr/lib/python3.6/site-packages/ceph_volume/util/arg_validators.py", line 48, in _is_valid_device
/bin/podman: stderr raise RuntimeError("Device {} has partitions.".format(self.dev_path))
/bin/podman: stderr RuntimeError: Device /dev/vda has partitions.
stdout_lines: <omitted>
```
In this case, the python trace thrown by ceph-volume is expected given
that `/dev/vda` is the device used for the root fs.
Fixes: https://tracker.ceph.com/issues/57101
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Adam King [Thu, 11 Aug 2022 12:46:12 +0000 (08:46 -0400)]
Merge pull request #47366 from adk3798/quoted-networks
cephadm: support quotes around public/cluster network in config passed to bootstrap
Reviewed-by: Francesco Pantano <fpantano@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Adam King [Thu, 11 Aug 2022 12:44:38 +0000 (08:44 -0400)]
Merge pull request #47346 from rhcs-dashboard/remove-grafana-loki-dependency
mgr/dashboard: add flag to automatically deploy loki/promtail service at bootstrap
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Radoslaw Zarzynski [Thu, 11 Aug 2022 10:53:38 +0000 (10:53 +0000)]
crimson/osd: inform in logs that TMAP is not supported
Simpler this way than to investigate for `EOPNOTSUPP`.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Thu, 11 Aug 2022 10:52:14 +0000 (10:52 +0000)]
crimson/net: add debug on SocketMessenger's destruction
The `logic_name` will hopefully help if the assertion in the dtor
fails (which actually started happing).
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Luis Domingues [Thu, 11 Aug 2022 10:01:23 +0000 (11:01 +0100)]
mgr/cephadm: loop over all vips when trying to find ingress' interface
Signed-off-by: Luis Domingues <domingues.luis@protonmail.ch>
Yingxin [Thu, 11 Aug 2022 06:14:36 +0000 (14:14 +0800)]
Merge pull request #47489 from cyx1231st/wip-seastore-trimmer
crimson/os/seastore: introduce JournalTrimmer with refactors
Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
Reviewed-by: Zhang Song <zhangsong325@gmail.com>
Yingxin Cheng [Mon, 8 Aug 2022 01:49:35 +0000 (09:49 +0800)]
crimson/os/seastore: introduce JournalTrimmer
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>