)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"95015c874653a23a58592fb27f43cc8904873672","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1e215ad3_9ef2e598","updated":"2023-08-21 10:06:22.000000000","message":"Code changes and UT look good.\nJust a minor observation inline.","commit_id":"c29e7c31f99de43601db47e04e976b4ec2af2eed"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"e05d5eb7c603436ea7a14f6f76cecf8397d2f467","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"29110045_5c995214","updated":"2023-08-12 14:32:46.000000000","message":"recheck","commit_id":"c29e7c31f99de43601db47e04e976b4ec2af2eed"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"142980b381403de0a4b32552743623d362e45eb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3da473fe_a7849da7","updated":"2023-08-16 14:56:57.000000000","message":"recheck","commit_id":"c29e7c31f99de43601db47e04e976b4ec2af2eed"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"6967f589b29f68e4a2156839d3d015096021f6df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b7b6cc7a_f754bf55","updated":"2023-08-16 19:42:22.000000000","message":"recheck","commit_id":"c29e7c31f99de43601db47e04e976b4ec2af2eed"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"aa488d110c9fffcf3533a61e489e0ab12322b88e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bc51647d_cb68d676","updated":"2023-08-12 18:54:08.000000000","message":"recheck","commit_id":"c29e7c31f99de43601db47e04e976b4ec2af2eed"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"34d6868c8d56cefb9cc9b44d1baa7b3caed3ebb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f0c1cb41_d0993969","updated":"2023-09-06 23:04:32.000000000","message":"As discussed in today\u0027s cinder meeting, the UTs can be added as a follow up. Pure CI is passing, LGTM.","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"f76b70b9a2ecfe4aa07bd08a6b2e5d0458954a71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3e223acb_0c9a1786","updated":"2023-08-23 20:52:10.000000000","message":"LGTM, just a minor question inline.","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"33cbd535669a32b9ffebce9b934dd9cca0600520","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"34106178_91680d8a","updated":"2023-08-23 04:58:38.000000000","message":"My comment has been addressed. Zuul and Pure CI have passed. So +1.","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"cb64798c2789b98009495dca36d5400806bf73b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bd74d9c2_1d3d9e4c","updated":"2023-09-07 11:46:20.000000000","message":"This looks good to me as well, Simon agreed to provide unit tests soon.","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"8c0abcd5e175fefca4070f9e00f211f059baeb6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3252b1f1_807e8fed","updated":"2023-09-06 15:54:05.000000000","message":"Unit Tests will be added as a follw up patch","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"993a7a415bff755358985a492812700cda728e47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"893f026d_626fc277","updated":"2023-09-02 06:57:25.000000000","message":"We need to add unit test for the new code we are adding","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"faf04e33eb83ff1dd61b6961833a6e50baa11573","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0f542751_eae8f475","updated":"2023-09-07 19:19:07.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"5db5d4a3a836d8076f55db5c34ed4af75fe41ba5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"21a90840_52727d3e","updated":"2023-09-07 16:51:36.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"4f24e1224a8d90aaa7b17b555fa63eaa044aec0d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2cf2ba58_424fdf18","updated":"2023-09-08 19:43:51.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"852f7318bfabda5e36fb75905ca694b51aee5535","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4d08b1c7_0144499f","updated":"2023-09-08 13:08:02.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"8f5dd8712cff582ce898cbf7d585f94a3f8b7c8f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"86248af1_f439547a","updated":"2023-09-08 03:23:10.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"43952675e1fd9f13da61aa9051a66908554ead59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a4a25080_bf5a3b37","updated":"2023-09-09 03:30:50.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"5ac58bbb892ad7ca484b18b8e778a0f542e40f26","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b0c931fd_a6b7772e","updated":"2023-09-08 15:22:00.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"e8ce67535c851d86e23cf8d29431dbd39c8a0afb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c2c4559a_471637a7","updated":"2023-09-07 21:51:19.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"e677e957270513ddfe2af2a1d26aea0a73eab68a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c8ea3ace_ab7a475c","updated":"2023-09-08 23:51:03.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"35fa472043ba7205145a20f11da2a04bca9eee7f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ce3e7b4f_f4247ddd","updated":"2023-09-07 14:02:54.000000000","message":"recheck","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"91db36d030b6bef67484572c38e66c686c154564","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8cc0919a_be40113e","updated":"2023-08-22 17:20:15.000000000","message":"run Pure Storage CI","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"72a4bc37adf4459d9ae9019539f1f0399a091715","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"30b80783_d3258705","updated":"2023-09-08 20:07:46.000000000","message":"we should hold recheck until this patch is merged https://review.opendev.org/c/openstack/tempest/+/894269","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"}],"cinder/volume/drivers/pure.py":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"95015c874653a23a58592fb27f43cc8904873672","unresolved":true,"context_lines":[{"line_number":1034,"context_line":"        data[\u0027consistencygroup_support\u0027] \u003d True"},{"line_number":1035,"context_line":"        data[\u0027consistent_group_snapshot_enabled\u0027] \u003d True"},{"line_number":1036,"context_line":"        data[\u0027thin_provisioning_support\u0027] \u003d True"},{"line_number":1037,"context_line":"        data[\u0027consistent_group_snapshot_enabled\u0027] \u003d True"},{"line_number":1038,"context_line":"        data[\u0027consistent_group_replication_enabled\u0027] \u003d True"},{"line_number":1039,"context_line":"        data[\u0027multiattach\u0027] \u003d True"},{"line_number":1040,"context_line":"        data[\u0027QoS_support\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"ab93a7a9_63500052","line":1037,"updated":"2023-08-21 10:06:22.000000000","message":"this line is same as line 1035","commit_id":"c29e7c31f99de43601db47e04e976b4ec2af2eed"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"3b7859ece516538c46d9c0199dd9d92039db4a7f","unresolved":false,"context_lines":[{"line_number":1034,"context_line":"        data[\u0027consistencygroup_support\u0027] \u003d True"},{"line_number":1035,"context_line":"        data[\u0027consistent_group_snapshot_enabled\u0027] \u003d True"},{"line_number":1036,"context_line":"        data[\u0027thin_provisioning_support\u0027] \u003d True"},{"line_number":1037,"context_line":"        data[\u0027consistent_group_snapshot_enabled\u0027] \u003d True"},{"line_number":1038,"context_line":"        data[\u0027consistent_group_replication_enabled\u0027] \u003d True"},{"line_number":1039,"context_line":"        data[\u0027multiattach\u0027] \u003d True"},{"line_number":1040,"context_line":"        data[\u0027QoS_support\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"5d0b4b31_0eeecf71","line":1037,"in_reply_to":"ab93a7a9_63500052","updated":"2023-08-22 17:19:57.000000000","message":"Yep - removed.","commit_id":"c29e7c31f99de43601db47e04e976b4ec2af2eed"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"993a7a415bff755358985a492812700cda728e47","unresolved":true,"context_lines":[{"line_number":1169,"context_line":"        current_array \u003d self._get_current_array()"},{"line_number":1170,"context_line":"        pg_name \u003d self._get_pgroup_name(group)"},{"line_number":1171,"context_line":"        current_array.create_pgroup(pg_name)"},{"line_number":1172,"context_line":"        if grp_type:"},{"line_number":1173,"context_line":"            current_array.set_pgroup(pg_name, **self._retention_policy)"},{"line_number":1174,"context_line":"            # Configure replication propagation frequency on a"},{"line_number":1175,"context_line":"            # protection group."},{"line_number":1176,"context_line":"            repl_freq \u003d self._replication_interval"},{"line_number":1177,"context_line":"            current_array.set_pgroup(pg_name,"},{"line_number":1178,"context_line":"                                     replicate_frequency\u003drepl_freq)"},{"line_number":1179,"context_line":"            for target_array in self._replication_target_arrays:"},{"line_number":1180,"context_line":"                try:"},{"line_number":1181,"context_line":"                    # Configure PG to replicate to target_array."},{"line_number":1182,"context_line":"                    current_array.set_pgroup(pg_name,"},{"line_number":1183,"context_line":"                                             addtargetlist\u003d["},{"line_number":1184,"context_line":"                                                 target_array.array_name])"},{"line_number":1185,"context_line":"                except purestorage.PureHTTPError as err:"},{"line_number":1186,"context_line":"                    with excutils.save_and_reraise_exception() as ctxt:"},{"line_number":1187,"context_line":"                        if err.code \u003d\u003d 400 and ("},{"line_number":1188,"context_line":"                                ERR_MSG_ALREADY_INCLUDES"},{"line_number":1189,"context_line":"                                in err.text):"},{"line_number":1190,"context_line":"                            ctxt.reraise \u003d False"},{"line_number":1191,"context_line":"                            LOG.info(\"Skipping add target %(target_array)s\""},{"line_number":1192,"context_line":"                                     \" to protection group %(pgname)s\""},{"line_number":1193,"context_line":"                                     \" since it\u0027s already added.\","},{"line_number":1194,"context_line":"                                     {\"target_array\": target_array.array_name,"},{"line_number":1195,"context_line":"                                      \"pgname\": pg_name})"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"                # Wait until \"Target Group\" setting propagates to target_array."},{"line_number":1198,"context_line":"                pgroup_name_on_target \u003d self._get_pgroup_name_on_target("},{"line_number":1199,"context_line":"                    current_array.array_name, pg_name)"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"                if grp_type \u003d\u003d REPLICATION_TYPE_TRISYNC:"},{"line_number":1202,"context_line":"                    pgroup_name_on_target \u003d pg_name.replace(\"::\", \":\")"},{"line_number":1203,"context_line":""},{"line_number":1204,"context_line":"                try:"},{"line_number":1205,"context_line":"                    # Configure the target_array to allow replication from the"},{"line_number":1206,"context_line":"                    # PG on source_array."},{"line_number":1207,"context_line":"                    target_array.set_pgroup(pgroup_name_on_target,"},{"line_number":1208,"context_line":"                                            allowed\u003dTrue)"},{"line_number":1209,"context_line":"                except purestorage.PureHTTPError as err:"},{"line_number":1210,"context_line":"                    with excutils.save_and_reraise_exception() as ctxt:"},{"line_number":1211,"context_line":"                        if (err.code \u003d\u003d 400 and"},{"line_number":1212,"context_line":"                                ERR_MSG_ALREADY_ALLOWED in err.text):"},{"line_number":1213,"context_line":"                            ctxt.reraise \u003d False"},{"line_number":1214,"context_line":"                            LOG.info(\"Skipping allow pgroup %(pgname)s on \""},{"line_number":1215,"context_line":"                                     \"target array %(target_array)s since \""},{"line_number":1216,"context_line":"                                     \"it is already allowed.\","},{"line_number":1217,"context_line":"                                     {\"pgname\": pg_name,"},{"line_number":1218,"context_line":"                                      \"target_array\": target_array.array_name})"},{"line_number":1219,"context_line":""},{"line_number":1220,"context_line":"                # Wait until source array acknowledges previous operation."},{"line_number":1221,"context_line":"                self._wait_until_source_array_allowed(current_array,"},{"line_number":1222,"context_line":"                                                      pg_name)"},{"line_number":1223,"context_line":"                # Start replication on the PG."},{"line_number":1224,"context_line":"                current_array.set_pgroup(pg_name, replicate_enabled\u003dTrue)"},{"line_number":1225,"context_line":""},{"line_number":1226,"context_line":"        model_update \u003d {\u0027status\u0027: fields.ConsistencyGroupStatus.AVAILABLE}"},{"line_number":1227,"context_line":"        return model_update"}],"source_content_type":"text/x-python","patch_set":3,"id":"100766ae_42a7c692","line":1224,"range":{"start_line":1172,"start_character":0,"end_line":1224,"end_character":73},"updated":"2023-09-02 06:57:25.000000000","message":"this part of the code isn\u0027t tested, since the existing consistencygroup tests don\u0027t pass the group type and no new test is added passing the type either","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"f76b70b9a2ecfe4aa07bd08a6b2e5d0458954a71","unresolved":true,"context_lines":[{"line_number":1483,"context_line":"                        self._get_replication_type_from_vol_type(vol_type)"},{"line_number":1484,"context_line":"                    if repl_type not in [REPLICATION_TYPE_ASYNC,"},{"line_number":1485,"context_line":"                                         REPLICATION_TYPE_TRISYNC]:"},{"line_number":1486,"context_line":"                        # Unsupported configuration"},{"line_number":1487,"context_line":"                        LOG.error(\"Unable to create group: create consistent \""},{"line_number":1488,"context_line":"                                  \"replication group with non-replicated or \""},{"line_number":1489,"context_line":"                                  \"sync replicated volume type is not \""},{"line_number":1490,"context_line":"                                  \"supported.\")"},{"line_number":1491,"context_line":"                        model_update \u003d {\u0027status\u0027: fields.GroupStatus.ERROR}"},{"line_number":1492,"context_line":"                        return model_update"},{"line_number":1493,"context_line":"                    if not cgr_type:"},{"line_number":1494,"context_line":"                        cgr_type \u003d repl_type"},{"line_number":1495,"context_line":"                    elif cgr_type !\u003d repl_type:"}],"source_content_type":"text/x-python","patch_set":3,"id":"576fd39b_14ecaed3","line":1492,"range":{"start_line":1486,"start_character":24,"end_line":1492,"end_character":43},"updated":"2023-08-23 20:52:10.000000000","message":"nit: Is there anything here that makes it better to return an object with an error status instead of raising an exception, as done on lines L1474-1477, since both cases seem to be bad configurations?","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"f76b70b9a2ecfe4aa07bd08a6b2e5d0458954a71","unresolved":true,"context_lines":[{"line_number":1493,"context_line":"                    if not cgr_type:"},{"line_number":1494,"context_line":"                        cgr_type \u003d repl_type"},{"line_number":1495,"context_line":"                    elif cgr_type !\u003d repl_type:"},{"line_number":1496,"context_line":"                        LOG.error(\"Unable to create group: create consistent \""},{"line_number":1497,"context_line":"                                  \"replication group with different \""},{"line_number":1498,"context_line":"                                  \"replication types is not supported.\")"},{"line_number":1499,"context_line":"                        model_update \u003d {\u0027status\u0027: fields.GroupStatus.ERROR}"},{"line_number":1500,"context_line":"                        return model_update"},{"line_number":1501,"context_line":"            return self.create_consistencygroup(ctxt, group, cgr_type)"},{"line_number":1502,"context_line":""},{"line_number":1503,"context_line":"        # If it wasn\u0027t a consistency group request ignore it and we\u0027ll rely on"}],"source_content_type":"text/x-python","patch_set":3,"id":"d4484fa1_b745d093","line":1500,"range":{"start_line":1496,"start_character":24,"end_line":1500,"end_character":43},"updated":"2023-08-23 20:52:10.000000000","message":"nit: Same question as above.","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"993a7a415bff755358985a492812700cda728e47","unresolved":true,"context_lines":[{"line_number":1468,"context_line":"        \"\"\""},{"line_number":1469,"context_line":"        cgr_type \u003d None"},{"line_number":1470,"context_line":"        repl_type \u003d None"},{"line_number":1471,"context_line":"        if volume_utils.is_group_a_cg_snapshot_type(group):"},{"line_number":1472,"context_line":"            if volume_utils.is_group_a_type("},{"line_number":1473,"context_line":"                    group, \"consistent_group_replication_enabled\"):"},{"line_number":1474,"context_line":"                if not self._is_replication_enabled:"},{"line_number":1475,"context_line":"                    msg \u003d _(\"Replication not properly configured on backend.\")"},{"line_number":1476,"context_line":"                    LOG.error(msg)"},{"line_number":1477,"context_line":"                    raise PureDriverException(msg)"},{"line_number":1478,"context_line":"                for vol_type_id in group.volume_type_ids:"},{"line_number":1479,"context_line":"                    vol_type \u003d \\"},{"line_number":1480,"context_line":"                        volume_type.VolumeType.get_by_name_or_id(ctxt,"},{"line_number":1481,"context_line":"                                                                 vol_type_id)"},{"line_number":1482,"context_line":"                    repl_type \u003d \\"},{"line_number":1483,"context_line":"                        self._get_replication_type_from_vol_type(vol_type)"},{"line_number":1484,"context_line":"                    if repl_type not in [REPLICATION_TYPE_ASYNC,"},{"line_number":1485,"context_line":"                                         REPLICATION_TYPE_TRISYNC]:"},{"line_number":1486,"context_line":"                        # Unsupported configuration"},{"line_number":1487,"context_line":"                        LOG.error(\"Unable to create group: create consistent \""},{"line_number":1488,"context_line":"                                  \"replication group with non-replicated or \""},{"line_number":1489,"context_line":"                                  \"sync replicated volume type is not \""},{"line_number":1490,"context_line":"                                  \"supported.\")"},{"line_number":1491,"context_line":"                        model_update \u003d {\u0027status\u0027: fields.GroupStatus.ERROR}"},{"line_number":1492,"context_line":"                        return model_update"},{"line_number":1493,"context_line":"                    if not cgr_type:"},{"line_number":1494,"context_line":"                        cgr_type \u003d repl_type"},{"line_number":1495,"context_line":"                    elif cgr_type !\u003d repl_type:"},{"line_number":1496,"context_line":"                        LOG.error(\"Unable to create group: create consistent \""},{"line_number":1497,"context_line":"                                  \"replication group with different \""},{"line_number":1498,"context_line":"                                  \"replication types is not supported.\")"},{"line_number":1499,"context_line":"                        model_update \u003d {\u0027status\u0027: fields.GroupStatus.ERROR}"},{"line_number":1500,"context_line":"                        return model_update"},{"line_number":1501,"context_line":"            return self.create_consistencygroup(ctxt, group, cgr_type)"},{"line_number":1502,"context_line":""},{"line_number":1503,"context_line":"        # If it wasn\u0027t a consistency group request ignore it and we\u0027ll rely on"},{"line_number":1504,"context_line":"        # the generic group implementation."}],"source_content_type":"text/x-python","patch_set":3,"id":"25c206e7_906ef2d3","line":1501,"range":{"start_line":1471,"start_character":8,"end_line":1501,"end_character":70},"updated":"2023-09-02 06:57:25.000000000","message":"I don\u0027t see this code being tested","commit_id":"41b07dcf8272cd49d068c8f2e851d5fd0c8abf11"}]}
