.Group mirroring no longer stays stuck in the `Enabling` state
Previously, an error message was not returned when attempting to enable mirroring on a group that already contained clone images. The mirroring state for the group became stuck in the `Enabling` state, preventing further operations on the group, including disabling.
With this fix, enabling mirroring on groups with clone images now fails gracefully and the `rbd mirror group enable` command now returns the correct error message.
Description of problem:
This bz is to track known issue of interim enable API failure, which the dev is working on.
The same is seen with below workflow, where trying to enable group mirroring on group containing clone images.
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group image add --image image1_clone --group group_1 --group-pool pool_1 --image-pool pool_1
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group image add --image image1_clone2 --group group_1 --group-pool pool_1 --image-pool pool_1
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd mirror group enable --pool pool_1 --group group_1
2025-04-01T10:33:36.341+0000 7f4dafc2a200 -1 librbd::api::mirror: image_enable: image has a parent, snapshot based mirroring is not supported
2025-04-01T10:33:36.341+0000 7f4dafc2a200 -1 librbd::api::mirror: group_enable: failed enabling image: image1_clone: (22) Invalid argument
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group image remove --image image1_clone --group group_1 --group-pool pool_1 --image-pool po
ol_1
rbd: remove image error: (22) Invalid argument
2025-04-01T10:35:17.066+0000 7fccc0eaf200 -1 librbd::api::group: image_remove: cannot remove image from mirror enabled group
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group info --pool pool_1 --group group_1
rbd group 'group_1':
id: 26b5f27729bb4
mirroring state: enabling
mirroring mode: snapshot
mirroring global id: 85e908ab-73b8-4163-91cf-764fac9e58e9
mirroring primary: false
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd mirror group disable --pool pool_1 --group group_1
Mirroring disabled
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group info --pool pool_1 --group group_1
rbd group 'group_1':
id: 26b5f27729bb4
mirroring state: enabling
mirroring mode: snapshot
mirroring global id: 85e908ab-73b8-4163-91cf-764fac9e58e9
mirroring primary: false
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]#
Version-Release number of selected component (if applicable):
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# ceph version
ceph version 19.2.1-57.el9cp (25ca432e5c2874ac833d0f13057a1b7d98913317) squid (stable)
[ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]#
Actual results: enabling mirroring on group containing clone images errors out with group mirroring state stuck in 'enabling'
Expected results: enabling mirroring on group containing clone images should error out with group mirroring state still staying in 'Disabled'
Additional info: NA
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory (Red Hat Ceph Storage 8.1 security and bug fix updates), and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2025:14015
Description of problem: This bz is to track known issue of interim enable API failure, which the dev is working on. The same is seen with below workflow, where trying to enable group mirroring on group containing clone images. [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group image add --image image1_clone --group group_1 --group-pool pool_1 --image-pool pool_1 [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group image add --image image1_clone2 --group group_1 --group-pool pool_1 --image-pool pool_1 [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd mirror group enable --pool pool_1 --group group_1 2025-04-01T10:33:36.341+0000 7f4dafc2a200 -1 librbd::api::mirror: image_enable: image has a parent, snapshot based mirroring is not supported 2025-04-01T10:33:36.341+0000 7f4dafc2a200 -1 librbd::api::mirror: group_enable: failed enabling image: image1_clone: (22) Invalid argument [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group image remove --image image1_clone --group group_1 --group-pool pool_1 --image-pool po ol_1 rbd: remove image error: (22) Invalid argument 2025-04-01T10:35:17.066+0000 7fccc0eaf200 -1 librbd::api::group: image_remove: cannot remove image from mirror enabled group [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group info --pool pool_1 --group group_1 rbd group 'group_1': id: 26b5f27729bb4 mirroring state: enabling mirroring mode: snapshot mirroring global id: 85e908ab-73b8-4163-91cf-764fac9e58e9 mirroring primary: false [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd mirror group disable --pool pool_1 --group group_1 Mirroring disabled [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# rbd group info --pool pool_1 --group group_1 rbd group 'group_1': id: 26b5f27729bb4 mirroring state: enabling mirroring mode: snapshot mirroring global id: 85e908ab-73b8-4163-91cf-764fac9e58e9 mirroring primary: false [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# Version-Release number of selected component (if applicable): [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# ceph version ceph version 19.2.1-57.el9cp (25ca432e5c2874ac833d0f13057a1b7d98913317) squid (stable) [ceph: root@ceph-rbd1-cg-ds-tf74dn-node1-installer /]# Actual results: enabling mirroring on group containing clone images errors out with group mirroring state stuck in 'enabling' Expected results: enabling mirroring on group containing clone images should error out with group mirroring state still staying in 'Disabled' Additional info: NA