)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"17a0f92042de6012991d6ac98af4fa952cf8a400","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Itsuro Oda \u003coda@valinux.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-01-25 00:12:03 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"support modifies an \"Individual VNF instance\" resource of v2 API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implements modifies an \"Individual VNF instance\""},{"line_number":10,"context_line":"resource defined in ETSI NFV-SOL003 v3.3.1 5.4.3.3.4."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"e46da53a_5a3434f5","line":7,"updated":"2022-01-25 02:09:47.000000000","message":"Could you please follow the guideline?\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure\n\n\u003e The first line should be limited to 50 characters and should not end with a period.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a3fe5635a9852e2db3078e20a562f991fd336acc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Itsuro Oda \u003coda@valinux.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-01-25 00:12:03 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"support modifies an \"Individual VNF instance\" resource of v2 API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implements modifies an \"Individual VNF instance\""},{"line_number":10,"context_line":"resource defined in ETSI NFV-SOL003 v3.3.1 5.4.3.3.4."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a912ca5_6002123a","line":7,"in_reply_to":"63416829_439a4948","updated":"2022-01-26 09:07:24.000000000","message":"Done","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Itsuro Oda \u003coda@valinux.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-01-25 00:12:03 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"support modifies an \"Individual VNF instance\" resource of v2 API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implements modifies an \"Individual VNF instance\""},{"line_number":10,"context_line":"resource defined in ETSI NFV-SOL003 v3.3.1 5.4.3.3.4."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"63416829_439a4948","line":7,"in_reply_to":"e46da53a_5a3434f5","updated":"2022-01-26 00:51:41.000000000","message":"Thank you for presenting guideline.\nI will fix.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ad4893aa_636068dc","updated":"2022-01-26 00:51:41.000000000","message":"Thank you for the review.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"17a0f92042de6012991d6ac98af4fa952cf8a400","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"46e21294_55171d24","updated":"2022-01-25 02:09:47.000000000","message":"Thanks for your work. I have some comments, so could you check that?","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"1e3c2f8f6ff6659e18d8b7c54906487bf50224ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"54122bc4_f2aca3c7","updated":"2022-01-28 02:25:44.000000000","message":"Thank you for the review.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6c58b8a2e939a82973a742b702663694b84c5221","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"71c4a24f_40a8d58d","updated":"2022-01-26 22:43:45.000000000","message":"recheck","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"68a20edf57bd4477ffcb1eda0bb521d46e7901cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1a169a7e_f1330a28","updated":"2022-01-31 05:48:58.000000000","message":"Thank you for the review.","commit_id":"0b141ce87a47c59db3b5f94f86f09b0ba234b9e1"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"33b576da16cb545e7fb8f23bcabd0b6036cc184d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"69282065_96c0f41a","updated":"2022-02-01 03:59:20.000000000","message":"Thank you for the comment.","commit_id":"677171aa034c8f9302661dcd6cbdc201120fd8b0"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"17410508ccc736c21c4df242e6d79c2cb688fe12","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"946e4367_4f76e910","updated":"2022-02-02 03:06:11.000000000","message":"LGTM","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"b9ed177fa439fcbf06cd54c0541495e165d08eb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9c5bde37_ca6effef","updated":"2022-02-03 01:01:41.000000000","message":"Thank you for the review.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"63aade3d5695853280d1f236cc77620556d06177","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"078347dc_d06f8c06","updated":"2022-02-02 06:06:27.000000000","message":"Thanks for your patch, please kindly find my comment.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"8f59dc4dd8267b5190d7b9e540c997bb7276d845","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"053c3e53_0ee9ae7c","updated":"2022-02-01 09:19:13.000000000","message":"Thanks for your rework! LGTM","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"17c470bee88ffbe8cba3cc4a74183426c78d6754","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"9b033195_d28423e3","updated":"2022-02-04 07:56:34.000000000","message":"Thank you for the reivew.","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"cea7488f854d3bf2829e7b786a82b8b7592fd07e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"81c25a97_db19342d","updated":"2022-02-10 03:55:25.000000000","message":"Thank you for the comment.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f489d229b5600d4caf4ec141b132cca89d23d0bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"ccf1231f_30645401","updated":"2022-02-13 23:16:40.000000000","message":"Thank you for the review.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"f1f184bb97e12ad15277b23d6322515af2601fc2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"2c844bb9_57fa3474","updated":"2022-02-14 01:37:41.000000000","message":"Thank you for the review.","commit_id":"e9c2231393f4c5c7ff2af69c2a084ad759fff1f8"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"34716bf27a95b31e48e6486f3fed6fa7e6d09f07","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"2a004013_b4ed69ab","updated":"2022-02-14 06:19:53.000000000","message":"LGTM","commit_id":"7aff826232522ff5ff32299a4f53731410556ff4"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"71533391c7b4f24e79335b0e1ed3fe12a7cb5f6b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"e6103e21_4313837e","updated":"2022-02-18 03:03:22.000000000","message":"LGTM","commit_id":"7aff826232522ff5ff32299a4f53731410556ff4"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d8a8e2f52cfbcc9e3b4b3054e38a7545f07d68cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"da97313e_d29cc903","updated":"2022-02-21 23:44:41.000000000","message":"LGTM.","commit_id":"7aff826232522ff5ff32299a4f53731410556ff4"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"b46e8d45d4108b4c315ae8dad73c418bbf49e08c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f06d4e55_bc6454dc","updated":"2022-02-14 04:02:14.000000000","message":"recheck","commit_id":"7aff826232522ff5ff32299a4f53731410556ff4"}],"tacker/sol_refactored/api/schemas/vnflcm_v2.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"93ac97066406e70310d61a1ad184c50a394a3a17","unresolved":true,"context_lines":[{"line_number":270,"context_line":"# SOL003 5.5.2.12"},{"line_number":271,"context_line":"VnfInfoModificationRequest_V200 \u003d {"},{"line_number":272,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":273,"context_line":"    \u0027properties\u0027: {"},{"line_number":274,"context_line":"        \u0027vnfInstanceName\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 255},"},{"line_number":275,"context_line":"        \u0027vnfInstanceDescription\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 1024},"},{"line_number":276,"context_line":"        \u0027vnfdId\u0027: common_types.Identifier,"}],"source_content_type":"text/x-python","patch_set":8,"id":"665eca64_0f361684","line":273,"updated":"2022-02-03 06:39:12.000000000","message":"Is it okay if there is no definition for \"vnfcInfoModifications\"?","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"cea7488f854d3bf2829e7b786a82b8b7592fd07e","unresolved":true,"context_lines":[{"line_number":270,"context_line":"# SOL003 5.5.2.12"},{"line_number":271,"context_line":"VnfInfoModificationRequest_V200 \u003d {"},{"line_number":272,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":273,"context_line":"    \u0027properties\u0027: {"},{"line_number":274,"context_line":"        \u0027vnfInstanceName\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 255},"},{"line_number":275,"context_line":"        \u0027vnfInstanceDescription\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 1024},"},{"line_number":276,"context_line":"        \u0027vnfdId\u0027: common_types.Identifier,"}],"source_content_type":"text/x-python","patch_set":8,"id":"f2f3b30a_be980feb","line":273,"in_reply_to":"0fdd8f31_382ad9ba","updated":"2022-02-10 03:55:25.000000000","message":"I fixed it to support SOL002 in PatchSet9.","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"17c470bee88ffbe8cba3cc4a74183426c78d6754","unresolved":true,"context_lines":[{"line_number":270,"context_line":"# SOL003 5.5.2.12"},{"line_number":271,"context_line":"VnfInfoModificationRequest_V200 \u003d {"},{"line_number":272,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":273,"context_line":"    \u0027properties\u0027: {"},{"line_number":274,"context_line":"        \u0027vnfInstanceName\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 255},"},{"line_number":275,"context_line":"        \u0027vnfInstanceDescription\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 1024},"},{"line_number":276,"context_line":"        \u0027vnfdId\u0027: common_types.Identifier,"}],"source_content_type":"text/x-python","patch_set":8,"id":"92e697ec_e61bb24e","line":273,"in_reply_to":"665eca64_0f361684","updated":"2022-02-04 07:56:34.000000000","message":"Yes. There are no required parameters.","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"b1eb0457800202a4f8c83e33fb30799df62ac161","unresolved":true,"context_lines":[{"line_number":270,"context_line":"# SOL003 5.5.2.12"},{"line_number":271,"context_line":"VnfInfoModificationRequest_V200 \u003d {"},{"line_number":272,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":273,"context_line":"    \u0027properties\u0027: {"},{"line_number":274,"context_line":"        \u0027vnfInstanceName\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 255},"},{"line_number":275,"context_line":"        \u0027vnfInstanceDescription\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 1024},"},{"line_number":276,"context_line":"        \u0027vnfdId\u0027: common_types.Identifier,"}],"source_content_type":"text/x-python","patch_set":8,"id":"0fdd8f31_382ad9ba","line":273,"in_reply_to":"92e697ec_e61bb24e","updated":"2022-02-04 08:28:32.000000000","message":"Could you tell me why we don\u0027t need a SOL002 compliant schema?","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"059a26827c271458b8da079384bdc1de71214a02","unresolved":false,"context_lines":[{"line_number":270,"context_line":"# SOL003 5.5.2.12"},{"line_number":271,"context_line":"VnfInfoModificationRequest_V200 \u003d {"},{"line_number":272,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":273,"context_line":"    \u0027properties\u0027: {"},{"line_number":274,"context_line":"        \u0027vnfInstanceName\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 255},"},{"line_number":275,"context_line":"        \u0027vnfInstanceDescription\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027maxLength\u0027: 1024},"},{"line_number":276,"context_line":"        \u0027vnfdId\u0027: common_types.Identifier,"}],"source_content_type":"text/x-python","patch_set":8,"id":"e34dc3a3_387c6d4d","line":273,"in_reply_to":"f2f3b30a_be980feb","updated":"2022-02-10 07:42:41.000000000","message":"Done","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"}],"tacker/sol_refactored/common/lcm_op_occ_utils.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"17a0f92042de6012991d6ac98af4fa952cf8a400","unresolved":true,"context_lines":[{"line_number":266,"context_line":"             inst.vnfInstanceDescription)):"},{"line_number":267,"context_line":"        vnf_info_modify.vnfInstanceDescription \u003d inst.vnfInstanceDescription"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    if inst_saved.vnfdId !\u003d inst.vnfdId:"},{"line_number":270,"context_line":"        vnf_info_modify.vnfdId \u003d inst.vnfdId"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if inst_saved.vnfProvider !\u003d inst.vnfProvider:"}],"source_content_type":"text/x-python","patch_set":2,"id":"48d9fb24_02ea2da2","line":269,"updated":"2022-01-25 02:09:47.000000000","message":"Since \"vnfdId\" is cardinaily: 1, I think you don\u0027t have to check with \"obj_attr_is_set\" but is it correct?\nIf so, it\u0027s better to add it in the comment to show that it is intentional.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a3fe5635a9852e2db3078e20a562f991fd336acc","unresolved":false,"context_lines":[{"line_number":266,"context_line":"             inst.vnfInstanceDescription)):"},{"line_number":267,"context_line":"        vnf_info_modify.vnfInstanceDescription \u003d inst.vnfInstanceDescription"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    if inst_saved.vnfdId !\u003d inst.vnfdId:"},{"line_number":270,"context_line":"        vnf_info_modify.vnfdId \u003d inst.vnfdId"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if inst_saved.vnfProvider !\u003d inst.vnfProvider:"}],"source_content_type":"text/x-python","patch_set":2,"id":"586fb68a_21273eba","line":269,"in_reply_to":"440e3170_550d1293","updated":"2022-01-26 09:07:24.000000000","message":"Done","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":true,"context_lines":[{"line_number":266,"context_line":"             inst.vnfInstanceDescription)):"},{"line_number":267,"context_line":"        vnf_info_modify.vnfInstanceDescription \u003d inst.vnfInstanceDescription"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    if inst_saved.vnfdId !\u003d inst.vnfdId:"},{"line_number":270,"context_line":"        vnf_info_modify.vnfdId \u003d inst.vnfdId"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if inst_saved.vnfProvider !\u003d inst.vnfProvider:"}],"source_content_type":"text/x-python","patch_set":2,"id":"440e3170_550d1293","line":269,"in_reply_to":"48d9fb24_02ea2da2","updated":"2022-01-26 00:51:41.000000000","message":"You are right.\"vnfdid\" is Cardinality 1,so I don\u0027t think need to check if the value exists.\nI will add a comment.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"17a0f92042de6012991d6ac98af4fa952cf8a400","unresolved":true,"context_lines":[{"line_number":255,"context_line":"def _change_vnf_info(lcmocc, inst_saved, inst):"},{"line_number":256,"context_line":"    vnf_info_modify \u003d objects.VnfInfoModificationsV2()"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfInstanceName\u0027) and"},{"line_number":259,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfInstanceName\u0027) or"},{"line_number":260,"context_line":"             inst_saved.vnfInstanceName !\u003d inst.vnfInstanceName)):"},{"line_number":261,"context_line":"        vnf_info_modify.vnfInstanceName \u003d inst.vnfInstanceName"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfInstanceDescription\u0027) and"},{"line_number":264,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfInstanceDescription\u0027) or"},{"line_number":265,"context_line":"             inst_saved.vnfInstanceDescription !\u003d"},{"line_number":266,"context_line":"             inst.vnfInstanceDescription)):"},{"line_number":267,"context_line":"        vnf_info_modify.vnfInstanceDescription \u003d inst.vnfInstanceDescription"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    if inst_saved.vnfdId !\u003d inst.vnfdId:"},{"line_number":270,"context_line":"        vnf_info_modify.vnfdId \u003d inst.vnfdId"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if inst_saved.vnfProvider !\u003d inst.vnfProvider:"},{"line_number":273,"context_line":"            vnf_info_modify.vnfProvider \u003d inst.vnfProvider"},{"line_number":274,"context_line":"        if inst_saved.vnfProductName !\u003d inst.vnfProductName:"},{"line_number":275,"context_line":"            vnf_info_modify.vnfProductName \u003d inst.vnfProductName"},{"line_number":276,"context_line":"        if inst_saved.vnfSoftwareVersion !\u003d inst.vnfSoftwareVersion:"},{"line_number":277,"context_line":"            vnf_info_modify.vnfSoftwareVersion \u003d inst.vnfSoftwareVersion"},{"line_number":278,"context_line":"        if inst_saved.vnfdVersion !\u003d inst.vnfdVersion:"},{"line_number":279,"context_line":"            vnf_info_modify.vnfdVersion \u003d inst.vnfdVersion"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027) and"},{"line_number":282,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027) or"},{"line_number":283,"context_line":"             inst_saved.vnfConfigurableProperties !\u003d"},{"line_number":284,"context_line":"             inst.vnfConfigurableProperties)):"},{"line_number":285,"context_line":"        vnf_info_modify.vnfConfigurableProperties \u003d ("},{"line_number":286,"context_line":"            inst.vnfConfigurableProperties)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    if (inst.obj_attr_is_set(\u0027metadata\u0027) and"},{"line_number":289,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027metadata\u0027) or"},{"line_number":290,"context_line":"             inst_saved.metadata !\u003d inst.metadata)):"},{"line_number":291,"context_line":"        vnf_info_modify.metadata \u003d inst.metadata"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    if (inst.obj_attr_is_set(\u0027extensions\u0027) and"},{"line_number":294,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027extensions\u0027) or"},{"line_number":295,"context_line":"             inst_saved.extensions !\u003d inst.extensions)):"},{"line_number":296,"context_line":"        vnf_info_modify.extensions \u003d inst.extensions"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    if (inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027) and"},{"line_number":299,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vimConnectionInfo\u0027) or"},{"line_number":300,"context_line":"             inst_saved.vimConnectionInfo !\u003d inst.vimConnectionInfo)):"},{"line_number":301,"context_line":"        vnf_info_modify.vimConnectionInfo \u003d inst.vimConnectionInfo"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    lcmocc.changedInfo \u003d vnf_info_modify"},{"line_number":304,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b7f9cca7_4c1b6fe5","line":301,"range":{"start_line":258,"start_character":4,"end_line":301,"end_character":66},"updated":"2022-01-25 02:09:47.000000000","message":"Except for \"vnfdId\", similar processes are defined for each attr, so can you refactor as follows?\n```\n+def _check_modification(inst_saved, inst, attr):\n+    if not getattr(inst, \u0027obj_attr_is_set\u0027)(attr):\n+        return False\n+    if (not getattr(inst_saved, \u0027obj_attr_is_set\u0027)(attr) or\n+            getattr(inst_saved, attr) !\u003d getattr(inst, attr)):\n+        return True\n+    return False\n+\n+\n def _change_vnf_info(lcmocc, inst_saved, inst):\n     vnf_info_modify \u003d objects.VnfInfoModificationsV2()\n\n-    if (inst.obj_attr_is_set(\u0027vnfInstanceName\u0027) and\n-            (not inst_saved.obj_attr_is_set(\u0027vnfInstanceName\u0027) or\n-             inst_saved.vnfInstanceName !\u003d inst.vnfInstanceName)):\n-        vnf_info_modify.vnfInstanceName \u003d inst.vnfInstanceName\n-\n-    if (inst.obj_attr_is_set(\u0027vnfInstanceDescription\u0027) and\n-            (not inst_saved.obj_attr_is_set(\u0027vnfInstanceDescription\u0027) or\n-             inst_saved.vnfInstanceDescription !\u003d\n-             inst.vnfInstanceDescription)):\n-        vnf_info_modify.vnfInstanceDescription \u003d inst.vnfInstanceDescription\n+    attrs \u003d [\u0027vnfInstanceName\u0027, \u0027vnfInstanceDescription\u0027,\n+             \u0027vnfConfigurableProperties\u0027, \u0027metadata\u0027,\n+             \u0027extensions\u0027, \u0027vimConnectionInfo\u0027]\n+    for attr in attrs:\n+        if _check_modification(inst_saved, inst, attr):\n+            setattr(vnf_info_modify, attr, getattr(inst, attr))\n...snip...\n```","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":true,"context_lines":[{"line_number":255,"context_line":"def _change_vnf_info(lcmocc, inst_saved, inst):"},{"line_number":256,"context_line":"    vnf_info_modify \u003d objects.VnfInfoModificationsV2()"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfInstanceName\u0027) and"},{"line_number":259,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfInstanceName\u0027) or"},{"line_number":260,"context_line":"             inst_saved.vnfInstanceName !\u003d inst.vnfInstanceName)):"},{"line_number":261,"context_line":"        vnf_info_modify.vnfInstanceName \u003d inst.vnfInstanceName"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfInstanceDescription\u0027) and"},{"line_number":264,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfInstanceDescription\u0027) or"},{"line_number":265,"context_line":"             inst_saved.vnfInstanceDescription !\u003d"},{"line_number":266,"context_line":"             inst.vnfInstanceDescription)):"},{"line_number":267,"context_line":"        vnf_info_modify.vnfInstanceDescription \u003d inst.vnfInstanceDescription"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    if inst_saved.vnfdId !\u003d inst.vnfdId:"},{"line_number":270,"context_line":"        vnf_info_modify.vnfdId \u003d inst.vnfdId"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if inst_saved.vnfProvider !\u003d inst.vnfProvider:"},{"line_number":273,"context_line":"            vnf_info_modify.vnfProvider \u003d inst.vnfProvider"},{"line_number":274,"context_line":"        if inst_saved.vnfProductName !\u003d inst.vnfProductName:"},{"line_number":275,"context_line":"            vnf_info_modify.vnfProductName \u003d inst.vnfProductName"},{"line_number":276,"context_line":"        if inst_saved.vnfSoftwareVersion !\u003d inst.vnfSoftwareVersion:"},{"line_number":277,"context_line":"            vnf_info_modify.vnfSoftwareVersion \u003d inst.vnfSoftwareVersion"},{"line_number":278,"context_line":"        if inst_saved.vnfdVersion !\u003d inst.vnfdVersion:"},{"line_number":279,"context_line":"            vnf_info_modify.vnfdVersion \u003d inst.vnfdVersion"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027) and"},{"line_number":282,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027) or"},{"line_number":283,"context_line":"             inst_saved.vnfConfigurableProperties !\u003d"},{"line_number":284,"context_line":"             inst.vnfConfigurableProperties)):"},{"line_number":285,"context_line":"        vnf_info_modify.vnfConfigurableProperties \u003d ("},{"line_number":286,"context_line":"            inst.vnfConfigurableProperties)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    if (inst.obj_attr_is_set(\u0027metadata\u0027) and"},{"line_number":289,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027metadata\u0027) or"},{"line_number":290,"context_line":"             inst_saved.metadata !\u003d inst.metadata)):"},{"line_number":291,"context_line":"        vnf_info_modify.metadata \u003d inst.metadata"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    if (inst.obj_attr_is_set(\u0027extensions\u0027) and"},{"line_number":294,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027extensions\u0027) or"},{"line_number":295,"context_line":"             inst_saved.extensions !\u003d inst.extensions)):"},{"line_number":296,"context_line":"        vnf_info_modify.extensions \u003d inst.extensions"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    if (inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027) and"},{"line_number":299,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vimConnectionInfo\u0027) or"},{"line_number":300,"context_line":"             inst_saved.vimConnectionInfo !\u003d inst.vimConnectionInfo)):"},{"line_number":301,"context_line":"        vnf_info_modify.vimConnectionInfo \u003d inst.vimConnectionInfo"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    lcmocc.changedInfo \u003d vnf_info_modify"},{"line_number":304,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ccdb5e1c_14595cd4","line":301,"range":{"start_line":258,"start_character":4,"end_line":301,"end_character":66},"in_reply_to":"b7f9cca7_4c1b6fe5","updated":"2022-01-26 00:51:41.000000000","message":"Thank you for your suggestion.\nI see.I will change.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a3fe5635a9852e2db3078e20a562f991fd336acc","unresolved":false,"context_lines":[{"line_number":255,"context_line":"def _change_vnf_info(lcmocc, inst_saved, inst):"},{"line_number":256,"context_line":"    vnf_info_modify \u003d objects.VnfInfoModificationsV2()"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfInstanceName\u0027) and"},{"line_number":259,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfInstanceName\u0027) or"},{"line_number":260,"context_line":"             inst_saved.vnfInstanceName !\u003d inst.vnfInstanceName)):"},{"line_number":261,"context_line":"        vnf_info_modify.vnfInstanceName \u003d inst.vnfInstanceName"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfInstanceDescription\u0027) and"},{"line_number":264,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfInstanceDescription\u0027) or"},{"line_number":265,"context_line":"             inst_saved.vnfInstanceDescription !\u003d"},{"line_number":266,"context_line":"             inst.vnfInstanceDescription)):"},{"line_number":267,"context_line":"        vnf_info_modify.vnfInstanceDescription \u003d inst.vnfInstanceDescription"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    if inst_saved.vnfdId !\u003d inst.vnfdId:"},{"line_number":270,"context_line":"        vnf_info_modify.vnfdId \u003d inst.vnfdId"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if inst_saved.vnfProvider !\u003d inst.vnfProvider:"},{"line_number":273,"context_line":"            vnf_info_modify.vnfProvider \u003d inst.vnfProvider"},{"line_number":274,"context_line":"        if inst_saved.vnfProductName !\u003d inst.vnfProductName:"},{"line_number":275,"context_line":"            vnf_info_modify.vnfProductName \u003d inst.vnfProductName"},{"line_number":276,"context_line":"        if inst_saved.vnfSoftwareVersion !\u003d inst.vnfSoftwareVersion:"},{"line_number":277,"context_line":"            vnf_info_modify.vnfSoftwareVersion \u003d inst.vnfSoftwareVersion"},{"line_number":278,"context_line":"        if inst_saved.vnfdVersion !\u003d inst.vnfdVersion:"},{"line_number":279,"context_line":"            vnf_info_modify.vnfdVersion \u003d inst.vnfdVersion"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    if (inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027) and"},{"line_number":282,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027) or"},{"line_number":283,"context_line":"             inst_saved.vnfConfigurableProperties !\u003d"},{"line_number":284,"context_line":"             inst.vnfConfigurableProperties)):"},{"line_number":285,"context_line":"        vnf_info_modify.vnfConfigurableProperties \u003d ("},{"line_number":286,"context_line":"            inst.vnfConfigurableProperties)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    if (inst.obj_attr_is_set(\u0027metadata\u0027) and"},{"line_number":289,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027metadata\u0027) or"},{"line_number":290,"context_line":"             inst_saved.metadata !\u003d inst.metadata)):"},{"line_number":291,"context_line":"        vnf_info_modify.metadata \u003d inst.metadata"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    if (inst.obj_attr_is_set(\u0027extensions\u0027) and"},{"line_number":294,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027extensions\u0027) or"},{"line_number":295,"context_line":"             inst_saved.extensions !\u003d inst.extensions)):"},{"line_number":296,"context_line":"        vnf_info_modify.extensions \u003d inst.extensions"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    if (inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027) and"},{"line_number":299,"context_line":"            (not inst_saved.obj_attr_is_set(\u0027vimConnectionInfo\u0027) or"},{"line_number":300,"context_line":"             inst_saved.vimConnectionInfo !\u003d inst.vimConnectionInfo)):"},{"line_number":301,"context_line":"        vnf_info_modify.vimConnectionInfo \u003d inst.vimConnectionInfo"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    lcmocc.changedInfo \u003d vnf_info_modify"},{"line_number":304,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"77b90344_f1ac3ebb","line":301,"range":{"start_line":258,"start_character":4,"end_line":301,"end_character":66},"in_reply_to":"ccdb5e1c_14595cd4","updated":"2022-01-26 09:07:24.000000000","message":"Done","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"c31a3087922007d3190cd9fb47b30ea52e4157a6","unresolved":true,"context_lines":[{"line_number":252,"context_line":"    return affected_ext_link_ports"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"def _check_modification(inst_saved, inst, attr):"},{"line_number":256,"context_line":"    if not getattr(inst, \u0027obj_attr_is_set\u0027)(attr):"},{"line_number":257,"context_line":"        return False"},{"line_number":258,"context_line":"    if (not getattr(inst_saved, \u0027obj_attr_is_set\u0027)(attr) or"},{"line_number":259,"context_line":"            getattr(inst_saved, attr) !\u003d getattr(inst, attr)):"},{"line_number":260,"context_line":"        return True"},{"line_number":261,"context_line":"    return False"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"def _change_vnf_info(lcmocc, inst_saved, inst):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1eab3346_1bdd8fb1","line":261,"range":{"start_line":255,"start_character":0,"end_line":261,"end_character":16},"updated":"2022-01-28 01:36:18.000000000","message":"I\u0027m sorry to have you fix it as I suggested on the PS2, but the following is better.\nPlease check it.\n```\n def _check_modification(inst_saved, inst, attr):\n-    if not getattr(inst, \u0027obj_attr_is_set\u0027)(attr):\n+    if not inst.obj_attr_is_set(attr):\n         return False\n-    if (not getattr(inst_saved, \u0027obj_attr_is_set\u0027)(attr) or\n+    if (not inst_saved.obj_attr_is_set(attr) or\n             getattr(inst_saved, attr) !\u003d getattr(inst, attr)):\n         return True\n     return False\n```","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"68a20edf57bd4477ffcb1eda0bb521d46e7901cc","unresolved":true,"context_lines":[{"line_number":252,"context_line":"    return affected_ext_link_ports"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"def _check_modification(inst_saved, inst, attr):"},{"line_number":256,"context_line":"    if not getattr(inst, \u0027obj_attr_is_set\u0027)(attr):"},{"line_number":257,"context_line":"        return False"},{"line_number":258,"context_line":"    if (not getattr(inst_saved, \u0027obj_attr_is_set\u0027)(attr) or"},{"line_number":259,"context_line":"            getattr(inst_saved, attr) !\u003d getattr(inst, attr)):"},{"line_number":260,"context_line":"        return True"},{"line_number":261,"context_line":"    return False"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"def _change_vnf_info(lcmocc, inst_saved, inst):"}],"source_content_type":"text/x-python","patch_set":4,"id":"efda89a8_c6542983","line":261,"range":{"start_line":255,"start_character":0,"end_line":261,"end_character":16},"in_reply_to":"1eab3346_1bdd8fb1","updated":"2022-01-31 05:48:58.000000000","message":"I checked it.I will fix.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"9b111fd8b667fd7a0e2234d2f727fddcb768f1d5","unresolved":false,"context_lines":[{"line_number":252,"context_line":"    return affected_ext_link_ports"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"def _check_modification(inst_saved, inst, attr):"},{"line_number":256,"context_line":"    if not getattr(inst, \u0027obj_attr_is_set\u0027)(attr):"},{"line_number":257,"context_line":"        return False"},{"line_number":258,"context_line":"    if (not getattr(inst_saved, \u0027obj_attr_is_set\u0027)(attr) or"},{"line_number":259,"context_line":"            getattr(inst_saved, attr) !\u003d getattr(inst, attr)):"},{"line_number":260,"context_line":"        return True"},{"line_number":261,"context_line":"    return False"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"def _change_vnf_info(lcmocc, inst_saved, inst):"}],"source_content_type":"text/x-python","patch_set":4,"id":"85957638_034b7f3c","line":261,"range":{"start_line":255,"start_character":0,"end_line":261,"end_character":16},"in_reply_to":"efda89a8_c6542983","updated":"2022-02-01 00:08:55.000000000","message":"Done","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"6f1f2f441bb8ccda78f2ea584e13cf028d487456","unresolved":true,"context_lines":[{"line_number":410,"context_line":"def check_lcmocc_in_progress(context, inst_id):"},{"line_number":411,"context_line":"    # if the controller or conductor executes an operation for the vnf"},{"line_number":412,"context_line":"    # instance (i.e. operationState is ...ING), other operation for"},{"line_number":413,"context_line":"    # the same vnf instance is exculded by the coordinator."},{"line_number":414,"context_line":"    # check here is existence of lcmocc for the vnf instance with"},{"line_number":415,"context_line":"    # FAILED_TEMP operationState."},{"line_number":416,"context_line":"    lcmoccs \u003d objects.VnfLcmOpOccV2.get_by_filter("}],"source_content_type":"text/x-python","patch_set":7,"id":"ffaa0a9d_d748f6c3","line":413,"range":{"start_line":413,"start_character":31,"end_line":413,"end_character":39},"updated":"2022-02-02 07:17:06.000000000","message":"typo: exculded -\u003e excluded\n\nCould you please fix this as well?","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"93ac97066406e70310d61a1ad184c50a394a3a17","unresolved":false,"context_lines":[{"line_number":410,"context_line":"def check_lcmocc_in_progress(context, inst_id):"},{"line_number":411,"context_line":"    # if the controller or conductor executes an operation for the vnf"},{"line_number":412,"context_line":"    # instance (i.e. operationState is ...ING), other operation for"},{"line_number":413,"context_line":"    # the same vnf instance is exculded by the coordinator."},{"line_number":414,"context_line":"    # check here is existence of lcmocc for the vnf instance with"},{"line_number":415,"context_line":"    # FAILED_TEMP operationState."},{"line_number":416,"context_line":"    lcmoccs \u003d objects.VnfLcmOpOccV2.get_by_filter("}],"source_content_type":"text/x-python","patch_set":7,"id":"69b3cb0e_ad4f3c81","line":413,"range":{"start_line":413,"start_character":31,"end_line":413,"end_character":39},"in_reply_to":"4869faf4_b768e67a","updated":"2022-02-03 06:39:12.000000000","message":"Done","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"b9ed177fa439fcbf06cd54c0541495e165d08eb3","unresolved":true,"context_lines":[{"line_number":410,"context_line":"def check_lcmocc_in_progress(context, inst_id):"},{"line_number":411,"context_line":"    # if the controller or conductor executes an operation for the vnf"},{"line_number":412,"context_line":"    # instance (i.e. operationState is ...ING), other operation for"},{"line_number":413,"context_line":"    # the same vnf instance is exculded by the coordinator."},{"line_number":414,"context_line":"    # check here is existence of lcmocc for the vnf instance with"},{"line_number":415,"context_line":"    # FAILED_TEMP operationState."},{"line_number":416,"context_line":"    lcmoccs \u003d objects.VnfLcmOpOccV2.get_by_filter("}],"source_content_type":"text/x-python","patch_set":7,"id":"4869faf4_b768e67a","line":413,"range":{"start_line":413,"start_character":31,"end_line":413,"end_character":39},"in_reply_to":"ffaa0a9d_d748f6c3","updated":"2022-02-03 01:01:41.000000000","message":"I see. I will fix.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"}],"tacker/sol_refactored/conductor/conductor_v2.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"6f1f2f441bb8ccda78f2ea584e13cf028d487456","unresolved":true,"context_lines":[{"line_number":177,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":178,"context_line":"            lcmocc.update(context)"},{"line_number":179,"context_line":"            # grant_req and grant are already saved. they are not deleted"},{"line_number":180,"context_line":"            # while oprationState is FAILED_TEMP."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        # send notification COMPLETED or FAILED_TEMP"},{"line_number":183,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"}],"source_content_type":"text/x-python","patch_set":7,"id":"35c00d08_7c9b4ba0","line":180,"range":{"start_line":180,"start_character":20,"end_line":180,"end_character":33},"updated":"2022-02-02 07:17:06.000000000","message":"typo: oprationState -\u003e operationState\n\nCould you please fix this as well?","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"93ac97066406e70310d61a1ad184c50a394a3a17","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":178,"context_line":"            lcmocc.update(context)"},{"line_number":179,"context_line":"            # grant_req and grant are already saved. they are not deleted"},{"line_number":180,"context_line":"            # while oprationState is FAILED_TEMP."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        # send notification COMPLETED or FAILED_TEMP"},{"line_number":183,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"}],"source_content_type":"text/x-python","patch_set":7,"id":"39bf8fc9_5fa89836","line":180,"range":{"start_line":180,"start_character":20,"end_line":180,"end_character":33},"in_reply_to":"29a81a24_c3cd68e3","updated":"2022-02-03 06:39:12.000000000","message":"Done","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"b9ed177fa439fcbf06cd54c0541495e165d08eb3","unresolved":true,"context_lines":[{"line_number":177,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":178,"context_line":"            lcmocc.update(context)"},{"line_number":179,"context_line":"            # grant_req and grant are already saved. they are not deleted"},{"line_number":180,"context_line":"            # while oprationState is FAILED_TEMP."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        # send notification COMPLETED or FAILED_TEMP"},{"line_number":183,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"}],"source_content_type":"text/x-python","patch_set":7,"id":"29a81a24_c3cd68e3","line":180,"range":{"start_line":180,"start_character":20,"end_line":180,"end_character":33},"in_reply_to":"35c00d08_7c9b4ba0","updated":"2022-02-03 01:01:41.000000000","message":"I see. I will fix.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"6f1f2f441bb8ccda78f2ea584e13cf028d487456","unresolved":true,"context_lines":[{"line_number":230,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":231,"context_line":"            lcmocc.update(context)"},{"line_number":232,"context_line":"            # grant_req and grant are already saved. they are not deleted"},{"line_number":233,"context_line":"            # while oprationState is FAILED_TEMP."},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # send notification ROLLED_BACK or FAILED_TEMP"},{"line_number":236,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"}],"source_content_type":"text/x-python","patch_set":7,"id":"e6dfa646_26256a9a","line":233,"range":{"start_line":233,"start_character":20,"end_line":233,"end_character":33},"updated":"2022-02-02 07:17:06.000000000","message":"typo: oprationState -\u003e operationState\n\nCould you please fix this as well?","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"93ac97066406e70310d61a1ad184c50a394a3a17","unresolved":false,"context_lines":[{"line_number":230,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":231,"context_line":"            lcmocc.update(context)"},{"line_number":232,"context_line":"            # grant_req and grant are already saved. they are not deleted"},{"line_number":233,"context_line":"            # while oprationState is FAILED_TEMP."},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # send notification ROLLED_BACK or FAILED_TEMP"},{"line_number":236,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"}],"source_content_type":"text/x-python","patch_set":7,"id":"07eb5803_01b2bb17","line":233,"range":{"start_line":233,"start_character":20,"end_line":233,"end_character":33},"in_reply_to":"427437c5_c83733d9","updated":"2022-02-03 06:39:12.000000000","message":"Done","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"b9ed177fa439fcbf06cd54c0541495e165d08eb3","unresolved":true,"context_lines":[{"line_number":230,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":231,"context_line":"            lcmocc.update(context)"},{"line_number":232,"context_line":"            # grant_req and grant are already saved. they are not deleted"},{"line_number":233,"context_line":"            # while oprationState is FAILED_TEMP."},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # send notification ROLLED_BACK or FAILED_TEMP"},{"line_number":236,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"}],"source_content_type":"text/x-python","patch_set":7,"id":"427437c5_c83733d9","line":233,"range":{"start_line":233,"start_character":20,"end_line":233,"end_character":33},"in_reply_to":"e6dfa646_26256a9a","updated":"2022-02-03 01:01:41.000000000","message":"I see. I will fix.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"}],"tacker/sol_refactored/conductor/vnflcm_driver_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"79002c26dfbb440714aa4048815b8ec0253d51de","unresolved":true,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"        # perform preamble LCM script"},{"line_number":170,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":171,"context_line":"        operation \u003d \"%s_%s\" % (lcmocc.operation.lower(), \u0027start\u0027)"},{"line_number":172,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":173,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":174,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"c2bf83d4_edd92219","line":171,"updated":"2022-01-27 06:29:31.000000000","message":"In the case of modify, I think that \"modify_info_start\" will be executed based on \"fields.LcmOperationType.MODIFY_INFO\".\nHowever, according to the definition of SOL001, it is necessary to execute \"modify_information_start\".\nThis is due to an unmatch between SOL001 and SOL003, but unfortunately this is the SOL definition and must be followed.\nPlease check it.\n---\nSOL 001 v2.6.1 6.7.1.2 Definition\nSOL 003 v3.3.1 5.5.4.7 Enumeration: LcmOperationType","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"1e3c2f8f6ff6659e18d8b7c54906487bf50224ee","unresolved":true,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"        # perform preamble LCM script"},{"line_number":170,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":171,"context_line":"        operation \u003d \"%s_%s\" % (lcmocc.operation.lower(), \u0027start\u0027)"},{"line_number":172,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":173,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":174,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"eb136d98_36f270de","line":171,"in_reply_to":"c2bf83d4_edd92219","updated":"2022-01-28 02:25:44.000000000","message":"I confirmed a document. \nI think it\u0027s better to fix it too, so I will fix it.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a4baed778ddd2d1e8b2102fac4e2cdcc91df75d0","unresolved":false,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"        # perform preamble LCM script"},{"line_number":170,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":171,"context_line":"        operation \u003d \"%s_%s\" % (lcmocc.operation.lower(), \u0027start\u0027)"},{"line_number":172,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":173,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":174,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff5e436a_dbe18cd8","line":171,"in_reply_to":"eb136d98_36f270de","updated":"2022-01-28 07:16:02.000000000","message":"Done","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"c31a3087922007d3190cd9fb47b30ea52e4157a6","unresolved":true,"context_lines":[{"line_number":617,"context_line":"        if req.obj_attr_is_set(\u0027vnfInstanceDescription\u0027):"},{"line_number":618,"context_line":"            inst.vnfInstanceDescription \u003d req.vnfInstanceDescription"},{"line_number":619,"context_line":""},{"line_number":620,"context_line":"        if req.obj_attr_is_set(\u0027vnfdId\u0027) and req.vnfdId !\u003d inst.vnfdId:"},{"line_number":621,"context_line":"            inst.vnfdId \u003d req.vnfdId"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("}],"source_content_type":"text/x-python","patch_set":4,"id":"f00c8ab7_c96fa415","line":620,"updated":"2022-01-28 01:36:18.000000000","message":"The process when \"vnfdId\" is modified is a little complicated, so it\u0027s better to describe how to modify with NOTE comment","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"9b111fd8b667fd7a0e2234d2f727fddcb768f1d5","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        if req.obj_attr_is_set(\u0027vnfInstanceDescription\u0027):"},{"line_number":618,"context_line":"            inst.vnfInstanceDescription \u003d req.vnfInstanceDescription"},{"line_number":619,"context_line":""},{"line_number":620,"context_line":"        if req.obj_attr_is_set(\u0027vnfdId\u0027) and req.vnfdId !\u003d inst.vnfdId:"},{"line_number":621,"context_line":"            inst.vnfdId \u003d req.vnfdId"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("}],"source_content_type":"text/x-python","patch_set":4,"id":"b6ce83cd_b18da1d7","line":620,"in_reply_to":"7588d943_bb4987d4","updated":"2022-02-01 00:08:55.000000000","message":"Done","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"68a20edf57bd4477ffcb1eda0bb521d46e7901cc","unresolved":true,"context_lines":[{"line_number":617,"context_line":"        if req.obj_attr_is_set(\u0027vnfInstanceDescription\u0027):"},{"line_number":618,"context_line":"            inst.vnfInstanceDescription \u003d req.vnfInstanceDescription"},{"line_number":619,"context_line":""},{"line_number":620,"context_line":"        if req.obj_attr_is_set(\u0027vnfdId\u0027) and req.vnfdId !\u003d inst.vnfdId:"},{"line_number":621,"context_line":"            inst.vnfdId \u003d req.vnfdId"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("}],"source_content_type":"text/x-python","patch_set":4,"id":"7588d943_bb4987d4","line":620,"in_reply_to":"f00c8ab7_c96fa415","updated":"2022-01-31 05:48:58.000000000","message":"I see.I will add comment.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"79002c26dfbb440714aa4048815b8ec0253d51de","unresolved":true,"context_lines":[{"line_number":623,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("},{"line_number":624,"context_line":"                context, inst.vnfdId)"},{"line_number":625,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":626,"context_line":"                raise sol_ex.VnfdIdNotEnabled(vnfd_id\u003dinst.vnfdId)"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"            new_vnfd \u003d self.nfvo_client.get_vnfd(context, inst.vnfdId)"},{"line_number":629,"context_line":"            new_vnfd_prop \u003d new_vnfd.get_vnfd_properties()"}],"source_content_type":"text/x-python","patch_set":4,"id":"cb812e46_0b082d42","line":626,"updated":"2022-01-27 06:29:31.000000000","message":"I think that 422 will be returned as the response code in this raise.\n422 is not defined in SOL003, but is defined in SOL013.\nIs 422 the most appropriate response code to raise here?\nAre there any other candidates?\n---\nSOL 003 v3.3.1 5.4.3.3.4 PATCH\nSOL 013 v3.4.1 6.4 Common error situations","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a4baed778ddd2d1e8b2102fac4e2cdcc91df75d0","unresolved":true,"context_lines":[{"line_number":623,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("},{"line_number":624,"context_line":"                context, inst.vnfdId)"},{"line_number":625,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":626,"context_line":"                raise sol_ex.VnfdIdNotEnabled(vnfd_id\u003dinst.vnfdId)"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"            new_vnfd \u003d self.nfvo_client.get_vnfd(context, inst.vnfdId)"},{"line_number":629,"context_line":"            new_vnfd_prop \u003d new_vnfd.get_vnfd_properties()"}],"source_content_type":"text/x-python","patch_set":4,"id":"6c7f76d9_7d7b3d0b","line":626,"in_reply_to":"02f264cb_c34ed2c2","updated":"2022-01-28 07:16:02.000000000","message":"Thank you, I understood that it is appropriate to return 422.\nI think it\u0027s better to add the NOTE comment like below.\nPlease check it.\n---\nNOTE: Response code 422 is not specified in SOL003,\nbut 422 will be returned here. This is because instance create\nreturns 422 for the same reason. In addition, SOL013 defines\n422 as common error situations.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"68a20edf57bd4477ffcb1eda0bb521d46e7901cc","unresolved":true,"context_lines":[{"line_number":623,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("},{"line_number":624,"context_line":"                context, inst.vnfdId)"},{"line_number":625,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":626,"context_line":"                raise sol_ex.VnfdIdNotEnabled(vnfd_id\u003dinst.vnfdId)"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"            new_vnfd \u003d self.nfvo_client.get_vnfd(context, inst.vnfdId)"},{"line_number":629,"context_line":"            new_vnfd_prop \u003d new_vnfd.get_vnfd_properties()"}],"source_content_type":"text/x-python","patch_set":4,"id":"75898855_24e7873e","line":626,"in_reply_to":"6c7f76d9_7d7b3d0b","updated":"2022-01-31 05:48:58.000000000","message":"I see.I will add a comment.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"9b111fd8b667fd7a0e2234d2f727fddcb768f1d5","unresolved":false,"context_lines":[{"line_number":623,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("},{"line_number":624,"context_line":"                context, inst.vnfdId)"},{"line_number":625,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":626,"context_line":"                raise sol_ex.VnfdIdNotEnabled(vnfd_id\u003dinst.vnfdId)"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"            new_vnfd \u003d self.nfvo_client.get_vnfd(context, inst.vnfdId)"},{"line_number":629,"context_line":"            new_vnfd_prop \u003d new_vnfd.get_vnfd_properties()"}],"source_content_type":"text/x-python","patch_set":4,"id":"f767e138_b0fbeba0","line":626,"in_reply_to":"75898855_24e7873e","updated":"2022-02-01 00:08:55.000000000","message":"Done","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"1e3c2f8f6ff6659e18d8b7c54906487bf50224ee","unresolved":true,"context_lines":[{"line_number":623,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("},{"line_number":624,"context_line":"                context, inst.vnfdId)"},{"line_number":625,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":626,"context_line":"                raise sol_ex.VnfdIdNotEnabled(vnfd_id\u003dinst.vnfdId)"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"            new_vnfd \u003d self.nfvo_client.get_vnfd(context, inst.vnfdId)"},{"line_number":629,"context_line":"            new_vnfd_prop \u003d new_vnfd.get_vnfd_properties()"}],"source_content_type":"text/x-python","patch_set":4,"id":"02f264cb_c34ed2c2","line":626,"in_reply_to":"cb812e46_0b082d42","updated":"2022-01-28 02:25:44.000000000","message":"I match it with an error at the instance create(controller/vnflcm_v2.py).\nPlease refer to SOL003 5.4.2.3.1","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"c31a3087922007d3190cd9fb47b30ea52e4157a6","unresolved":true,"context_lines":[{"line_number":634,"context_line":"            inst.vnfdVersion \u003d pkg_info.vnfdVersion"},{"line_number":635,"context_line":"            if new_vnfd_prop.get(\u0027metadata\u0027):"},{"line_number":636,"context_line":"                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]"},{"line_number":637,"context_line":"            elif inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":638,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":639,"context_line":"                inst.metadata \u003d {}"},{"line_number":640,"context_line":"            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"322acab3_756e38c3","line":637,"updated":"2022-01-28 01:36:18.000000000","message":"I think it\u0027s better to unittest this \"elif\" branch.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"68a20edf57bd4477ffcb1eda0bb521d46e7901cc","unresolved":true,"context_lines":[{"line_number":634,"context_line":"            inst.vnfdVersion \u003d pkg_info.vnfdVersion"},{"line_number":635,"context_line":"            if new_vnfd_prop.get(\u0027metadata\u0027):"},{"line_number":636,"context_line":"                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]"},{"line_number":637,"context_line":"            elif inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":638,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":639,"context_line":"                inst.metadata \u003d {}"},{"line_number":640,"context_line":"            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"eede2520_6ebbc80b","line":637,"in_reply_to":"322acab3_756e38c3","updated":"2022-01-31 05:48:58.000000000","message":"I added the value(extensions) in the previous review, but I think separate cases such as no value with similar value(metadata,extionsion,vnfConfigurablePropertites).\nHow is this?","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"8f59dc4dd8267b5190d7b9e540c997bb7276d845","unresolved":false,"context_lines":[{"line_number":634,"context_line":"            inst.vnfdVersion \u003d pkg_info.vnfdVersion"},{"line_number":635,"context_line":"            if new_vnfd_prop.get(\u0027metadata\u0027):"},{"line_number":636,"context_line":"                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]"},{"line_number":637,"context_line":"            elif inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":638,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":639,"context_line":"                inst.metadata \u003d {}"},{"line_number":640,"context_line":"            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"571fca2e_ee5f49a0","line":637,"in_reply_to":"49190737_b526b297","updated":"2022-02-01 09:19:13.000000000","message":"Done","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"33b576da16cb545e7fb8f23bcabd0b6036cc184d","unresolved":true,"context_lines":[{"line_number":634,"context_line":"            inst.vnfdVersion \u003d pkg_info.vnfdVersion"},{"line_number":635,"context_line":"            if new_vnfd_prop.get(\u0027metadata\u0027):"},{"line_number":636,"context_line":"                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]"},{"line_number":637,"context_line":"            elif inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":638,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":639,"context_line":"                inst.metadata \u003d {}"},{"line_number":640,"context_line":"            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"49190737_b526b297","line":637,"in_reply_to":"c464b75f_cdbfb5a5","updated":"2022-02-01 03:59:20.000000000","message":"I think that is better.\nI will add unittest.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"9b111fd8b667fd7a0e2234d2f727fddcb768f1d5","unresolved":true,"context_lines":[{"line_number":634,"context_line":"            inst.vnfdVersion \u003d pkg_info.vnfdVersion"},{"line_number":635,"context_line":"            if new_vnfd_prop.get(\u0027metadata\u0027):"},{"line_number":636,"context_line":"                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]"},{"line_number":637,"context_line":"            elif inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":638,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":639,"context_line":"                inst.metadata \u003d {}"},{"line_number":640,"context_line":"            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"c464b75f_cdbfb5a5","line":637,"in_reply_to":"eede2520_6ebbc80b","updated":"2022-02-01 00:08:55.000000000","message":"My suggestion is to add a new unittest similar to \"test_modify_info_process\" to test the \"elif\" branch.\n\"set {} since attribute deletion is not supported.\" which you commented is a bit special, so I think it would be better to test.\nHow do you think?","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"c31a3087922007d3190cd9fb47b30ea52e4157a6","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            inst.vnfProductName \u003d pkg_info.vnfProductName"},{"line_number":633,"context_line":"            inst.vnfSoftwareVersion \u003d pkg_info.vnfSoftwareVersion"},{"line_number":634,"context_line":"            inst.vnfdVersion \u003d pkg_info.vnfdVersion"},{"line_number":635,"context_line":"            if new_vnfd_prop.get(\u0027metadata\u0027):"},{"line_number":636,"context_line":"                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]"},{"line_number":637,"context_line":"            elif inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":638,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":639,"context_line":"                inst.metadata \u003d {}"},{"line_number":640,"context_line":"            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):"},{"line_number":641,"context_line":"                inst.vnfConfigurableProperties \u003d new_vnfd_prop["},{"line_number":642,"context_line":"                    \u0027vnfConfigurableProperties\u0027]"},{"line_number":643,"context_line":"            elif inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":644,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":645,"context_line":"                inst.vnfConfigurableProperties \u003d {}"},{"line_number":646,"context_line":"            if new_vnfd_prop.get(\u0027extensions\u0027):"},{"line_number":647,"context_line":"                inst.extensions \u003d new_vnfd_prop[\u0027extensions\u0027]"},{"line_number":648,"context_line":"            elif inst.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":649,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":650,"context_line":"                inst.extensions \u003d {}"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        if req.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":653,"context_line":"            vnfConfigurableProperties \u003d {}"},{"line_number":654,"context_line":"            if inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":655,"context_line":"                vnfConfigurableProperties \u003d inst.vnfConfigurableProperties"},{"line_number":656,"context_line":"            inst.vnfConfigurableProperties \u003d inst_utils.json_merge_patch("},{"line_number":657,"context_line":"                vnfConfigurableProperties, req.vnfConfigurableProperties)"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        if req.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":660,"context_line":"            metadata \u003d {}"},{"line_number":661,"context_line":"            if inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":662,"context_line":"                metadata \u003d inst.metadata"},{"line_number":663,"context_line":"            inst.metadata \u003d inst_utils.json_merge_patch(metadata, req.metadata)"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        if req.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":666,"context_line":"            extensions \u003d {}"},{"line_number":667,"context_line":"            if inst.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":668,"context_line":"                extensions \u003d inst.extensions"},{"line_number":669,"context_line":"            inst.extensions \u003d inst_utils.json_merge_patch(extensions,"},{"line_number":670,"context_line":"                                                          req.extensions)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        if req.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":673,"context_line":"            vimConnectionInfo \u003d {}"},{"line_number":674,"context_line":"            if inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":675,"context_line":"                vimConnectionInfo \u003d inst.vimConnectionInfo"},{"line_number":676,"context_line":"            inst.vimConnectionInfo \u003d inst_utils.json_merge_patch("},{"line_number":677,"context_line":"                vimConnectionInfo, req.vimConnectionInfo)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"    def modify_info_rollback(self, context, lcmocc, inst, grant_req,"},{"line_number":680,"context_line":"            grant, vnfd):"}],"source_content_type":"text/x-python","patch_set":4,"id":"a2ead316_b713aaeb","line":677,"range":{"start_line":635,"start_character":12,"end_line":677,"end_character":57},"updated":"2022-01-28 01:36:18.000000000","message":"Similar processes are defined for each attr, so can you refactor as follows?\n```\n-            if new_vnfd_prop.get(\u0027metadata\u0027):\n-                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]\n-            elif inst.obj_attr_is_set(\u0027metadata\u0027):\n-                # set {} since attribute deletion is not supported.\n-                inst.metadata \u003d {}\n-            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):\n-                inst.vnfConfigurableProperties \u003d new_vnfd_prop[\n-                    \u0027vnfConfigurableProperties\u0027]\n-            elif inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):\n-                # set {} since attribute deletion is not supported.\n-                inst.vnfConfigurableProperties \u003d {}\n-            if new_vnfd_prop.get(\u0027extensions\u0027):\n-                inst.extensions \u003d new_vnfd_prop[\u0027extensions\u0027]\n-            elif inst.obj_attr_is_set(\u0027extensions\u0027):\n-                # set {} since attribute deletion is not supported.\n-                inst.extensions \u003d {}\n-\n-        if req.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):\n-            vnfConfigurableProperties \u003d {}\n-            if inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):\n-                vnfConfigurableProperties \u003d inst.vnfConfigurableProperties\n-            inst.vnfConfigurableProperties \u003d inst_utils.json_merge_patch(\n-                vnfConfigurableProperties, req.vnfConfigurableProperties)\n-\n-        if req.obj_attr_is_set(\u0027metadata\u0027):\n-            metadata \u003d {}\n-            if inst.obj_attr_is_set(\u0027metadata\u0027):\n-                metadata \u003d inst.metadata\n-            inst.metadata \u003d inst_utils.json_merge_patch(metadata, req.metadata)\n-\n-        if req.obj_attr_is_set(\u0027extensions\u0027):\n-            extensions \u003d {}\n-            if inst.obj_attr_is_set(\u0027extensions\u0027):\n-                extensions \u003d inst.extensions\n-            inst.extensions \u003d inst_utils.json_merge_patch(extensions,\n-                                                          req.extensions)\n\n-        if req.obj_attr_is_set(\u0027vimConnectionInfo\u0027):\n-            vimConnectionInfo \u003d {}\n-            if inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027):\n-                vimConnectionInfo \u003d inst.vimConnectionInfo\n-            inst.vimConnectionInfo \u003d inst_utils.json_merge_patch(\n-                vimConnectionInfo, req.vimConnectionInfo)\n+            attrs \u003d [\u0027vnfConfigurableProperties\u0027, \u0027metadata\u0027, \u0027extensions\u0027]\n+            for attr in attrs:\n+                self._modify_from_vnfd_prop(inst, new_vnfd_prop, attr)\n+\n+        attrs \u003d [\u0027vnfConfigurableProperties\u0027, \u0027metadata\u0027, \u0027extensions\u0027,\n+                 \u0027vimConnectionInfo\u0027]\n+        for attr in attrs:\n+            self._modify_from_req(inst, req, attr)\n+\n+    def _modify_from_vnfd_prop(self, inst, vnfd_prop, attr):\n+        # set {} since attribute deletion is not supported.\n+        if inst.obj_attr_is_set(attr):\n+            setattr(inst, attr, {})\n+        if vnfd_prop.get(attr):\n+            setattr(inst, attr, vnfd_prop[attr])\n+\n+    def _modify_from_req(self, inst, req, attr):\n+        if req.obj_attr_is_set(attr):\n+            base \u003d getattr(inst, attr) if inst.obj_attr_is_set(attr) else {}\n+            setattr(inst, attr, inst_utils.json_merge_patch(\n+                base, getattr(req, attr)))\n```","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"9b111fd8b667fd7a0e2234d2f727fddcb768f1d5","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            inst.vnfProductName \u003d pkg_info.vnfProductName"},{"line_number":633,"context_line":"            inst.vnfSoftwareVersion \u003d pkg_info.vnfSoftwareVersion"},{"line_number":634,"context_line":"            inst.vnfdVersion \u003d pkg_info.vnfdVersion"},{"line_number":635,"context_line":"            if new_vnfd_prop.get(\u0027metadata\u0027):"},{"line_number":636,"context_line":"                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]"},{"line_number":637,"context_line":"            elif inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":638,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":639,"context_line":"                inst.metadata \u003d {}"},{"line_number":640,"context_line":"            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):"},{"line_number":641,"context_line":"                inst.vnfConfigurableProperties \u003d new_vnfd_prop["},{"line_number":642,"context_line":"                    \u0027vnfConfigurableProperties\u0027]"},{"line_number":643,"context_line":"            elif inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":644,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":645,"context_line":"                inst.vnfConfigurableProperties \u003d {}"},{"line_number":646,"context_line":"            if new_vnfd_prop.get(\u0027extensions\u0027):"},{"line_number":647,"context_line":"                inst.extensions \u003d new_vnfd_prop[\u0027extensions\u0027]"},{"line_number":648,"context_line":"            elif inst.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":649,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":650,"context_line":"                inst.extensions \u003d {}"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        if req.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":653,"context_line":"            vnfConfigurableProperties \u003d {}"},{"line_number":654,"context_line":"            if inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":655,"context_line":"                vnfConfigurableProperties \u003d inst.vnfConfigurableProperties"},{"line_number":656,"context_line":"            inst.vnfConfigurableProperties \u003d inst_utils.json_merge_patch("},{"line_number":657,"context_line":"                vnfConfigurableProperties, req.vnfConfigurableProperties)"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        if req.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":660,"context_line":"            metadata \u003d {}"},{"line_number":661,"context_line":"            if inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":662,"context_line":"                metadata \u003d inst.metadata"},{"line_number":663,"context_line":"            inst.metadata \u003d inst_utils.json_merge_patch(metadata, req.metadata)"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        if req.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":666,"context_line":"            extensions \u003d {}"},{"line_number":667,"context_line":"            if inst.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":668,"context_line":"                extensions \u003d inst.extensions"},{"line_number":669,"context_line":"            inst.extensions \u003d inst_utils.json_merge_patch(extensions,"},{"line_number":670,"context_line":"                                                          req.extensions)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        if req.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":673,"context_line":"            vimConnectionInfo \u003d {}"},{"line_number":674,"context_line":"            if inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":675,"context_line":"                vimConnectionInfo \u003d inst.vimConnectionInfo"},{"line_number":676,"context_line":"            inst.vimConnectionInfo \u003d inst_utils.json_merge_patch("},{"line_number":677,"context_line":"                vimConnectionInfo, req.vimConnectionInfo)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"    def modify_info_rollback(self, context, lcmocc, inst, grant_req,"},{"line_number":680,"context_line":"            grant, vnfd):"}],"source_content_type":"text/x-python","patch_set":4,"id":"584f857e_6b1f76e7","line":677,"range":{"start_line":635,"start_character":12,"end_line":677,"end_character":57},"in_reply_to":"0bac5b81_333e78a4","updated":"2022-02-01 00:08:55.000000000","message":"Done","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"68a20edf57bd4477ffcb1eda0bb521d46e7901cc","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            inst.vnfProductName \u003d pkg_info.vnfProductName"},{"line_number":633,"context_line":"            inst.vnfSoftwareVersion \u003d pkg_info.vnfSoftwareVersion"},{"line_number":634,"context_line":"            inst.vnfdVersion \u003d pkg_info.vnfdVersion"},{"line_number":635,"context_line":"            if new_vnfd_prop.get(\u0027metadata\u0027):"},{"line_number":636,"context_line":"                inst.metadata \u003d new_vnfd_prop[\u0027metadata\u0027]"},{"line_number":637,"context_line":"            elif inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":638,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":639,"context_line":"                inst.metadata \u003d {}"},{"line_number":640,"context_line":"            if new_vnfd_prop.get(\u0027vnfConfigurableProperties\u0027):"},{"line_number":641,"context_line":"                inst.vnfConfigurableProperties \u003d new_vnfd_prop["},{"line_number":642,"context_line":"                    \u0027vnfConfigurableProperties\u0027]"},{"line_number":643,"context_line":"            elif inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":644,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":645,"context_line":"                inst.vnfConfigurableProperties \u003d {}"},{"line_number":646,"context_line":"            if new_vnfd_prop.get(\u0027extensions\u0027):"},{"line_number":647,"context_line":"                inst.extensions \u003d new_vnfd_prop[\u0027extensions\u0027]"},{"line_number":648,"context_line":"            elif inst.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":649,"context_line":"                # set {} since attribute deletion is not supported."},{"line_number":650,"context_line":"                inst.extensions \u003d {}"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        if req.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":653,"context_line":"            vnfConfigurableProperties \u003d {}"},{"line_number":654,"context_line":"            if inst.obj_attr_is_set(\u0027vnfConfigurableProperties\u0027):"},{"line_number":655,"context_line":"                vnfConfigurableProperties \u003d inst.vnfConfigurableProperties"},{"line_number":656,"context_line":"            inst.vnfConfigurableProperties \u003d inst_utils.json_merge_patch("},{"line_number":657,"context_line":"                vnfConfigurableProperties, req.vnfConfigurableProperties)"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        if req.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":660,"context_line":"            metadata \u003d {}"},{"line_number":661,"context_line":"            if inst.obj_attr_is_set(\u0027metadata\u0027):"},{"line_number":662,"context_line":"                metadata \u003d inst.metadata"},{"line_number":663,"context_line":"            inst.metadata \u003d inst_utils.json_merge_patch(metadata, req.metadata)"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        if req.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":666,"context_line":"            extensions \u003d {}"},{"line_number":667,"context_line":"            if inst.obj_attr_is_set(\u0027extensions\u0027):"},{"line_number":668,"context_line":"                extensions \u003d inst.extensions"},{"line_number":669,"context_line":"            inst.extensions \u003d inst_utils.json_merge_patch(extensions,"},{"line_number":670,"context_line":"                                                          req.extensions)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        if req.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":673,"context_line":"            vimConnectionInfo \u003d {}"},{"line_number":674,"context_line":"            if inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":675,"context_line":"                vimConnectionInfo \u003d inst.vimConnectionInfo"},{"line_number":676,"context_line":"            inst.vimConnectionInfo \u003d inst_utils.json_merge_patch("},{"line_number":677,"context_line":"                vimConnectionInfo, req.vimConnectionInfo)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"    def modify_info_rollback(self, context, lcmocc, inst, grant_req,"},{"line_number":680,"context_line":"            grant, vnfd):"}],"source_content_type":"text/x-python","patch_set":4,"id":"0bac5b81_333e78a4","line":677,"range":{"start_line":635,"start_character":12,"end_line":677,"end_character":57},"in_reply_to":"a2ead316_b713aaeb","updated":"2022-01-31 05:48:58.000000000","message":"Thank you for your suggestion.\nI check it and will fix it.","commit_id":"7c3bf089356ed882ffd39e4aa1ad862b7035971b"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"6f1f2f441bb8ccda78f2ea584e13cf028d487456","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"},{"line_number":636,"context_line":"            grant, vnfd):"},{"line_number":637,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1da1c1cf_f8808eec","line":635,"updated":"2022-02-02 07:17:06.000000000","message":"There is no update process for \"vnfcInfoModifications\"(SOL002 5.5.2.12).","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"b9ed177fa439fcbf06cd54c0541495e165d08eb3","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"},{"line_number":636,"context_line":"            grant, vnfd):"},{"line_number":637,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1ec4d6e1_5843cc1c","line":635,"in_reply_to":"1da1c1cf_f8808eec","updated":"2022-02-03 01:01:41.000000000","message":"It is doing at update_lcmocc(common/lcm_op_occ_utils.py).\nvnflcm_driver is until update of inst and the update of lcmocc does it.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"93ac97066406e70310d61a1ad184c50a394a3a17","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"},{"line_number":636,"context_line":"            grant, vnfd):"},{"line_number":637,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"504f982a_ecb30a08","line":635,"in_reply_to":"1ec4d6e1_5843cc1c","updated":"2022-02-03 06:39:12.000000000","message":"The description of VnfInfoModificationRequest.vnfcInfoModifications in SOL002 5.5.2.12 says as follows. Is it necessary to update VnfInstance?\n-----\nModifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\" to be used as \"newList\" as defined below this table.\n-----\n\nThe description of VnfInfoModificationRequest.vnfInstanceName in SOL002 and SOL003 also says as follows, but is this unsupported?\n(It seemed impossible to specify \"null\"…\nPlease let me know if there is a way to specify \"null\" in the request.)\n-----\nNew value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute. \n-----","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"059a26827c271458b8da079384bdc1de71214a02","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"},{"line_number":636,"context_line":"            grant, vnfd):"},{"line_number":637,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"bfcd4c8a_b3e239d4","line":635,"in_reply_to":"205f2c49_bd07435e","updated":"2022-02-10 07:42:41.000000000","message":"Thank you for fixing. I confirmed it.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"17c470bee88ffbe8cba3cc4a74183426c78d6754","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"},{"line_number":636,"context_line":"            grant, vnfd):"},{"line_number":637,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"78164edd_43bafbd8","line":635,"in_reply_to":"504f982a_ecb30a08","updated":"2022-02-04 07:56:34.000000000","message":"I see. I will fix.\n\nNull cannot be set.  The deletion of the value is possible instead if input \"\"(empty string).","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"cea7488f854d3bf2829e7b786a82b8b7592fd07e","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"},{"line_number":636,"context_line":"            grant, vnfd):"},{"line_number":637,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"205f2c49_bd07435e","line":635,"in_reply_to":"74516388_742b5af2","updated":"2022-02-10 03:55:25.000000000","message":"I fixed it to null set. If set null, I become able to delete the KeyValuePairs key.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"b1eb0457800202a4f8c83e33fb30799df62ac161","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"},{"line_number":636,"context_line":"            grant, vnfd):"},{"line_number":637,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"74516388_742b5af2","line":635,"in_reply_to":"78164edd_43bafbd8","updated":"2022-02-04 08:28:32.000000000","message":"How do I specify an empty string if I want to remove the KeyValuePairs Attribute (metadata, etc.)?\nIs it impossible to delete the key?","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"63aade3d5695853280d1f236cc77620556d06177","unresolved":true,"context_lines":[{"line_number":651,"context_line":"                context, inst.vnfdId)"},{"line_number":652,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":653,"context_line":"                # NOTE: Response code 422 is not specified in SOL003,"},{"line_number":654,"context_line":"                # but 422 will be returned here. This is because"},{"line_number":655,"context_line":"                # instance create returns 422 for the same reason."},{"line_number":656,"context_line":"                # In addition, SOL013 defines 422 as common error situations."},{"line_number":657,"context_line":"                raise sol_ex.VnfdIdNotEnabled(vnfd_id\u003dinst.vnfdId)"}],"source_content_type":"text/x-python","patch_set":7,"id":"39bd0629_0890ca3c","line":654,"range":{"start_line":654,"start_character":22,"end_line":654,"end_character":47},"updated":"2022-02-02 06:06:27.000000000","message":"Let me confirm the meaning of this sentence.\nI think Tacker-server have already returned a 202 (Accepted) response to operator. \nhttps://review.opendev.org/c/openstack/tacker/+/825982/7/tacker/sol_refactored/controller/vnflcm_v2.py#188\n\nDo you mean this should be checked before returning 202 to operator?","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"b9ed177fa439fcbf06cd54c0541495e165d08eb3","unresolved":true,"context_lines":[{"line_number":651,"context_line":"                context, inst.vnfdId)"},{"line_number":652,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":653,"context_line":"                # NOTE: Response code 422 is not specified in SOL003,"},{"line_number":654,"context_line":"                # but 422 will be returned here. This is because"},{"line_number":655,"context_line":"                # instance create returns 422 for the same reason."},{"line_number":656,"context_line":"                # In addition, SOL013 defines 422 as common error situations."},{"line_number":657,"context_line":"                raise sol_ex.VnfdIdNotEnabled(vnfd_id\u003dinst.vnfdId)"}],"source_content_type":"text/x-python","patch_set":7,"id":"93461664_745e7598","line":654,"range":{"start_line":654,"start_character":22,"end_line":654,"end_character":47},"in_reply_to":"39bd0629_0890ca3c","updated":"2022-02-03 01:01:41.000000000","message":"vnf package operationalState should check before returning 202 in controller.\nI will fix.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d8a8e2f52cfbcc9e3b4b3054e38a7545f07d68cc","unresolved":false,"context_lines":[{"line_number":651,"context_line":"                context, inst.vnfdId)"},{"line_number":652,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":653,"context_line":"                # NOTE: Response code 422 is not specified in SOL003,"},{"line_number":654,"context_line":"                # but 422 will be returned here. This is because"},{"line_number":655,"context_line":"                # instance create returns 422 for the same reason."},{"line_number":656,"context_line":"                # In addition, SOL013 defines 422 as common error situations."},{"line_number":657,"context_line":"                raise sol_ex.VnfdIdNotEnabled(vnfd_id\u003dinst.vnfdId)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3c6c40c4_e2005eaf","line":654,"range":{"start_line":654,"start_character":22,"end_line":654,"end_character":47},"in_reply_to":"93461664_745e7598","updated":"2022-02-21 23:44:41.000000000","message":"I\u0027ve confirmed.","commit_id":"3f5b69d8935c142e3bc00f0836c38ac04c870e8d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"a4b99d83f008ec4ac1ca00085cf07551088f5d17","unresolved":true,"context_lines":[{"line_number":629,"context_line":"    def _modify_from_req(self, inst, req, attr):"},{"line_number":630,"context_line":"        if req.obj_attr_is_set(attr):"},{"line_number":631,"context_line":"            base \u003d getattr(inst, attr) if inst.obj_attr_is_set(attr) else {}"},{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"}],"source_content_type":"text/x-python","patch_set":8,"id":"c104c0df_9bb94379","line":632,"updated":"2022-02-04 02:23:35.000000000","message":"If a new value is set for extra of vimConnectionInfo, the old value will be deleted.\nFor other KeyValuePairs (metadata, extensions, vnfConfigurableProperties), when a new value is set, the old value is not deleted, just the new value is added.\nAre these as expected?\n\nI think it\u0027s inconvenient that KeyValuePairs other than extra can\u0027t delete values with modify...","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"059a26827c271458b8da079384bdc1de71214a02","unresolved":false,"context_lines":[{"line_number":629,"context_line":"    def _modify_from_req(self, inst, req, attr):"},{"line_number":630,"context_line":"        if req.obj_attr_is_set(attr):"},{"line_number":631,"context_line":"            base \u003d getattr(inst, attr) if inst.obj_attr_is_set(attr) else {}"},{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"}],"source_content_type":"text/x-python","patch_set":8,"id":"62eb536a_a7514f2c","line":632,"in_reply_to":"2b5968e2_ee87f458","updated":"2022-02-10 07:42:41.000000000","message":"Thank you for fixing.\nI confirmed that the extra of vimConnectionInfo also adds a value like other KeyValuePairs (metadata, extensions, vnfConfigurableProperties).","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"17c470bee88ffbe8cba3cc4a74183426c78d6754","unresolved":true,"context_lines":[{"line_number":629,"context_line":"    def _modify_from_req(self, inst, req, attr):"},{"line_number":630,"context_line":"        if req.obj_attr_is_set(attr):"},{"line_number":631,"context_line":"            base \u003d getattr(inst, attr) if inst.obj_attr_is_set(attr) else {}"},{"line_number":632,"context_line":"            setattr(inst, attr, inst_utils.json_merge_patch("},{"line_number":633,"context_line":"                base, getattr(req, attr)))"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def modify_info_process(self, context, lcmocc, inst, grant_req,"}],"source_content_type":"text/x-python","patch_set":8,"id":"2b5968e2_ee87f458","line":632,"in_reply_to":"c104c0df_9bb94379","updated":"2022-02-04 07:56:34.000000000","message":"I will check it. I think it is the same for ohter KeyValuePairs. \nAlso, I think extra is the same as the other vimConnectionInfo definition.","commit_id":"df152819e4c0bb529d68dd6a1076f09f597d155d"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"059a26827c271458b8da079384bdc1de71214a02","unresolved":true,"context_lines":[{"line_number":159,"context_line":"                inst_info.scaleStatus \u003d inst_info_saved.scaleStatus"},{"line_number":160,"context_line":"                inst_info.maxScaleLevels \u003d inst_info_saved.maxScaleLevels"},{"line_number":161,"context_line":"            if inst_info_saved.obj_attr_is_set(\u0027localizationLanguage\u0027):"},{"line_number":162,"context_line":"                inst_info.localizationLanguage \u003d ("},{"line_number":163,"context_line":"                    inst_info_saved.localizationLanguage)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":166,"context_line":"            # adjust scaleStatus"}],"source_content_type":"text/x-python","patch_set":9,"id":"8ab2f1e0_d7f724d5","line":163,"range":{"start_line":162,"start_character":49,"end_line":163,"end_character":57},"updated":"2022-02-10 07:42:41.000000000","message":"I don\u0027t think parentheses are needed.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"28e7410ac9f576fe7a07264d292a12c16200808f","unresolved":false,"context_lines":[{"line_number":159,"context_line":"                inst_info.scaleStatus \u003d inst_info_saved.scaleStatus"},{"line_number":160,"context_line":"                inst_info.maxScaleLevels \u003d inst_info_saved.maxScaleLevels"},{"line_number":161,"context_line":"            if inst_info_saved.obj_attr_is_set(\u0027localizationLanguage\u0027):"},{"line_number":162,"context_line":"                inst_info.localizationLanguage \u003d ("},{"line_number":163,"context_line":"                    inst_info_saved.localizationLanguage)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":166,"context_line":"            # adjust scaleStatus"}],"source_content_type":"text/x-python","patch_set":9,"id":"24fc2843_8f89be0a","line":163,"range":{"start_line":162,"start_character":49,"end_line":163,"end_character":57},"in_reply_to":"4c0920d1_f28a3022","updated":"2022-02-14 01:18:11.000000000","message":"Thank you very much for your explanation. I understand.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f489d229b5600d4caf4ec141b132cca89d23d0bb","unresolved":true,"context_lines":[{"line_number":159,"context_line":"                inst_info.scaleStatus \u003d inst_info_saved.scaleStatus"},{"line_number":160,"context_line":"                inst_info.maxScaleLevels \u003d inst_info_saved.maxScaleLevels"},{"line_number":161,"context_line":"            if inst_info_saved.obj_attr_is_set(\u0027localizationLanguage\u0027):"},{"line_number":162,"context_line":"                inst_info.localizationLanguage \u003d ("},{"line_number":163,"context_line":"                    inst_info_saved.localizationLanguage)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":166,"context_line":"            # adjust scaleStatus"}],"source_content_type":"text/x-python","patch_set":9,"id":"4c0920d1_f28a3022","line":163,"range":{"start_line":162,"start_character":49,"end_line":163,"end_character":57},"in_reply_to":"8ab2f1e0_d7f724d5","updated":"2022-02-13 23:16:40.000000000","message":"It is necessary for line continuation.\n(note: \"It is preferred to wrap long lines in parentheses and not a backslash for line continuation.\" by openstack coding guidline (https://docs.openstack.org/hacking/latest/user/hacking.html#general))","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"059a26827c271458b8da079384bdc1de71214a02","unresolved":true,"context_lines":[{"line_number":379,"context_line":"    def instantiate_process(self, context, lcmocc, inst, grant_req,"},{"line_number":380,"context_line":"            grant, vnfd):"},{"line_number":381,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":382,"context_line":"        for attr in [\u0027vnfConfigurableProperties\u0027, \u0027extensions\u0027]:"},{"line_number":383,"context_line":"            self._modify_from_req(inst, req, attr)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        vim_info \u003d inst_utils.select_vim_info(inst.vimConnectionInfo)"},{"line_number":386,"context_line":"        if vim_info.vimType \u003d\u003d \u0027ETSINFV.OPENSTACK_KEYSTONE.V_3\u0027:"},{"line_number":387,"context_line":"            driver \u003d openstack.Openstack()"}],"source_content_type":"text/x-python","patch_set":9,"id":"b4ab23c2_5d9822b4","line":384,"range":{"start_line":382,"start_character":8,"end_line":384,"end_character":0},"updated":"2022-02-10 07:42:41.000000000","message":"Would you please add to the commit message that some changes have been made to the instantiate process?","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"f1f184bb97e12ad15277b23d6322515af2601fc2","unresolved":true,"context_lines":[{"line_number":379,"context_line":"    def instantiate_process(self, context, lcmocc, inst, grant_req,"},{"line_number":380,"context_line":"            grant, vnfd):"},{"line_number":381,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":382,"context_line":"        for attr in [\u0027vnfConfigurableProperties\u0027, \u0027extensions\u0027]:"},{"line_number":383,"context_line":"            self._modify_from_req(inst, req, attr)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        vim_info \u003d inst_utils.select_vim_info(inst.vimConnectionInfo)"},{"line_number":386,"context_line":"        if vim_info.vimType \u003d\u003d \u0027ETSINFV.OPENSTACK_KEYSTONE.V_3\u0027:"},{"line_number":387,"context_line":"            driver \u003d openstack.Openstack()"}],"source_content_type":"text/x-python","patch_set":9,"id":"e6d0ae68_3e665223","line":384,"range":{"start_line":382,"start_character":8,"end_line":384,"end_character":0},"in_reply_to":"5d9043ef_3c5cd3ca","updated":"2022-02-14 01:37:41.000000000","message":"I see. I wil add \"localizationLanguage\" to commit message.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f489d229b5600d4caf4ec141b132cca89d23d0bb","unresolved":true,"context_lines":[{"line_number":379,"context_line":"    def instantiate_process(self, context, lcmocc, inst, grant_req,"},{"line_number":380,"context_line":"            grant, vnfd):"},{"line_number":381,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":382,"context_line":"        for attr in [\u0027vnfConfigurableProperties\u0027, \u0027extensions\u0027]:"},{"line_number":383,"context_line":"            self._modify_from_req(inst, req, attr)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        vim_info \u003d inst_utils.select_vim_info(inst.vimConnectionInfo)"},{"line_number":386,"context_line":"        if vim_info.vimType \u003d\u003d \u0027ETSINFV.OPENSTACK_KEYSTONE.V_3\u0027:"},{"line_number":387,"context_line":"            driver \u003d openstack.Openstack()"}],"source_content_type":"text/x-python","patch_set":9,"id":"c6171d78_c98cc6d9","line":384,"range":{"start_line":382,"start_character":8,"end_line":384,"end_character":0},"in_reply_to":"b4ab23c2_5d9822b4","updated":"2022-02-13 23:16:40.000000000","message":"OK, will add.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"28e7410ac9f576fe7a07264d292a12c16200808f","unresolved":true,"context_lines":[{"line_number":379,"context_line":"    def instantiate_process(self, context, lcmocc, inst, grant_req,"},{"line_number":380,"context_line":"            grant, vnfd):"},{"line_number":381,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":382,"context_line":"        for attr in [\u0027vnfConfigurableProperties\u0027, \u0027extensions\u0027]:"},{"line_number":383,"context_line":"            self._modify_from_req(inst, req, attr)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        vim_info \u003d inst_utils.select_vim_info(inst.vimConnectionInfo)"},{"line_number":386,"context_line":"        if vim_info.vimType \u003d\u003d \u0027ETSINFV.OPENSTACK_KEYSTONE.V_3\u0027:"},{"line_number":387,"context_line":"            driver \u003d openstack.Openstack()"}],"source_content_type":"text/x-python","patch_set":9,"id":"5d9043ef_3c5cd3ca","line":384,"range":{"start_line":382,"start_character":8,"end_line":384,"end_character":0},"in_reply_to":"c6171d78_c98cc6d9","updated":"2022-02-14 01:18:11.000000000","message":"Please add \"localizationLanguage\" as well.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"b46e8d45d4108b4c315ae8dad73c418bbf49e08c","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    def instantiate_process(self, context, lcmocc, inst, grant_req,"},{"line_number":380,"context_line":"            grant, vnfd):"},{"line_number":381,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":382,"context_line":"        for attr in [\u0027vnfConfigurableProperties\u0027, \u0027extensions\u0027]:"},{"line_number":383,"context_line":"            self._modify_from_req(inst, req, attr)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        vim_info \u003d inst_utils.select_vim_info(inst.vimConnectionInfo)"},{"line_number":386,"context_line":"        if vim_info.vimType \u003d\u003d \u0027ETSINFV.OPENSTACK_KEYSTONE.V_3\u0027:"},{"line_number":387,"context_line":"            driver \u003d openstack.Openstack()"}],"source_content_type":"text/x-python","patch_set":9,"id":"741f979c_fda56991","line":384,"range":{"start_line":382,"start_character":8,"end_line":384,"end_character":0},"in_reply_to":"e6d0ae68_3e665223","updated":"2022-02-14 04:02:14.000000000","message":"Done","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"}],"tacker/sol_refactored/controller/vnflcm_v2.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"059a26827c271458b8da079384bdc1de71214a02","unresolved":true,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        return lcmocc"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    @validator.schema(schema.VnfInfoModificationRequest_V200, \u00272.0.0\u0027)"},{"line_number":169,"context_line":"    @coordinate.lock_vnf_instance(\u0027{id}\u0027)"},{"line_number":170,"context_line":"    def update(self, request, id, body):"},{"line_number":171,"context_line":"        context \u003d request.context"}],"source_content_type":"text/x-python","patch_set":9,"id":"8782f849_f69331c5","line":168,"updated":"2022-02-10 07:42:41.000000000","message":"If the API is called without a Request body, a 500 error will be returned.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f489d229b5600d4caf4ec141b132cca89d23d0bb","unresolved":true,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        return lcmocc"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    @validator.schema(schema.VnfInfoModificationRequest_V200, \u00272.0.0\u0027)"},{"line_number":169,"context_line":"    @coordinate.lock_vnf_instance(\u0027{id}\u0027)"},{"line_number":170,"context_line":"    def update(self, request, id, body):"},{"line_number":171,"context_line":"        context \u003d request.context"}],"source_content_type":"text/x-python","patch_set":9,"id":"f792e661_d545b0ba","line":168,"in_reply_to":"8782f849_f69331c5","updated":"2022-02-13 23:16:40.000000000","message":"Wow. It is same as ohter APIs with body (ex. create, instantiate etc.). api/validator.py will be fixed. I think it is better to fix by another patch.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"28e7410ac9f576fe7a07264d292a12c16200808f","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        return lcmocc"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    @validator.schema(schema.VnfInfoModificationRequest_V200, \u00272.0.0\u0027)"},{"line_number":169,"context_line":"    @coordinate.lock_vnf_instance(\u0027{id}\u0027)"},{"line_number":170,"context_line":"    def update(self, request, id, body):"},{"line_number":171,"context_line":"        context \u003d request.context"}],"source_content_type":"text/x-python","patch_set":9,"id":"8112d8c5_f24ba596","line":168,"in_reply_to":"f792e661_d545b0ba","updated":"2022-02-14 01:18:11.000000000","message":"Thank you for confirmation. I have created a separate bug report.\nhttps://bugs.launchpad.net/tacker/+bug/1960763","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"059a26827c271458b8da079384bdc1de71214a02","unresolved":true,"context_lines":[{"line_number":180,"context_line":"        # check vnf package operational state"},{"line_number":181,"context_line":"        if \u0027vnfdId\u0027 in body and body[\u0027vnfdId\u0027] !\u003d inst.vnfdId:"},{"line_number":182,"context_line":"            req_vnfd_id \u003d body[\u0027vnfdId\u0027]"},{"line_number":183,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("},{"line_number":184,"context_line":"                context, req_vnfd_id)"},{"line_number":185,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":186,"context_line":"                # NOTE: Response code 422 is not specified in SOL003,"},{"line_number":187,"context_line":"                # but 422 will be returned here. This is because"}],"source_content_type":"text/x-python","patch_set":9,"id":"fc7f3772_57e82c72","line":184,"range":{"start_line":183,"start_character":12,"end_line":184,"end_character":37},"updated":"2022-02-10 07:42:41.000000000","message":"Setting vnfdId to a value that is not in UUID v4 format will return a 500 error.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"28e7410ac9f576fe7a07264d292a12c16200808f","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        # check vnf package operational state"},{"line_number":181,"context_line":"        if \u0027vnfdId\u0027 in body and body[\u0027vnfdId\u0027] !\u003d inst.vnfdId:"},{"line_number":182,"context_line":"            req_vnfd_id \u003d body[\u0027vnfdId\u0027]"},{"line_number":183,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("},{"line_number":184,"context_line":"                context, req_vnfd_id)"},{"line_number":185,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":186,"context_line":"                # NOTE: Response code 422 is not specified in SOL003,"},{"line_number":187,"context_line":"                # but 422 will be returned here. This is because"}],"source_content_type":"text/x-python","patch_set":9,"id":"2a101447_04f132a5","line":184,"range":{"start_line":183,"start_character":12,"end_line":184,"end_character":37},"in_reply_to":"af6364eb_191037b0","updated":"2022-02-14 01:18:11.000000000","message":"I see. I will check it on the vnfpkg API side in the future.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f489d229b5600d4caf4ec141b132cca89d23d0bb","unresolved":true,"context_lines":[{"line_number":180,"context_line":"        # check vnf package operational state"},{"line_number":181,"context_line":"        if \u0027vnfdId\u0027 in body and body[\u0027vnfdId\u0027] !\u003d inst.vnfdId:"},{"line_number":182,"context_line":"            req_vnfd_id \u003d body[\u0027vnfdId\u0027]"},{"line_number":183,"context_line":"            pkg_info \u003d self.nfvo_client.get_vnf_package_info_vnfd("},{"line_number":184,"context_line":"                context, req_vnfd_id)"},{"line_number":185,"context_line":"            if pkg_info.operationalState !\u003d \"ENABLED\":"},{"line_number":186,"context_line":"                # NOTE: Response code 422 is not specified in SOL003,"},{"line_number":187,"context_line":"                # but 422 will be returned here. This is because"}],"source_content_type":"text/x-python","patch_set":9,"id":"af6364eb_191037b0","line":184,"range":{"start_line":183,"start_character":12,"end_line":184,"end_character":37},"in_reply_to":"fc7f3772_57e82c72","updated":"2022-02-13 23:16:40.000000000","message":"vnfdId is not limited to UUID by SOL specification. It is a problem about vnfpkg API and may be necessary to fix vnfpkg code. It is same as create API (which use get_vnf_package_info_vnfd() too). I think it is not appropriate to fix it in this patch.","commit_id":"8ee9c5d1ef509fd635e4de76770dd54ea8015e60"}],"tacker/sol_refactored/objects/v2/vnf_info_modification_request.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"17a0f92042de6012991d6ac98af4fa952cf8a400","unresolved":true,"context_lines":[{"line_number":20,"context_line":"# NFV-SOL 003"},{"line_number":21,"context_line":"# - v3.3.1 5.5.2.12 (API version: 2.0.0)"},{"line_number":22,"context_line":"@base.TackerObjectRegistry.register"},{"line_number":23,"context_line":"class VnfInfoModificationRequest(base.TackerObject,"},{"line_number":24,"context_line":"                                 base.TackerObjectDictCompat):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    # Version 1.0: Initial version"}],"source_content_type":"text/x-python","patch_set":2,"id":"16d11413_7aa8ced4","line":23,"updated":"2022-01-25 02:09:47.000000000","message":"I think it\u0027s better to leave V2 on for consistency, but what do you think?","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":true,"context_lines":[{"line_number":20,"context_line":"# NFV-SOL 003"},{"line_number":21,"context_line":"# - v3.3.1 5.5.2.12 (API version: 2.0.0)"},{"line_number":22,"context_line":"@base.TackerObjectRegistry.register"},{"line_number":23,"context_line":"class VnfInfoModificationRequest(base.TackerObject,"},{"line_number":24,"context_line":"                                 base.TackerObjectDictCompat):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    # Version 1.0: Initial version"}],"source_content_type":"text/x-python","patch_set":2,"id":"e3b54209_7d6c1687","line":23,"in_reply_to":"16d11413_7aa8ced4","updated":"2022-01-26 00:51:41.000000000","message":"The definition is adopted in \"OperationParam class(object/v2/vnf_lcm_op_occ.py)\".\nLeave V2 is less, so I modified it accordingly.\nHowever,it is necessary to confirm it.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a3fe5635a9852e2db3078e20a562f991fd336acc","unresolved":false,"context_lines":[{"line_number":20,"context_line":"# NFV-SOL 003"},{"line_number":21,"context_line":"# - v3.3.1 5.5.2.12 (API version: 2.0.0)"},{"line_number":22,"context_line":"@base.TackerObjectRegistry.register"},{"line_number":23,"context_line":"class VnfInfoModificationRequest(base.TackerObject,"},{"line_number":24,"context_line":"                                 base.TackerObjectDictCompat):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    # Version 1.0: Initial version"}],"source_content_type":"text/x-python","patch_set":2,"id":"4ca6d64d_dbe1fd03","line":23,"in_reply_to":"e3b54209_7d6c1687","updated":"2022-01-26 09:07:24.000000000","message":"Okay, I see.\nhttps://review.opendev.org/c/openstack/tacker/+/825985\nI\u0027ve discussed this in the above patch as well, and I\u0027m aware that subsequent Heal patch will be modified to be consistent.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"}],"tacker/tests/unit/sol_refactored/common/test_lcm_op_occ_utils.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"b7e0053a42c9883326e5d7e53e95ec9396d16efd","unresolved":true,"context_lines":[{"line_number":1212,"context_line":"            objects.VnfInstanceV2_InstantiatedVnfInfo.from_dict("},{"line_number":1213,"context_line":"                _inst_info_example_1))"},{"line_number":1214,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":1215,"context_line":"            operation\u003dfields.LcmOperationType.SCALE)"},{"line_number":1216,"context_line":""},{"line_number":1217,"context_line":"        # execute update_lcmocc"},{"line_number":1218,"context_line":"        lcmocc_utils.update_lcmocc(lcmocc, inst_saved, inst)"}],"source_content_type":"text/x-python","patch_set":2,"id":"42f75f48_df2c4632","line":1215,"range":{"start_line":1215,"start_character":22,"end_line":1215,"end_character":51},"updated":"2022-01-25 05:33:35.000000000","message":"Typo: fields.LcmOperationType.INSTANTIATE","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":true,"context_lines":[{"line_number":1212,"context_line":"            objects.VnfInstanceV2_InstantiatedVnfInfo.from_dict("},{"line_number":1213,"context_line":"                _inst_info_example_1))"},{"line_number":1214,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":1215,"context_line":"            operation\u003dfields.LcmOperationType.SCALE)"},{"line_number":1216,"context_line":""},{"line_number":1217,"context_line":"        # execute update_lcmocc"},{"line_number":1218,"context_line":"        lcmocc_utils.update_lcmocc(lcmocc, inst_saved, inst)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ac0bb3dd_6b668290","line":1215,"range":{"start_line":1215,"start_character":22,"end_line":1215,"end_character":51},"in_reply_to":"42f75f48_df2c4632","updated":"2022-01-26 00:51:41.000000000","message":"I will fix.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a3fe5635a9852e2db3078e20a562f991fd336acc","unresolved":false,"context_lines":[{"line_number":1212,"context_line":"            objects.VnfInstanceV2_InstantiatedVnfInfo.from_dict("},{"line_number":1213,"context_line":"                _inst_info_example_1))"},{"line_number":1214,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":1215,"context_line":"            operation\u003dfields.LcmOperationType.SCALE)"},{"line_number":1216,"context_line":""},{"line_number":1217,"context_line":"        # execute update_lcmocc"},{"line_number":1218,"context_line":"        lcmocc_utils.update_lcmocc(lcmocc, inst_saved, inst)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f58e2faa_c48dca8c","line":1215,"range":{"start_line":1215,"start_character":22,"end_line":1215,"end_character":51},"in_reply_to":"ac0bb3dd_6b668290","updated":"2022-01-26 09:07:24.000000000","message":"Done","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"b7e0053a42c9883326e5d7e53e95ec9396d16efd","unresolved":true,"context_lines":[{"line_number":1277,"context_line":"            flavourId\u003d\"SAMPLE_VNFD_ID\","},{"line_number":1278,"context_line":"            vnfState\u003d\u0027STOPPED\u0027)"},{"line_number":1279,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":1280,"context_line":"            operation\u003dfields.LcmOperationType.SCALE)"},{"line_number":1281,"context_line":""},{"line_number":1282,"context_line":"        # execute update_lcmocc"},{"line_number":1283,"context_line":"        lcmocc_utils.update_lcmocc(lcmocc, inst_saved, inst)"}],"source_content_type":"text/x-python","patch_set":2,"id":"243ab16c_443a9ce9","line":1280,"range":{"start_line":1280,"start_character":22,"end_line":1280,"end_character":51},"updated":"2022-01-25 05:33:35.000000000","message":"Typo: fields.LcmOperationType.TERMINATE","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a3fe5635a9852e2db3078e20a562f991fd336acc","unresolved":false,"context_lines":[{"line_number":1277,"context_line":"            flavourId\u003d\"SAMPLE_VNFD_ID\","},{"line_number":1278,"context_line":"            vnfState\u003d\u0027STOPPED\u0027)"},{"line_number":1279,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":1280,"context_line":"            operation\u003dfields.LcmOperationType.SCALE)"},{"line_number":1281,"context_line":""},{"line_number":1282,"context_line":"        # execute update_lcmocc"},{"line_number":1283,"context_line":"        lcmocc_utils.update_lcmocc(lcmocc, inst_saved, inst)"}],"source_content_type":"text/x-python","patch_set":2,"id":"8a5496a2_0a28cf30","line":1280,"range":{"start_line":1280,"start_character":22,"end_line":1280,"end_character":51},"in_reply_to":"221ebfc7_a021527d","updated":"2022-01-26 09:07:24.000000000","message":"Done","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":true,"context_lines":[{"line_number":1277,"context_line":"            flavourId\u003d\"SAMPLE_VNFD_ID\","},{"line_number":1278,"context_line":"            vnfState\u003d\u0027STOPPED\u0027)"},{"line_number":1279,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":1280,"context_line":"            operation\u003dfields.LcmOperationType.SCALE)"},{"line_number":1281,"context_line":""},{"line_number":1282,"context_line":"        # execute update_lcmocc"},{"line_number":1283,"context_line":"        lcmocc_utils.update_lcmocc(lcmocc, inst_saved, inst)"}],"source_content_type":"text/x-python","patch_set":2,"id":"221ebfc7_a021527d","line":1280,"range":{"start_line":1280,"start_character":22,"end_line":1280,"end_character":51},"in_reply_to":"243ab16c_443a9ce9","updated":"2022-01-26 00:51:41.000000000","message":"I will fix.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"}],"tacker/tests/unit/sol_refactored/conductor/test_vnflcm_driver_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"17a0f92042de6012991d6ac98af4fa952cf8a400","unresolved":true,"context_lines":[{"line_number":968,"context_line":"            vnfdVersion\u003d\"vnfd version\","},{"line_number":969,"context_line":"            operationalState\u003d\"ENABLED\""},{"line_number":970,"context_line":"        )"},{"line_number":971,"context_line":"        new_vnfd_prop \u003d {"},{"line_number":972,"context_line":"            \"vnfConfigurableProperties\": {"},{"line_number":973,"context_line":"                \"vnfproperties\": \"example\""},{"line_number":974,"context_line":"            },"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa3e97e3_f91ce196","line":971,"updated":"2022-01-25 02:09:47.000000000","message":"Can you add \"extensions\"?\nThis is because the following unittest has not passed the branch.\n---\nhttps://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_b83/825982/1/check/openstack-tox-cover/b834bb1/cover/d_641f4c3d9e302050_vnflcm_driver_v2_py.html#t649","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a3fe5635a9852e2db3078e20a562f991fd336acc","unresolved":false,"context_lines":[{"line_number":968,"context_line":"            vnfdVersion\u003d\"vnfd version\","},{"line_number":969,"context_line":"            operationalState\u003d\"ENABLED\""},{"line_number":970,"context_line":"        )"},{"line_number":971,"context_line":"        new_vnfd_prop \u003d {"},{"line_number":972,"context_line":"            \"vnfConfigurableProperties\": {"},{"line_number":973,"context_line":"                \"vnfproperties\": \"example\""},{"line_number":974,"context_line":"            },"}],"source_content_type":"text/x-python","patch_set":2,"id":"17c64ad4_24ab9429","line":971,"in_reply_to":"4905a631_e1bd84fb","updated":"2022-01-26 09:07:24.000000000","message":"Done","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":true,"context_lines":[{"line_number":968,"context_line":"            vnfdVersion\u003d\"vnfd version\","},{"line_number":969,"context_line":"            operationalState\u003d\"ENABLED\""},{"line_number":970,"context_line":"        )"},{"line_number":971,"context_line":"        new_vnfd_prop \u003d {"},{"line_number":972,"context_line":"            \"vnfConfigurableProperties\": {"},{"line_number":973,"context_line":"                \"vnfproperties\": \"example\""},{"line_number":974,"context_line":"            },"}],"source_content_type":"text/x-python","patch_set":2,"id":"4905a631_e1bd84fb","line":971,"in_reply_to":"fa3e97e3_f91ce196","updated":"2022-01-26 00:51:41.000000000","message":"I see.I will chage.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"}],"tacker/tests/unit/sol_refactored/controller/test_vnflcm_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"17a0f92042de6012991d6ac98af4fa952cf8a400","unresolved":true,"context_lines":[{"line_number":360,"context_line":"            self.controller.update, request\u003dself.request, id\u003dinst_id,"},{"line_number":361,"context_line":"            body\u003dbody)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    def test_update_vimConnectionInfo_not_instantiated(self):"},{"line_number":364,"context_line":"        inst_id, _ \u003d self._create_inst_and_lcmocc(\u0027NOT_INSTANTIATED\u0027,"},{"line_number":365,"context_line":"            fields.LcmOperationStateType.PROCESSING)"},{"line_number":366,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"79c215fa_7842f831","line":363,"updated":"2022-01-25 02:09:47.000000000","message":"The function name should be snake_case, so could you change it?","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a3fe5635a9852e2db3078e20a562f991fd336acc","unresolved":false,"context_lines":[{"line_number":360,"context_line":"            self.controller.update, request\u003dself.request, id\u003dinst_id,"},{"line_number":361,"context_line":"            body\u003dbody)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    def test_update_vimConnectionInfo_not_instantiated(self):"},{"line_number":364,"context_line":"        inst_id, _ \u003d self._create_inst_and_lcmocc(\u0027NOT_INSTANTIATED\u0027,"},{"line_number":365,"context_line":"            fields.LcmOperationStateType.PROCESSING)"},{"line_number":366,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"02125111_0e3110ab","line":363,"in_reply_to":"33ee10e5_2bfc1739","updated":"2022-01-26 09:07:24.000000000","message":"Done","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"97ef6d2627b492f8afafc7f6c7fc3cc7126a053d","unresolved":true,"context_lines":[{"line_number":360,"context_line":"            self.controller.update, request\u003dself.request, id\u003dinst_id,"},{"line_number":361,"context_line":"            body\u003dbody)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    def test_update_vimConnectionInfo_not_instantiated(self):"},{"line_number":364,"context_line":"        inst_id, _ \u003d self._create_inst_and_lcmocc(\u0027NOT_INSTANTIATED\u0027,"},{"line_number":365,"context_line":"            fields.LcmOperationStateType.PROCESSING)"},{"line_number":366,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"33ee10e5_2bfc1739","line":363,"in_reply_to":"79c215fa_7842f831","updated":"2022-01-26 00:51:41.000000000","message":"I see.I will chage.","commit_id":"232296c8014d4fca03c64d663622ad808ccee8ed"}]}
