]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
3 months agosrc/nvmeof/NVMeofGwMonitorClient: support secure gateway gRPC connection
Alexander Indenbaum [Tue, 4 Jun 2024 08:53:16 +0000 (08:53 +0000)]
src/nvmeof/NVMeofGwMonitorClient: support secure gateway gRPC connection

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

NVMeofGwMonitorClient: fix tls

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit 099182b20d80bf6525f46eb425c6dcf5d0b52444)
Resolves: rhbz#2282833
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agosrc/pybind/mgr/cephadm/services/nvmeof.py: replace assertions with raising Orchestrat...
Alexander Indenbaum [Mon, 20 May 2024 14:46:09 +0000 (17:46 +0300)]
src/pybind/mgr/cephadm/services/nvmeof.py: replace assertions with raising OrchestratorError

Resolves: rhbz#2281886

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agoForce failover for GW that performed full startup in Available state
Leonid Chernin [Thu, 16 May 2024 15:54:56 +0000 (15:54 +0000)]
Force failover for GW that performed full startup in Available state

Resolves: rhbz#2281471

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
(cherry picked from commit 149e13f8da960f3f96d2267596cea821e0e3ebe4)
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agosrc/pybind/mgr/cephadm/services/nvmeof.py: restore pool/group config logic
Alexander Indenbaum [Sun, 19 May 2024 07:05:14 +0000 (10:05 +0300)]
src/pybind/mgr/cephadm/services/nvmeof.py: restore pool/group config logic

Resolves: rhbz#2281465

- restore logic removed by conflict resolution in 314f6929731c1fdd9c59b5da78b23fb559531556
- logging before assertion

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agoceph-nvmeof-mon fixes
Alexander Indenbaum [Thu, 9 May 2024 11:46:31 +0000 (11:46 +0000)]
ceph-nvmeof-mon fixes

Resolves: rhbz#2279862

- ceph-nvmeof-mon: nvme-gw create/delete
  * move creation to the `daemon_check_post` method to prevent zombie creation.
    this change aligns with the dashboard logic, which uses the same callback.
  * implement `purge` method to ensure that no zombie gateways are left behind
    once the service is removed.
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
- nvmeof service spec: enable_monitor_client by default
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
- fix gw stuck in  ana-state GW_WAIT_FAILBACK_PREPARED
Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit b0c764b6e22fbb51f59e469d9dd99895c152f73e)

3 months agoceph-nvmeof-mon fixes
Alexander Indenbaum [Tue, 2 Apr 2024 10:36:04 +0000 (10:36 +0000)]
ceph-nvmeof-mon fixes

Resolves: rhbz#2280205

- NVMeofGwMonitorClient: assert gateway state does not vanish
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
- send unavailable in beacon response to gw that did not exit after failover
Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
- fix blacklist start when osd is not writtable
Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
- Clean up

  - NVMeofGwTypes: remove copied_nonce_map cleanup
  - NVMeofGwMon.h: fix weird spacing
  - NVMeofGwMon.cc: dout(4) to dout(10)
  - NVMeofGwMon.cc: rm commented out code

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

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

3 months agoceph-nvmeof-mon fixes
Leonid Chernin [Thu, 25 Apr 2024 12:01:17 +0000 (12:01 +0000)]
ceph-nvmeof-mon fixes

Resolves: rhbz#2277947

- add validation of the map after each  map decision

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
  (cherry picked from commit c2f883d032c4f4cabbaccd69bce53aff9f368efa)

- added availability per gw  to the exported map

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
  (cherry picked from commit dbda4f7a5220c930ae1e10ff6a92287171d5e9f4)

- src/nvmeof/NVMeofGwMonitorClient.cc: panic if the monitor flags gateway as unavailable

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

- ceph-nvmeof-mon: disconnect panic nvmeof_mon_client_disc

  * extract nvmeof_mon_client_disc conf option
  * default value 100 secs

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

(cherry picked from commit 041933408e62a4f3be449025a7e0438efb531a2e)
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agoceph nvmeof monitor
Alexander Indenbaum [Sun, 21 Apr 2024 14:00:22 +0000 (14:00 +0000)]
ceph nvmeof monitor

Resolves: rhbz#2277099

- src/messages/MNVMeofGwMap.h: add version

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

- NVMeofGwMonitorClient: implement monitor disconnect panic

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

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit 29299a83a4f4b79a83cc1187e32d40ce79f2bb9a)
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agoceph-nvmeof-mon: fixes
Alexander Indenbaum [Mon, 8 Apr 2024 18:18:59 +0000 (18:18 +0000)]
ceph-nvmeof-mon: fixes

- gw subsystems update
  propose state change when subsystems reported by the gateway changes.
  otherwise, only the initially reported subsystem is handled, and any
  new subsystem listener ana groups could remain "unreachable".

  example of the bug: https://github.com/ceph/ceph-nvmeof/actions/runs/8603572675/job/23576286745?pr=560

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

- fixing  issue : same group set to Active on 2 gws

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
  (cherry picked from commit f2d3d29695b43481b7c8ef46c3d200e9bb0a9764)

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit 1c8eaaed171338ca430801cd2a0de955426cce1d)
Resolves: rhbz#2275103

3 months agonvmeof: fix backport commit
Alexander Indenbaum [Wed, 10 Apr 2024 08:42:12 +0000 (11:42 +0300)]
nvmeof: fix backport commit

Resolves bug introduced in fcfa6e797f021886971e3af97a5158797cd2d96f
There are two 'fsid' references as self scoped variables in upstream,
should be local variables in downstream.

Resolves: rhbz#2274305

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agocephadm: nvmeof backports
Alexander Indenbaum [Sun, 7 Apr 2024 08:14:29 +0000 (11:14 +0300)]
cephadm: nvmeof backports

- commit 70c00e8ba787d9e9106934cfee0e0afa606ce326
  Author: Adam King <adking@redhat.com>
  Date:   Mon Jan 29 11:23:54 2024 -0500

    cephadm: fix get_version for nvmeof

    This needed to be using the container id it was
    passed, instead of ctx.image which is likely to
    be `None` when this is run.

Fixes: https://tracker.ceph.com/issues/64229
Signed-off-by: Adam King <adking@redhat.com>
- commit 5c613b3788d9ae686b4dc29d9414674ecb6f6adb
  Author: Roy Sahar <royswi@gmail.com>
  Date:   Thu Feb 8 17:58:43 2024 +0200

    nvmeof: Add mount for log location

Signed-off-by: Roy Sahar <royswi@gmail.com>
- commit 726050aa3fd1ce2b21539fdd632b16e880bf2946
  Author: Roy Sahar <royswi@gmail.com>
  Date:   Wed Apr 3 12:21:05 2024 +0300

    Ceph NVMEoF Gateway - add mtls folder for nvmeof container

Signed-off-by: Roy Sahar <royswi@gmail.com>
Resolves: rhbz#2273837

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agoceph-nvmeof-mon fixes
Leonid Chernin [Wed, 3 Apr 2024 07:59:36 +0000 (07:59 +0000)]
ceph-nvmeof-mon fixes

- Remove last_leader logic, some  cleanups in NVMeofGwMon.h
  (cherry picked from commit 20bd67ee3dc6c4038f40a71c170683d2488efd1f)

- fix slow ops
  (cherry picked from commit 12ef028e30def7f77ac937868a61e7891cb9e8f2)

Resolves: rhbz#2273836
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 months agoceph-nvmeof-mon fixes
Leonid Chernin [Sun, 31 Mar 2024 13:37:26 +0000 (13:37 +0000)]
ceph-nvmeof-mon fixes

- remove observer from NVMeofMon
Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
  (cherry picked from commit a20fb90357990abac6d2696949e48ef4fa5a7880)

- fix assert issue in find_failback_gw - failover_peers array was removed
Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
  (cherry picked from commit 4c6a9b3ed194eb7837e6b341aba227042e497078)

- try to resolve slow ops
  It seems that if monitor preprocess_query(MonOpRequestRef op) returns
  true, then  mon.reply_command() should be called. Remove path which
  returns true without mon.reply_command() call.
  (cherry picked from commit 99a345cb0d70851addc33aa3fa7fe07ed5d67b94)

  Resolves: rhbz#2272663

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

3 months agosrc/mon/NVMeofGwMon.cc: reef backport
Alexander Indenbaum [Thu, 21 Mar 2024 10:37:46 +0000 (10:37 +0000)]
src/mon/NVMeofGwMon.cc: reef backport

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
Resolves: rhbz#2272661

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 2 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.

Resolves rhbz#2272661

Signed-off-by: Leonid Chernin <lechernin@gmail.com>
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
(cherry picked from commit bf9505fb569e9b95a78f9700ed8c4bd20508ef55)
additional commits:
(cherry picked from commit 4f543c150503fc9ee3c4d840b6eb5ed43e15905b)
(cherry picked from commit 7af4d96530531b1458e5d02bd9f706bb8c30c2ea)
(cherry picked from commit 249951b5545d857861562ef7a90f876cb8f3d778)
(cherry picked from commit f704d0c84257701fcbf8891dd5f285c890343219)

3 months agoMerge pull request #66320 from cbodley/wip-doc-reef-rgw-metrics
Casey Bodley [Wed, 19 Nov 2025 16:14:21 +0000 (11:14 -0500)]
Merge pull request #66320 from cbodley/wip-doc-reef-rgw-metrics

reef: doc/rgw: remove metrics.rst which did not apply to reef

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 months agodoc/rgw: remove metrics.rst which did not apply to reef
Casey Bodley [Wed, 19 Nov 2025 15:40:30 +0000 (10:40 -0500)]
doc/rgw: remove metrics.rst which did not apply to reef

metrics.rst was backported in full due to conflicts from changes
in 1a3f3c9a8d2cd20821ebf3d45a452e18ccad4a64. these features don't exist
on reef, so remove the whole page

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #66243 from kshtsk/wip-73817-reef
J. Eric Ivancich [Tue, 18 Nov 2025 16:46:31 +0000 (11:46 -0500)]
Merge pull request #66243 from kshtsk/wip-73817-reef

reef: rgw: update keystone repo stable branch to 2024.2

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

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

3 months agoMerge pull request #66272 from idryomov/wip-69492-reef
Yuri Weinstein [Tue, 18 Nov 2025 15:31:32 +0000 (07:31 -0800)]
Merge pull request #66272 from idryomov/wip-69492-reef

reef: rbd-mirror: add cluster fsid to remote meta cache key

Reviewed-by: Mykola Golub <mgolub@suse.com>
3 months agoMerge pull request #61275 from kotreshhr/wip-68941-reef
Venky Shankar [Tue, 18 Nov 2025 11:34:54 +0000 (17:04 +0530)]
Merge pull request #61275 from kotreshhr/wip-68941-reef

reef: ceph-fuse: Improve fuse mount usage message

Reviewed-by: Jos Collin <jcollin@redhat.com>
3 months agorbd-mirror: add cluster fsid to remote meta cache key
Mykola Golub [Fri, 3 Oct 2025 12:40:54 +0000 (15:40 +0300)]
rbd-mirror: add cluster fsid to remote meta cache key

Using just pool id is not enough when mirroring several clusters.

Fixes: https://tracker.ceph.com/issues/69492
Signed-off-by: Mykola Golub <mykola.golub@clyso.com>
(cherry picked from commit dfa23483aa2828004fe588f9c23f398a29b03323)

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 agoMerge pull request #63069 from rishabh-d-dave/wip-71149-reef
Kotresh HR [Fri, 14 Nov 2025 05:14:39 +0000 (10:44 +0530)]
Merge pull request #63069 from rishabh-d-dave/wip-71149-reef

reef: mgr/vol: don't delete user-created pool in "volume create" command

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 agoqa/cephfs: test that user created pool is not deleted by...
Rishabh Dave [Wed, 16 Apr 2025 08:47:18 +0000 (14:17 +0530)]
qa/cephfs: test that user created pool is not deleted by...

"volume create" command.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit ad1716ff15743dc45d88ddb529b4705b6bd780a6)

3 months agomgr/vol: don't delete user-created pool in "volume create" command
Rishabh Dave [Wed, 16 Apr 2025 08:24:27 +0000 (13:54 +0530)]
mgr/vol: don't delete user-created pool in "volume create" command

If one of the pool names passed to "ceph fs volume create" command
(through --data-pool and --meta-pool name) is absent, don't delete the
pool that is present and passed to this command during the cleanup code
of this command.

IOW, "volume create" command should continue deleting pool created by it
but not delete pool created by the user.

Fixes: https://tracker.ceph.com/issues/70945
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 4299f660ba9c83ef9305b2834c195da9008810a9)

3 months agodoc/cephfs: mention new options for "fs volume create" cmd
Rishabh Dave [Mon, 3 Mar 2025 16:36:10 +0000 (22:06 +0530)]
doc/cephfs: mention new options for "fs volume create" cmd

Command "ceph fs volume create" accepts 2 new options to allow users to
pass data and metadata pool name. Update docs to include mention of both
the options.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 3044bf7e4b667fb5de5062c41e22e866fc6bb9a6)

3 months agoqa/cephfs: test passing pool names to "fs volume create" cmd
Rishabh Dave [Sat, 8 Feb 2025 14:42:08 +0000 (20:12 +0530)]
qa/cephfs: test passing pool names to "fs volume create" cmd

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 3ae193035c8cca41a699d796e012ea5b23517767)

Conflicts:
qa/tasks/cephfs/test_volumes.py
- Imports on reef branch are slightly different from main branch leading
  to a conflict.

3 months agoqa/cephfs: separate the tests for "ceph fs volume create" cmd
Rishabh Dave [Wed, 5 Mar 2025 11:10:11 +0000 (16:40 +0530)]
qa/cephfs: separate the tests for "ceph fs volume create" cmd

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 058769c131754539efcb7f46164f7f164ecb1b13)

3 months agomgr/vol: allow passing pool names to "fs volume create" cmd
Rishabh Dave [Sat, 8 Feb 2025 14:30:37 +0000 (20:00 +0530)]
mgr/vol: allow passing pool names to "fs volume create" cmd

Fixes: https://tracker.ceph.com/issues/69878
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit e794a19fd0da92c4331702ed4c35e9d659e53f81)

3 months agoMerge pull request #66002 from cbodley/wip-73597-reef
Casey Bodley [Wed, 12 Nov 2025 22:11:47 +0000 (17:11 -0500)]
Merge pull request #66002 from cbodley/wip-73597-reef

reef: rgw: fix 'bucket rm --bypass-gc' for copied objects

Reviewed-by: Adam Emerson <aemerson@redhat.com>