]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
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>
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>
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>
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>
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>
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>
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>
Yingxin Cheng [Sun, 7 Aug 2022 13:34:24 +0000 (21:34 +0800)]
crimson/os/seastore/cache: decouple prepare_record() from segment_provider
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Sun, 7 Aug 2022 13:08:49 +0000 (21:08 +0800)]
crimson/os/seastore: be explicit about detecting out-dated delta using segment info
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Sun, 7 Aug 2022 12:12:07 +0000 (20:12 +0800)]
crimson/os/seastore: decouple segment release from transaction manager
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Sun, 7 Aug 2022 08:05:42 +0000 (16:05 +0800)]
crimson/os/seastore: construct TransactionManager classes after device mount
To construct TransactionManager after all the devices are discoverred.
Also, it makes the following cleanups possible:
* Cleanup SeaStore and TransactionManager factory methods.
* Decouple TransactionManager from SegmentManagerGroup.
* Drop the unnecessary tm_make_config_t.
* Drop the unnecessary add_device() methods.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Sun, 7 Aug 2022 08:00:23 +0000 (16:00 +0800)]
crimson/os/seastore/epm: configure prefer_ool through the primary_device
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Kefu Chai [Thu, 11 Aug 2022 00:14:11 +0000 (08:14 +0800)]
Merge pull request #47548 from cbodley/wip-57073
install-deps: fix centos 8's use of gcc-toolset-11
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Kefu Chai [Wed, 10 Aug 2022 23:53:10 +0000 (07:53 +0800)]
Merge pull request #47544 from ceph/pmem-c9
ceph.spec.in: disable system_pmdk on aarch64
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Kefu Chai [Wed, 10 Aug 2022 23:50:44 +0000 (07:50 +0800)]
Merge pull request #47543 from cbodley/wip-cmake-cxx20-compiler-versions
cmake: enforce minimum compiler versions for c++20
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Kefu Chai [Wed, 10 Aug 2022 23:39:49 +0000 (07:39 +0800)]
Merge pull request #47534 from tchaikov/wip-cmake-motr
cmake: find motr libraries and header before using them
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Adam King [Fri, 29 Jul 2022 22:21:55 +0000 (18:21 -0400)]
cephadm: unit test for parsing networks from config
Signed-off-by: Adam King <adking@redhat.com>
Adam King [Fri, 29 Jul 2022 21:26:58 +0000 (17:26 -0400)]
cephadm: support quotes around public/cluster network in config passed to bootstrap
Fixes: https://tracker.ceph.com/issues/56973
Signed-off-by: Adam King <adking@redhat.com>
Adam King [Wed, 10 Aug 2022 22:50:44 +0000 (18:50 -0400)]
Merge pull request #47421 from adk3798/conf-osd-reconfig
mgr/cephadm: recreate osd config when redeploy/reconfiguring
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Adam King [Wed, 10 Aug 2022 22:48:40 +0000 (18:48 -0400)]
Merge pull request #47464 from michaelalang/master
mgr/cephadm: provide an additional hint when running into I/O closed exception
Reviewed-by: Adam King <adking@redhat.com>
Casey Bodley [Wed, 10 Aug 2022 22:23:34 +0000 (18:23 -0400)]
ceph.spec.in: install gcc-toolset-11-libatomic-devel in x86_64 also
otherwise after enabling gcc-toolset-11, cmake fails with:
- Performing Test HAVE_LIBATOMIC - Failed
CMake Error at cmake/modules/CheckCxxAtomic.cmake:66 (message):
Host compiler /opt/rh/gcc-toolset-11/root/usr/bin/g++ requires libatomic,
but it is not found
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Casey Bodley [Wed, 10 Aug 2022 20:36:11 +0000 (16:36 -0400)]
install-deps: bump gcc-toolset version to 11
match the toolset versions installed from ceph.spec.in
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Casey Bodley [Wed, 10 Aug 2022 20:35:01 +0000 (16:35 -0400)]
install-deps: update ensure_decent_gcc_on_rh for gcc-toolset
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Casey Bodley [Wed, 10 Aug 2022 20:04:57 +0000 (16:04 -0400)]
install-deps: centos8 doesn't have or need centos-release-scl
Fixes: https://tracker.ceph.com/issues/57073
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Matt Benjamin [Wed, 10 Aug 2022 18:59:25 +0000 (14:59 -0400)]
Merge pull request #46378 from pritha-srivastava/wip-rgw-sts-modify-session-duration
rgw/sts: modify max_session_duration using update role REST API/ radosgw-admin command.
David Galloway [Wed, 10 Aug 2022 18:36:43 +0000 (14:36 -0400)]
ceph.spec.in: disable system_pmdk on aarch64
Signed-off-by: David Galloway <dgallowa@redhat.com>
David Galloway [Wed, 10 Aug 2022 18:22:27 +0000 (14:22 -0400)]
Merge pull request #47538 from tchaikov/wip-enable-gts
ceph.spec.in: %enable_devtoolset11 only if the macro is defined
Casey Bodley [Wed, 10 Aug 2022 17:59:56 +0000 (13:59 -0400)]
cmake: enforce minimum compiler versions for c++20
Signed-off-by: Casey Bodley <cbodley@redhat.com>
David Galloway [Wed, 10 Aug 2022 17:23:20 +0000 (13:23 -0400)]
Merge pull request #47541 from ceph/1723
doc: Add missing index links for 17.2.3
David Galloway [Wed, 10 Aug 2022 16:29:23 +0000 (12:29 -0400)]
doc: Add missing index links for 17.2.3
Signed-off-by: David Galloway <dgallowa@redhat.com>
Kefu Chai [Wed, 10 Aug 2022 14:52:12 +0000 (22:52 +0800)]
ceph.spec.in: always use stock compiler on el9
as RHEL/CentOS 9, we have the access to GCC-11, which is good enough for
compiling main HEAD even with WITH_SEASTAR=ON.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Adam King [Wed, 10 Aug 2022 15:44:55 +0000 (11:44 -0400)]
Merge pull request #46400 from rkachach/fix_issue_55733
mgr/cephadm: adding dynamic prometheus configuration based on http_sd_config
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Pere Diaz Bou [Fri, 15 Jul 2022 14:30:15 +0000 (16:30 +0200)]
mgr/dashboard: fix _get_rbd_image_refs caching
We were cahing _get_rbd_image_refs by Ioctx but the namespace to which
a ioctx is set is also relevant information regarding the references
of a pool.
Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>
Kefu Chai [Wed, 10 Aug 2022 14:44:59 +0000 (22:44 +0800)]
ceph.spec.in: define %gts_prefix
less repeatings this way, also allow maintainer to use other version of GTS.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Kefu Chai [Wed, 10 Aug 2022 14:35:14 +0000 (22:35 +0800)]
ceph.spec.in: %enable_devtoolset11 only if the macro is defined
there is chance that we are using `yum-builddep` to prepare the
build dependencies. in that case, gcc-toolset-11-build is not
installed. it's like a chicken-egg dilemma, but the point is
`yum-builddep` is able to pull in the gcc-toolset-11-build. once
gcc-toolset-11-build is installed, we will have the %enable_devtoolset11
rpm macro.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Kefu Chai [Wed, 10 Aug 2022 14:06:12 +0000 (22:06 +0800)]
Merge pull request #43155 from ljflores/wip-install-deps-fix
install-deps.sh: ensure that pip ugrades to most recent version within virtualenv
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Kefu Chai [Wed, 10 Aug 2022 14:02:22 +0000 (22:02 +0800)]
Merge pull request #47278 from rzarzynski/wip-cephx-verify_auth_cleanups
monc, cephx: improve debugs and slightly clean invalidate_ticket() up
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Adam King [Wed, 10 Aug 2022 13:57:22 +0000 (09:57 -0400)]
Merge pull request #47092 from dparmar18/wip-dparmar-cephadm-simple-1
pybind/mgr/cephadm/upgrade: allow upgrades without reducing max_mds
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Redouane Kachach [Wed, 10 Aug 2022 11:30:42 +0000 (13:30 +0200)]
mgr/cephadm: setting version field to a 17.2.3
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
Redouane Kachach [Wed, 25 May 2022 10:27:23 +0000 (12:27 +0200)]
mgr/cephadm: adding dynamic prometheus config based on http_sd
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
Kefu Chai [Wed, 10 Aug 2022 12:10:42 +0000 (20:10 +0800)]
cmake: find motr libraries and header before using them
cmake should fail when generating the building system, if the necessary
development libraries or the header files are missing.
in this change, Findmotr.cmake is added to detect the motr library
and header so that we can use it to find the motr package before using
it.
See-also: https://tracker.ceph.com/issues/57079
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Ernesto Puerta [Wed, 10 Aug 2022 12:40:18 +0000 (14:40 +0200)]
Merge pull request #47479 from ceph/wip-backportbot_script-main
.github/workflows: add create-backport action
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: David Galloway <dgallowa@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
Ernesto Puerta [Fri, 5 Aug 2022 08:56:36 +0000 (10:56 +0200)]
.github/workflows: add create-backport action
Currently there's a cron job in a teuthology VM running a script to find all trackers in needs-backports and to create their corresponding backport trackers. This is done through the [Backport Bot](https://tracker.ceph.com/users/12172) Redmine account.
This PR intends to run this cron job task as a periodic Github Action.
Signed-off-by: Ernesto Puerta <37327689+epuertat@users.noreply.github.com>
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
Guillaume Abrioux [Wed, 10 Aug 2022 11:08:20 +0000 (13:08 +0200)]
Merge pull request #47514 from guits/c-v-thread-inventory-2
ceph-volume: system.get_mounts() refactor
Ilya Dryomov [Wed, 10 Aug 2022 10:39:03 +0000 (12:39 +0200)]
Merge pull request #47198 from ceph/wip-yuriw-release-15.2.17-main
doc: 15.2.17 Release Notes
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Wed, 10 Aug 2022 09:09:55 +0000 (11:09 +0200)]
doc/releases/octopus.rst: add note for CVE-2022-0670
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>