Adam King [Wed, 1 Mar 2023 15:58:43 +0000 (10:58 -0500)]
mgr/cephadm: add more aggressive force flag for host maintenance enter
Right now, we have safety checks that will either say things are okay to stop,
return warnings, or returns "alerts". Warnings can be bypassed already with
the --force flag that exists for the command. However, the alerts cannot be
bypassed and cephadm will refuse to attempt to put the host in maintenance mode.
The idea here is for an additional flag that also bypasses that alerts, in cases
where a user really needs to put the host into maintenance mode even if that
means causing issues within the cluster.
Fixes: https://tracker.ceph.com/issues/58892 Signed-off-by: Adam King <adking@redhat.com>
Matan Breizman [Sun, 5 Mar 2023 09:31:03 +0000 (09:31 +0000)]
crimson/osd: Introduce with_head_and_clone_obc()
In continuation to 7ca2690be956a36f61c7729946b94ccd970dd9c7:
Now that the head ref is no longer a member of obc, we need a new
substitute way to get the head when needed.
When loading a clone object, the head object is loaded
first (See with_clone_obc). Therefore we can make use of this design
to move the loaded head forward to the relevant func (See with_head_and_clone_obc).
Usually, we wouldn't need to make use of both the head and the clone obc in the
same function. However, SnapTrimObjSubEvent::remove_or_update is an abnormal usage.
Note: We want to avoid holding any unneeded references to obcs
to allow the obc_registery to evict no longer valid obc.
Therefore, with_obc() which references only a single obc is the
preferred entry point for loading obcs.
Matan Breizman [Sun, 19 Feb 2023 10:49:47 +0000 (10:49 +0000)]
crimson/osd: Remove head memeber from ObjectContext
Before this patch, ObjectContext had a head member which was used
to get the head obc of a clone object.
This member caused the head object to being referenced while
attempting to 'clear_replica_obc' (Since we only evict un-referenced
obc from the obc_registery).
This mechanism, of obtaining the head, is no longer needed since
'with_clone_obc' loads the head object context first (using
oid.get_head).
In this commit, head is removed from ObjectContext class and users
are removed as well.
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;
}
```
Mykola Golub [Tue, 28 Feb 2023 17:27:39 +0000 (19:27 +0200)]
mgr/cephadm: try to avoid pull when getting container image info
only if use_repo_digest is not set.
The commit ac88200 introduced this possibility to skip pulling, but
doing this unconditionally broke a use case when one was able to have
a ceph image on a floating tag, and was able to upgrade to a new image
pushed to that tag. As using a floating tag is possible only when
use_repo_digest is enabled (the default), now skipping the pull
if use_repo_digest is disabled will not break it anymore.
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>