)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"38290a0cf2963ff643add2552471832375d4078c","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     ma-ooyama.kddi.com \u003cma-ooyama@kddi.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-03-01 03:44:38 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support multiple conductors onboarding"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In current implementation,"},{"line_number":10,"context_line":"onboarding process doesn\u0027t work when using Tacker as N-Act cluster."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"de43a8f9_35fa6e80","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":38},"updated":"2023-03-01 07:24:28.000000000","message":"Could you add release note for this implementation?","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"940aee392c35a727d200c830d714259ccb248ac1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     ma-ooyama.kddi.com \u003cma-ooyama@kddi.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-03-01 03:44:38 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support multiple conductors onboarding"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In current implementation,"},{"line_number":10,"context_line":"onboarding process doesn\u0027t work when using Tacker as N-Act cluster."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"a02b3d73_bb2eb402","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":38},"in_reply_to":"6cf8ea73_99ba8df5","updated":"2023-03-01 12:49:34.000000000","message":"Ack","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"f2230a0bcb447e96ada77c8696f9a83ad6b8ad38","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     ma-ooyama.kddi.com \u003cma-ooyama@kddi.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-03-01 03:44:38 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support multiple conductors onboarding"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In current implementation,"},{"line_number":10,"context_line":"onboarding process doesn\u0027t work when using Tacker as N-Act cluster."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"6cf8ea73_99ba8df5","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":38},"in_reply_to":"de43a8f9_35fa6e80","updated":"2023-03-01 10:24:29.000000000","message":"Added the release note.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"38290a0cf2963ff643add2552471832375d4078c","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch enables all conductors in the N-Act cluster"},{"line_number":13,"context_line":"to download or delete VNF Package."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Co-Authored-By: Hitomi Koba \u003chi-koba@kddi.com\u003e"},{"line_number":16,"context_line":"Co-Authored-By: Yukihiro Kinjo \u003cyu-kinjou@kddi.com\u003e"},{"line_number":17,"context_line":"Co-Authored-By: Xu Hongjin \u003cho-xu@kddi.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"a0fa46dd_a53b3d5f","line":14,"updated":"2023-03-01 07:24:28.000000000","message":"The \"Work Items\" in the specification for this implementation [1] states \"Add functional test\".\nHowever, functional test is not exist in this patch.\n\nIf you plan to post the functional test as another patch, I think it is better to include about it in your commit message.\nWhat do you think?\n\n[1] https://specs.openstack.org/openstack/tacker-specs/specs/2023.1/support-multi-conductors-onboarding.html#work-items","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"940aee392c35a727d200c830d714259ccb248ac1","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch enables all conductors in the N-Act cluster"},{"line_number":13,"context_line":"to download or delete VNF Package."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Co-Authored-By: Hitomi Koba \u003chi-koba@kddi.com\u003e"},{"line_number":16,"context_line":"Co-Authored-By: Yukihiro Kinjo \u003cyu-kinjou@kddi.com\u003e"},{"line_number":17,"context_line":"Co-Authored-By: Xu Hongjin \u003cho-xu@kddi.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"74445d01_53480d0f","line":14,"in_reply_to":"94b8cca6_9a742fae","updated":"2023-03-01 12:49:34.000000000","message":"Ack","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"f2230a0bcb447e96ada77c8696f9a83ad6b8ad38","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch enables all conductors in the N-Act cluster"},{"line_number":13,"context_line":"to download or delete VNF Package."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Co-Authored-By: Hitomi Koba \u003chi-koba@kddi.com\u003e"},{"line_number":16,"context_line":"Co-Authored-By: Yukihiro Kinjo \u003cyu-kinjou@kddi.com\u003e"},{"line_number":17,"context_line":"Co-Authored-By: Xu Hongjin \u003cho-xu@kddi.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"94b8cca6_9a742fae","line":14,"in_reply_to":"a0fa46dd_a53b3d5f","updated":"2023-03-01 10:24:29.000000000","message":"As you said, I couldn\u0027t add the functional test in this patch.\nSorry for not informing in advance.\nSo I added about that in commit message.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"38290a0cf2963ff643add2552471832375d4078c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"cab77e43_903a3223","updated":"2023-03-01 07:24:28.000000000","message":"Thanks for your patch, please kindly find my comments.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"07ec8040e13d837ff9712e85c17f47fddb47f31f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3815dd8e_5073211b","updated":"2023-03-01 10:26:12.000000000","message":"Thanks for your patch. ","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"f2230a0bcb447e96ada77c8696f9a83ad6b8ad38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a129d8cf_dbb71091","in_reply_to":"cab77e43_903a3223","updated":"2023-03-01 10:24:29.000000000","message":"Thank you for your comments.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"8250fbf74f7dcc2c5f92f9de7fc52131f5a6a171","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c5022270_27443cfa","updated":"2023-03-01 10:46:21.000000000","message":"Thank you for your comments.","commit_id":"8554ecdc6ac131041faab51f5aa9f6529275df03"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"5e5f88467a454a1e7c374f50410119dd04996e85","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"3eab453a_a9fe2827","updated":"2023-03-03 10:05:33.000000000","message":"Hi,\nUnfortunately, we cannot have enough time before the end of RC1 week for reviewing your patch proposed after feature freeze deadline. It means you need to backport your update to stable if you\u0027ll include it in tacker antelope release. The next chance to backport is RC2, so I\u0027ve just added your patch to a list of RC2 candidates[1]. If you\u0027re not interested to release your patch as antelope, remove your item from the list. Thanks.\n\n[1] https://etherpad.opendev.org/p/tacker-antelope-fixes-rc","commit_id":"f4269b10ee0f7c0903f2240c41ffd6ff903dc605"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"6e378b12_1541b402","updated":"2023-03-08 03:27:17.000000000","message":"Thanks for your rework, please kindly find my additional comment about considerations when errors occur.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"61980c7d602687eea06fc70f93df8dadeb4b947d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"f246cf65_2348896c","updated":"2023-03-10 04:28:21.000000000","message":"Thank you for your comments.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"6071499712c3929c213a0fa2b65b6f8b12b5e9fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"c50a0838_1045c7be","updated":"2023-03-14 02:21:31.000000000","message":"Please fix merge conflict.","commit_id":"938feaaa005838ebc0bde1d5ae2bf3522dafb789"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"0cd06b4ea465e75cd67987a10f2e4017c985c935","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"7d0019df_45eb2d93","in_reply_to":"c50a0838_1045c7be","updated":"2023-03-14 02:32:43.000000000","message":"Thanks. I fixed it.","commit_id":"938feaaa005838ebc0bde1d5ae2bf3522dafb789"}],"releasenotes/notes/support-multi-conductors-onboarding-29410991aceecf1d.yaml":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"940aee392c35a727d200c830d714259ccb248ac1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    VNF package management API in multiple conductors environment"},{"line_number":5,"context_line":"    are supported that includes Upload VNF Package from content,"},{"line_number":6,"context_line":"    Upload VNF Package from uri and Delete VNF Package."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ea22409d_dd52b338","line":4,"range":{"start_line":4,"start_character":27,"end_line":4,"end_character":30},"updated":"2023-03-01 12:49:34.000000000","message":"nits: APIs?","commit_id":"8554ecdc6ac131041faab51f5aa9f6529275df03"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"4e51a7cde1d0f4902481320a94650295fb46116f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    VNF package management API in multiple conductors environment"},{"line_number":5,"context_line":"    are supported that includes Upload VNF Package from content,"},{"line_number":6,"context_line":"    Upload VNF Package from uri and Delete VNF Package."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"66d08e0c_3717ae0f","line":4,"range":{"start_line":4,"start_character":27,"end_line":4,"end_character":30},"in_reply_to":"a76cca26_a6532d33","updated":"2023-03-01 13:57:17.000000000","message":"Ack","commit_id":"8554ecdc6ac131041faab51f5aa9f6529275df03"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"95e1eeaad2a16218d12bce8efb1c457bc64b4b91","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    VNF package management API in multiple conductors environment"},{"line_number":5,"context_line":"    are supported that includes Upload VNF Package from content,"},{"line_number":6,"context_line":"    Upload VNF Package from uri and Delete VNF Package."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"a76cca26_a6532d33","line":4,"range":{"start_line":4,"start_character":27,"end_line":4,"end_character":30},"in_reply_to":"ea22409d_dd52b338","updated":"2023-03-01 13:40:45.000000000","message":"Fixed it.","commit_id":"8554ecdc6ac131041faab51f5aa9f6529275df03"}],"tacker/api/vnfpkgm/v1/controller.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"38290a0cf2963ff643add2552471832375d4078c","unresolved":true,"context_lines":[{"line_number":224,"context_line":"                    \"operational_state\": vnf_package.operational_state,"},{"line_number":225,"context_line":"                    \"usage_state\": vnf_package.usage_state})"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        # move the code block below from tacker_conductor.py to here"},{"line_number":228,"context_line":"        # with the comment"},{"line_number":229,"context_line":"        # TODO(h-asahina): stop using these Legacy DB"},{"line_number":230,"context_line":"        if vnf_package.vnfd is not None:"},{"line_number":231,"context_line":"            objects.VnfdAttribute(context).delete(vnf_package.vnfd.vnfd_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"688da2a1_1c0cf06e","line":228,"range":{"start_line":227,"start_character":0,"end_line":228,"end_character":26},"updated":"2023-03-01 07:24:28.000000000","message":"I think it is better for other developer to write about the division of roles between server and conductor than to write that you moved the code block.\nWhat do you think?","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"f2230a0bcb447e96ada77c8696f9a83ad6b8ad38","unresolved":true,"context_lines":[{"line_number":224,"context_line":"                    \"operational_state\": vnf_package.operational_state,"},{"line_number":225,"context_line":"                    \"usage_state\": vnf_package.usage_state})"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        # move the code block below from tacker_conductor.py to here"},{"line_number":228,"context_line":"        # with the comment"},{"line_number":229,"context_line":"        # TODO(h-asahina): stop using these Legacy DB"},{"line_number":230,"context_line":"        if vnf_package.vnfd is not None:"},{"line_number":231,"context_line":"            objects.VnfdAttribute(context).delete(vnf_package.vnfd.vnfd_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"70a14783_89ef3571","line":228,"range":{"start_line":227,"start_character":0,"end_line":228,"end_character":26},"in_reply_to":"688da2a1_1c0cf06e","updated":"2023-03-01 10:24:29.000000000","message":"Agree with you.\nI changed the comment as that indicates what is done here in controller and what will be done in conductors later.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"940aee392c35a727d200c830d714259ccb248ac1","unresolved":false,"context_lines":[{"line_number":224,"context_line":"                    \"operational_state\": vnf_package.operational_state,"},{"line_number":225,"context_line":"                    \"usage_state\": vnf_package.usage_state})"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        # move the code block below from tacker_conductor.py to here"},{"line_number":228,"context_line":"        # with the comment"},{"line_number":229,"context_line":"        # TODO(h-asahina): stop using these Legacy DB"},{"line_number":230,"context_line":"        if vnf_package.vnfd is not None:"},{"line_number":231,"context_line":"            objects.VnfdAttribute(context).delete(vnf_package.vnfd.vnfd_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"47b74241_0900990d","line":228,"range":{"start_line":227,"start_character":0,"end_line":228,"end_character":26},"in_reply_to":"70a14783_89ef3571","updated":"2023-03-01 12:49:34.000000000","message":"Ack","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"}],"tacker/common/csar_utils.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1cbda3529e4d481ec357c973758c961f990430cc","unresolved":true,"context_lines":[{"line_number":568,"context_line":"                 package_uuid + \".zip\")"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    try:"},{"line_number":571,"context_line":"        if os.path.exists(csar_zip_temp_path):"},{"line_number":572,"context_line":"            shutil.rmtree(csar_zip_temp_path)"},{"line_number":573,"context_line":"        else:"},{"line_number":574,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\","},{"line_number":575,"context_line":"                     csar_zip_temp_path)"}],"source_content_type":"text/x-python","patch_set":13,"id":"32196789_d6175ace","line":572,"range":{"start_line":571,"start_character":0,"end_line":572,"end_character":45},"updated":"2023-03-09 12:41:33.000000000","message":"I suppose you\u0027d avoid an exception by checking file path before.\n\nHowever, I think no need to check it because we can avoid raising an exception by using `ignore_errors` option for `shutil.rmtree()`. In addition, we don\u0027t need to take care if the file doesn\u0027t exist.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"7aff4d6e2433e9485e3f7327b96b5043b767862c","unresolved":true,"context_lines":[{"line_number":568,"context_line":"                 package_uuid + \".zip\")"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    try:"},{"line_number":571,"context_line":"        if os.path.exists(csar_zip_temp_path):"},{"line_number":572,"context_line":"            shutil.rmtree(csar_zip_temp_path)"},{"line_number":573,"context_line":"        else:"},{"line_number":574,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\","},{"line_number":575,"context_line":"                     csar_zip_temp_path)"}],"source_content_type":"text/x-python","patch_set":13,"id":"b260b24b_3caff6ce","line":572,"range":{"start_line":571,"start_character":0,"end_line":572,"end_character":45},"in_reply_to":"32196789_d6175ace","updated":"2023-03-12 23:07:56.000000000","message":"I fixed it.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1cbda3529e4d481ec357c973758c961f990430cc","unresolved":true,"context_lines":[{"line_number":571,"context_line":"        if os.path.exists(csar_zip_temp_path):"},{"line_number":572,"context_line":"            shutil.rmtree(csar_zip_temp_path)"},{"line_number":573,"context_line":"        else:"},{"line_number":574,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\","},{"line_number":575,"context_line":"                     csar_zip_temp_path)"},{"line_number":576,"context_line":"        if os.path.exists(csar_path):"},{"line_number":577,"context_line":"            os.remove(csar_path)"},{"line_number":578,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"357853d4_709a9607","line":575,"range":{"start_line":574,"start_character":0,"end_line":575,"end_character":40},"updated":"2023-03-09 12:41:33.000000000","message":"I think this log message is not required actually, but it can be just ignored.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"7aff4d6e2433e9485e3f7327b96b5043b767862c","unresolved":true,"context_lines":[{"line_number":571,"context_line":"        if os.path.exists(csar_zip_temp_path):"},{"line_number":572,"context_line":"            shutil.rmtree(csar_zip_temp_path)"},{"line_number":573,"context_line":"        else:"},{"line_number":574,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\","},{"line_number":575,"context_line":"                     csar_zip_temp_path)"},{"line_number":576,"context_line":"        if os.path.exists(csar_path):"},{"line_number":577,"context_line":"            os.remove(csar_path)"},{"line_number":578,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"aa79c330_5046f1ae","line":575,"range":{"start_line":574,"start_character":0,"end_line":575,"end_character":40},"in_reply_to":"357853d4_709a9607","updated":"2023-03-12 23:07:56.000000000","message":"I removed this log message.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1cbda3529e4d481ec357c973758c961f990430cc","unresolved":true,"context_lines":[{"line_number":573,"context_line":"        else:"},{"line_number":574,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\","},{"line_number":575,"context_line":"                     csar_zip_temp_path)"},{"line_number":576,"context_line":"        if os.path.exists(csar_path):"},{"line_number":577,"context_line":"            os.remove(csar_path)"},{"line_number":578,"context_line":"        else:"},{"line_number":579,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\", csar_path)"},{"line_number":580,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":13,"id":"f4053742_7cbc8f67","line":577,"range":{"start_line":576,"start_character":0,"end_line":577,"end_character":32},"updated":"2023-03-09 12:41:33.000000000","message":"It\u0027s the same. I think it might be better to use `shutil.rmtree` with `ignore_errors`.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"4a9aa30851722b8e0d1ba1b4c5546bd9ff0f3c4e","unresolved":true,"context_lines":[{"line_number":573,"context_line":"        else:"},{"line_number":574,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\","},{"line_number":575,"context_line":"                     csar_zip_temp_path)"},{"line_number":576,"context_line":"        if os.path.exists(csar_path):"},{"line_number":577,"context_line":"            os.remove(csar_path)"},{"line_number":578,"context_line":"        else:"},{"line_number":579,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\", csar_path)"},{"line_number":580,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":13,"id":"908612aa_eee5cd90","line":577,"range":{"start_line":576,"start_character":0,"end_line":577,"end_character":32},"in_reply_to":"41106cfb_345109af","updated":"2023-03-10 20:49:38.000000000","message":"Understand. It\u0027s true for `os.remove()` as you suggested. I prefer the second one, but it might be better to use `os.path.isfile()` to make it clear your thinking.\n\n```\nif os.path.isfile(csar_path):\n    os.remove(csar_path)\n```","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"7aff4d6e2433e9485e3f7327b96b5043b767862c","unresolved":true,"context_lines":[{"line_number":573,"context_line":"        else:"},{"line_number":574,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\","},{"line_number":575,"context_line":"                     csar_zip_temp_path)"},{"line_number":576,"context_line":"        if os.path.exists(csar_path):"},{"line_number":577,"context_line":"            os.remove(csar_path)"},{"line_number":578,"context_line":"        else:"},{"line_number":579,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\", csar_path)"},{"line_number":580,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":13,"id":"541e842a_7829fe8b","line":577,"range":{"start_line":576,"start_character":0,"end_line":577,"end_character":32},"in_reply_to":"908612aa_eee5cd90","updated":"2023-03-12 23:07:56.000000000","message":"I fixed it.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"61980c7d602687eea06fc70f93df8dadeb4b947d","unresolved":true,"context_lines":[{"line_number":573,"context_line":"        else:"},{"line_number":574,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\","},{"line_number":575,"context_line":"                     csar_zip_temp_path)"},{"line_number":576,"context_line":"        if os.path.exists(csar_path):"},{"line_number":577,"context_line":"            os.remove(csar_path)"},{"line_number":578,"context_line":"        else:"},{"line_number":579,"context_line":"            LOG.info(\"%s does not exist. Deleteion aborted\", csar_path)"},{"line_number":580,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":13,"id":"41106cfb_345109af","line":577,"range":{"start_line":576,"start_character":0,"end_line":577,"end_character":32},"in_reply_to":"f4053742_7cbc8f67","updated":"2023-03-10 04:28:21.000000000","message":"Thank you for your comments about the `delete_csar_data` function.\nAs you said above, the `shutil.rmtree()` can avoid raising an exception by using `ignore_error` option.\nBut the `shutil.rmtree()` seems to be able to delete only directories but files.\nSo we should use `os.remove` here to delete files but it seems not to have options like `ignore_error`.\n\nTherefore, I can implement this code block like below. I would like to hear your opinion.\n\n```\ntry:\n    shutil.rmtree(csar_zip_temp_path, ignore_error\u003dTrue)\n    if os.path.exists(csar_path):\n        os.remove(csar_path)\nexcept OSError as exc:\n    exc_message \u003d encodeutils.exception_to_unicode(exc)\n    msg \u003d _(\u0027Failed to delete csar folder: \u0027\n            \u0027%(csar_path)s, Error: %(exc)s\u0027)\n    LOG.error(msg, {\u0027csar_path\u0027: csar_path, \u0027exc\u0027: exc_message})\n```\n\nor not to catch any exeptions like below.\n\n```\nshutil.rmtree(csar_zip_temp_path, ignore_error\u003dTrue)\nif os.path.exists(csar_path):\n    os.remove(csar_path)\n```","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"}],"tacker/conductor/conductor_server.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"38290a0cf2963ff643add2552471832375d4078c","unresolved":true,"context_lines":[{"line_number":358,"context_line":"                if not os.path.exists(zip_path):"},{"line_number":359,"context_line":"                    zip_path \u003d glance_store.load_csar("},{"line_number":360,"context_line":"                        vnf_package.id, location)"},{"line_number":361,"context_line":"                    vnf_data, flavours, vnf_artifacts \u003d \\"},{"line_number":362,"context_line":"                        csar_utils.load_csar_data(context.elevated(),"},{"line_number":363,"context_line":"                        vnf_package.id, zip_path)"},{"line_number":364,"context_line":"            except Exception as error_msg:"}],"source_content_type":"text/x-python","patch_set":7,"id":"66493b43_00bf9ea3","line":361,"range":{"start_line":361,"start_character":56,"end_line":361,"end_character":57},"updated":"2023-03-01 07:24:28.000000000","message":"nit: Could you fix it so that it doesn\u0027t break a line by using backslash?","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"940aee392c35a727d200c830d714259ccb248ac1","unresolved":false,"context_lines":[{"line_number":358,"context_line":"                if not os.path.exists(zip_path):"},{"line_number":359,"context_line":"                    zip_path \u003d glance_store.load_csar("},{"line_number":360,"context_line":"                        vnf_package.id, location)"},{"line_number":361,"context_line":"                    vnf_data, flavours, vnf_artifacts \u003d \\"},{"line_number":362,"context_line":"                        csar_utils.load_csar_data(context.elevated(),"},{"line_number":363,"context_line":"                        vnf_package.id, zip_path)"},{"line_number":364,"context_line":"            except Exception as error_msg:"}],"source_content_type":"text/x-python","patch_set":7,"id":"a9a0d298_9c5c88bb","line":361,"range":{"start_line":361,"start_character":56,"end_line":361,"end_character":57},"in_reply_to":"3fa84112_a52a5b80","updated":"2023-03-01 12:49:34.000000000","message":"Ack","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"f2230a0bcb447e96ada77c8696f9a83ad6b8ad38","unresolved":true,"context_lines":[{"line_number":358,"context_line":"                if not os.path.exists(zip_path):"},{"line_number":359,"context_line":"                    zip_path \u003d glance_store.load_csar("},{"line_number":360,"context_line":"                        vnf_package.id, location)"},{"line_number":361,"context_line":"                    vnf_data, flavours, vnf_artifacts \u003d \\"},{"line_number":362,"context_line":"                        csar_utils.load_csar_data(context.elevated(),"},{"line_number":363,"context_line":"                        vnf_package.id, zip_path)"},{"line_number":364,"context_line":"            except Exception as error_msg:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa84112_a52a5b80","line":361,"range":{"start_line":361,"start_character":56,"end_line":361,"end_character":57},"in_reply_to":"66493b43_00bf9ea3","updated":"2023-03-01 10:24:29.000000000","message":"Fixed it.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"07ec8040e13d837ff9712e85c17f47fddb47f31f","unresolved":true,"context_lines":[{"line_number":528,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":529,"context_line":"                    context, vnf_package.id)"},{"line_number":530,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":531,"context_line":"                if not completed:"},{"line_number":532,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":533,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"},{"line_number":534,"context_line":"                context.session.commit()"}],"source_content_type":"text/x-python","patch_set":7,"id":"99b3ec6d_1cf7c77a","line":531,"range":{"start_line":531,"start_character":0,"end_line":531,"end_character":33},"updated":"2023-03-01 10:26:12.000000000","message":"Sorry for a naïve question, but could you help me in understanding in which condition \"completed\" flag will be false.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"8250fbf74f7dcc2c5f92f9de7fc52131f5a6a171","unresolved":true,"context_lines":[{"line_number":528,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":529,"context_line":"                    context, vnf_package.id)"},{"line_number":530,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":531,"context_line":"                if not completed:"},{"line_number":532,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":533,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"},{"line_number":534,"context_line":"                context.session.commit()"}],"source_content_type":"text/x-python","patch_set":7,"id":"b568a068_7ba5fcb4","line":531,"range":{"start_line":531,"start_character":0,"end_line":531,"end_character":33},"in_reply_to":"99b3ec6d_1cf7c77a","updated":"2023-03-01 10:46:21.000000000","message":"This flag is still `False` in below cases.\n- Loading csar_data from backend storage failed\n- Storing csar_data to local filesystem failed\nIn this case, an error is occurred and finally block is called before completed flag is set to `True`.\nThis case means at least one of conductors failed to store csar_data.\nTherefore, the conductor set the OnboardigState back to `CREATED` in finally block.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"4d5b76e8efa7899032392153882274156fbe0b5f","unresolved":false,"context_lines":[{"line_number":528,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":529,"context_line":"                    context, vnf_package.id)"},{"line_number":530,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":531,"context_line":"                if not completed:"},{"line_number":532,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":533,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"},{"line_number":534,"context_line":"                context.session.commit()"}],"source_content_type":"text/x-python","patch_set":7,"id":"e3665b87_d38727cd","line":531,"range":{"start_line":531,"start_character":0,"end_line":531,"end_character":33},"in_reply_to":"b568a068_7ba5fcb4","updated":"2023-03-01 12:40:58.000000000","message":"Thanks for sharing.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":true,"context_lines":[{"line_number":160,"context_line":"                # after correcting the csar zip file."},{"line_number":161,"context_line":"                vnf_package.onboarding_state \u003d ("},{"line_number":162,"context_line":"                    fields.PackageOnboardingStateType.CREATED)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"                vnf_package.save()"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    return decorated_function"}],"source_content_type":"text/x-python","patch_set":10,"id":"f031b907_80003ee3","line":163,"updated":"2023-03-08 03:27:17.000000000","message":"Do you need to reset the `downloading` back to 0 if it fails?","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                # after correcting the csar zip file."},{"line_number":161,"context_line":"                vnf_package.onboarding_state \u003d ("},{"line_number":162,"context_line":"                    fields.PackageOnboardingStateType.CREATED)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"                vnf_package.save()"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    return decorated_function"}],"source_content_type":"text/x-python","patch_set":10,"id":"677b5e63_21526579","line":163,"in_reply_to":"08effd1b_ca489419","updated":"2023-03-08 14:41:37.000000000","message":"Ack","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"fa7aadc571e5a7cb4ddea4c26e3bd9521379ed1a","unresolved":true,"context_lines":[{"line_number":160,"context_line":"                # after correcting the csar zip file."},{"line_number":161,"context_line":"                vnf_package.onboarding_state \u003d ("},{"line_number":162,"context_line":"                    fields.PackageOnboardingStateType.CREATED)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"                vnf_package.save()"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    return decorated_function"}],"source_content_type":"text/x-python","patch_set":10,"id":"08effd1b_ca489419","line":163,"in_reply_to":"f031b907_80003ee3","updated":"2023-03-08 09:49:35.000000000","message":"I revised `upload_vnf_package_content()` and `upload_vnf_package_from_uri()` to initialize the `downloading` to 0 before calling `load_csar_data()` instead.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":true,"context_lines":[{"line_number":482,"context_line":"                yaml.dump(flavour.get(\u0027tpl_dict\u0027), default_flow_style\u003dFalse)"},{"line_number":483,"context_line":"            vnfd_attribute.create()"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    @revert_upload_vnf_package"},{"line_number":486,"context_line":"    def load_csar_data(self, context, vnf_package):"},{"line_number":487,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":488,"context_line":"            vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("}],"source_content_type":"text/x-python","patch_set":10,"id":"09db8f23_a856fab3","line":485,"range":{"start_line":485,"start_character":4,"end_line":485,"end_character":30},"updated":"2023-03-08 03:27:17.000000000","message":"Is it okay that this method has `revert_upload_vnf_package` as a decorator?\nI wonder if more than one conductor fails, it will be repeated same process.\n\nIs it correct that only `upload_vnf_package_content()` and `upload_vnf_package_from_uri` have it?","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"fa7aadc571e5a7cb4ddea4c26e3bd9521379ed1a","unresolved":true,"context_lines":[{"line_number":482,"context_line":"                yaml.dump(flavour.get(\u0027tpl_dict\u0027), default_flow_style\u003dFalse)"},{"line_number":483,"context_line":"            vnfd_attribute.create()"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    @revert_upload_vnf_package"},{"line_number":486,"context_line":"    def load_csar_data(self, context, vnf_package):"},{"line_number":487,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":488,"context_line":"            vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("}],"source_content_type":"text/x-python","patch_set":10,"id":"75acbc59_285dce91","line":485,"range":{"start_line":485,"start_character":4,"end_line":485,"end_character":30},"in_reply_to":"09db8f23_a856fab3","updated":"2023-03-08 09:49:35.000000000","message":"As you said, `revert_upload_vnf_package` called repeatedly if more than one conductor fails.\nIn the case, it fails expectedly as belows. [1] [2]\n[1] https://opendev.org/openstack/tacker/src/branch/master/tacker/glance_store/store.py#L91-L96\n[2] https://opendev.org/openstack/tacker/src/branch/master/tacker/common/csar_utils.py#L570-L577\n\nYes, only `upload_vnf_package_content()` and `upload_vnf_package_from_uri` calls `load_csar_data()`","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":true,"context_lines":[{"line_number":482,"context_line":"                yaml.dump(flavour.get(\u0027tpl_dict\u0027), default_flow_style\u003dFalse)"},{"line_number":483,"context_line":"            vnfd_attribute.create()"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    @revert_upload_vnf_package"},{"line_number":486,"context_line":"    def load_csar_data(self, context, vnf_package):"},{"line_number":487,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":488,"context_line":"            vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("}],"source_content_type":"text/x-python","patch_set":10,"id":"ca21fd40_4a0b7685","line":485,"range":{"start_line":485,"start_character":4,"end_line":485,"end_character":30},"in_reply_to":"75acbc59_285dce91","updated":"2023-03-08 14:41:37.000000000","message":"It would output in multiple erorr logs at [2] if called repeatedly, isn\u0027t that a problem?\nI don\u0027t think it problems actually, so the error log should not be printed.\n\nConsidering that it has already been deleted, how about you add a folder/file existence check to [2]?","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"08a8005fd40fa5a848046747b79291be42e624d7","unresolved":false,"context_lines":[{"line_number":482,"context_line":"                yaml.dump(flavour.get(\u0027tpl_dict\u0027), default_flow_style\u003dFalse)"},{"line_number":483,"context_line":"            vnfd_attribute.create()"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    @revert_upload_vnf_package"},{"line_number":486,"context_line":"    def load_csar_data(self, context, vnf_package):"},{"line_number":487,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":488,"context_line":"            vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("}],"source_content_type":"text/x-python","patch_set":10,"id":"5e6242b7_9c976b76","line":485,"range":{"start_line":485,"start_character":4,"end_line":485,"end_character":30},"in_reply_to":"afc929e7_353761a0","updated":"2023-03-09 14:11:19.000000000","message":"Please check Ogawa-san\u0027s comment on the change.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"97adde059e7b8500778a263e20bc2a4eab5f6eb3","unresolved":true,"context_lines":[{"line_number":482,"context_line":"                yaml.dump(flavour.get(\u0027tpl_dict\u0027), default_flow_style\u003dFalse)"},{"line_number":483,"context_line":"            vnfd_attribute.create()"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    @revert_upload_vnf_package"},{"line_number":486,"context_line":"    def load_csar_data(self, context, vnf_package):"},{"line_number":487,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":488,"context_line":"            vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("}],"source_content_type":"text/x-python","patch_set":10,"id":"afc929e7_353761a0","line":485,"range":{"start_line":485,"start_character":4,"end_line":485,"end_character":30},"in_reply_to":"ca21fd40_4a0b7685","updated":"2023-03-09 07:56:49.000000000","message":"I fixed `tacker/common/csar_utils.py` to check if a folder/file exists.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":true,"context_lines":[{"line_number":499,"context_line":"            completed \u003d True"},{"line_number":500,"context_line":"        finally:"},{"line_number":501,"context_line":"            with context.session.begin(subtransactions\u003dTrue):"},{"line_number":502,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":503,"context_line":"                    context, vnf_package.id)"},{"line_number":504,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":505,"context_line":"                if not completed:"},{"line_number":506,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":507,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a31e0bc_e1215eed","line":504,"range":{"start_line":502,"start_character":0,"end_line":504,"end_character":44},"updated":"2023-03-08 03:27:17.000000000","message":"Is it necessary to do this when an Exception occurs?","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"fa7aadc571e5a7cb4ddea4c26e3bd9521379ed1a","unresolved":true,"context_lines":[{"line_number":499,"context_line":"            completed \u003d True"},{"line_number":500,"context_line":"        finally:"},{"line_number":501,"context_line":"            with context.session.begin(subtransactions\u003dTrue):"},{"line_number":502,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":503,"context_line":"                    context, vnf_package.id)"},{"line_number":504,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":505,"context_line":"                if not completed:"},{"line_number":506,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":507,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"}],"source_content_type":"text/x-python","patch_set":10,"id":"c2ef3e80_2ba0f634","line":504,"range":{"start_line":502,"start_character":0,"end_line":504,"end_character":44},"in_reply_to":"5a31e0bc_e1215eed","updated":"2023-03-08 09:49:35.000000000","message":"It is necessary only when download is succeeded.\nI fixed it.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"08a8005fd40fa5a848046747b79291be42e624d7","unresolved":false,"context_lines":[{"line_number":499,"context_line":"            completed \u003d True"},{"line_number":500,"context_line":"        finally:"},{"line_number":501,"context_line":"            with context.session.begin(subtransactions\u003dTrue):"},{"line_number":502,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":503,"context_line":"                    context, vnf_package.id)"},{"line_number":504,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":505,"context_line":"                if not completed:"},{"line_number":506,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":507,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"}],"source_content_type":"text/x-python","patch_set":10,"id":"db8c71cf_4506ebac","line":504,"range":{"start_line":502,"start_character":0,"end_line":504,"end_character":44},"in_reply_to":"732834a9_12b945a6","updated":"2023-03-09 14:11:19.000000000","message":"Ack","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":true,"context_lines":[{"line_number":499,"context_line":"            completed \u003d True"},{"line_number":500,"context_line":"        finally:"},{"line_number":501,"context_line":"            with context.session.begin(subtransactions\u003dTrue):"},{"line_number":502,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":503,"context_line":"                    context, vnf_package.id)"},{"line_number":504,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":505,"context_line":"                if not completed:"},{"line_number":506,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":507,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"}],"source_content_type":"text/x-python","patch_set":10,"id":"db17bb1d_b8d3ec01","line":504,"range":{"start_line":502,"start_character":0,"end_line":504,"end_character":44},"in_reply_to":"c2ef3e80_2ba0f634","updated":"2023-03-08 14:41:37.000000000","message":"Therefore, is the processing performed in this `finally` necessary when an Exception occurs?\n\nIf you don\u0027t need to catch Exception here,\nis it possible to delete the try statement and change L.493-506 to the following?\n```\n        location \u003d vnf_package.location_glance_store\n        zip_path \u003d glance_store.load_csar(vnf_package.id, location)\n        vnf_data, flavours, vnf_artifacts \u003d csar_utils.load_csar_data(\n            context.elevated(), vnf_package.id, zip_path)\n        with context.session.begin(subtransactions\u003dTrue):\n            vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock(\n                context, vnf_package.id)\n            vnf_package.downloading -\u003d 1\n            context.session.commit()\n```","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"97adde059e7b8500778a263e20bc2a4eab5f6eb3","unresolved":true,"context_lines":[{"line_number":499,"context_line":"            completed \u003d True"},{"line_number":500,"context_line":"        finally:"},{"line_number":501,"context_line":"            with context.session.begin(subtransactions\u003dTrue):"},{"line_number":502,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":503,"context_line":"                    context, vnf_package.id)"},{"line_number":504,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":505,"context_line":"                if not completed:"},{"line_number":506,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":507,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"}],"source_content_type":"text/x-python","patch_set":10,"id":"732834a9_12b945a6","line":504,"range":{"start_line":502,"start_character":0,"end_line":504,"end_character":44},"in_reply_to":"db17bb1d_b8d3ec01","updated":"2023-03-09 07:56:49.000000000","message":"You are right. I fixed it.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":true,"context_lines":[{"line_number":502,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":503,"context_line":"                    context, vnf_package.id)"},{"line_number":504,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":505,"context_line":"                if not completed:"},{"line_number":506,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":507,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"},{"line_number":508,"context_line":"                context.session.commit()"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id("}],"source_content_type":"text/x-python","patch_set":10,"id":"aee54d00_872057ae","line":507,"range":{"start_line":505,"start_character":0,"end_line":507,"end_character":66},"updated":"2023-03-08 03:27:17.000000000","message":"If an Exception occurs in one of the conductors, is the recognition through this route correct?\nAlso, the process to return to \"CREATED\" is done in \"revert_upload_vnf_package()\", so I think it is redundant.\n\nWhat do you think?","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"fa7aadc571e5a7cb4ddea4c26e3bd9521379ed1a","unresolved":true,"context_lines":[{"line_number":502,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":503,"context_line":"                    context, vnf_package.id)"},{"line_number":504,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":505,"context_line":"                if not completed:"},{"line_number":506,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":507,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"},{"line_number":508,"context_line":"                context.session.commit()"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id("}],"source_content_type":"text/x-python","patch_set":10,"id":"cae59d94_76571675","line":507,"range":{"start_line":505,"start_character":0,"end_line":507,"end_character":66},"in_reply_to":"aee54d00_872057ae","updated":"2023-03-08 09:49:35.000000000","message":"As you said, this is redundant because updating the state to \"CREATED\" is executed in `revert_upload_vnf_package()`.\nI removed it.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":false,"context_lines":[{"line_number":502,"context_line":"                vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id_with_lock("},{"line_number":503,"context_line":"                    context, vnf_package.id)"},{"line_number":504,"context_line":"                vnf_package.downloading -\u003d 1"},{"line_number":505,"context_line":"                if not completed:"},{"line_number":506,"context_line":"                    vnf_package.onboarding_state \u003d ("},{"line_number":507,"context_line":"                        fields.PackageOnboardingStateType.CREATED)"},{"line_number":508,"context_line":"                context.session.commit()"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        vnf_package \u003d vnf_package_obj.VnfPackage.get_by_id("}],"source_content_type":"text/x-python","patch_set":10,"id":"800df91a_18d63537","line":507,"range":{"start_line":505,"start_character":0,"end_line":507,"end_character":66},"in_reply_to":"cae59d94_76571675","updated":"2023-03-08 14:41:37.000000000","message":"Ack","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":true,"context_lines":[{"line_number":543,"context_line":"        try:"},{"line_number":544,"context_line":"            vnf_package.save()"},{"line_number":545,"context_line":"            rpc_method(context, \u0027load_csar_data\u0027, vnf_package\u003dvnf_package)"},{"line_number":546,"context_line":"        except Exception as msg:"},{"line_number":547,"context_line":"            raise Exception(msg)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    @revert_upload_vnf_package"},{"line_number":550,"context_line":"    def upload_vnf_package_from_uri(self, context, vnf_package,"}],"source_content_type":"text/x-python","patch_set":10,"id":"69f94399_919cf283","line":547,"range":{"start_line":546,"start_character":0,"end_line":547,"end_character":32},"updated":"2023-03-08 03:27:17.000000000","message":"Just a question, if an Exception occurs in only one of the conductors,\n- will this process be executed after the all other processes are finished?\n- Or will other processes remain executed behind the scenes?\n\nIf the latter case, I\u0027m worried it will conflict with the operation to remove the package in `revert_upload_vnf_package`.\nWhat do you think?","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"fa7aadc571e5a7cb4ddea4c26e3bd9521379ed1a","unresolved":true,"context_lines":[{"line_number":543,"context_line":"        try:"},{"line_number":544,"context_line":"            vnf_package.save()"},{"line_number":545,"context_line":"            rpc_method(context, \u0027load_csar_data\u0027, vnf_package\u003dvnf_package)"},{"line_number":546,"context_line":"        except Exception as msg:"},{"line_number":547,"context_line":"            raise Exception(msg)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    @revert_upload_vnf_package"},{"line_number":550,"context_line":"    def upload_vnf_package_from_uri(self, context, vnf_package,"}],"source_content_type":"text/x-python","patch_set":10,"id":"96316ea3_bef898af","line":547,"range":{"start_line":546,"start_character":0,"end_line":547,"end_character":32},"in_reply_to":"69f94399_919cf283","updated":"2023-03-08 09:49:35.000000000","message":"This \"except\" block is called when `vnf_package.save()` or `rpc_method(...)` itself fails to be called.\nIn this case, no conductors will executes the actual operation to download.\n\nBut as you said, if `rpc_method(...)` is called and some of conductors fails to download in `load_csar_data()`, `revert_upload_vnf_package()` can be called while other conductors still downloading.\nIn this case, the delete operation and the download operation is processed sequentially by the conductor, so if which operation is processed first, it works expectedly.\n\nConcretely, if the deletion is processed first, then the download is expectedly failed because the VNF package is no longer exist.\nIf the download is processed first, the deletion is successfully executed and no VNF package will be left.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        try:"},{"line_number":544,"context_line":"            vnf_package.save()"},{"line_number":545,"context_line":"            rpc_method(context, \u0027load_csar_data\u0027, vnf_package\u003dvnf_package)"},{"line_number":546,"context_line":"        except Exception as msg:"},{"line_number":547,"context_line":"            raise Exception(msg)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    @revert_upload_vnf_package"},{"line_number":550,"context_line":"    def upload_vnf_package_from_uri(self, context, vnf_package,"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff180761_4487f75d","line":547,"range":{"start_line":546,"start_character":0,"end_line":547,"end_character":32},"in_reply_to":"96316ea3_bef898af","updated":"2023-03-08 14:41:37.000000000","message":"Thanks for your explanation, I understood.\n\n\u003e Concretely, if the deletion is processed first, then the download is expectedly failed because the VNF package is no longer exist.\n\u003e If the download is processed first, the deletion is successfully executed and no VNF package will be left.\nIf there is no error in either of the above cases, I think it is OK.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":true,"context_lines":[{"line_number":581,"context_line":"        try:"},{"line_number":582,"context_line":"            vnf_package.save()"},{"line_number":583,"context_line":"            rpc_method(context, \u0027load_csar_data\u0027, vnf_package\u003dvnf_package)"},{"line_number":584,"context_line":"        except Exception as msg:"},{"line_number":585,"context_line":"            raise Exception(msg)"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    def delete_csar(self, context, vnf_package):"},{"line_number":588,"context_line":"        csar_utils.delete_csar_data(vnf_package.id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"be68fe87_ba73c40a","line":585,"range":{"start_line":584,"start_character":0,"end_line":585,"end_character":32},"updated":"2023-03-08 03:27:17.000000000","message":"ditto.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":false,"context_lines":[{"line_number":581,"context_line":"        try:"},{"line_number":582,"context_line":"            vnf_package.save()"},{"line_number":583,"context_line":"            rpc_method(context, \u0027load_csar_data\u0027, vnf_package\u003dvnf_package)"},{"line_number":584,"context_line":"        except Exception as msg:"},{"line_number":585,"context_line":"            raise Exception(msg)"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    def delete_csar(self, context, vnf_package):"},{"line_number":588,"context_line":"        csar_utils.delete_csar_data(vnf_package.id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"38c268c6_9f253458","line":585,"range":{"start_line":584,"start_character":0,"end_line":585,"end_character":32},"in_reply_to":"be68fe87_ba73c40a","updated":"2023-03-08 14:41:37.000000000","message":"Ack","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"}],"tacker/db/db_sqlalchemy/models.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d27b997599fd0b47de6d27a0c7ba88646d6e5da4","unresolved":true,"context_lines":[{"line_number":171,"context_line":"    hash \u003d sa.Column(sa.String(128), nullable\u003dTrue)"},{"line_number":172,"context_line":"    location_glance_store \u003d sa.Column(sa.Text(), nullable\u003dTrue)"},{"line_number":173,"context_line":"    size \u003d sa.Column(sa.BigInteger, nullable\u003dFalse, default\u003d0)"},{"line_number":174,"context_line":"    downloading \u003d sa.Column(sa.BigInteger, nullable\u003dFalse, default\u003d0)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    _metadata \u003d orm.relationship("},{"line_number":177,"context_line":"        VnfPackageUserData,"}],"source_content_type":"text/x-python","patch_set":9,"id":"f416c1ba_d6cdb9d4","line":174,"range":{"start_line":174,"start_character":31,"end_line":174,"end_character":41},"updated":"2023-03-07 13:38:05.000000000","message":"Why do you set this column as \"BigInteger\"? Is \"Integer\" enough?\nWhat do you think?","commit_id":"f4269b10ee0f7c0903f2240c41ffd6ff903dc605"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    hash \u003d sa.Column(sa.String(128), nullable\u003dTrue)"},{"line_number":172,"context_line":"    location_glance_store \u003d sa.Column(sa.Text(), nullable\u003dTrue)"},{"line_number":173,"context_line":"    size \u003d sa.Column(sa.BigInteger, nullable\u003dFalse, default\u003d0)"},{"line_number":174,"context_line":"    downloading \u003d sa.Column(sa.BigInteger, nullable\u003dFalse, default\u003d0)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    _metadata \u003d orm.relationship("},{"line_number":177,"context_line":"        VnfPackageUserData,"}],"source_content_type":"text/x-python","patch_set":9,"id":"94f8d8ee_9593f009","line":174,"range":{"start_line":174,"start_character":31,"end_line":174,"end_character":41},"in_reply_to":"4ca65867_a0dcdca6","updated":"2023-03-08 03:27:17.000000000","message":"Ack","commit_id":"f4269b10ee0f7c0903f2240c41ffd6ff903dc605"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"511d51d2e94dc509bff0850fc9bddf56c7500013","unresolved":true,"context_lines":[{"line_number":171,"context_line":"    hash \u003d sa.Column(sa.String(128), nullable\u003dTrue)"},{"line_number":172,"context_line":"    location_glance_store \u003d sa.Column(sa.Text(), nullable\u003dTrue)"},{"line_number":173,"context_line":"    size \u003d sa.Column(sa.BigInteger, nullable\u003dFalse, default\u003d0)"},{"line_number":174,"context_line":"    downloading \u003d sa.Column(sa.BigInteger, nullable\u003dFalse, default\u003d0)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    _metadata \u003d orm.relationship("},{"line_number":177,"context_line":"        VnfPackageUserData,"}],"source_content_type":"text/x-python","patch_set":9,"id":"4ca65867_a0dcdca6","line":174,"range":{"start_line":174,"start_character":31,"end_line":174,"end_character":41},"in_reply_to":"f416c1ba_d6cdb9d4","updated":"2023-03-08 02:18:40.000000000","message":"You are right. I Fixed it.","commit_id":"f4269b10ee0f7c0903f2240c41ffd6ff903dc605"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":true,"context_lines":[{"line_number":188,"context_line":"        VnfPackageVnfd, uselist\u003dFalse,"},{"line_number":189,"context_line":"        primaryjoin\u003d\u0027and_(VnfPackage.id \u003d\u003d \u0027"},{"line_number":190,"context_line":"                    \u0027VnfPackageVnfd.package_uuid,\u0027"},{"line_number":191,"context_line":"                    \u0027VnfPackageVnfd.deleted \u003d\u003d 0)\u0027)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    vnf_artifacts \u003d orm.relationship("},{"line_number":194,"context_line":"        VnfPackageArtifactInfo,"}],"source_content_type":"text/x-python","patch_set":10,"id":"978a42f0_a394f2dc","line":191,"range":{"start_line":191,"start_character":47,"end_line":191,"end_character":48},"updated":"2023-03-08 03:27:17.000000000","message":"Why do you change here?\nThis change revert the fix about the patch for supporting PostgreSQL [1].\n\n[1] https://review.opendev.org/c/openstack/tacker/+/871956/7/tacker/db/db_sqlalchemy/models.py","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        VnfPackageVnfd, uselist\u003dFalse,"},{"line_number":189,"context_line":"        primaryjoin\u003d\u0027and_(VnfPackage.id \u003d\u003d \u0027"},{"line_number":190,"context_line":"                    \u0027VnfPackageVnfd.package_uuid,\u0027"},{"line_number":191,"context_line":"                    \u0027VnfPackageVnfd.deleted \u003d\u003d 0)\u0027)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    vnf_artifacts \u003d orm.relationship("},{"line_number":194,"context_line":"        VnfPackageArtifactInfo,"}],"source_content_type":"text/x-python","patch_set":10,"id":"baec72dd_298fd1f1","line":191,"range":{"start_line":191,"start_character":47,"end_line":191,"end_character":48},"in_reply_to":"7bf5e6fa_bf9fd51d","updated":"2023-03-08 14:41:37.000000000","message":"Ack","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"fa7aadc571e5a7cb4ddea4c26e3bd9521379ed1a","unresolved":true,"context_lines":[{"line_number":188,"context_line":"        VnfPackageVnfd, uselist\u003dFalse,"},{"line_number":189,"context_line":"        primaryjoin\u003d\u0027and_(VnfPackage.id \u003d\u003d \u0027"},{"line_number":190,"context_line":"                    \u0027VnfPackageVnfd.package_uuid,\u0027"},{"line_number":191,"context_line":"                    \u0027VnfPackageVnfd.deleted \u003d\u003d 0)\u0027)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    vnf_artifacts \u003d orm.relationship("},{"line_number":194,"context_line":"        VnfPackageArtifactInfo,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7bf5e6fa_bf9fd51d","line":191,"range":{"start_line":191,"start_character":47,"end_line":191,"end_character":48},"in_reply_to":"978a42f0_a394f2dc","updated":"2023-03-08 09:49:35.000000000","message":"Sorry. I Fixed it.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"}],"tacker/db/migration/alembic_migrations/versions/34cfceb25a49_add_downloading_to_vnfpackage.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"38290a0cf2963ff643add2552471832375d4078c","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.BigInteger(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"e98d5142_2d878a77","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":75},"updated":"2023-03-01 07:24:28.000000000","message":"The specification for this implementation states in \"Impact on the data model\" that \"None\". [1]\nThe spec freeze and future freeze have already been over, but if you really need to make this change, I think you should reflect this in your Spec.\nWhat do you think?\n\n[1] https://specs.openstack.org/openstack/tacker-specs/specs/2023.1/support-multi-conductors-onboarding.html#data-model-impact","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"95e1eeaad2a16218d12bce8efb1c457bc64b4b91","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.BigInteger(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f5b111e_fc70ce7c","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":75},"in_reply_to":"34e2d14d_64c41c94","updated":"2023-03-01 13:40:45.000000000","message":"Thank you for teaching me.\nI have revised the spec to have the data model impact.[1]\nI understood it is needed to explain about this on IRC.\n\n[1] https://review.opendev.org/c/openstack/tacker-specs/+/875641","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"940aee392c35a727d200c830d714259ccb248ac1","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.BigInteger(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"34e2d14d_64c41c94","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":75},"in_reply_to":"9c9a8e1b_4484882d","updated":"2023-03-01 12:49:34.000000000","message":"I think it is ok, but I don\u0027t know the formal procedure.\nJust in case, I think it is good to explain the change to the community members on IRC and revise specification.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"4e51a7cde1d0f4902481320a94650295fb46116f","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.BigInteger(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"cadd1ddf_e3d3b037","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":75},"in_reply_to":"9f5b111e_fc70ce7c","updated":"2023-03-01 13:57:17.000000000","message":"Thank you! let\u0027s discuss in next IRC meeting.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"f2230a0bcb447e96ada77c8696f9a83ad6b8ad38","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.BigInteger(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9c9a8e1b_4484882d","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":75},"in_reply_to":"e98d5142_2d878a77","updated":"2023-03-01 10:24:29.000000000","message":"You are right.\nThis field is needed to check whether or not all conductors could download vnf package.\nSorry for not informing in advance.\nSo I would revise the spec. Is it ok?","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d27b997599fd0b47de6d27a0c7ba88646d6e5da4","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.BigInteger(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":9,"id":"ca3abbf8_83ca8494","line":34,"range":{"start_line":34,"start_character":62,"end_line":34,"end_character":72},"updated":"2023-03-07 13:38:05.000000000","message":"ditto.","commit_id":"f4269b10ee0f7c0903f2240c41ffd6ff903dc605"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.BigInteger(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":9,"id":"99a2d8d1_53241d7a","line":34,"range":{"start_line":34,"start_character":62,"end_line":34,"end_character":72},"in_reply_to":"a455e352_f99f1ae9","updated":"2023-03-08 03:27:17.000000000","message":"Ack","commit_id":"f4269b10ee0f7c0903f2240c41ffd6ff903dc605"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"511d51d2e94dc509bff0850fc9bddf56c7500013","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.BigInteger(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":9,"id":"a455e352_f99f1ae9","line":34,"range":{"start_line":34,"start_character":62,"end_line":34,"end_character":72},"in_reply_to":"ca3abbf8_83ca8494","updated":"2023-03-08 02:18:40.000000000","message":"Fixed.","commit_id":"f4269b10ee0f7c0903f2240c41ffd6ff903dc605"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1cbda3529e4d481ec357c973758c961f990430cc","unresolved":true,"context_lines":[{"line_number":30,"context_line":"down_revision \u003d \u0027de6bfa5bea46\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.Integer(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"6fa4a42b_524035b2","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":63},"updated":"2023-03-09 12:41:33.000000000","message":"Sorry, I wonder we haven\u0027t made any agreement for changing database table because it\u0027s no description for that on your spec [1] at least. I apologize if we\u0027ve agreed in a previous meeting or so, let me know if it\u0027s true.\n\n[1] https://specs.openstack.org/openstack/tacker-specs/specs/2023.1/support-multi-conductors-onboarding.html","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1172c3e25f6146e58e1552993da54d9e4d997cb7","unresolved":true,"context_lines":[{"line_number":30,"context_line":"down_revision \u003d \u0027de6bfa5bea46\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.Integer(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"58953b19_b04ebb5a","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":63},"in_reply_to":"14193b46_9de48e23","updated":"2023-03-13 02:58:06.000000000","message":"I\u0027d like to ask you again. Could you tell me a url of the irc log you pointed out? It\u0027s because I should understand the result of discussion preciously and confirm everyone agreed to your proposal at that time. Thanks.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"321e9e8d30a6b5f30e7bd899214baeb606cebfa0","unresolved":true,"context_lines":[{"line_number":30,"context_line":"down_revision \u003d \u0027de6bfa5bea46\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.Integer(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"f8b66149_e4cb0118","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":63},"in_reply_to":"58953b19_b04ebb5a","updated":"2023-03-13 08:26:35.000000000","message":"Sorry. I think here is the discussion.\nI would appreciate it if you could check it.\n\nhttps://meetings.opendev.org/meetings/tacker/2023/tacker.2023-03-07-08.02.log.html#l-93\n\n```\n09:09:03 \u003cma-ooyama\u003e Do you mean it is OK to add the field if the spec is modified?\n09:09:18 \u003cyasufum\u003e if it\u0027s true.\n09:09:29 \u003cyasufum\u003e But it\u0027s just my opinion.\n09:09:38 \u003cma-ooyama\u003e Thanks.\n09:09:56 \u003cyasufum\u003e I don\u0027t really understand it\u0027s just a tiny mistake or not actually.\n09:10:21 \u003cyasufum\u003e So, I\u0027d like to hear any other comment from team.\n09:12:55 \u003cueha\u003e I think if an existing field is not available and it is really needed, it is no problem to add it.\n09:13:41 \u003ctakahashi-tsc\u003e I also think It is OK to accept... honestly it seems to be a little big impact because thisi is data model change. basically we have to be careful about such change. But... actually there seems be no problem.\n09:14:13 \u003cyasufum\u003e thanks\n09:14:27 \u003cma-ooyama\u003e I understood it is hard to check the detail now.\n09:14:43 \u003cma-ooyama\u003e So I would appeciate it if you continue to review this on gerrit.\n09:17:01 \u003cyasufum\u003e OK\n```","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"61980c7d602687eea06fc70f93df8dadeb4b947d","unresolved":true,"context_lines":[{"line_number":30,"context_line":"down_revision \u003d \u0027de6bfa5bea46\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.Integer(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"d684d636_ec597084","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":63},"in_reply_to":"6fa4a42b_524035b2","updated":"2023-03-10 04:28:21.000000000","message":"In my understanding, the conclusion in last IRC about the change of the database is that this change was acceptable if the spec would be revised because the impact on this seems not to be large.\nSo I revised the spec here. [1]\n\nBut if your understanding is different, I would appreciate it if you reconsider and review it again.\n\n[1] https://review.opendev.org/c/openstack/tacker-specs/+/875641","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"7aff4d6e2433e9485e3f7327b96b5043b767862c","unresolved":true,"context_lines":[{"line_number":30,"context_line":"down_revision \u003d \u0027de6bfa5bea46\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.Integer(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"14193b46_9de48e23","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":63},"in_reply_to":"ae547225_97934661","updated":"2023-03-12 23:07:56.000000000","message":"I understood. Sorry for not adding you as a reviewer at the time.\nPlease continue to review the spec.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"4a9aa30851722b8e0d1ba1b4c5546bd9ff0f3c4e","unresolved":true,"context_lines":[{"line_number":30,"context_line":"down_revision \u003d \u0027de6bfa5bea46\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.Integer(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"f159df0a_0ead27ed","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":63},"in_reply_to":"d684d636_ec597084","updated":"2023-03-10 20:49:38.000000000","message":"Could you tell me a url of the irc log you pointed out because we should be careful for any change on database? And it\u0027s my fault if I didn\u0027t suggest to update the spec at that time.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"e229d0d5266bc71922375169868bb2de680aae75","unresolved":true,"context_lines":[{"line_number":30,"context_line":"down_revision \u003d \u0027de6bfa5bea46\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.Integer(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"ae547225_97934661","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":63},"in_reply_to":"f159df0a_0ead27ed","updated":"2023-03-10 21:08:20.000000000","message":"Sorry, let me correct my previous comment. I understand you\u0027ve already suggested the update, but it\u0027s not accepted. It might be no one finds your update because we don\u0027t see a change for spec at the end of release. Anyway, I don\u0027t agree to accept this patch before updating the spec. It\u0027s helpful if you let us know that your patch is waiting for review by adding reviewers or notifying at an IRC meeting to avoid such a case. Thanks.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"4e63bbb2f80c5d1619cca772d6740684f4622d79","unresolved":true,"context_lines":[{"line_number":30,"context_line":"down_revision \u003d \u0027de6bfa5bea46\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":34,"context_line":"    op.add_column(\u0027vnf_packages\u0027, sa.Column(\u0027downloading\u0027, sa.Integer(),"},{"line_number":35,"context_line":"                                           nullable\u003dFalse,"},{"line_number":36,"context_line":"                                           server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"5fc62447_261cd669","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":63},"in_reply_to":"f8b66149_e4cb0118","updated":"2023-03-13 10:50:51.000000000","message":"Thanks. I\u0027ve understood you\u0027ve already suggested to change the spec and get some positive feedbacks,but no　progress made on that unfortunately. Although the spec is now under reviewing and not been accepted yet, I agree to the change on the table itself. Please continue to update for other comments of mine on your spec to be merged soon. Thanks.","commit_id":"46330a2dcfe920b8b25664f9d785587e81c0084c"}],"tacker/db/migration/alembic_migrations/versions/HEAD":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3cd22417eb8cbd5c4ac8227011f2b3d6f2b944f4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a478b877_f9c893b1","line":2,"updated":"2023-03-08 03:27:17.000000000","message":"Could you remove added empty line?","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0a9b47ab_48871ab5","line":2,"in_reply_to":"7fb8f081_10ccc5bb","updated":"2023-03-08 14:41:37.000000000","message":"Ack","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"fa7aadc571e5a7cb4ddea4c26e3bd9521379ed1a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":10,"id":"7fb8f081_10ccc5bb","line":2,"in_reply_to":"a478b877_f9c893b1","updated":"2023-03-08 09:49:35.000000000","message":"Fixed.","commit_id":"5e15028cafef83a0f55293a20ba24ca7e4b31b98"}],"tacker/objects/vnf_package.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"38290a0cf2963ff643add2552471832375d4078c","unresolved":true,"context_lines":[{"line_number":538,"context_line":""},{"line_number":539,"context_line":"    @base.remotable_classmethod"},{"line_number":540,"context_line":"    def get_by_id_with_lock(cls, context, id):"},{"line_number":541,"context_line":"        vnf_package \u003d context.session.query(models.VnfPackage).\\"},{"line_number":542,"context_line":"            filter(models.VnfPackage.id \u003d\u003d id).with_for_update().one()"},{"line_number":543,"context_line":"        return vnf_package"},{"line_number":544,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"bd87d944_c33595c3","line":541,"range":{"start_line":541,"start_character":63,"end_line":541,"end_character":64},"updated":"2023-03-01 07:24:28.000000000","message":"nit: Could you fix it so that it doesn\u0027t break a line by using backslash?","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"940aee392c35a727d200c830d714259ccb248ac1","unresolved":false,"context_lines":[{"line_number":538,"context_line":""},{"line_number":539,"context_line":"    @base.remotable_classmethod"},{"line_number":540,"context_line":"    def get_by_id_with_lock(cls, context, id):"},{"line_number":541,"context_line":"        vnf_package \u003d context.session.query(models.VnfPackage).\\"},{"line_number":542,"context_line":"            filter(models.VnfPackage.id \u003d\u003d id).with_for_update().one()"},{"line_number":543,"context_line":"        return vnf_package"},{"line_number":544,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"d44755d3_5001232e","line":541,"range":{"start_line":541,"start_character":63,"end_line":541,"end_character":64},"in_reply_to":"084d5a9f_eb5db4be","updated":"2023-03-01 12:49:34.000000000","message":"Ack","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"f2230a0bcb447e96ada77c8696f9a83ad6b8ad38","unresolved":true,"context_lines":[{"line_number":538,"context_line":""},{"line_number":539,"context_line":"    @base.remotable_classmethod"},{"line_number":540,"context_line":"    def get_by_id_with_lock(cls, context, id):"},{"line_number":541,"context_line":"        vnf_package \u003d context.session.query(models.VnfPackage).\\"},{"line_number":542,"context_line":"            filter(models.VnfPackage.id \u003d\u003d id).with_for_update().one()"},{"line_number":543,"context_line":"        return vnf_package"},{"line_number":544,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"084d5a9f_eb5db4be","line":541,"range":{"start_line":541,"start_character":63,"end_line":541,"end_character":64},"in_reply_to":"bd87d944_c33595c3","updated":"2023-03-01 10:24:29.000000000","message":"Fixed it.","commit_id":"94f9f750563a6f4db0d76e97fc7a112b7b63e737"}],"tacker/tests/unit/conductor/test_conductor_server.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"df164b63b7aafd282a16e9c5a26232978d730982","unresolved":true,"context_lines":[{"line_number":3473,"context_line":"            self.vnfd_pkg_data,"},{"line_number":3474,"context_line":"            vnfd_id)"},{"line_number":3475,"context_line":""},{"line_number":3476,"context_line":"    def test_update_vim(self):"},{"line_number":3477,"context_line":"        vim_id \u003d uuidsentinel.vim_id"},{"line_number":3478,"context_line":"        status \u003d \"REACHABLE\""},{"line_number":3479,"context_line":"        result \u003d self.conductor.update_vim(self.context, vim_id, status)"},{"line_number":3480,"context_line":"        self.assertEqual(result, \"REACHABLE\")"},{"line_number":3481,"context_line":""},{"line_number":3482,"context_line":"    @mock.patch.object(BackingOffClient, \u0027prepare\u0027)"},{"line_number":3483,"context_line":"    @mock.patch.object(objects.vnf_package.VnfPackage, \u0027save\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"b5098548_fa988f7e","line":3480,"range":{"start_line":3476,"start_character":0,"end_line":3480,"end_character":45},"updated":"2023-03-08 14:41:37.000000000","message":"This test method has been removed in the merged patch [1].\nPlease resolve merge conflicts carefully. Thanks.\n\n[1] https://review.opendev.org/c/openstack/tacker/+/869618/11/tacker/tests/unit/conductor/test_conductor_server.py","commit_id":"43475478e918d42c9037b1a4af861ad761a3cecd"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"08a8005fd40fa5a848046747b79291be42e624d7","unresolved":false,"context_lines":[{"line_number":3473,"context_line":"            self.vnfd_pkg_data,"},{"line_number":3474,"context_line":"            vnfd_id)"},{"line_number":3475,"context_line":""},{"line_number":3476,"context_line":"    def test_update_vim(self):"},{"line_number":3477,"context_line":"        vim_id \u003d uuidsentinel.vim_id"},{"line_number":3478,"context_line":"        status \u003d \"REACHABLE\""},{"line_number":3479,"context_line":"        result \u003d self.conductor.update_vim(self.context, vim_id, status)"},{"line_number":3480,"context_line":"        self.assertEqual(result, \"REACHABLE\")"},{"line_number":3481,"context_line":""},{"line_number":3482,"context_line":"    @mock.patch.object(BackingOffClient, \u0027prepare\u0027)"},{"line_number":3483,"context_line":"    @mock.patch.object(objects.vnf_package.VnfPackage, \u0027save\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"f69d44a9_703e186e","line":3480,"range":{"start_line":3476,"start_character":0,"end_line":3480,"end_character":45},"in_reply_to":"0f841e3b_63895b39","updated":"2023-03-09 14:11:19.000000000","message":"Ack","commit_id":"43475478e918d42c9037b1a4af861ad761a3cecd"},{"author":{"_account_id":34107,"name":"Masaki Oyama","email":"ma-ooyama@kddi.com","username":"oyamamasaki"},"change_message_id":"97adde059e7b8500778a263e20bc2a4eab5f6eb3","unresolved":true,"context_lines":[{"line_number":3473,"context_line":"            self.vnfd_pkg_data,"},{"line_number":3474,"context_line":"            vnfd_id)"},{"line_number":3475,"context_line":""},{"line_number":3476,"context_line":"    def test_update_vim(self):"},{"line_number":3477,"context_line":"        vim_id \u003d uuidsentinel.vim_id"},{"line_number":3478,"context_line":"        status \u003d \"REACHABLE\""},{"line_number":3479,"context_line":"        result \u003d self.conductor.update_vim(self.context, vim_id, status)"},{"line_number":3480,"context_line":"        self.assertEqual(result, \"REACHABLE\")"},{"line_number":3481,"context_line":""},{"line_number":3482,"context_line":"    @mock.patch.object(BackingOffClient, \u0027prepare\u0027)"},{"line_number":3483,"context_line":"    @mock.patch.object(objects.vnf_package.VnfPackage, \u0027save\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"0f841e3b_63895b39","line":3480,"range":{"start_line":3476,"start_character":0,"end_line":3480,"end_character":45},"in_reply_to":"b5098548_fa988f7e","updated":"2023-03-09 07:56:49.000000000","message":"Fixed.","commit_id":"43475478e918d42c9037b1a4af861ad761a3cecd"}]}
