)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"change_message_id":"928fb70dc9d94e6bf99342f85e640733fd096ab3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"2422a640_1493e11b","updated":"2026-04-02 05:43:21.000000000","message":"@yasufum.o@gmail.com @ts-takahashi@nec.com -  Requesting the review of this patch.\n \nCurrently, this pacth fixes the Tacker side issues in v1 compliance testcase. There are still few test scenario failing (SOL003 - Rollback, Heal, Terminate, ChgExtConn) due to TST side issue (operationState mismatch).  \n\nThese remaining issues needs to be fixed by TST. For the same, issue has been raised to TST side:  https://forge.etsi.org/rep/nfv/api-tests/-/issues/210","commit_id":"e0f901c515dfdac15921e20f9a5965946f6ec1a8"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"bf1fc4a005646c56d9ae45a59bbb2dd80d5b47a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"a136f009_b89c70b9","updated":"2026-04-13 01:28:26.000000000","message":"Sorry for the late reply. Please find my tiny comments, thanks.","commit_id":"e0f901c515dfdac15921e20f9a5965946f6ec1a8"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"a7c4d85525d2ac64ac845efb7c736d8e4a2f21b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"af0af46d_c2d3e061","updated":"2026-06-11 01:07:42.000000000","message":"Thank you for your updates. LOGT, thanks.","commit_id":"a01b7f02b30948e2eaaaf434bd2610191c13fa4f"}],"tacker/objects/vnf_instance.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"bf1fc4a005646c56d9ae45a59bbb2dd80d5b47a4","unresolved":true,"context_lines":[{"line_number":544,"context_line":"                if value is None:"},{"line_number":545,"context_line":"                    # Replace null with empty string"},{"line_number":546,"context_line":"                    result[key] \u003d \u0027\u0027"},{"line_number":547,"context_line":"                elif isinstance(value, dict):"},{"line_number":548,"context_line":"                    # Recursively process nested dictionaries"},{"line_number":549,"context_line":"                    result[key] \u003d self._filter_null_values(value)"},{"line_number":550,"context_line":"                elif isinstance(value, list):"},{"line_number":551,"context_line":"                    # Recursively process lists"},{"line_number":552,"context_line":"                    result[key] \u003d self._filter_null_values(value)"},{"line_number":553,"context_line":"                else:"},{"line_number":554,"context_line":"                    # Keep the value as-is"},{"line_number":555,"context_line":"                    result[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":29,"id":"244dea9f_54382ba6","line":552,"range":{"start_line":547,"start_character":16,"end_line":552,"end_character":65},"updated":"2026-04-13 01:28:26.000000000","message":"Why don\u0027t you make it a single clause since it\u0027s the same `result[key] \u003d self._filter_null_values(value)`?","commit_id":"e0f901c515dfdac15921e20f9a5965946f6ec1a8"},{"author":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"change_message_id":"c338c5a8c930a6ef00ee558fc6e6bff877b3d7c9","unresolved":false,"context_lines":[{"line_number":544,"context_line":"                if value is None:"},{"line_number":545,"context_line":"                    # Replace null with empty string"},{"line_number":546,"context_line":"                    result[key] \u003d \u0027\u0027"},{"line_number":547,"context_line":"                elif isinstance(value, dict):"},{"line_number":548,"context_line":"                    # Recursively process nested dictionaries"},{"line_number":549,"context_line":"                    result[key] \u003d self._filter_null_values(value)"},{"line_number":550,"context_line":"                elif isinstance(value, list):"},{"line_number":551,"context_line":"                    # Recursively process lists"},{"line_number":552,"context_line":"                    result[key] \u003d self._filter_null_values(value)"},{"line_number":553,"context_line":"                else:"},{"line_number":554,"context_line":"                    # Keep the value as-is"},{"line_number":555,"context_line":"                    result[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":29,"id":"247d64b0_ace4db71","line":552,"range":{"start_line":547,"start_character":16,"end_line":552,"end_character":65},"in_reply_to":"244dea9f_54382ba6","updated":"2026-04-15 05:42:50.000000000","message":"Thank you for your review and suggestions. I have incorporated the requested changes.","commit_id":"e0f901c515dfdac15921e20f9a5965946f6ec1a8"}],"tacker/tests/compliance/sol002/test_vnflcm.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"bf1fc4a005646c56d9ae45a59bbb2dd80d5b47a4","unresolved":true,"context_lines":[{"line_number":218,"context_line":"                    except Exception as e:"},{"line_number":219,"context_line":"                        print(f\" Failed to delete image {image.id}: {e}\")"},{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                print(\"No DemoVirtualStorage images found\")"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        except Exception as e:"},{"line_number":224,"context_line":"            print(f\"Error during cleanup: {e}\")"}],"source_content_type":"text/x-python","patch_set":29,"id":"d9894e5b_c1d31212","line":221,"updated":"2026-04-13 01:28:26.000000000","message":"Is there any reason for showing this message because it looks useless for me?","commit_id":"e0f901c515dfdac15921e20f9a5965946f6ec1a8"},{"author":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"change_message_id":"c338c5a8c930a6ef00ee558fc6e6bff877b3d7c9","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                    except Exception as e:"},{"line_number":219,"context_line":"                        print(f\" Failed to delete image {image.id}: {e}\")"},{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                print(\"No DemoVirtualStorage images found\")"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        except Exception as e:"},{"line_number":224,"context_line":"            print(f\"Error during cleanup: {e}\")"}],"source_content_type":"text/x-python","patch_set":29,"id":"afafd39d_15dc5838","line":221,"in_reply_to":"d9894e5b_c1d31212","updated":"2026-04-15 05:42:50.000000000","message":"Thank you for your review and suggestions. I have removed the print message.","commit_id":"e0f901c515dfdac15921e20f9a5965946f6ec1a8"}],"tacker/tests/compliance/sol003/test_vnflcm.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"bf1fc4a005646c56d9ae45a59bbb2dd80d5b47a4","unresolved":true,"context_lines":[{"line_number":325,"context_line":"                print(\"No DemoVirtualStorage images found\")"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"        except Exception as e:"},{"line_number":328,"context_line":"            print(f\"Error during cleanup: {e}\")"},{"line_number":329,"context_line":"            import traceback"},{"line_number":330,"context_line":"            traceback.print_exc()"},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"16eb1a4e_5d1a0b37","line":328,"updated":"2026-04-13 01:28:26.000000000","message":"Please consider to use logging since it has no timestamp and makes analyzing logs  something tricky.\nExample: https://opendev.org/openstack/tacker/src/branch/master/tacker/tests/functional/common/logging_utils.py","commit_id":"e0f901c515dfdac15921e20f9a5965946f6ec1a8"},{"author":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"change_message_id":"c338c5a8c930a6ef00ee558fc6e6bff877b3d7c9","unresolved":false,"context_lines":[{"line_number":325,"context_line":"                print(\"No DemoVirtualStorage images found\")"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"        except Exception as e:"},{"line_number":328,"context_line":"            print(f\"Error during cleanup: {e}\")"},{"line_number":329,"context_line":"            import traceback"},{"line_number":330,"context_line":"            traceback.print_exc()"},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"c61b66bd_b1d5330e","line":328,"in_reply_to":"16eb1a4e_5d1a0b37","updated":"2026-04-15 05:42:50.000000000","message":"Thank you for your review and suggestions. I have replaced the print statements with logging.","commit_id":"e0f901c515dfdac15921e20f9a5965946f6ec1a8"}]}
