John Mulligan [Mon, 27 Feb 2023 19:38:50 +0000 (14:38 -0500)]
cephadm: fix timeout argument to call function
The timeout argument to call function, for executing sub-processes, did
not function - this patch makes timeout work as (probably) intended.
Use the `process.communicate()` method rather than `tee` functions to
handle IO collection. Since no logging is done until after the exit code
is known the tee calls are not necessary. Add calls to kill the child
process when the time out occurs. This helps prevent event loop "leaks"
that generate python warnings.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Thu, 23 Feb 2023 19:51:13 +0000 (14:51 -0500)]
cephadm/tests: add initial test coverage for call function
The call function provides the ability to run subprocesses, log output,
and provides an optional timeout parameter. This timeout parameter does
not appear to function correctly today, so we make use of
pytest.param/pytest.mark.xfail to mark these cases as already known to
fail.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Wed, 22 Feb 2023 18:57:21 +0000 (13:57 -0500)]
cephadm: disable coverage for some compatibility blocks
This change disables reporting missing coverage for blocks that
contain copy and pasted code from other python versions and exist
to make those functions available to older python versions.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Venky Shankar [Mon, 6 Mar 2023 04:12:32 +0000 (09:42 +0530)]
Merge PR #48894 into main
* refs/pull/48894/head:
qa/tasks/cephfs: add "extra data pool" cephfs-data-scan tests
qa/tasks/cephfs: use cephfs tags when recreating osd caps
tools/cephfs-data-scan: make data pool command args optional
tools/cephfs-data-scan: support for multi-datapool
cls/cephfs: extend accumulate_inode_metadata client method to store pool id
Casey Bodley [Fri, 3 Mar 2023 19:43:18 +0000 (14:43 -0500)]
Merge pull request #50329 from cbodley/wip-58891
rgw/reshard: treat old RGWBucketInfo::num_shards=0 as 1 shard
Reviewed-by: J. Eric Ivancich <ivancich@redhat.com> Reviewed-by: Shilpa Jagannath <smanjara@redhat.com> Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
galsalomon66 [Tue, 13 Dec 2022 14:31:43 +0000 (16:31 +0200)]
json integration: identifying new data-source and execute json flow.
s3select submodule
integrate the limit-operator into RGW. current changes is for CSV format
integrate the limit-operator with CSV-flow, and JSON-flow. an update of s3select submodule
a fix for the input-serialization-type selection
debug functionality.
fix for error handling
adding the scan-range feature. i.e. enables the user to define the range of processing(text only)
remove the temp variable(the s3select-layer handles the sql-result setting upon JSON flow)
adding documentation. for JSON, SQL limit-operator, scan-range option.
a fix for JSON test framework in s3select module
investigate crash. replace len with it.length()
editorial changes; non-initialized variables
adding validation for offset&length. (it seems that the offset&length causes Invalid reads, in some cases)
changes related to trino integration.(1) syntax issues related to trino-engine statement conbersions(s3select parser handles that) (2).
(2). trino rejects(HIVE_CURSUR_ERROR) some of the s3select responses do to its size, the change is about control the size of the respond.
update JSON documentation
trino changes: response in paging (limitation on size), trino syntax issues.
Zac Dover [Thu, 2 Mar 2023 18:04:30 +0000 (04:04 +1000)]
doc/radosgw: format admonitions
Break up the text of two similar admonitions into three paragraphs (in
each of the two instances). This makes the content of the admonition
much easier to read at a glance.
Adam King [Wed, 1 Mar 2023 21:10:41 +0000 (16:10 -0500)]
doc/cephadm: update cephadm compatability and stability page
This page is very out of date. This commit probably doesn't
cover everything there is to say about stability and compatability
in cephadm, but it at least gets it noticeably closer to reality
Venky Shankar [Wed, 1 Mar 2023 02:24:18 +0000 (07:54 +0530)]
Merge PR #48720 into main
* refs/pull/48720/head:
qa: fix api failure issue caused during a dashboard test
PendingReleaseNotes: noted new MDSMap field refuse_client_session
qa: added two testcases
client: do not initiate session if flag refuse_client_session is set
mds: do not reconnect when refuse_client_session is set
mds: add new feature to block clients from establishing sessions
Reviewed-by: Rishabh Dave <ridave@redhat.com> Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Milind Changire <mchangir@redhat.com> Reviewed-by: Ramana Raja <rraja@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com>
qa/valgrind.supp: suppress the get-or-create CacheItemHelper
```
// Get an CacheItemHelper pointer for value type T and role R.
template <typename T, CacheEntryRole R>
Cache::CacheItemHelper* GetCacheItemHelperForRole() {
static Cache::CacheItemHelper cache_helper(
BlocklikeTraits<T>::SizeCallback, BlocklikeTraits<T>::SaveToCallback,
GetCacheEntryDeleterForRole<T, R>());
return &cache_helper;
}
```
Patrick Donnelly [Tue, 28 Feb 2023 16:25:38 +0000 (11:25 -0500)]
client: remove unused method
/home/pdonnell/ceph/src/client/Client.cc:8575:13: warning: ‘void attr_set_atime_and_mtime(stat*, const utime_t&, const utime_t&)’ defined but not used [-Wunused-function]
8575 | static void attr_set_atime_and_mtime(struct stat *attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~
Fixes: 8abccedd12a3d8dfb4fc926908ba7e2c1f94bf35 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
crimson/osd: manage PG_STATE_SNAPTRIM when trimming snaps
After a few tries:
```
$ bin/ceph -s
*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH ***
2022-12-19T20:18:21.856+0000 7ff87b46f700 -1 WARNING: all dangerous and experimental features are enabled.
2022-12-19T20:18:21.857+0000 7ff87b46f700 1 build_initial for_mkfs: 0
2022-12-19T20:18:21.860+0000 7ff87b46f700 -1 WARNING: all dangerous and experimental features are enabled.
2022-12-19T20:18:21.861+0000 7ff87b46f700 1 build_initial for_mkfs: 0
cluster:
id: 347aedc9-d72f-4a34-98fc-26cb04b0c2fc
health: HEALTH_WARN
11 mgr modules have failed dependencies
1 pool(s) do not have an application enabled
1 pool(s) have no replicas configured
services:
mon: 1 daemons, quorum a (age 3m)
mgr: x(active, since 3m)
osd: 1 osds: 1 up (since 3m), 1 in (since 3m)
Throwing away the NOP-looking-like `maybe_delay` concept became
possible after eradication of the `with_interruption` call nested
within `SnapTrimSubEvent`. Before, on Ubuntu and GCC 11.2.1, lack
of it was the reson behind assertion failures on resetting the
`thread_local` intteruption condition.
The rationale
=============
Calling `get()` on an unavailable future can result in yielding
the reactor, so -- from the interruptor's POV -- the interrupt
condition must be handled exactly like it is done for `yield()`.
Interruptor takes care about that but, at the moment, only for the
interruptible futures; there is mechanism for plain `seastar::future`.
This patch paves the way for handling them as well.