John Mulligan [Tue, 29 Oct 2024 20:35:00 +0000 (16:35 -0400)]
CODEOWNERS: let orchestration cover all of python-common
While it's not perfectly correct to say the orchestration team owns
src/python-common, it's closer to the truth than not. It also ensures
that someone with domain specific knowledge is looking at the rest of
python-common outside just the deployment section (short of creating
some sort of new python-sig type group). This is relevant due to the
changes in PR #60377 as python-common's ceph package will be included
in cephadm.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Adam King [Thu, 24 Oct 2024 14:45:42 +0000 (10:45 -0400)]
Merge pull request #59982 from rkachach/fix_issue_mgmt_gw_high_availability
Adding HA support for mgmt-gateway and oauth2-proxy services
Reviewed-by: Adam king <adking@redhat.com> Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com> Reviewed-by: Juan Miguel Olmo MartÃnez <jolmomar@redhat.com>
Zac Dover [Thu, 24 Oct 2024 04:52:58 +0000 (14:52 +1000)]
doc/cephfs: edit "Disabling Volumes Plugin"
Improve the English language in the section 'Disabling Volumes Plugin"
(which here becomes "Disabling the Volumes Plugin") in the
doc/cephfs/troubleshooting.rst file.
The change here is similar to a change introduced in
https://github.com/ceph/ceph/pull/60448/. That PR seems to be unable to
pass the "make check", and this PR is part of a test to see if breaking
the changes in that PR into several smaller changes results in mergeable
PRs.
cailianchun [Fri, 18 Oct 2024 02:39:46 +0000 (02:39 +0000)]
test/crimson: disable stall-detector on aarch64 to fix asan failures
Ceph crimson uses seastar on debug mode which would enable ASAN, while stall-detector uses glibc backtrace function which would cause ASAN failures on aarch64.
Reason see scylladb/scylladb#15090 (comment)
Because arm ci servers in lab are "elderly", causing stall happened often, this PR is to disable stall-detector until seastar upstream migrated to libunwind, see scylladb/seastar#1878
Seastar does not provide a function to disable stall-detector, at present, increase stall-detector time to avoid stall-detector timeout on arm platform.
Nizamudeen A [Fri, 18 Oct 2024 15:20:33 +0000 (20:50 +0530)]
mgr/dashboard: fix bucket get for s3 account owned bucket
**Issue 1:**
When a bucket is created with a user that is owner by the account user,
it fails to fetch the info for the bucket because the owner of that
bucket is considered as owned by the account rather than the user.
dashboard api try to fetch some info for the bucket on the basis of the
bucket owner which in this case fails since its not a real user.
To keep the existing behavior as it is and fix the current issue, I am
doing a check to make sure the user id exists or not. if it doesn't
exist, we goes on to fetch using the dashboard user.
**Issue 2**
Editing the bucket owner by the account is broken. So disabling the
ownership change for the bucket owned by account until we have user
account management for rgw in the dashboard
Fixes: https://tracker.ceph.com/issues/68622 Signed-off-by: Nizamudeen A <nia@redhat.com>
Soumya Koduri [Mon, 7 Oct 2024 11:24:02 +0000 (16:54 +0530)]
rgw/lc: Fix issues with non-current objects with instance empty
When the bucket versioning is enabled, old plain object entry is converted
to versioned by updating its instance as "null" in its raw head/old object.
However its instance remains empty in the bi list entry. Same is the case for
the entries created after versioning is suspended and re-enabled.
So to access such objects which are non-current, we need to set rgw_obj_key.instance as
1) "null" to read the actual raw obj and
2) empty while accessing/updating their bi entry.
Patrick Donnelly [Tue, 22 Oct 2024 00:57:15 +0000 (20:57 -0400)]
Merge PR #60174 into main
* refs/pull/60174/head:
common/Finisher: pass name as std::string_view to ctor
common/Finisher: add method get_thread_name()
mgr/ActivePyModule: build thread name with fmt
mgr/ActivePyModule: return std::string_view instead of std::string copy
common/Finisher: use fmt to build strings
common/Finisher: un-inline ctor and dtor
common/Finisher: add `const` to several fields
common/Finisher: merge duplicate field initializers
common/Finisher: call notify_one() instead of notify_all()
common/Finisher: wake up after pushing to the queue
common/Finisher: do not wake up the thread if already running
common/Finisher: call logger without holding the lock
common/Finisher: use `std::lock_guard` instead of `std::unique_lock`
common/Finisher: merge all queue() container methods into one template
Patrick Donnelly [Tue, 22 Oct 2024 00:56:01 +0000 (20:56 -0400)]
Merge PR #60214 into main
* refs/pull/60214/head:
mds/MDCache: use `auto`
mds/CDir: use the erase() return value
mds/MDCache: remove unnecessary empty() check
mds/MDCache: use the erase() return value
mds/MDCache: pass iterator by value
Patrick Donnelly [Tue, 22 Oct 2024 00:54:15 +0000 (20:54 -0400)]
Merge PR #60216 into main
* refs/pull/60216/head:
common/options: pass name as rvalue reference
common/config: use libfmt to build strings
common/config: use emplace_back() instead of push_back()
common/HeartbeatMap: pass name as rvalue reference
common/config_obs_mgr: use the erase() return value
common/SloppyCRCMap: use the erase() return value
common: disable `boost::intrusive::constant_time_size`
Patrick Donnelly [Tue, 22 Oct 2024 00:53:44 +0000 (20:53 -0400)]
Merge PR #60220 into main
* refs/pull/60220/head:
msg/async/AsyncConnection: move the writeCallback instead of copying it
msg/async/AsyncConnection: do not wrap writeCallback in `std::optional`
msg/async/frames_v2: use zero-initialization instead of memset()
msg/async/Event: use zero-initialization instead of memset()
msg/Message: use zero-initialization instead of memset()
msg/async/ProtocolV2: eliminate redundant std::map lookups
msg/async/ProtocolV[12]: reverse the std::map sort order
msg/async/ProtocolV[12]: use `auto`
msg/async/ProtocolV[12]: use range-based `for`
msg/async/ProtocolV1: use zero-initialization instead of memset()
Patrick Donnelly [Thu, 17 Oct 2024 19:39:33 +0000 (15:39 -0400)]
qa/cephfs: override testing kernel with -k option
Normally, the fs suite overrides the kernel branch whenever the kernel client
is used, according to the matrix of configs. This prevents easily testing a new
kernel with the -k option to teuthology-suite. So, using the base config passed
to the script, detect if an alternate testing kernel is desired and use that
instead.
Add multi-cluster support (showMultiCluster=True) to alerts
Following PR https://github.com/ceph/ceph/pull/55495 fixing the
dashboard in regards to multiple clusters storing their metrics
in a single Prometheus instance, this PR addresses the issues
for alerts.
Fixes: https://tracker.ceph.com/issues/64321 Signed-off-by: Christian Rohmann <christian.rohmann@inovex.de>
Rishabh Dave [Tue, 27 Aug 2024 08:14:31 +0000 (13:44 +0530)]
mgr/vol: add comments to explain queuing data structures
Add some comment to explains the purpose and details of data structures
that are used for queuing of async jobs since right now it's not obvious
from initialization.
Add a new command ("ceph mgr module force disable <module>") that allows
forcibly disabling an always-on module. This command should ideally only
be used to for cluster recovery.
Fixes: https://tracker.ceph.com/issues/66005 Signed-off-by: Rishabh Dave <ridave@redhat.com>
Rishabh Dave [Wed, 17 Jul 2024 12:35:33 +0000 (18:05 +0530)]
mon/MgrMonitor: improve a log message
Following log message has 3 distinct information (enabled modules,
modules that are alwats on and total number of commands enabled) printed
on the same line which makes it hard to find one of the information and
also makes it comparatively hard to read -
Patrick Donnelly [Tue, 15 Oct 2024 21:12:28 +0000 (17:12 -0400)]
doc/dev: add walkthrough for CephFS kernel development
Specifically, an opinionated walkthrough of how to setup an environment for a
built kernel, networking a VM to sepia, and mounting a remote Ceph cluster.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
mgr/cephadm: fixing deps handling for mgmt-gateway Fixes: https://tracker.ceph.com/issues/68377
this change uses the port also in addition to the daemon name when
building mgmt-gateway dependencies
Redouane Kachach [Thu, 17 Oct 2024 08:42:27 +0000 (10:42 +0200)]
mgr/cephadm: adding HA support for mgmt-gateway and ouath2-proxy
adding HA support for mgmt-gateway and ouath2-proxy. In addition, logic
is add to prevent unnecessary daemons restart during mgr failover.
Previously, without the management gateway, some daemons, such as
Prometheus, had an explicit dependency on the manager because we
needed to point to the active manager. With the management gateway,
this explicit dependency is no longer necessary, as it automatically
handles routing requests to the active manager.