)]}'
{"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":1786,"context_line":"        \"\"\"Try to demote volumes on the specified cluster."},{"line_number":1787,"context_line":""},{"line_number":1788,"context_line":"        :param volumes: List of volumes to demote"},{"line_number":1789,"context_line":"        :param remote: Remote config to demote on (default: self._active_config)"},{"line_number":1790,"context_line":"        :param until_failure: Stop on first failure if True"},{"line_number":1791,"context_line":"        :returns: List of booleans indicating which volumes were demoted"},{"line_number":1792,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ff12aa76_6c70ad60","line":1789,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2739,"context_line":"                    volume_name \u003d utils.convert_str(volume.name)"},{"line_number":2740,"context_line":"                    try:"},{"line_number":2741,"context_line":"                        # Use Group.remove_image()"},{"line_number":2742,"context_line":"                        self._group_remove_image(group_name, volume_name, client)"},{"line_number":2743,"context_line":"                        LOG.debug(\u0027Removed volume %(vol)s from group %(grp)s\u0027,"},{"line_number":2744,"context_line":"                                  {\u0027vol\u0027: volume_name, \u0027grp\u0027: group_name})"},{"line_number":2745,"context_line":"                    except (self.rbd.ImageNotFound, self.rbd.ObjectNotFound):"}],"source_content_type":"text/x-python","patch_set":1,"id":"19c4269e_42d27777","line":2742,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2743,"context_line":"                        LOG.debug(\u0027Removed volume %(vol)s from group %(grp)s\u0027,"},{"line_number":2744,"context_line":"                                  {\u0027vol\u0027: volume_name, \u0027grp\u0027: group_name})"},{"line_number":2745,"context_line":"                    except (self.rbd.ImageNotFound, self.rbd.ObjectNotFound):"},{"line_number":2746,"context_line":"                        LOG.warning(\u0027Volume %(vol)s not found in group %(grp)s\u0027,"},{"line_number":2747,"context_line":"                                    {\u0027vol\u0027: volume_name, \u0027grp\u0027: group_name})"},{"line_number":2748,"context_line":"                    except Exception as e:"},{"line_number":2749,"context_line":"                        LOG.error(\u0027Failed to remove volume %(vol)s from group: \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"809344fc_d9c25ecf","line":2746,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2746,"context_line":"                        LOG.warning(\u0027Volume %(vol)s not found in group %(grp)s\u0027,"},{"line_number":2747,"context_line":"                                    {\u0027vol\u0027: volume_name, \u0027grp\u0027: group_name})"},{"line_number":2748,"context_line":"                    except Exception as e:"},{"line_number":2749,"context_line":"                        LOG.error(\u0027Failed to remove volume %(vol)s from group: \u0027"},{"line_number":2750,"context_line":"                                  \u0027%(error)s\u0027, {\u0027vol\u0027: volume_name, \u0027error\u0027: e})"},{"line_number":2751,"context_line":"                        volumes_model_update.append({"},{"line_number":2752,"context_line":"                            \u0027id\u0027: volume.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"30dbcaa9_95bb4ebc","line":2749,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2747,"context_line":"                                    {\u0027vol\u0027: volume_name, \u0027grp\u0027: group_name})"},{"line_number":2748,"context_line":"                    except Exception as e:"},{"line_number":2749,"context_line":"                        LOG.error(\u0027Failed to remove volume %(vol)s from group: \u0027"},{"line_number":2750,"context_line":"                                  \u0027%(error)s\u0027, {\u0027vol\u0027: volume_name, \u0027error\u0027: e})"},{"line_number":2751,"context_line":"                        volumes_model_update.append({"},{"line_number":2752,"context_line":"                            \u0027id\u0027: volume.id,"},{"line_number":2753,"context_line":"                            \u0027status\u0027: \u0027error_deleting\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a32c042_4cefd706","line":2750,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2790,"context_line":"                        volume_name \u003d utils.convert_str(volume.name)"},{"line_number":2791,"context_line":"                        try:"},{"line_number":2792,"context_line":"                            # Use Group.add_image()"},{"line_number":2793,"context_line":"                            self._group_add_image(group_name, volume_name, client)"},{"line_number":2794,"context_line":"                            LOG.debug(\u0027Added volume %(vol)s to group %(grp)s\u0027,"},{"line_number":2795,"context_line":"                                      {\u0027vol\u0027: volume_name, \u0027grp\u0027: group_name})"},{"line_number":2796,"context_line":"                        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"51dd1265_64e4fbc5","line":2793,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2808,"context_line":"                        volume_name \u003d utils.convert_str(volume.name)"},{"line_number":2809,"context_line":"                        try:"},{"line_number":2810,"context_line":"                            # Use Group.remove_image()"},{"line_number":2811,"context_line":"                            self._group_remove_image(group_name, volume_name, client)"},{"line_number":2812,"context_line":"                            LOG.debug(\u0027Removed volume %(vol)s from group \u0027"},{"line_number":2813,"context_line":"                                      \u0027%(grp)s\u0027,"},{"line_number":2814,"context_line":"                                      {\u0027vol\u0027: volume_name, \u0027grp\u0027: group_name})"}],"source_content_type":"text/x-python","patch_set":1,"id":"840a30a7_408bdc41","line":2811,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2857,"context_line":"        group_name \u003d self._get_group_name(group_snapshot.group)"},{"line_number":2858,"context_line":"        # Use group-snapshot- prefix to distinguish from individual snapshots"},{"line_number":2859,"context_line":"        snap_name \u003d \u0027group-snapshot-\u0027 + utils.convert_str(group_snapshot.id)"},{"line_number":2860,"context_line":"        pool \u003d self.configuration.rbd_pool"},{"line_number":2861,"context_line":"        snapshots_model_update \u003d []"},{"line_number":2862,"context_line":""},{"line_number":2863,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fe04ed64_12275e6b","line":2860,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: F841 local variable \u0027pool\u0027 is assigned to but never used","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2912,"context_line":"        group_name \u003d self._get_group_name(group_snapshot.group)"},{"line_number":2913,"context_line":"        # Use same naming as create_group_snapshot"},{"line_number":2914,"context_line":"        snap_name \u003d \u0027group-snapshot-\u0027 + utils.convert_str(group_snapshot.id)"},{"line_number":2915,"context_line":"        pool \u003d self.configuration.rbd_pool"},{"line_number":2916,"context_line":"        snapshots_model_update \u003d []"},{"line_number":2917,"context_line":""},{"line_number":2918,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff6580e5_a032cd4d","line":2915,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: F841 local variable \u0027pool\u0027 is assigned to but never used","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2916,"context_line":"        snapshots_model_update \u003d []"},{"line_number":2917,"context_line":""},{"line_number":2918,"context_line":"        try:"},{"line_number":2919,"context_line":"            # Delete individual volume snapshots (created in create_group_snapshot)"},{"line_number":2920,"context_line":"            for snapshot in snapshots:"},{"line_number":2921,"context_line":"                try:"},{"line_number":2922,"context_line":"                    volume_name \u003d utils.convert_str(snapshot.volume_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9cf7a166_ad58215b","line":2919,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":2935,"context_line":"                        \u0027status\u0027: fields.SnapshotStatus.DELETED"},{"line_number":2936,"context_line":"                    })"},{"line_number":2937,"context_line":"                except self.rbd.ImageNotFound:"},{"line_number":2938,"context_line":"                    LOG.warning(\u0027Snapshot %(snap)s or volume %(vol)s not found\u0027,"},{"line_number":2939,"context_line":"                                {\u0027snap\u0027: snap_name, \u0027vol\u0027: volume_name})"},{"line_number":2940,"context_line":"                    snapshots_model_update.append({"},{"line_number":2941,"context_line":"                        \u0027id\u0027: snapshot.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"f64760d3_74fee6a6","line":2938,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3005,"context_line":"            # Clone volumes from snapshots or source volumes"},{"line_number":3006,"context_line":"            if group_snapshot and snapshots:"},{"line_number":3007,"context_line":"                # Create from group snapshot"},{"line_number":3008,"context_line":"                # Note: All volume snapshots were created with group-snapshot- prefix"},{"line_number":3009,"context_line":"                # (see create_group_snapshot)"},{"line_number":3010,"context_line":"                group_snap_name \u003d \u0027group-snapshot-\u0027 + utils.convert_str(group_snapshot.id)"},{"line_number":3011,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"67c4cf52_b0384b88","line":3008,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3007,"context_line":"                # Create from group snapshot"},{"line_number":3008,"context_line":"                # Note: All volume snapshots were created with group-snapshot- prefix"},{"line_number":3009,"context_line":"                # (see create_group_snapshot)"},{"line_number":3010,"context_line":"                group_snap_name \u003d \u0027group-snapshot-\u0027 + utils.convert_str(group_snapshot.id)"},{"line_number":3011,"context_line":""},{"line_number":3012,"context_line":"                for volume, snapshot in zip(volumes, snapshots):"},{"line_number":3013,"context_line":"                    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"f83eaa54_f77d84c7","line":3010,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3013,"context_line":"                    try:"},{"line_number":3014,"context_line":"                        # Clone volume from snapshot using group snapshot name"},{"line_number":3015,"context_line":"                        self._clone(volume, pool, snapshot.volume_name,"},{"line_number":3016,"context_line":"                                   group_snap_name)"},{"line_number":3017,"context_line":""},{"line_number":3018,"context_line":"                        # Add volume to group using Group.add_image()"},{"line_number":3019,"context_line":"                        with RADOSClient(self, pool) as client:"}],"source_content_type":"text/x-python","patch_set":1,"id":"15cf118e_5961ec02","line":3016,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3018,"context_line":"                        # Add volume to group using Group.add_image()"},{"line_number":3019,"context_line":"                        with RADOSClient(self, pool) as client:"},{"line_number":3020,"context_line":"                            volume_name \u003d utils.convert_str(volume.name)"},{"line_number":3021,"context_line":"                            self._group_add_image(group_name, volume_name, client)"},{"line_number":3022,"context_line":""},{"line_number":3023,"context_line":"                        volumes_model_update.append({"},{"line_number":3024,"context_line":"                            \u0027id\u0027: volume.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a2714ee_2b8c3546","line":3021,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3034,"context_line":"                        })"},{"line_number":3035,"context_line":""},{"line_number":3036,"context_line":"            elif source_group and source_vols:"},{"line_number":3037,"context_line":"                # Create from source group - create individual temporary snapshots"},{"line_number":3038,"context_line":"                # Note: RBD group snapshots don\u0027t create cloneable individual"},{"line_number":3039,"context_line":"                # volume snapshots, so we create temporary snapshots manually"},{"line_number":3040,"context_line":"                temp_snap_name \u003d \u0027temp_\u0027 + group_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"48ae8cb4_d5aa9060","line":3037,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3051,"context_line":"                            created_snaps.append(src_name)"},{"line_number":3052,"context_line":"                            LOG.debug(\u0027Created temporary snapshot %(snap)s on \u0027"},{"line_number":3053,"context_line":"                                      \u0027volume %(vol)s\u0027,"},{"line_number":3054,"context_line":"                                      {\u0027snap\u0027: temp_snap_name, \u0027vol\u0027: src_name})"},{"line_number":3055,"context_line":"                        except Exception as e:"},{"line_number":3056,"context_line":"                            LOG.error(\u0027Failed to create temporary snapshot on \u0027"},{"line_number":3057,"context_line":"                                      \u0027volume %(vol)s: %(error)s\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"dd9ea302_65e26ce7","line":3054,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3068,"context_line":"                            # Add volume to new group using Group.add_image()"},{"line_number":3069,"context_line":"                            with RADOSClient(self, pool) as client:"},{"line_number":3070,"context_line":"                                dest_name \u003d utils.convert_str(volume.name)"},{"line_number":3071,"context_line":"                                self._group_add_image(group_name, dest_name, client)"},{"line_number":3072,"context_line":""},{"line_number":3073,"context_line":"                            volumes_model_update.append({"},{"line_number":3074,"context_line":"                                \u0027id\u0027: volume.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6c52f7ff_a52e8005","line":3071,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3089,"context_line":"                            with RBDVolumeProxy(self, src_name) as src_image:"},{"line_number":3090,"context_line":"                                src_image.unprotect_snap(temp_snap_name)"},{"line_number":3091,"context_line":"                                src_image.remove_snap(temp_snap_name)"},{"line_number":3092,"context_line":"                            LOG.debug(\u0027Removed temporary snapshot %(snap)s from \u0027"},{"line_number":3093,"context_line":"                                      \u0027volume %(vol)s\u0027,"},{"line_number":3094,"context_line":"                                      {\u0027snap\u0027: temp_snap_name, \u0027vol\u0027: src_name})"},{"line_number":3095,"context_line":"                        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"981257b4_f395c815","line":3092,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3091,"context_line":"                                src_image.remove_snap(temp_snap_name)"},{"line_number":3092,"context_line":"                            LOG.debug(\u0027Removed temporary snapshot %(snap)s from \u0027"},{"line_number":3093,"context_line":"                                      \u0027volume %(vol)s\u0027,"},{"line_number":3094,"context_line":"                                      {\u0027snap\u0027: temp_snap_name, \u0027vol\u0027: src_name})"},{"line_number":3095,"context_line":"                        except Exception as e:"},{"line_number":3096,"context_line":"                            LOG.warning(\u0027Failed to delete temporary snapshot \u0027"},{"line_number":3097,"context_line":"                                        \u0027%(snap)s from volume %(vol)s: %(error)s\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfee025f_51299afa","line":3094,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3094,"context_line":"                                      {\u0027snap\u0027: temp_snap_name, \u0027vol\u0027: src_name})"},{"line_number":3095,"context_line":"                        except Exception as e:"},{"line_number":3096,"context_line":"                            LOG.warning(\u0027Failed to delete temporary snapshot \u0027"},{"line_number":3097,"context_line":"                                        \u0027%(snap)s from volume %(vol)s: %(error)s\u0027,"},{"line_number":3098,"context_line":"                                        {\u0027snap\u0027: temp_snap_name, \u0027vol\u0027: src_name,"},{"line_number":3099,"context_line":"                                         \u0027error\u0027: e})"},{"line_number":3100,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"2d4127af_864d978f","line":3097,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3095,"context_line":"                        except Exception as e:"},{"line_number":3096,"context_line":"                            LOG.warning(\u0027Failed to delete temporary snapshot \u0027"},{"line_number":3097,"context_line":"                                        \u0027%(snap)s from volume %(vol)s: %(error)s\u0027,"},{"line_number":3098,"context_line":"                                        {\u0027snap\u0027: temp_snap_name, \u0027vol\u0027: src_name,"},{"line_number":3099,"context_line":"                                         \u0027error\u0027: e})"},{"line_number":3100,"context_line":""},{"line_number":3101,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5b64b9a5_9d7da9f9","line":3098,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3113,"context_line":"        RBD uses image-level mirroring to simulate group-level replication."},{"line_number":3114,"context_line":"        \"\"\""},{"line_number":3115,"context_line":"        if not volume_utils.is_group_a_type(group,"},{"line_number":3116,"context_line":"                                            \u0027consistent_group_replication_enabled\u0027):"},{"line_number":3117,"context_line":"            raise NotImplementedError()"},{"line_number":3118,"context_line":""},{"line_number":3119,"context_line":"        if not self._is_replication_enabled:"}],"source_content_type":"text/x-python","patch_set":1,"id":"07cce887_d517f010","line":3116,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3155,"context_line":"        RBD uses image-level mirroring to simulate group-level replication."},{"line_number":3156,"context_line":"        \"\"\""},{"line_number":3157,"context_line":"        if not volume_utils.is_group_a_type(group,"},{"line_number":3158,"context_line":"                                            \u0027consistent_group_replication_enabled\u0027):"},{"line_number":3159,"context_line":"            raise NotImplementedError()"},{"line_number":3160,"context_line":""},{"line_number":3161,"context_line":"        if not self._is_replication_enabled:"}],"source_content_type":"text/x-python","patch_set":1,"id":"f731c0c8_00ad831c","line":3158,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3163,"context_line":"            LOG.error(msg)"},{"line_number":3164,"context_line":"            raise exception.UnableToFailOver(reason\u003dmsg)"},{"line_number":3165,"context_line":""},{"line_number":3166,"context_line":"        model_update \u003d {\u0027replication_status\u0027: fields.ReplicationStatus.DISABLED}"},{"line_number":3167,"context_line":"        volumes_update \u003d []"},{"line_number":3168,"context_line":""},{"line_number":3169,"context_line":"        for volume in volumes:"}],"source_content_type":"text/x-python","patch_set":1,"id":"8694fdcb_5a6679e3","line":3166,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3198,"context_line":"        RBD uses image-level mirroring to simulate group-level replication."},{"line_number":3199,"context_line":"        \"\"\""},{"line_number":3200,"context_line":"        if not volume_utils.is_group_a_type(group,"},{"line_number":3201,"context_line":"                                            \u0027consistent_group_replication_enabled\u0027):"},{"line_number":3202,"context_line":"            raise NotImplementedError()"},{"line_number":3203,"context_line":""},{"line_number":3204,"context_line":"        if not self._is_replication_enabled:"}],"source_content_type":"text/x-python","patch_set":1,"id":"8a8c9042_e7847296","line":3201,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3220,"context_line":"                raise exception.InvalidReplicationTarget(reason\u003dmsg)"},{"line_number":3221,"context_line":"            replication_status \u003d fields.ReplicationStatus.FAILED_OVER"},{"line_number":3222,"context_line":"        else:"},{"line_number":3223,"context_line":"            msg \u003d _(\"secondary_backend_id must be specified for failover.\")"},{"line_number":3224,"context_line":"            LOG.error(msg)"},{"line_number":3225,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":3226,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"a5270026_cddb4e8d","line":3223,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: F823 local variable \u0027_\u0027 defined in enclosing scope on line 46 referenced before assignment","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3239,"context_line":"                driver_data \u003d json.loads("},{"line_number":3240,"context_line":"                    volumes[0].replication_driver_data or \u0027{}\u0027)"},{"line_number":3241,"context_line":"                current_backend_id \u003d driver_data.get(\u0027active_backend_id\u0027,"},{"line_number":3242,"context_line":"                                                      \u0027default\u0027)"},{"line_number":3243,"context_line":"            except (ValueError, TypeError, AttributeError):"},{"line_number":3244,"context_line":"                # If we can\u0027t parse driver_data, assume primary site"},{"line_number":3245,"context_line":"                LOG.warning(\u0027Failed to parse replication_driver_data for \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7d430fc1_04276c09","line":3242,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3267,"context_line":"                self._exec_on_volume(volume.name, remote,"},{"line_number":3268,"context_line":"                                     \u0027mirror_image_promote\u0027, not is_demoted)"},{"line_number":3269,"context_line":""},{"line_number":3270,"context_line":"                # Update volume\u0027s replication_driver_data to track new active backend"},{"line_number":3271,"context_line":"                # Preserve existing data (had_journaling, had_exclusive_lock)"},{"line_number":3272,"context_line":"                try:"},{"line_number":3273,"context_line":"                    existing_data \u003d json.loads("}],"source_content_type":"text/x-python","patch_set":1,"id":"ae327f32_e4f66b72","line":3270,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"42c39e325701220a59aaabf61703316f392632a7","unresolved":false,"context_lines":[{"line_number":3288,"context_line":"                          {\u0027vol\u0027: volume.name, \u0027err\u0027: e})"},{"line_number":3289,"context_line":"                volumes_update.append({"},{"line_number":3290,"context_line":"                    \u0027id\u0027: volume.id,"},{"line_number":3291,"context_line":"                    \u0027replication_status\u0027: fields.ReplicationStatus.FAILOVER_ERROR"},{"line_number":3292,"context_line":"                })"},{"line_number":3293,"context_line":"                model_update[\u0027replication_status\u0027] \u003d ("},{"line_number":3294,"context_line":"                    fields.ReplicationStatus.ERROR)"}],"source_content_type":"text/x-python","patch_set":1,"id":"0582df55_50e96e85","line":3291,"updated":"2026-07-06 20:45:07.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"9178c07c7b0e38ca0d53977cf5b7eb5ea847554c"}]}
