]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
3 months agoqa/suites/rbd/nvmeof: add multi-subsystem setup and thrash test
Vallari Agrawal [Thu, 27 Jun 2024 11:18:47 +0000 (16:48 +0530)]
qa/suites/rbd/nvmeof: add multi-subsystem setup and thrash test

1. qa/tasks/nvmeof.py:
    1.1. create multiple rbd images for all subsystems
    1.2. add NvmeofThrasher and ThrashTest
2. qa/tasks/mon_thrash.py: add 'switch_thrashers' option
3. nvmeof_setup_subsystem.sh: create multiple subsystems and enable HA
4. Restructure qa/suites/rbd/nvmeof: Create two sub-suites
   - "basic" (nvmeof_initiator job)
   - "thrash" (new: nvmeof_mon_thrash and nvmeof_thrash jobs)

Resolves: rhbz#2302243

Signed-off-by: Vallari Agrawal <val.agl002@gmail.com>
(cherry picked from commit d0c4182bf57322438a51d4e17d34bfa970846c80)

3 months agocephadm: mount nvmeof certs into container
Adam King [Tue, 20 Aug 2024 14:51:09 +0000 (10:51 -0400)]
cephadm: mount nvmeof certs into container

https://github.com/ceph/ceph/commit/2946b195edfc0b6a5cfcc661079e351601707ecb
incorrectly removed this line and since then these certs are
not being properly mounted into the container. This commit
adds the line back

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 8cc3a35c2dcd7553f0c1b45a895401c4e575f99d)

3 months agonvmeof/NVMeofGwMonitorClient: use a separate mutex for beacons
Alexander Indenbaum [Mon, 5 Aug 2024 09:50:27 +0000 (09:50 +0000)]
nvmeof/NVMeofGwMonitorClient: use a separate mutex for beacons

Add beacon_lock to mitigate potential beacon delays caused by slow message
handling, particularly in handle_nvmeof_gw_map.

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit 0dc41857c779d983a4384fa387e8f1e7df38437f)

3 months ago mon/NVMeofGw*: fixing bugs - handle gw fast-reboot, proper handle of gw delete scenarios
Leonid Chernin [Wed, 21 Aug 2024 16:30:14 +0000 (16:30 +0000)]
 mon/NVMeofGw*: fixing bugs - handle gw fast-reboot, proper handle of gw delete scenarios

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
3 months agomon/NVMeofGw*: support upgrades from prior out-of-tree nvmeofha implementation (nvmeo...
Leonid Chernin [Sun, 18 Aug 2024 05:16:14 +0000 (05:16 +0000)]
mon/NVMeofGw*: support upgrades from prior out-of-tree nvmeofha implementation (nvmeof-reef)

This commit adds upgrade support for users running an experimental
nvmeofha implementation which can be found in the nvmeof-reef branch in
ceph.git.

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
3 months agoinclude/ceph_features: add NVMEOFHA feature bit
Samuel Just [Wed, 14 Aug 2024 19:40:50 +0000 (12:40 -0700)]
include/ceph_features: add NVMEOFHA feature bit

Normally, we'd just use the SERVER_SQUID or SERVER_T flags instead of
using an extra feature bit.  However, the nvmeof ha monitor paxos
service has had a more complex development journey.  There are users
interested in using the nvmeof ha feature in squid, but it didn't make
the cutoff for backporting it.  There's an upstream nvmeof-squid branch
in the ceph.git repository with the patches backported for anyone
interested in building it.

However, that means that users of our normal stable releases will see
the feature added to the monitor one release after anyone who chooses to
use the nvmeof-squid branch.  We could disallow upgrades from
nvmeof-squid to T, but by adding a feature bit here we make such a
restriction unnecessary.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 months agoinclude/ceph_features: remove stray available marker
Samuel Just [Wed, 14 Aug 2024 19:22:23 +0000 (12:22 -0700)]
include/ceph_features: remove stray available marker

Should have been removed in caa9e7a45e.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 months agoqa/cephadm: add group param when applying nvmeof
Adam King [Fri, 9 Aug 2024 17:16:30 +0000 (13:16 -0400)]
qa/cephadm: add group param when applying nvmeof

Since it will now be required

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 41c5dbe9420efc2710280b7024f7e2b0f82686c7)

3 months agomgr/cephadm: make nvme-gw adds be able to handle multiple services/groups
Adam King [Wed, 31 Jul 2024 17:30:02 +0000 (13:30 -0400)]
mgr/cephadm: make nvme-gw adds be able to handle multiple services/groups

Before this was grabbing the service spec for the first daemon
description in the list. This meant every daemon would be added
with the pool/group of whatever that spec happened to specify.
This patch grabs the spec, and therefore also the pool/group
individually for each nvmeof daemon

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 2a6b105b8ae9cb63702d83461560e65b7fabd085)

3 months agomgr/cephadm: migrate nvmeof specs without group field
Adam King [Thu, 25 Jul 2024 17:36:07 +0000 (13:36 -0400)]
mgr/cephadm: migrate nvmeof specs without group field

As we have added the group field as a requirement for new
nvmeof specs and check for it in spec validation, we need
a migration to populate this field for specs we find that
don't have it.

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit d7b00eab08b006c5d10268a5aab7bc8dfc146c08)

3 months agomgr/orchestrator: require "group" field for nvmeof specs
Adam King [Thu, 25 Jul 2024 17:35:35 +0000 (13:35 -0400)]
mgr/orchestrator: require "group" field for nvmeof specs

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit f6d552d7c777f1160545188dcffa6b685b05ca8a)

3 months agomon/NVMeofGwSerialize.h: tabbing, bracing, line length fixes
Samuel Just [Sat, 13 Jul 2024 03:30:00 +0000 (03:30 +0000)]
mon/NVMeofGwSerialize.h: tabbing, bracing, line length fixes

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit d5e013f5928c959a0eeffd9c9eecd2166bcba2ce)

3 months agomon/NVMeofGwTypes.h: tabbing, bracing, line length fixes
Samuel Just [Sat, 13 Jul 2024 03:16:28 +0000 (03:16 +0000)]
mon/NVMeofGwTypes.h: tabbing, bracing, line length fixes

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit e0f0469f14eaf97c5253d2b6e309b1dd31be56bf)

3 months agomon/NVMeofGwMon.cc: tabbing, line length, formatting
Samuel Just [Sat, 13 Jul 2024 02:35:11 +0000 (02:35 +0000)]
mon/NVMeofGwMon.cc: tabbing, line length, formatting

- Retabs file to match emacs/vim modelines at top
- Fixes bracing
- Adjusts line length to 80 char

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit bff9dd47068f4a4afcdec117e841a3580cd36191)

3 months agomon/NVMeofGwMon.h: tabbing, line length, formatting
Samuel Just [Sat, 13 Jul 2024 02:16:02 +0000 (02:16 +0000)]
mon/NVMeofGwMon.h: tabbing, line length, formatting

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 1f470f0388b40bd58eef4191fb825a241f7f076f)

3 months agomon/NVMeofGwMap.h: tabbing, line length, formatting
Samuel Just [Sat, 13 Jul 2024 02:02:08 +0000 (02:02 +0000)]
mon/NVMeofGwMap.h: tabbing, line length, formatting

- Adjust method signatures to better match mon/
- Adjust line length to 80 characthers

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 58d16c73845a5dc208657ee2512cb885e48ee5b8)

3 months agomon/NVMeofGwMap.cc: tabbing, line length, formatting
Samuel Just [Sat, 13 Jul 2024 01:56:18 +0000 (01:56 +0000)]
mon/NVMeofGwMap.cc: tabbing, line length, formatting

- Retabs file to match emacs/vim modelines at top
- Fixes bracing
- Adjusts line length to 80 char

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 8bf309ecd7b59edb2dfb7d0e86e961bca20cd9cd)

3 months agomgr/cephadm: ceph nvmeof monitor support
Alexander Indenbaum [Mon, 10 Jun 2024 13:04:57 +0000 (13:04 +0000)]
mgr/cephadm: ceph nvmeof monitor support

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit 2946b195edfc0b6a5cfcc661079e351601707ecb)

3 months agomon: add NVMe-oF gateway monitor and HA doc
Alexander Indenbaum [Wed, 31 Jul 2024 08:51:17 +0000 (08:51 +0000)]
mon: add NVMe-oF gateway monitor and HA doc

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit bb75ddee8191ef474d1ffd8aae2ceca72a7cb668)

3 months agomon: add NVMe-oF gateway monitor and HA
Leonid Chernin [Tue, 17 Oct 2023 13:25:07 +0000 (13:25 +0000)]
mon: add NVMe-oF gateway monitor and HA

- gateway submodule

Fixes: https://tracker.ceph.com/issues/64777
This PR adds high availability support for the nvmeof Ceph service. High availability means that even in the case that a certain GW is down, there will be another available path for the initiator to be able to continue the IO through another GW. High availability is achieved by running nvmeof service consisting of at least 2 nvmeof GWs in the Ceph cluster. Every GW will be seen by the host (initiator) as a separate path to the nvme namespaces (volumes).

The implementation consists of the following main modules:

- NVMeofGWMon - a PaxosService. It is a monitor that tracks the status of the nvmeof running services, and take actions in case that services fail, and in case services restored.
- NVMeofGwMonitorClient – It is an agent that is running as a part of each nvmeof GW. It is sending beacons to the monitor to signal that the GW is alive. As a part of the beacon, the client also sends information about the service. This information is used by the monitor to take decisions and perform some operations.
- MNVMeofGwBeacon – It is a structure used by the client and the monitor to send/recv the beacons.
- MNVMeofGwMap – The map is tracking the nvmeof GWs status. It also defines what should be the new role of every GW. So in the events of GWs go down or GWs restored, the map will reflect the new role of each GW resulted by these events. The map is distributed to the NVMeofGwMonitorClient on each GW, and it knows to update the GW with the required changes.

It is also adding 3 new mon commands:
- nvme-gw create
- nvme-gw delete
- nvme-gw show

The commands are used by the ceph adm to update the monitor that a new GW is deployed. The monitor will update the map accordingly and will start tracking this GW until it is deleted.

Signed-off-by: Leonid Chernin <lechernin@gmail.com>
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit 5843c6b04bacf9a7c981fca5d874ab3400f855db)

3 months agoMerge pull request #66242 from kshtsk/wip-73816-squid
J. Eric Ivancich [Tue, 18 Nov 2025 16:46:38 +0000 (11:46 -0500)]
Merge pull request #66242 from kshtsk/wip-73816-squid

squid: rgw: update keystone repo stable branch to 2024.2

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
3 months agoMerge pull request #66251 from kshtsk/wip-73582-squid
kyr [Tue, 18 Nov 2025 16:22:18 +0000 (17:22 +0100)]
Merge pull request #66251 from kshtsk/wip-73582-squid

squid: qa/tasks/workunit: fix no module named 'pipes'

3 months agoMerge pull request #65922 from guits/wip-73514-squid
Guillaume Abrioux [Tue, 18 Nov 2025 12:45:22 +0000 (13:45 +0100)]
Merge pull request #65922 from guits/wip-73514-squid

squid: ceph-volume: use udev data instead of LVM subprocess in get_devices()

3 months agoqa/tasks/workunit: fix no module named 'pipes'
Kyr Shatskyy [Fri, 10 Oct 2025 19:37:21 +0000 (21:37 +0200)]
qa/tasks/workunit: fix no module named 'pipes'

Python 3.13 finally dropped the 'pipes' module,
replacing it with shlex.

Fixes: https://tracker.ceph.com/issues/73498
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
(cherry picked from commit da40484b9577aba21833e6b09c6129fe2d3c596c)

3 months agorgw: update keystone repo stable branch to 2024.2
Kyr Shatskyy [Tue, 11 Nov 2025 12:55:39 +0000 (13:55 +0100)]
rgw: update keystone repo stable branch to 2024.2

The stable/2024.1 is gone from the github repo:

  https://github.com/openstack/keystone.git

Fixes: https://tracker.ceph.com/issues/73800
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
(cherry picked from commit 998e4299af417221ac8102fe46c46967e88f0da4)

3 months agoMerge pull request #65584 from rzarzynski/wip-bug-72412-squid
Yuri Weinstein [Thu, 13 Nov 2025 18:14:01 +0000 (10:14 -0800)]
Merge pull request #65584 from rzarzynski/wip-bug-72412-squid

squid: osd: stop scrub_purged_snaps() from ignoring osd_beacon_report_interval

Reviewed-by: Prashant D <pdhange@redhat.com>