)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"416a09fcf5e7cbaeaadfc5af3646005327ee75a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"21e9abef_e40cf2f9","updated":"2026-10-05 14:51:49.000000000","message":"Please look at the comments.","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"bc77341a17b473e1466ef9843d059e1250496cbf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ca87682e_3094a3d4","updated":"2026-09-23 13:27:06.000000000","message":"py311 unit test failures look related to this patch","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"8664444b5e1198685edbd38b4adf42a5717f27d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"eadadc8f_02b2fe47","updated":"2026-10-05 06:10:51.000000000","message":"recheck","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"}],"cinder/volume/drivers/netapp/dataontap/block_base.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"416a09fcf5e7cbaeaadfc5af3646005327ee75a0","unresolved":true,"context_lines":[{"line_number":771,"context_line":""},{"line_number":772,"context_line":"        ontap_version \u003d self.zapi_client.get_ontap_version(cached\u003dTrue)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        if ontap_version \u003e\u003d (9, 5, 0):"},{"line_number":775,"context_line":"            self.zapi_client.do_direct_resize("},{"line_number":776,"context_line":"                path, new_size_bytes, uuid\u003dlun.metadata.get(\u0027UUID\u0027))"},{"line_number":777,"context_line":"        else:"},{"line_number":778,"context_line":"            lun_geometry \u003d self.zapi_client.get_lun_geometry(path)"},{"line_number":779,"context_line":"            if (lun_geometry and int(lun_geometry.get(\"max_resize\", 0)) \u003e\u003d"},{"line_number":780,"context_line":"                    int(new_size_bytes)):"},{"line_number":781,"context_line":"                self.zapi_client.do_direct_resize("},{"line_number":782,"context_line":"                    path, new_size_bytes, uuid\u003dlun.metadata.get(\u0027UUID\u0027))"},{"line_number":783,"context_line":"            else:"},{"line_number":784,"context_line":"                if volume[\u0027attach_status\u0027] !\u003d \u0027detached\u0027:"},{"line_number":785,"context_line":"                    msg \u003d _(\u0027Volume %(vol_id)s cannot be resized from \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"cf3cad0d_1bc03795","line":782,"range":{"start_line":774,"start_character":0,"end_line":782,"end_character":72},"updated":"2026-10-05 14:51:49.000000000","message":"Why do we need to send the UUID for ZAPI client? Does ZAPI require UUID to be passed?","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"}],"cinder/volume/drivers/netapp/dataontap/block_cmode.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"416a09fcf5e7cbaeaadfc5af3646005327ee75a0","unresolved":true,"context_lines":[{"line_number":491,"context_line":"                    raise netapp_api.NaApiError(e.code, e.message)"},{"line_number":492,"context_line":"        return None"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def _get_cloned_lun(self, volume, new_name, lun_uuid):"},{"line_number":495,"context_line":"        \"\"\"Return cloned LUN metadata after clone_lun."},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"        REST clone_lun returns the UUID from POST Location. Verify with"}],"source_content_type":"text/x-python","patch_set":4,"id":"fac013c4_c35beb9a","line":494,"updated":"2026-10-05 14:51:49.000000000","message":"Why do we need a separate method to get cloned lun? get_lun_by_uuid should suffice? A cloned lun is nothing but a lun right?","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"416a09fcf5e7cbaeaadfc5af3646005327ee75a0","unresolved":true,"context_lines":[{"line_number":671,"context_line":"            return"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"        try:"},{"line_number":674,"context_line":"            self.zapi_client.destroy_lun(dest_lun_path)"},{"line_number":675,"context_line":"            LOG.debug(\"Deleted destination LUN after failed LUN copy: \""},{"line_number":676,"context_line":"                      \"%(path)s\", {\u0027path\u0027: dest_lun_path})"},{"line_number":677,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":4,"id":"747285df_38ce7c78","line":674,"updated":"2026-10-05 14:51:49.000000000","message":"Before calling the destroy_lun, can we double check if the lun exists on ONTAP or not? If exists - only then destroy?","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"}],"cinder/volume/drivers/netapp/dataontap/client/api.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"6a82a349e380275a1e6e03fe96d0f9a2ad448371","unresolved":true,"context_lines":[{"line_number":48,"context_line":"ESNAPSHOTNOTALLOWED \u003d \u002713023\u0027"},{"line_number":49,"context_line":"ESIS_CLONE_NOT_LICENSED \u003d \u002714956\u0027"},{"line_number":50,"context_line":"EOBJECTNOTFOUND \u003d \u002715661\u0027"},{"line_number":51,"context_line":"ELUNCOPYDESTEXISTS \u003d \u00279312\u0027"},{"line_number":52,"context_line":"ESOURCE_IS_DIFFERENT \u003d \u002717105\u0027"},{"line_number":53,"context_line":"ERELATION_EXISTS \u003d \u002717122\u0027"},{"line_number":54,"context_line":"ERELATION_NOT_QUIESCED \u003d \u002717127\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"71d2b248_1b2a7ef5","line":51,"updated":"2026-10-05 15:02:09.000000000","message":"In case of REST API the error code is different: 1260136 - The specified destination for a clone operation already exists as a LUN, namespace, or file.\n\nThe assumption that ZAPI code would work for REST API is not correct here.","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"}],"cinder/volume/drivers/netapp/dataontap/client/client_cmode_rest.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"416a09fcf5e7cbaeaadfc5af3646005327ee75a0","unresolved":true,"context_lines":[{"line_number":298,"context_line":"        :param max_page_length: size of the page during pagination"},{"line_number":299,"context_line":"        :param wait_on_accepted: if True, wait until the job finishes when"},{"line_number":300,"context_line":"            HTTP code 202 (Accepted) is returned"},{"line_number":301,"context_line":"        :param return_location: if True, also return the HTTP Location"},{"line_number":302,"context_line":"            header from the create response (captured before any 202"},{"line_number":303,"context_line":"            job wait)"},{"line_number":304,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"93a1f405_aa7752a7","line":301,"updated":"2026-10-05 14:51:49.000000000","message":"I am not sure if returning a third response tuple is a good idea. Also trace_api can log the return headers? Can you please test with: trace_filter_func_rest_api and see if this is not the case? Adding response headers logged via trace/in logs is not a good idea.","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"416a09fcf5e7cbaeaadfc5af3646005327ee75a0","unresolved":true,"context_lines":[{"line_number":904,"context_line":"        primary-key GET does not use the name-filtered collection search"},{"line_number":905,"context_line":"        that can lag the clone engine and return zero records."},{"line_number":906,"context_line":"        \"\"\""},{"line_number":907,"context_line":"        if not uuid:"},{"line_number":908,"context_line":"            return []"},{"line_number":909,"context_line":"        try:"},{"line_number":910,"context_line":"            response \u003d self.send_request("},{"line_number":911,"context_line":"                \u0027/storage/luns/%s\u0027 % uuid, \u0027get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"89ef1b1e_75167678","line":908,"range":{"start_line":907,"start_character":0,"end_line":908,"end_character":21},"updated":"2026-10-05 14:51:49.000000000","message":"this should throw an error not []?","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"416a09fcf5e7cbaeaadfc5af3646005327ee75a0","unresolved":true,"context_lines":[{"line_number":911,"context_line":"                \u0027/storage/luns/%s\u0027 % uuid, \u0027get\u0027,"},{"line_number":912,"context_line":"                query\u003d{\u0027fields\u0027: REST_LUN_FIELDS},"},{"line_number":913,"context_line":"                enable_tunneling\u003dTrue)"},{"line_number":914,"context_line":"        except netapp_api.NaApiError:"},{"line_number":915,"context_line":"            return []"},{"line_number":916,"context_line":"        if not response or response.get(\u0027error\u0027):"},{"line_number":917,"context_line":"            return []"},{"line_number":918,"context_line":"        if response.get(\u0027uuid\u0027) or response.get(\u0027name\u0027):"},{"line_number":919,"context_line":"            return [self._rest_lun_to_info(response)]"},{"line_number":920,"context_line":"        return []"},{"line_number":921,"context_line":""},{"line_number":922,"context_line":"    def get_lun_by_args(self, **lun_info_args):"},{"line_number":923,"context_line":"        \"\"\"Retrieves LUN with specified args.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"6bbdb15e_ad60b67b","line":920,"range":{"start_line":914,"start_character":7,"end_line":920,"end_character":17},"updated":"2026-10-05 14:51:49.000000000","message":"Why are we expecting get_lun_by_uuid to return a blank array? Why do we want to swallow the error?","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"416a09fcf5e7cbaeaadfc5af3646005327ee75a0","unresolved":true,"context_lines":[{"line_number":2368,"context_line":"        # the LUN. No return_records query is required."},{"line_number":2369,"context_line":"        _, location \u003d self.send_request("},{"line_number":2370,"context_line":"            \u0027/storage/luns\u0027, \u0027post\u0027, body\u003dbody, return_location\u003dTrue)"},{"line_number":2371,"context_line":"        return self._lun_uuid_from_location(location)"},{"line_number":2372,"context_line":""},{"line_number":2373,"context_line":"    def destroy_lun(self, path, force\u003dTrue):"},{"line_number":2374,"context_line":"        \"\"\"Destroys the LUN at the path.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"90a8bdfd_d53fd277","line":2371,"updated":"2026-10-05 14:51:49.000000000","message":"before returning the cloned lun, shouldnt we resolve the lun via the location if its not none?","commit_id":"7fabfd53fe378840c6802cbabe70879d47dfd0d5"}]}
