)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"a5398d5861cb73b112662b67ac999487d147b0d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d842a07c_22cdb1e3","updated":"2022-02-28 12:10:04.000000000","message":"recheck","commit_id":"e1868ac9d9ce4bbb5f3099f51d36663b20fffcb4"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"372f9c0a_e900c1a3","updated":"2022-03-07 06:33:30.000000000","message":"Thank you for the patch.\n\nPlease kindly find my comments","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"ecc32b5376e8e2717dc03e31918950cb01f2cc0e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c73d24da_f9a1be43","updated":"2022-03-07 09:10:21.000000000","message":"Thanks for your patch, please kindly find my comments.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f8ab096b_dcee2694","updated":"2022-03-10 05:08:02.000000000","message":"Thank you for re-work.\n\nAlmost LGTM.\n\nPlease find my reply.","commit_id":"9426ff37cc09c67d54fe99af1fb6ef2fa42a3986"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3251dfa0_7f71ccfa","updated":"2022-03-10 09:06:04.000000000","message":"LGTM","commit_id":"21410608955e86329c9a5a004956087b39f1af49"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"7f813eb0e33698b02389aff96914af55862b16f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3d00f0e2_ea6523b3","updated":"2022-03-10 13:01:08.000000000","message":"Ogawa san, Zuul status was -2. Please confirm and kindly fix it.","commit_id":"21410608955e86329c9a5a004956087b39f1af49"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"7bc538ae13c40b1bd5d76df44d5001882c8c7c29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"9924547b_754fdd6f","updated":"2022-03-10 10:16:13.000000000","message":"Thanks for your rework, LGTM.","commit_id":"21410608955e86329c9a5a004956087b39f1af49"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"3f2b8f3354cceacb8a80d73a30bec45a587b19d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"091bcf62_cba3109e","updated":"2022-03-11 01:52:17.000000000","message":"recheck","commit_id":"21410608955e86329c9a5a004956087b39f1af49"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"ec448b2317bfee14d14e4d42461e35c27d1ef22b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"e209bc24_79539da6","in_reply_to":"3d00f0e2_ea6523b3","updated":"2022-03-11 01:50:44.000000000","message":"Did you confirm that this test can be passed on your local environment? If yes, you can try to recheck.","commit_id":"21410608955e86329c9a5a004956087b39f1af49"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"e1d741aaf31ba168700ad941beba95ad3336b60e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d62bd3a7_b0c68983","in_reply_to":"e209bc24_79539da6","updated":"2022-03-11 02:05:15.000000000","message":"Yes, it can be passed on my local environment. And also it can be passed in Zuul cause Zuul have been Verfied +1 before.","commit_id":"21410608955e86329c9a5a004956087b39f1af49"}],"tacker/tests/functional/sol_v2/paramgen.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":614,"context_line":"    }"},{"line_number":615,"context_line":""},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"def heal_vnf_vnfc_max_with_parameter(vnfc_id_1, vnfc_id_2,"},{"line_number":618,"context_line":"        additional_params_value\u003dNone):"},{"line_number":619,"context_line":"    # All attributes are set."},{"line_number":620,"context_line":"    # NOTE: All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"ef9a4a46_49e7579f","line":617,"updated":"2022-03-07 06:33:30.000000000","message":"Considering only two VNFCs is enough? According to the implementation [1], it can be more than two VNFCs. How about receiving ``vnfc_ids`` as a list?\n\n[1] https://github.com/openstack/tacker/blob/master/tacker/sol_refactored/controller/vnflcm_v2.py#L346","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"3123b058b457985be84785a873e6dc00117826e1","unresolved":true,"context_lines":[{"line_number":614,"context_line":"    }"},{"line_number":615,"context_line":""},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"def heal_vnf_vnfc_max_with_parameter(vnfc_id_1, vnfc_id_2,"},{"line_number":618,"context_line":"        additional_params_value\u003dNone):"},{"line_number":619,"context_line":"    # All attributes are set."},{"line_number":620,"context_line":"    # NOTE: All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"b14d6933_c0986906","line":617,"in_reply_to":"5471d3d6_b291f148","updated":"2022-03-10 08:10:06.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":614,"context_line":"    }"},{"line_number":615,"context_line":""},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"def heal_vnf_vnfc_max_with_parameter(vnfc_id_1, vnfc_id_2,"},{"line_number":618,"context_line":"        additional_params_value\u003dNone):"},{"line_number":619,"context_line":"    # All attributes are set."},{"line_number":620,"context_line":"    # NOTE: All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"5e30c9f9_960e76e9","line":617,"in_reply_to":"b14d6933_c0986906","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":true,"context_lines":[{"line_number":614,"context_line":"    }"},{"line_number":615,"context_line":""},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"def heal_vnf_vnfc_max_with_parameter(vnfc_id_1, vnfc_id_2,"},{"line_number":618,"context_line":"        additional_params_value\u003dNone):"},{"line_number":619,"context_line":"    # All attributes are set."},{"line_number":620,"context_line":"    # NOTE: All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"5471d3d6_b291f148","line":617,"in_reply_to":"ee7539dc_7202db44","updated":"2022-03-10 05:08:02.000000000","message":"ditto","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":614,"context_line":"    }"},{"line_number":615,"context_line":""},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"def heal_vnf_vnfc_max_with_parameter(vnfc_id_1, vnfc_id_2,"},{"line_number":618,"context_line":"        additional_params_value\u003dNone):"},{"line_number":619,"context_line":"    # All attributes are set."},{"line_number":620,"context_line":"    # NOTE: All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"ee7539dc_7202db44","line":617,"in_reply_to":"ef9a4a46_49e7579f","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it, and I fixed update_vnf_max method as well.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":625,"context_line":"    #  - 1..N (2 or more)"},{"line_number":626,"context_line":"    if additional_params_value is not None:"},{"line_number":627,"context_line":"        key \u003d \"all\""},{"line_number":628,"context_line":"        value \u003d additional_params_value"},{"line_number":629,"context_line":"    else:"},{"line_number":630,"context_line":"        key \u003d \"dummy-key\""},{"line_number":631,"context_line":"        value \u003d \"dummy-val\""}],"source_content_type":"text/x-python","patch_set":5,"id":"f1529fb5_f01b10d2","line":628,"updated":"2022-03-07 06:33:30.000000000","message":"This value only accepts Bool, but there\u0027s no clue for the other developer to know that. There are several options:\n(i) Change arg name from ``additional_params_value`` to ``set_all`` or ``is_all``.\n(ii) Add a docstring to this method to explain this value only allows Bool.\n(iii) Use the type annotation: https://docs.python.org/3/library/typing.html.\n\nMaybe applying all the above options will eliminate misunderstandings.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":625,"context_line":"    #  - 1..N (2 or more)"},{"line_number":626,"context_line":"    if additional_params_value is not None:"},{"line_number":627,"context_line":"        key \u003d \"all\""},{"line_number":628,"context_line":"        value \u003d additional_params_value"},{"line_number":629,"context_line":"    else:"},{"line_number":630,"context_line":"        key \u003d \"dummy-key\""},{"line_number":631,"context_line":"        value \u003d \"dummy-val\""}],"source_content_type":"text/x-python","patch_set":5,"id":"8665d87f_26a4cd62","line":628,"in_reply_to":"95287a1a_4f09b565","updated":"2022-03-10 05:08:02.000000000","message":"I agree.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":625,"context_line":"    #  - 1..N (2 or more)"},{"line_number":626,"context_line":"    if additional_params_value is not None:"},{"line_number":627,"context_line":"        key \u003d \"all\""},{"line_number":628,"context_line":"        value \u003d additional_params_value"},{"line_number":629,"context_line":"    else:"},{"line_number":630,"context_line":"        key \u003d \"dummy-key\""},{"line_number":631,"context_line":"        value \u003d \"dummy-val\""}],"source_content_type":"text/x-python","patch_set":5,"id":"95287a1a_4f09b565","line":628,"in_reply_to":"f1529fb5_f01b10d2","updated":"2022-03-10 01:48:37.000000000","message":"I changed it to is_all, and added comment to explain it.\nI think it\u0027s enough to let other developer to know the parameter type.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":647,"context_line":"    #  - 1..N (2 or more)"},{"line_number":648,"context_line":"    if additional_params_value is not None:"},{"line_number":649,"context_line":"        key \u003d \"all\""},{"line_number":650,"context_line":"        value \u003d additional_params_value"},{"line_number":651,"context_line":"    else:"},{"line_number":652,"context_line":"        key \u003d \"dummy-key\""},{"line_number":653,"context_line":"        value \u003d \"dummy-val\""}],"source_content_type":"text/x-python","patch_set":5,"id":"fdd61c61_04e89f52","line":650,"updated":"2022-03-07 06:33:30.000000000","message":"ditto","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":647,"context_line":"    #  - 1..N (2 or more)"},{"line_number":648,"context_line":"    if additional_params_value is not None:"},{"line_number":649,"context_line":"        key \u003d \"all\""},{"line_number":650,"context_line":"        value \u003d additional_params_value"},{"line_number":651,"context_line":"    else:"},{"line_number":652,"context_line":"        key \u003d \"dummy-key\""},{"line_number":653,"context_line":"        value \u003d \"dummy-val\""}],"source_content_type":"text/x-python","patch_set":5,"id":"06cfe979_3b0e575a","line":650,"in_reply_to":"0c950329_9692dcf4","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":647,"context_line":"    #  - 1..N (2 or more)"},{"line_number":648,"context_line":"    if additional_params_value is not None:"},{"line_number":649,"context_line":"        key \u003d \"all\""},{"line_number":650,"context_line":"        value \u003d additional_params_value"},{"line_number":651,"context_line":"    else:"},{"line_number":652,"context_line":"        key \u003d \"dummy-key\""},{"line_number":653,"context_line":"        value \u003d \"dummy-val\""}],"source_content_type":"text/x-python","patch_set":5,"id":"0c950329_9692dcf4","line":650,"in_reply_to":"fdd61c61_04e89f52","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":true,"context_lines":[{"line_number":568,"context_line":"        },"},{"line_number":569,"context_line":"        \"vnfcInfoModifications\": ["},{"line_number":570,"context_line":"            {"},{"line_number":571,"context_line":"                \"id\": vnfc_ids[0],"},{"line_number":572,"context_line":"                \"vnfcConfigurableProperties\": {\"dummy-key\": \"dummy-value\"}"},{"line_number":573,"context_line":"            },"},{"line_number":574,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":7,"id":"3983069c_ee4e67fe","line":571,"updated":"2022-03-10 05:08:02.000000000","message":"As vnf_ids now becomes list, this part also should be list.\n\n```\n[{\"id\": id, \"vnfcConfigurableProperties\": {\"dummy-key\": \"dummy-value\"} for id in vnfc_ids]\n```\n\nIf you thought the test data must be a specific data structure and shouldn\u0027t be dynamically generated, please reject my previous comment and revert this change. We must choose either one of them.","commit_id":"9426ff37cc09c67d54fe99af1fb6ef2fa42a3986"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":568,"context_line":"        },"},{"line_number":569,"context_line":"        \"vnfcInfoModifications\": ["},{"line_number":570,"context_line":"            {"},{"line_number":571,"context_line":"                \"id\": vnfc_ids[0],"},{"line_number":572,"context_line":"                \"vnfcConfigurableProperties\": {\"dummy-key\": \"dummy-value\"}"},{"line_number":573,"context_line":"            },"},{"line_number":574,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":7,"id":"50398dae_247c0572","line":571,"in_reply_to":"078fdcac_a42794b1","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"9426ff37cc09c67d54fe99af1fb6ef2fa42a3986"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":568,"context_line":"        },"},{"line_number":569,"context_line":"        \"vnfcInfoModifications\": ["},{"line_number":570,"context_line":"            {"},{"line_number":571,"context_line":"                \"id\": vnfc_ids[0],"},{"line_number":572,"context_line":"                \"vnfcConfigurableProperties\": {\"dummy-key\": \"dummy-value\"}"},{"line_number":573,"context_line":"            },"},{"line_number":574,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":7,"id":"9695efa9_ef9843a5","line":571,"in_reply_to":"078fdcac_a42794b1","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"9426ff37cc09c67d54fe99af1fb6ef2fa42a3986"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"3123b058b457985be84785a873e6dc00117826e1","unresolved":true,"context_lines":[{"line_number":568,"context_line":"        },"},{"line_number":569,"context_line":"        \"vnfcInfoModifications\": ["},{"line_number":570,"context_line":"            {"},{"line_number":571,"context_line":"                \"id\": vnfc_ids[0],"},{"line_number":572,"context_line":"                \"vnfcConfigurableProperties\": {\"dummy-key\": \"dummy-value\"}"},{"line_number":573,"context_line":"            },"},{"line_number":574,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":7,"id":"078fdcac_a42794b1","line":571,"in_reply_to":"3983069c_ee4e67fe","updated":"2022-03-10 08:10:06.000000000","message":"I fixed it.","commit_id":"9426ff37cc09c67d54fe99af1fb6ef2fa42a3986"}],"tacker/tests/functional/sol_v2/samples/basic_lcms_max/pkggen.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"ecc32b5376e8e2717dc03e31918950cb01f2cc0e","unresolved":true,"context_lines":[{"line_number":62,"context_line":"instantiate_req \u003d paramgen.instantiate_vnf_max("},{"line_number":63,"context_line":"    net_ids, subnet_ids, port_ids, \"http://localhost/identity/v3\")"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":66,"context_line":"VNFC_ID_1 \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":67,"context_line":"VNFC_ID_2 \u003d \"VDU2-39681281-e6e6-4179-8898-d9ec70f1642a\""},{"line_number":68,"context_line":"heal_vnfc_req \u003d paramgen.heal_vnf_vnfc_max(VNFC_ID_1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"a7a89da1_53823a4b","line":65,"range":{"start_line":65,"start_character":16,"end_line":65,"end_character":22},"updated":"2022-03-07 09:10:21.000000000","message":"typo: should","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"7bc538ae13c40b1bd5d76df44d5001882c8c7c29","unresolved":false,"context_lines":[{"line_number":62,"context_line":"instantiate_req \u003d paramgen.instantiate_vnf_max("},{"line_number":63,"context_line":"    net_ids, subnet_ids, port_ids, \"http://localhost/identity/v3\")"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":66,"context_line":"VNFC_ID_1 \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":67,"context_line":"VNFC_ID_2 \u003d \"VDU2-39681281-e6e6-4179-8898-d9ec70f1642a\""},{"line_number":68,"context_line":"heal_vnfc_req \u003d paramgen.heal_vnf_vnfc_max(VNFC_ID_1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fb3f433e_a4b0c1ba","line":65,"range":{"start_line":65,"start_character":16,"end_line":65,"end_character":22},"in_reply_to":"0e979025_8ad2418b","updated":"2022-03-10 10:16:13.000000000","message":"I\u0027ve confirmed.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":62,"context_line":"instantiate_req \u003d paramgen.instantiate_vnf_max("},{"line_number":63,"context_line":"    net_ids, subnet_ids, port_ids, \"http://localhost/identity/v3\")"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":66,"context_line":"VNFC_ID_1 \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":67,"context_line":"VNFC_ID_2 \u003d \"VDU2-39681281-e6e6-4179-8898-d9ec70f1642a\""},{"line_number":68,"context_line":"heal_vnfc_req \u003d paramgen.heal_vnf_vnfc_max(VNFC_ID_1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"0e979025_8ad2418b","line":65,"range":{"start_line":65,"start_character":16,"end_line":65,"end_character":22},"in_reply_to":"a7a89da1_53823a4b","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f160565b4e93ea958d9eae93579f9a315ff460b","unresolved":true,"context_lines":[{"line_number":63,"context_line":"    net_ids, subnet_ids, port_ids, \"http://localhost/identity/v3\")"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":66,"context_line":"VNFC_ID_1 \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":67,"context_line":"VNFC_ID_2 \u003d \"VDU2-39681281-e6e6-4179-8898-d9ec70f1642a\""},{"line_number":68,"context_line":"heal_vnfc_req \u003d paramgen.heal_vnf_vnfc_max(VNFC_ID_1)"},{"line_number":69,"context_line":"heal_vnfc_with_omit_all_req \u003d paramgen.heal_vnf_vnfc_max_with_parameter("},{"line_number":70,"context_line":"    VNFC_ID_1, VNFC_ID_2)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ca1f1dd0_5a24d056","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":55},"updated":"2022-03-07 10:20:05.000000000","message":"Could you add that these are fake to the L47 \"print\"?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":63,"context_line":"    net_ids, subnet_ids, port_ids, \"http://localhost/identity/v3\")"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":66,"context_line":"VNFC_ID_1 \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":67,"context_line":"VNFC_ID_2 \u003d \"VDU2-39681281-e6e6-4179-8898-d9ec70f1642a\""},{"line_number":68,"context_line":"heal_vnfc_req \u003d paramgen.heal_vnf_vnfc_max(VNFC_ID_1)"},{"line_number":69,"context_line":"heal_vnfc_with_omit_all_req \u003d paramgen.heal_vnf_vnfc_max_with_parameter("},{"line_number":70,"context_line":"    VNFC_ID_1, VNFC_ID_2)"}],"source_content_type":"text/x-python","patch_set":5,"id":"cbb2c105_b8575342","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":55},"in_reply_to":"ca1f1dd0_5a24d056","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f160565b4e93ea958d9eae93579f9a315ff460b","unresolved":true,"context_lines":[{"line_number":77,"context_line":"heal_all_with_all_false_req \u003d paramgen.heal_vnf_all_max_with_parameter(False)"},{"line_number":78,"context_line":"change_ext_conn_max_req \u003d paramgen.change_ext_conn_max(net_ids, subnet_ids,"},{"line_number":79,"context_line":"    \"http://localhost/identity/v3\")"},{"line_number":80,"context_line":"change_ext_conn_min_req \u003d paramgen.change_ext_conn_min(net_ids, subnet_ids)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"with open(\"create_req\", \"w\", encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":83,"context_line":"    f.write(json.dumps(create_req, indent\u003d2))"}],"source_content_type":"text/x-python","patch_set":5,"id":"7e951851_d367c4fe","line":80,"updated":"2022-03-07 10:20:05.000000000","message":"I don\u0027t think this is necessary because it is for max pattern.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"58a883268fb336c72f3d43c5120ffdbe06fbb5a5","unresolved":true,"context_lines":[{"line_number":77,"context_line":"heal_all_with_all_false_req \u003d paramgen.heal_vnf_all_max_with_parameter(False)"},{"line_number":78,"context_line":"change_ext_conn_max_req \u003d paramgen.change_ext_conn_max(net_ids, subnet_ids,"},{"line_number":79,"context_line":"    \"http://localhost/identity/v3\")"},{"line_number":80,"context_line":"change_ext_conn_min_req \u003d paramgen.change_ext_conn_min(net_ids, subnet_ids)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"with open(\"create_req\", \"w\", encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":83,"context_line":"    f.write(json.dumps(create_req, indent\u003d2))"}],"source_content_type":"text/x-python","patch_set":5,"id":"81bd0410_c1b7a095","line":80,"in_reply_to":"7e951851_d367c4fe","updated":"2022-03-09 05:03:02.000000000","message":"basic_lcms_min package doesn\u0027t support change_ext_conn. So I also used basic_lcms_max package to test min pattern in the test_scale_other_lcm method.\nI will add comment to explain it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"}],"tacker/tests/functional/sol_v2/samples/basic_lcms_min/pkggen.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"ecc32b5376e8e2717dc03e31918950cb01f2cc0e","unresolved":true,"context_lines":[{"line_number":38,"context_line":"scaleout_req \u003d paramgen.scaleout_vnf_min()"},{"line_number":39,"context_line":"scalein_req \u003d paramgen.scalein_vnf_min()"},{"line_number":40,"context_line":"update_seq \u003d paramgen.update_vnf_min()"},{"line_number":41,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":42,"context_line":"VNFC_ID \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":43,"context_line":"heal_req \u003d paramgen.heal_vnf_vnfc_min(VNFC_ID)"},{"line_number":44,"context_line":"heal_without_parameter_req \u003d paramgen.heal_vnf_all_min()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9857dd9f_0b51d389","line":41,"range":{"start_line":41,"start_character":16,"end_line":41,"end_character":22},"updated":"2022-03-07 09:10:21.000000000","message":"typo: should","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"7bc538ae13c40b1bd5d76df44d5001882c8c7c29","unresolved":false,"context_lines":[{"line_number":38,"context_line":"scaleout_req \u003d paramgen.scaleout_vnf_min()"},{"line_number":39,"context_line":"scalein_req \u003d paramgen.scalein_vnf_min()"},{"line_number":40,"context_line":"update_seq \u003d paramgen.update_vnf_min()"},{"line_number":41,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":42,"context_line":"VNFC_ID \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":43,"context_line":"heal_req \u003d paramgen.heal_vnf_vnfc_min(VNFC_ID)"},{"line_number":44,"context_line":"heal_without_parameter_req \u003d paramgen.heal_vnf_all_min()"}],"source_content_type":"text/x-python","patch_set":5,"id":"875ae9ac_9addaa25","line":41,"range":{"start_line":41,"start_character":16,"end_line":41,"end_character":22},"in_reply_to":"6296b9f0_2a528df0","updated":"2022-03-10 10:16:13.000000000","message":"I\u0027ve confirmed.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":38,"context_line":"scaleout_req \u003d paramgen.scaleout_vnf_min()"},{"line_number":39,"context_line":"scalein_req \u003d paramgen.scalein_vnf_min()"},{"line_number":40,"context_line":"update_seq \u003d paramgen.update_vnf_min()"},{"line_number":41,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":42,"context_line":"VNFC_ID \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":43,"context_line":"heal_req \u003d paramgen.heal_vnf_vnfc_min(VNFC_ID)"},{"line_number":44,"context_line":"heal_without_parameter_req \u003d paramgen.heal_vnf_all_min()"}],"source_content_type":"text/x-python","patch_set":5,"id":"6296b9f0_2a528df0","line":41,"range":{"start_line":41,"start_character":16,"end_line":41,"end_character":22},"in_reply_to":"9857dd9f_0b51d389","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f160565b4e93ea958d9eae93579f9a315ff460b","unresolved":true,"context_lines":[{"line_number":39,"context_line":"scalein_req \u003d paramgen.scalein_vnf_min()"},{"line_number":40,"context_line":"update_seq \u003d paramgen.update_vnf_min()"},{"line_number":41,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":42,"context_line":"VNFC_ID \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":43,"context_line":"heal_req \u003d paramgen.heal_vnf_vnfc_min(VNFC_ID)"},{"line_number":44,"context_line":"heal_without_parameter_req \u003d paramgen.heal_vnf_all_min()"},{"line_number":45,"context_line":"net_ids \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"87bcfe0a_848e0b62","line":42,"updated":"2022-03-07 10:20:05.000000000","message":"Could you \"print\" that these are fake?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":39,"context_line":"scalein_req \u003d paramgen.scalein_vnf_min()"},{"line_number":40,"context_line":"update_seq \u003d paramgen.update_vnf_min()"},{"line_number":41,"context_line":"# fake vnfc id, shoule be get from show vnf"},{"line_number":42,"context_line":"VNFC_ID \u003d \"VDU1-9300a3cb-bd3b-45e4-9967-095040caf827\""},{"line_number":43,"context_line":"heal_req \u003d paramgen.heal_vnf_vnfc_min(VNFC_ID)"},{"line_number":44,"context_line":"heal_without_parameter_req \u003d paramgen.heal_vnf_all_min()"},{"line_number":45,"context_line":"net_ids \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"82d98d72_6d4e6a55","line":42,"in_reply_to":"87bcfe0a_848e0b62","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f160565b4e93ea958d9eae93579f9a315ff460b","unresolved":true,"context_lines":[{"line_number":73,"context_line":"with open(\"heal_without_parameter_req\", \"w\", encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":74,"context_line":"    f.write(json.dumps(heal_without_parameter_req, indent\u003d2))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"with open(\"change_ext_conn_req\", \"w\", encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":77,"context_line":"    f.write(json.dumps(change_ext_conn_req, indent\u003d2))"}],"source_content_type":"text/x-python","patch_set":5,"id":"4a5f412a_1e018bdd","line":76,"updated":"2022-03-07 10:20:05.000000000","message":"https://review.opendev.org/c/openstack/tacker/+/830950/5/tacker/tests/functional/sol_v2/test_vnflcm_basic.py#950\nIsn\u0027t this unnecessary as you said above that you can\u0027t test \"change_ext_conn\" with this VNF Package?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":73,"context_line":"with open(\"heal_without_parameter_req\", \"w\", encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":74,"context_line":"    f.write(json.dumps(heal_without_parameter_req, indent\u003d2))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"with open(\"change_ext_conn_req\", \"w\", encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":77,"context_line":"    f.write(json.dumps(change_ext_conn_req, indent\u003d2))"}],"source_content_type":"text/x-python","patch_set":5,"id":"f43c8e5b_c8a7e163","line":76,"in_reply_to":"4a5f412a_1e018bdd","updated":"2022-03-10 01:48:37.000000000","message":"It\u0027s can test change_ext_conn successfully, but it can test change_ext_conn failed case. It was used to test rollback change_ext_conn.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"429d762736f1756ce86c3318144394462a51609d","unresolved":true,"context_lines":[{"line_number":73,"context_line":"with open(\"heal_without_parameter_req\", \"w\", encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":74,"context_line":"    f.write(json.dumps(heal_without_parameter_req, indent\u003d2))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"with open(\"change_ext_conn_req\", \"w\", encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":77,"context_line":"    f.write(json.dumps(change_ext_conn_req, indent\u003d2))"}],"source_content_type":"text/x-python","patch_set":5,"id":"0e5c09e0_8ea2525e","line":76,"in_reply_to":"f43c8e5b_c8a7e163","updated":"2022-03-10 08:17:32.000000000","message":"Sorry, \"can\" should be \"can\u0027t\".\n\nThis package can\u0027t test change_ext_conn successfully, but it can test change_ext_conn failed case. It was used to test rollback change_ext_conn.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"}],"tacker/tests/functional/sol_v2/test_vnflcm_basic.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f160565b4e93ea958d9eae93579f9a315ff460b","unresolved":true,"context_lines":[{"line_number":525,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":526,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":527,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"        # 12. Heal VNF(all with all\u003dTrue parameter)"},{"line_number":530,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_max_with_parameter(True)"},{"line_number":531,"context_line":"        resp, body \u003d self.heal_vnf_instance(inst_id, heal_req)"}],"source_content_type":"text/x-python","patch_set":5,"id":"f0698123_0018be50","line":528,"updated":"2022-03-07 10:20:05.000000000","message":"It’s \u0027s better to add \"check stack status\" at this point too.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"429d762736f1756ce86c3318144394462a51609d","unresolved":true,"context_lines":[{"line_number":525,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":526,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":527,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"        # 12. Heal VNF(all with all\u003dTrue parameter)"},{"line_number":530,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_max_with_parameter(True)"},{"line_number":531,"context_line":"        resp, body \u003d self.heal_vnf_instance(inst_id, heal_req)"}],"source_content_type":"text/x-python","patch_set":5,"id":"61635b26_29bd8a04","line":528,"in_reply_to":"f0698123_0018be50","updated":"2022-03-10 08:17:32.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        # check stack status"},{"line_number":538,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":539,"context_line":"        self.assertEqual(\"CREATE_COMPLETE\", stack_status)"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        # 13. Scale out operation"},{"line_number":542,"context_line":"        # get nested stack count before scale out"}],"source_content_type":"text/x-python","patch_set":5,"id":"380357e2_72b80314","line":539,"updated":"2022-03-07 06:33:30.000000000","message":"It\u0027s better to check if a heal operation has been actually completed. If there\u0027s not such a test yet, this is the right place to do that. Is it possible to confirm it by obtaining changes in stack ids like the steps described in the user guide [1]? \n\n[1] https://docs.openstack.org/tacker/latest/user/etsi_vnf_healing.html#how-to-heal-of-the-entire-vnf","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        # check stack status"},{"line_number":538,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":539,"context_line":"        self.assertEqual(\"CREATE_COMPLETE\", stack_status)"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        # 13. Scale out operation"},{"line_number":542,"context_line":"        # get nested stack count before scale out"}],"source_content_type":"text/x-python","patch_set":5,"id":"cf0c5357_b87c849a","line":539,"in_reply_to":"380357e2_72b80314","updated":"2022-03-10 01:48:37.000000000","message":"I added stack id checks.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        # check stack status"},{"line_number":538,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":539,"context_line":"        self.assertEqual(\"CREATE_COMPLETE\", stack_status)"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        # 13. Scale out operation"},{"line_number":542,"context_line":"        # get nested stack count before scale out"}],"source_content_type":"text/x-python","patch_set":5,"id":"bffd0745_9062cad5","line":539,"in_reply_to":"cf0c5357_b87c849a","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f160565b4e93ea958d9eae93579f9a315ff460b","unresolved":true,"context_lines":[{"line_number":623,"context_line":"        # 1 stack(VDU1.yaml)"},{"line_number":624,"context_line":"        self.assertEqual(9, count_after_scaleout - count_after_scalein)"},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"        # 17. Heal VNF(vnfc)"},{"line_number":627,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":628,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"2fc6f526_f070c22e","line":626,"updated":"2022-03-07 10:20:05.000000000","message":"Is this test included in the \"20. Heal VNF (vnfc with omit all parameter)\" test?\nIf there is no confirmation point of view specific to this test, I think it can be deleted.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":623,"context_line":"        # 1 stack(VDU1.yaml)"},{"line_number":624,"context_line":"        self.assertEqual(9, count_after_scaleout - count_after_scalein)"},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"        # 17. Heal VNF(vnfc)"},{"line_number":627,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":628,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"6d221a2a_6a45d20f","line":626,"in_reply_to":"2fc6f526_f070c22e","updated":"2022-03-10 01:48:37.000000000","message":"The input parameter was not same. I added confirmations.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":627,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":628,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"91190bd0_cf2a4b6b","line":630,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":627,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":628,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"b59563f9_a9de926e","line":630,"in_reply_to":"91190bd0_cf2a4b6b","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":627,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":628,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"ac05f1a1_8fe28e85","line":630,"in_reply_to":"b59563f9_a9de926e","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":634,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"},{"line_number":635,"context_line":"                vnfc_id \u003d vnfc[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"b6d50aa9_9a65cf23","line":632,"updated":"2022-03-07 06:33:30.000000000","message":"How about using assertIn? It might be shorter in most cases.\n```\n             self.assertIn(\u0027id\u0027, vnfc)\n```\n \nIf I\u0027m right, please replace ``assertIsNotNone(d.get(\u0027key\u0027))`` with ``assertIn(\u0027key\u0027, d)``.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":634,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"},{"line_number":635,"context_line":"                vnfc_id \u003d vnfc[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"8bb73ff3_dad0affd","line":632,"in_reply_to":"8c34c7ac_b7fb34e5","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":634,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"},{"line_number":635,"context_line":"                vnfc_id \u003d vnfc[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"8c34c7ac_b7fb34e5","line":632,"in_reply_to":"b6d50aa9_9a65cf23","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":628,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":634,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"},{"line_number":635,"context_line":"                vnfc_id \u003d vnfc[\u0027id\u0027]"},{"line_number":636,"context_line":"                break"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max(vnfc_id)"},{"line_number":639,"context_line":"        resp, body \u003d self.heal_vnf_instance(inst_id, heal_req)"}],"source_content_type":"text/x-python","patch_set":5,"id":"e39e0bd2_cd0e02bf","line":636,"range":{"start_line":631,"start_character":0,"end_line":636,"end_character":21},"updated":"2022-03-07 06:33:30.000000000","message":"I think the following list comprehension will make the almost same effect as this for-loop.\n\n```\nvnfc_id \u003d [vnfc[\u0027id\u0027] for vnfc in vnfc_info if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]][0]\n```\n\nIf there\u0027s a reason for using this for-loop style, ignore the above comment and please tell me the reason. If the purpose is to check the existence of ``id`` and ``vduId``, that process should be separated from getting ``vnfc_id``.\n\nMoreover, if someone defines a variable name ``vnfc_id`` before this test in the future, this test may cause unexpected behavior. To avoid such a situation, we need to raise an error if ``vnfc_id`` for VDU2 can\u0027t be found.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":628,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":634,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"},{"line_number":635,"context_line":"                vnfc_id \u003d vnfc[\u0027id\u0027]"},{"line_number":636,"context_line":"                break"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max(vnfc_id)"},{"line_number":639,"context_line":"        resp, body \u003d self.heal_vnf_instance(inst_id, heal_req)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1d487d6d_de43a392","line":636,"range":{"start_line":631,"start_character":0,"end_line":636,"end_character":21},"in_reply_to":"3f4937aa_148d27e3","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":628,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":629,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":630,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":631,"context_line":"        for vnfc in vnfc_info:"},{"line_number":632,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":633,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":634,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"},{"line_number":635,"context_line":"                vnfc_id \u003d vnfc[\u0027id\u0027]"},{"line_number":636,"context_line":"                break"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max(vnfc_id)"},{"line_number":639,"context_line":"        resp, body \u003d self.heal_vnf_instance(inst_id, heal_req)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4937aa_148d27e3","line":636,"range":{"start_line":631,"start_character":0,"end_line":636,"end_character":21},"in_reply_to":"e39e0bd2_cd0e02bf","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":641,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":642,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":643,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        # check usageState of VNF Package"},{"line_number":646,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":647,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"}],"source_content_type":"text/x-python","patch_set":5,"id":"c9cfc615_9ee9084f","line":644,"updated":"2022-03-07 06:33:30.000000000","message":"Is it possible to confirm it by obtaining changes in stack ids like the steps described in the user guide [1]? \n\n[1] https://docs.openstack.org/tacker/latest/user/etsi_vnf_healing.html#how-to-heal-of-the-entire-vnf","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":641,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":642,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":643,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        # check usageState of VNF Package"},{"line_number":646,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":647,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"}],"source_content_type":"text/x-python","patch_set":5,"id":"d9756ae9_bde57aba","line":644,"in_reply_to":"c9cfc615_9ee9084f","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"429d762736f1756ce86c3318144394462a51609d","unresolved":true,"context_lines":[{"line_number":641,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":642,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":643,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        # check usageState of VNF Package"},{"line_number":646,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":647,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"}],"source_content_type":"text/x-python","patch_set":5,"id":"514b5f99_4abf19c0","line":644,"in_reply_to":"c9cfc615_9ee9084f","updated":"2022-03-10 08:17:32.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":647,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        # 18. Change external connectivity"},{"line_number":650,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":651,"context_line":"        for stack in nest_stack_list:"},{"line_number":652,"context_line":"            if stack[\u0027resource_type\u0027] \u003d\u003d \u0027VDU1.yaml\u0027:"},{"line_number":653,"context_line":"                stack_id_1 \u003d stack[\u0027physical_resource_id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"144dee76_f873dd71","line":650,"updated":"2022-03-07 06:33:30.000000000","message":"nested_stack_list or nested_stacks?\n\nI think plural is preferable in Python :)","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":647,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        # 18. Change external connectivity"},{"line_number":650,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":651,"context_line":"        for stack in nest_stack_list:"},{"line_number":652,"context_line":"            if stack[\u0027resource_type\u0027] \u003d\u003d \u0027VDU1.yaml\u0027:"},{"line_number":653,"context_line":"                stack_id_1 \u003d stack[\u0027physical_resource_id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"4a21b7e3_26be7377","line":650,"in_reply_to":"144dee76_f873dd71","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":647,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        # 18. Change external connectivity"},{"line_number":650,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":651,"context_line":"        for stack in nest_stack_list:"},{"line_number":652,"context_line":"            if stack[\u0027resource_type\u0027] \u003d\u003d \u0027VDU1.yaml\u0027:"},{"line_number":653,"context_line":"                stack_id_1 \u003d stack[\u0027physical_resource_id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"b06b95a7_072582a8","line":650,"in_reply_to":"4a21b7e3_26be7377","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":698,"context_line":"            after_physical_resource_id_2)"},{"line_number":699,"context_line":"        self.assertNotEqual(before_fixed_ips_2, after_fixed_ips_2)"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        # 19. Show VNF LCM operation occurrence"},{"line_number":702,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":703,"context_line":"        expected_attrs \u003d ["},{"line_number":704,"context_line":"            \u0027id\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"39d78005_09258337","line":701,"updated":"2022-03-07 06:33:30.000000000","message":"Could you please add the reference for SOL003?\n\nThis model may change in the future. Specifying the version and table helps other developers to see the validity of these values and where this these value\n\n```\n# ETSI NFV SOL003 v3.3.1 5.5.2.13 VnfLcmOpOcc\n\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":698,"context_line":"            after_physical_resource_id_2)"},{"line_number":699,"context_line":"        self.assertNotEqual(before_fixed_ips_2, after_fixed_ips_2)"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        # 19. Show VNF LCM operation occurrence"},{"line_number":702,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":703,"context_line":"        expected_attrs \u003d ["},{"line_number":704,"context_line":"            \u0027id\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"682c1e17_58dec6a3","line":701,"in_reply_to":"39d78005_09258337","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":698,"context_line":"            after_physical_resource_id_2)"},{"line_number":699,"context_line":"        self.assertNotEqual(before_fixed_ips_2, after_fixed_ips_2)"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        # 19. Show VNF LCM operation occurrence"},{"line_number":702,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":703,"context_line":"        expected_attrs \u003d ["},{"line_number":704,"context_line":"            \u0027id\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"12671fd6_384322e2","line":701,"in_reply_to":"682c1e17_58dec6a3","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":729,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":730,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":731,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":732,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":733,"context_line":"        vnfc_ids \u003d {}"},{"line_number":734,"context_line":"        for vnfc in vnfc_info:"},{"line_number":735,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"87b0d67e_5f61dece","line":732,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":729,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":730,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":731,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":732,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":733,"context_line":"        vnfc_ids \u003d {}"},{"line_number":734,"context_line":"        for vnfc in vnfc_info:"},{"line_number":735,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"ce0fd325_092494ec","line":732,"in_reply_to":"87b0d67e_5f61dece","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":729,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":730,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":731,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":732,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":733,"context_line":"        vnfc_ids \u003d {}"},{"line_number":734,"context_line":"        for vnfc in vnfc_info:"},{"line_number":735,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"ac392bc7_3be7af7c","line":732,"in_reply_to":"ce0fd325_092494ec","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":730,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":731,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":732,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":733,"context_line":"        vnfc_ids \u003d {}"},{"line_number":734,"context_line":"        for vnfc in vnfc_info:"},{"line_number":735,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":736,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":737,"context_line":"            vnfc_ids[vnfc[\u0027vduId\u0027]] \u003d vnfc[\u0027id\u0027]"},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max_with_parameter("},{"line_number":740,"context_line":"            vnfc_ids[\u0027VDU1\u0027], vnfc_ids[\u0027VDU2\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"8732de92_bf872e64","line":737,"range":{"start_line":733,"start_character":0,"end_line":737,"end_character":48},"updated":"2022-03-07 06:33:30.000000000","message":"Maybe the following dict comprehension will make the almost same effect as this for-loop.\n\n```\nvnfc_ids \u003d {vnfc[\u0027vduId\u0027]: vnfc[\u0027id\u0027] for vnfc in vnfc_info}\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":730,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":731,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":732,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":733,"context_line":"        vnfc_ids \u003d {}"},{"line_number":734,"context_line":"        for vnfc in vnfc_info:"},{"line_number":735,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":736,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":737,"context_line":"            vnfc_ids[vnfc[\u0027vduId\u0027]] \u003d vnfc[\u0027id\u0027]"},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max_with_parameter("},{"line_number":740,"context_line":"            vnfc_ids[\u0027VDU1\u0027], vnfc_ids[\u0027VDU2\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"93aef52c_6e767d22","line":737,"range":{"start_line":733,"start_character":0,"end_line":737,"end_character":48},"in_reply_to":"002751a0_7ee9e05c","updated":"2022-03-10 05:08:02.000000000","message":"Good！","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":730,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":731,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":732,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":733,"context_line":"        vnfc_ids \u003d {}"},{"line_number":734,"context_line":"        for vnfc in vnfc_info:"},{"line_number":735,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":736,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":737,"context_line":"            vnfc_ids[vnfc[\u0027vduId\u0027]] \u003d vnfc[\u0027id\u0027]"},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max_with_parameter("},{"line_number":740,"context_line":"            vnfc_ids[\u0027VDU1\u0027], vnfc_ids[\u0027VDU2\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"002751a0_7ee9e05c","line":737,"range":{"start_line":733,"start_character":0,"end_line":737,"end_character":48},"in_reply_to":"8732de92_bf872e64","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":760,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":761,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":762,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":763,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":764,"context_line":"        vnfc_ids \u003d {}"},{"line_number":765,"context_line":"        for vnfc in vnfc_info:"},{"line_number":766,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"6a88c681_92d87fa9","line":763,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":760,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":761,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":762,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":763,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":764,"context_line":"        vnfc_ids \u003d {}"},{"line_number":765,"context_line":"        for vnfc in vnfc_info:"},{"line_number":766,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"e28718a1_81163396","line":763,"in_reply_to":"6a88c681_92d87fa9","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":760,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":761,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":762,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":763,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":764,"context_line":"        vnfc_ids \u003d {}"},{"line_number":765,"context_line":"        for vnfc in vnfc_info:"},{"line_number":766,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"e592a294_9466d5b8","line":763,"in_reply_to":"e28718a1_81163396","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":791,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":792,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":793,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":794,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":795,"context_line":"        vnfc_ids \u003d {}"},{"line_number":796,"context_line":"        for vnfc in vnfc_info:"},{"line_number":797,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"d517ec9b_c937f7fc","line":794,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":791,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":792,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":793,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":794,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":795,"context_line":"        vnfc_ids \u003d {}"},{"line_number":796,"context_line":"        for vnfc in vnfc_info:"},{"line_number":797,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"e68d264c_6c6e95d6","line":794,"in_reply_to":"54804203_d7712e35","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":791,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":792,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":793,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":794,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":795,"context_line":"        vnfc_ids \u003d {}"},{"line_number":796,"context_line":"        for vnfc in vnfc_info:"},{"line_number":797,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"54804203_d7712e35","line":794,"in_reply_to":"d517ec9b_c937f7fc","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":792,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":793,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":794,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":795,"context_line":"        vnfc_ids \u003d {}"},{"line_number":796,"context_line":"        for vnfc in vnfc_info:"},{"line_number":797,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":798,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":799,"context_line":"            vnfc_ids[vnfc[\u0027vduId\u0027]] \u003d vnfc[\u0027id\u0027]"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max_with_parameter("},{"line_number":802,"context_line":"            vnfc_ids[\u0027VDU1\u0027], vnfc_ids[\u0027VDU2\u0027], True)"}],"source_content_type":"text/x-python","patch_set":5,"id":"faaed082_a722d1cb","line":799,"range":{"start_line":795,"start_character":0,"end_line":799,"end_character":48},"updated":"2022-03-07 06:33:30.000000000","message":"Maybe the following dict comprehension will make the almost same effect as this for-loop.\n\n```\nvnfc_ids \u003d {vnfc[\u0027vduId\u0027]: vnfc[\u0027id\u0027] for vnfc in vnfc_info}\n```\n\nIf the one of the purposes of this for-loop is to check the existence of ``id`` and ``vduId``, that process should be separated from getting ``vnfc_ids``.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":792,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":793,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":794,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":795,"context_line":"        vnfc_ids \u003d {}"},{"line_number":796,"context_line":"        for vnfc in vnfc_info:"},{"line_number":797,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":798,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":799,"context_line":"            vnfc_ids[vnfc[\u0027vduId\u0027]] \u003d vnfc[\u0027id\u0027]"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max_with_parameter("},{"line_number":802,"context_line":"            vnfc_ids[\u0027VDU1\u0027], vnfc_ids[\u0027VDU2\u0027], True)"}],"source_content_type":"text/x-python","patch_set":5,"id":"853d21ae_d6cf8399","line":799,"range":{"start_line":795,"start_character":0,"end_line":799,"end_character":48},"in_reply_to":"4112538e_4a2774cb","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":792,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":793,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":794,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":795,"context_line":"        vnfc_ids \u003d {}"},{"line_number":796,"context_line":"        for vnfc in vnfc_info:"},{"line_number":797,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":798,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":799,"context_line":"            vnfc_ids[vnfc[\u0027vduId\u0027]] \u003d vnfc[\u0027id\u0027]"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        heal_req \u003d paramgen.heal_vnf_vnfc_max_with_parameter("},{"line_number":802,"context_line":"            vnfc_ids[\u0027VDU1\u0027], vnfc_ids[\u0027VDU2\u0027], True)"}],"source_content_type":"text/x-python","patch_set":5,"id":"4112538e_4a2774cb","line":799,"range":{"start_line":795,"start_character":0,"end_line":799,"end_character":48},"in_reply_to":"faaed082_a722d1cb","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":805,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":806,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":807,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # check usageState of VNF Package"},{"line_number":810,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":811,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"}],"source_content_type":"text/x-python","patch_set":5,"id":"a7478e3a_9cb171b6","line":808,"updated":"2022-03-07 06:33:30.000000000","message":"Is it possible to confirm it by obtaining changes in stack ids like the steps described in the user guide [1]? \n\n[1] https://docs.openstack.org/tacker/latest/user/etsi_vnf_healing.html#how-to-heal-of-the-entire-vnf","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":805,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":806,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":807,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # check usageState of VNF Package"},{"line_number":810,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":811,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3cb27066_e34748ec","line":808,"in_reply_to":"1f014837_52aff4cc","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"58a883268fb336c72f3d43c5120ffdbe06fbb5a5","unresolved":true,"context_lines":[{"line_number":805,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":806,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":807,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # check usageState of VNF Package"},{"line_number":810,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":811,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"}],"source_content_type":"text/x-python","patch_set":5,"id":"d03f77bf_8a4a22ba","line":808,"in_reply_to":"a7478e3a_9cb171b6","updated":"2022-03-09 05:03:02.000000000","message":"It is not heal entired vnf, but heal specified vnfc. The stack id will not change. Do you means check the nested stack id(physical_resource_id) of VDU?\n\nhttps://docs.openstack.org/tacker/latest/user/etsi_vnf_healing.html#how-to-heal-specified-with-vnfc-instances","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":805,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":806,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":807,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # check usageState of VNF Package"},{"line_number":810,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":811,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f014837_52aff4cc","line":808,"in_reply_to":"b3f55f9e_e3b6ae6e","updated":"2022-03-10 01:48:37.000000000","message":"I added the checks.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"2ac1d7e6e18b038810065cbdf118510aa65041f5","unresolved":true,"context_lines":[{"line_number":805,"context_line":"        self.check_resp_headers_in_operation_task(resp)"},{"line_number":806,"context_line":"        lcmocc_id \u003d os.path.basename(resp.headers[\u0027Location\u0027])"},{"line_number":807,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # check usageState of VNF Package"},{"line_number":810,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":811,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"}],"source_content_type":"text/x-python","patch_set":5,"id":"b3f55f9e_e3b6ae6e","line":808,"in_reply_to":"d03f77bf_8a4a22ba","updated":"2022-03-09 05:26:16.000000000","message":"Yes. Is that possible (reasonable)?\n\nSorry for the incorrect reference.\n\nhttps://docs.openstack.org/tacker/latest/user/etsi_vnf_healing.html#how-to-heal-specified-with-vnfc-instances","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":807,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # check usageState of VNF Package"},{"line_number":810,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":811,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        # check stack status"}],"source_content_type":"text/x-python","patch_set":5,"id":"d70d1253_36caa845","line":810,"updated":"2022-03-07 06:33:30.000000000","message":"What is the purpose of confirming usageState here? It\u0027s also confirmed at l.825","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":807,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # check usageState of VNF Package"},{"line_number":810,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":811,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        # check stack status"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3246a0_75667469","line":810,"in_reply_to":"7963ac29_866e3353","updated":"2022-03-10 05:08:02.000000000","message":"I understand, thanks.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":807,"context_line":"        self.wait_lcmocc_complete(lcmocc_id)"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # check usageState of VNF Package"},{"line_number":810,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_1)[\u0027usageState\u0027]"},{"line_number":811,"context_line":"        self.assertEqual(\u0027IN_USE\u0027, usage_state)"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        # check stack status"}],"source_content_type":"text/x-python","patch_set":5,"id":"7963ac29_866e3353","line":810,"in_reply_to":"d70d1253_36caa845","updated":"2022-03-10 01:48:37.000000000","message":"According to the following url, LCM-Cre, LCM-Heal, LCM-Scale and other lcms should check VNF Package status. So I added the checks.\nPlease confirm it.\n\nhttps://gitlab.p7e.net/core/nseip/surume/fujitsu/fujitsu-y-dev/-/blob/main/share/v2API/FT/Y%E7%89%88Tacker_FT%E7%A2%BA%E8%AA%8D%E8%A6%B3%E7%82%B9.md#specfic-check-points","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":813,"context_line":"        # check stack status"},{"line_number":814,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":815,"context_line":"        self.assertEqual(\"UPDATE_COMPLETE\", stack_status)"},{"line_number":816,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":817,"context_line":"        for stack in nest_stack_list:"},{"line_number":818,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027,"},{"line_number":819,"context_line":"                                          \u0027VDU1-VirtualStorage\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"de853b0c_99b6ea39","line":816,"updated":"2022-03-07 06:33:30.000000000","message":"nested_stack_list or nested_stacks?\n\nI think plural is preferable in Python :)","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":813,"context_line":"        # check stack status"},{"line_number":814,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":815,"context_line":"        self.assertEqual(\"UPDATE_COMPLETE\", stack_status)"},{"line_number":816,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":817,"context_line":"        for stack in nest_stack_list:"},{"line_number":818,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027,"},{"line_number":819,"context_line":"                                          \u0027VDU1-VirtualStorage\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"4a979e58_1ca5c343","line":816,"in_reply_to":"17c1158a_6f152389","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":813,"context_line":"        # check stack status"},{"line_number":814,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":815,"context_line":"        self.assertEqual(\"UPDATE_COMPLETE\", stack_status)"},{"line_number":816,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":817,"context_line":"        for stack in nest_stack_list:"},{"line_number":818,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027,"},{"line_number":819,"context_line":"                                          \u0027VDU1-VirtualStorage\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"17c1158a_6f152389","line":816,"in_reply_to":"de853b0c_99b6ea39","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":815,"context_line":"        self.assertEqual(\"UPDATE_COMPLETE\", stack_status)"},{"line_number":816,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":817,"context_line":"        for stack in nest_stack_list:"},{"line_number":818,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027,"},{"line_number":819,"context_line":"                                          \u0027VDU1-VirtualStorage\u0027,"},{"line_number":820,"context_line":"                                          \u0027VDU2-VirtualStorage\u0027]:"},{"line_number":821,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"54bc3b42_25a70ecc","line":818,"updated":"2022-03-07 06:33:30.000000000","message":"Isn\u0027t it necessary to check stack having these resource names are included in ``nest_stack_list``?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":815,"context_line":"        self.assertEqual(\"UPDATE_COMPLETE\", stack_status)"},{"line_number":816,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":817,"context_line":"        for stack in nest_stack_list:"},{"line_number":818,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027,"},{"line_number":819,"context_line":"                                          \u0027VDU1-VirtualStorage\u0027,"},{"line_number":820,"context_line":"                                          \u0027VDU2-VirtualStorage\u0027]:"},{"line_number":821,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"75e03e6f_73073b2d","line":818,"in_reply_to":"3d840e07_8098e547","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":815,"context_line":"        self.assertEqual(\"UPDATE_COMPLETE\", stack_status)"},{"line_number":816,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":817,"context_line":"        for stack in nest_stack_list:"},{"line_number":818,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027,"},{"line_number":819,"context_line":"                                          \u0027VDU1-VirtualStorage\u0027,"},{"line_number":820,"context_line":"                                          \u0027VDU2-VirtualStorage\u0027]:"},{"line_number":821,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"3d840e07_8098e547","line":818,"in_reply_to":"54bc3b42_25a70ecc","updated":"2022-03-10 01:48:37.000000000","message":"I changed the way.\nI got the stack separately and then compare it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f160565b4e93ea958d9eae93579f9a315ff460b","unresolved":true,"context_lines":[{"line_number":948,"context_line":"        \"\"\"Test LCM operations with omitting except for required attributes"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"        The change_ext_conn can\u0027t be tested here because VNF package 2 don\u0027t"},{"line_number":951,"context_line":"        have external connectivity. So moved it to the test_scale_other_lcm()."},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"        * About attributes:"},{"line_number":954,"context_line":"          Omit except for required attributes."}],"source_content_type":"text/x-python","patch_set":5,"id":"5ab3798f_20ac896f","line":951,"updated":"2022-03-07 10:20:05.000000000","message":"I think it\u0027s better to write this in the docstring of \"test_scale_other_lcm\" too.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":948,"context_line":"        \"\"\"Test LCM operations with omitting except for required attributes"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"        The change_ext_conn can\u0027t be tested here because VNF package 2 don\u0027t"},{"line_number":951,"context_line":"        have external connectivity. So moved it to the test_scale_other_lcm()."},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"        * About attributes:"},{"line_number":954,"context_line":"          Omit except for required attributes."}],"source_content_type":"text/x-python","patch_set":5,"id":"3dcc3464_c56969ce","line":951,"in_reply_to":"5ab3798f_20ac896f","updated":"2022-03-10 01:48:37.000000000","message":"I added comment  in the docstring of \"test_scale_other_lcm\".","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1070,"context_line":""},{"line_number":1071,"context_line":"        # check vnfState of VNF"},{"line_number":1072,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1073,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1074,"context_line":""},{"line_number":1075,"context_line":"        # 6. Heal VNF(all with omit all parameter)"},{"line_number":1076,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_min()"}],"source_content_type":"text/x-python","patch_set":5,"id":"6feda271_0a4d5277","line":1073,"updated":"2022-03-07 06:33:30.000000000","message":"Maybe this can be ``body[\u0027instantiatedVnfInfo\u0027][\u0027vnfState\u0027]``","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1070,"context_line":""},{"line_number":1071,"context_line":"        # check vnfState of VNF"},{"line_number":1072,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1073,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1074,"context_line":""},{"line_number":1075,"context_line":"        # 6. Heal VNF(all with omit all parameter)"},{"line_number":1076,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_min()"}],"source_content_type":"text/x-python","patch_set":5,"id":"6c30b3cf_181ef622","line":1073,"in_reply_to":"5807ea34_844b0d43","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1070,"context_line":""},{"line_number":1071,"context_line":"        # check vnfState of VNF"},{"line_number":1072,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1073,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1074,"context_line":""},{"line_number":1075,"context_line":"        # 6. Heal VNF(all with omit all parameter)"},{"line_number":1076,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_min()"}],"source_content_type":"text/x-python","patch_set":5,"id":"5807ea34_844b0d43","line":1073,"in_reply_to":"6feda271_0a4d5277","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1137,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1138,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1139,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1140,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1141,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1142,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1143,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7b20b044_6dd02d9f","line":1140,"updated":"2022-03-07 06:33:30.000000000","message":"I think the following list comprehension will make the almost same effect as this for-loop.\n\n```\nvnfc_id \u003d [vnfc[\u0027id\u0027] for vnfc in vnfc_info if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]][0]\n```\n\nIf there\u0027s a reason for using this for-loop style, ignore the above comment and please tell me the reason. If the purpose is to check the existence of ``id`` and ``vduId``, that process should be separated from getting ``vnfc_id``.\n\nMoreover, if someone defines a variable name ``vnfc_id`` before this test in the future, this test may cause unexpected behavior. To avoid such a situation, we need to raise an error if ``vnfc_id`` for VDU2 can\u0027t be found.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1137,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1138,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1139,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1140,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1141,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1142,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1143,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"b6ddcc16_c168f10d","line":1140,"in_reply_to":"7b20b044_6dd02d9f","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1137,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1138,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1139,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1140,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1141,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1142,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1143,"context_line":"            if \"VDU2\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7777509e_eb187d6d","line":1140,"in_reply_to":"b6ddcc16_c168f10d","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"        # check vnfState of VNF"},{"line_number":1166,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1167,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1168,"context_line":""},{"line_number":1169,"context_line":"        # check usageState of VNF Package 3"},{"line_number":1170,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_3)[\u0027usageState\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"f608ac54_e8936ca4","line":1167,"updated":"2022-03-07 06:33:30.000000000","message":"This can be ``body[\u0027instantiatedVnfInfo\u0027][\u0027vnfState\u0027]``","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"        # check vnfState of VNF"},{"line_number":1166,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1167,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1168,"context_line":""},{"line_number":1169,"context_line":"        # check usageState of VNF Package 3"},{"line_number":1170,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_3)[\u0027usageState\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"86cd79ef_bcb69f76","line":1167,"in_reply_to":"4a82b8ba_7ef89a0d","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"        # check vnfState of VNF"},{"line_number":1166,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1167,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1168,"context_line":""},{"line_number":1169,"context_line":"        # check usageState of VNF Package 3"},{"line_number":1170,"context_line":"        usage_state \u003d self.get_vnf_package(self.vnf_pkg_3)[\u0027usageState\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"4a82b8ba_7ef89a0d","line":1167,"in_reply_to":"f608ac54_e8936ca4","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1172,"context_line":""},{"line_number":1173,"context_line":"        # 11. Scale out operation"},{"line_number":1174,"context_line":"        # get nested stack count before scaleout"},{"line_number":1175,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1176,"context_line":"        count_before_scaleout \u003d len(nest_stack_list)"},{"line_number":1177,"context_line":"        scaleout_req \u003d paramgen.scaleout_vnf_min()"},{"line_number":1178,"context_line":"        resp, body \u003d self.scale_vnf_instance(inst_id, scaleout_req)"}],"source_content_type":"text/x-python","patch_set":5,"id":"a0ea7438_7b0056b0","line":1175,"updated":"2022-03-07 06:33:30.000000000","message":"nested_stack_list or nested_stacks?\n\nI think plural is preferable in Python :)","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1172,"context_line":""},{"line_number":1173,"context_line":"        # 11. Scale out operation"},{"line_number":1174,"context_line":"        # get nested stack count before scaleout"},{"line_number":1175,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1176,"context_line":"        count_before_scaleout \u003d len(nest_stack_list)"},{"line_number":1177,"context_line":"        scaleout_req \u003d paramgen.scaleout_vnf_min()"},{"line_number":1178,"context_line":"        resp, body \u003d self.scale_vnf_instance(inst_id, scaleout_req)"}],"source_content_type":"text/x-python","patch_set":5,"id":"e2f044b2_1e1d3842","line":1175,"in_reply_to":"245ddc5b_30e8c94e","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1172,"context_line":""},{"line_number":1173,"context_line":"        # 11. Scale out operation"},{"line_number":1174,"context_line":"        # get nested stack count before scaleout"},{"line_number":1175,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1176,"context_line":"        count_before_scaleout \u003d len(nest_stack_list)"},{"line_number":1177,"context_line":"        scaleout_req \u003d paramgen.scaleout_vnf_min()"},{"line_number":1178,"context_line":"        resp, body \u003d self.scale_vnf_instance(inst_id, scaleout_req)"}],"source_content_type":"text/x-python","patch_set":5,"id":"245ddc5b_30e8c94e","line":1175,"in_reply_to":"a0ea7438_7b0056b0","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"        # check vnfState of VNF"},{"line_number":1196,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1197,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"        # get nested stack count after scale out"},{"line_number":1200,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"11abc8ed_101147de","line":1197,"updated":"2022-03-07 06:33:30.000000000","message":"This can be ``body[\u0027instantiatedVnfInfo\u0027][\u0027vnfState\u0027]``","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"        # check vnfState of VNF"},{"line_number":1196,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1197,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"        # get nested stack count after scale out"},{"line_number":1200,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"460f2a24_12713ba9","line":1197,"in_reply_to":"11abc8ed_101147de","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"        # check vnfState of VNF"},{"line_number":1196,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":1197,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"        # get nested stack count after scale out"},{"line_number":1200,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"a83df3f9_764af3b2","line":1197,"in_reply_to":"460f2a24_12713ba9","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"ecc32b5376e8e2717dc03e31918950cb01f2cc0e","unresolved":true,"context_lines":[{"line_number":1505,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":1506,"context_line":""},{"line_number":1507,"context_line":"    def test_update_heal_lcm(self):"},{"line_number":1508,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":1509,"context_line":""},{"line_number":1510,"context_line":"        * About attributes:"},{"line_number":1511,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"39f37aaa_439a7ed8","line":1508,"range":{"start_line":1508,"start_character":11,"end_line":1508,"end_character":54},"updated":"2022-03-07 09:10:21.000000000","message":"Could you change the docstring to match the purpose of the test?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1505,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":1506,"context_line":""},{"line_number":1507,"context_line":"    def test_update_heal_lcm(self):"},{"line_number":1508,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":1509,"context_line":""},{"line_number":1510,"context_line":"        * About attributes:"},{"line_number":1511,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"f2d70701_eff83d0d","line":1508,"range":{"start_line":1508,"start_character":11,"end_line":1508,"end_character":54},"in_reply_to":"39f37aaa_439a7ed8","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"7bc538ae13c40b1bd5d76df44d5001882c8c7c29","unresolved":false,"context_lines":[{"line_number":1505,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":1506,"context_line":""},{"line_number":1507,"context_line":"    def test_update_heal_lcm(self):"},{"line_number":1508,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":1509,"context_line":""},{"line_number":1510,"context_line":"        * About attributes:"},{"line_number":1511,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"a3a18f64_80410ff6","line":1508,"range":{"start_line":1508,"start_character":11,"end_line":1508,"end_character":54},"in_reply_to":"f2d70701_eff83d0d","updated":"2022-03-10 10:16:13.000000000","message":"I\u0027ve confirmed.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1578,"context_line":"        sub_id \u003d body[\u0027id\u0027]"},{"line_number":1579,"context_line":""},{"line_number":1580,"context_line":"        # 2. Create VNF instance"},{"line_number":1581,"context_line":"        # NOTE: extensions and vnfConfigurableProperties are omitted"},{"line_number":1582,"context_line":"        # because they are commented out in etsi_nfv_sol001."},{"line_number":1583,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":1584,"context_line":"            \u0027id\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"2f738466_18273626","line":1581,"updated":"2022-03-07 06:33:30.000000000","message":"Could you please add the reference for SOL003?\n\nThis model may change in the future. Specifying the version and table helps other developers to see the validity of these values and where this these value\n\n```\n# ETSI NFV SOL003 v3.3.1 5.5.2.2 VnfInstance\n\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1578,"context_line":"        sub_id \u003d body[\u0027id\u0027]"},{"line_number":1579,"context_line":""},{"line_number":1580,"context_line":"        # 2. Create VNF instance"},{"line_number":1581,"context_line":"        # NOTE: extensions and vnfConfigurableProperties are omitted"},{"line_number":1582,"context_line":"        # because they are commented out in etsi_nfv_sol001."},{"line_number":1583,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":1584,"context_line":"            \u0027id\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"aca7bff9_2f4e9262","line":1581,"in_reply_to":"2f738466_18273626","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1578,"context_line":"        sub_id \u003d body[\u0027id\u0027]"},{"line_number":1579,"context_line":""},{"line_number":1580,"context_line":"        # 2. Create VNF instance"},{"line_number":1581,"context_line":"        # NOTE: extensions and vnfConfigurableProperties are omitted"},{"line_number":1582,"context_line":"        # because they are commented out in etsi_nfv_sol001."},{"line_number":1583,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":1584,"context_line":"            \u0027id\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"b8a58031_da171bea","line":1581,"in_reply_to":"aca7bff9_2f4e9262","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1664,"context_line":""},{"line_number":1665,"context_line":"        # check vnfc info"},{"line_number":1666,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1667,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1668,"context_line":"        vnfc_ids \u003d []"},{"line_number":1669,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1670,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"76c940a5_31db73bd","line":1667,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1664,"context_line":""},{"line_number":1665,"context_line":"        # check vnfc info"},{"line_number":1666,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1667,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1668,"context_line":"        vnfc_ids \u003d []"},{"line_number":1669,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1670,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"a3a97c10_2f55cc34","line":1667,"in_reply_to":"66d7b332_9560817c","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1664,"context_line":""},{"line_number":1665,"context_line":"        # check vnfc info"},{"line_number":1666,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1667,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1668,"context_line":"        vnfc_ids \u003d []"},{"line_number":1669,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1670,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"66d7b332_9560817c","line":1667,"in_reply_to":"76c940a5_31db73bd","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1665,"context_line":"        # check vnfc info"},{"line_number":1666,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1667,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1668,"context_line":"        vnfc_ids \u003d []"},{"line_number":1669,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1670,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1671,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"2edc6357_dd052a16","line":1668,"updated":"2022-03-07 06:33:30.000000000","message":"If the purpose of this for-loop is both to check the existence of attributes and to get ``vnfc_ids`` at the same time, please consider separating them.\n\nThe computation cost of the list comprehension for this level of list is not high.\n\n```\nvnfc_ids \u003d [vnfc[\u0027id\u0027] for vnfc in vnfc_info]\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1665,"context_line":"        # check vnfc info"},{"line_number":1666,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1667,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1668,"context_line":"        vnfc_ids \u003d []"},{"line_number":1669,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1670,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1671,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"424d90c7_eb3b9ec5","line":1668,"in_reply_to":"2edc6357_dd052a16","updated":"2022-03-10 01:48:37.000000000","message":"I fxied it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1665,"context_line":"        # check vnfc info"},{"line_number":1666,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1667,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1668,"context_line":"        vnfc_ids \u003d []"},{"line_number":1669,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1670,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1671,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"18369695_554cf5b4","line":1668,"in_reply_to":"424d90c7_eb3b9ec5","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1731,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1732,"context_line":"        for stack in nest_stack_list:"},{"line_number":1733,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027]:"},{"line_number":1734,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"},{"line_number":1735,"context_line":""},{"line_number":1736,"context_line":"        # 8. Heal VNF(all with all\u003dFalse parameter)"},{"line_number":1737,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_max_with_parameter(False)"}],"source_content_type":"text/x-python","patch_set":5,"id":"09df18c9_dd0f24ce","line":1734,"updated":"2022-03-07 06:33:30.000000000","message":"Is it possible to confirm it by obtaining changes in stack ids like the steps described in the user guide [1]? \n\n[1] https://docs.openstack.org/tacker/latest/user/etsi_vnf_healing.html#how-to-heal-of-the-entire-vnf","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1731,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1732,"context_line":"        for stack in nest_stack_list:"},{"line_number":1733,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027]:"},{"line_number":1734,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"},{"line_number":1735,"context_line":""},{"line_number":1736,"context_line":"        # 8. Heal VNF(all with all\u003dFalse parameter)"},{"line_number":1737,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_max_with_parameter(False)"}],"source_content_type":"text/x-python","patch_set":5,"id":"e4bf6f69_98351872","line":1734,"in_reply_to":"09df18c9_dd0f24ce","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1731,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1732,"context_line":"        for stack in nest_stack_list:"},{"line_number":1733,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027]:"},{"line_number":1734,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"},{"line_number":1735,"context_line":""},{"line_number":1736,"context_line":"        # 8. Heal VNF(all with all\u003dFalse parameter)"},{"line_number":1737,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_max_with_parameter(False)"}],"source_content_type":"text/x-python","patch_set":5,"id":"c6f548fe_679373e8","line":1734,"in_reply_to":"e4bf6f69_98351872","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1747,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1748,"context_line":"        for stack in nest_stack_list:"},{"line_number":1749,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027]:"},{"line_number":1750,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"},{"line_number":1751,"context_line":""},{"line_number":1752,"context_line":"        # 9. Heal VNF(all with all\u003dTrue parameter)"},{"line_number":1753,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_max_with_parameter(True)"}],"source_content_type":"text/x-python","patch_set":5,"id":"97213afa_1235deba","line":1750,"updated":"2022-03-07 06:33:30.000000000","message":"ditto","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1747,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1748,"context_line":"        for stack in nest_stack_list:"},{"line_number":1749,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027]:"},{"line_number":1750,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"},{"line_number":1751,"context_line":""},{"line_number":1752,"context_line":"        # 9. Heal VNF(all with all\u003dTrue parameter)"},{"line_number":1753,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_max_with_parameter(True)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9d91e2a9_7ec8b040","line":1750,"in_reply_to":"46367cae_2e4e7c34","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1747,"context_line":"        nest_stack_list \u003d self.heat_client.get_resources(stack_name)"},{"line_number":1748,"context_line":"        for stack in nest_stack_list:"},{"line_number":1749,"context_line":"            if stack[\u0027resource_name\u0027] in [\u0027VDU1\u0027, \u0027VDU2\u0027]:"},{"line_number":1750,"context_line":"                self.assertEqual(\"CREATE_COMPLETE\", stack[\u0027resource_status\u0027])"},{"line_number":1751,"context_line":""},{"line_number":1752,"context_line":"        # 9. Heal VNF(all with all\u003dTrue parameter)"},{"line_number":1753,"context_line":"        heal_req \u003d paramgen.heal_vnf_all_max_with_parameter(True)"}],"source_content_type":"text/x-python","patch_set":5,"id":"46367cae_2e4e7c34","line":1750,"in_reply_to":"97213afa_1235deba","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1759,"context_line":""},{"line_number":1760,"context_line":"        # check stack status"},{"line_number":1761,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":1762,"context_line":"        self.assertEqual(\"CREATE_COMPLETE\", stack_status)"},{"line_number":1763,"context_line":""},{"line_number":1764,"context_line":"        # 10. Terminate VNF"},{"line_number":1765,"context_line":"        terminate_req \u003d paramgen.terminate_vnf_max()"}],"source_content_type":"text/x-python","patch_set":5,"id":"149d72d0_571eec8f","line":1762,"updated":"2022-03-07 06:33:30.000000000","message":"ditto","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1759,"context_line":""},{"line_number":1760,"context_line":"        # check stack status"},{"line_number":1761,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":1762,"context_line":"        self.assertEqual(\"CREATE_COMPLETE\", stack_status)"},{"line_number":1763,"context_line":""},{"line_number":1764,"context_line":"        # 10. Terminate VNF"},{"line_number":1765,"context_line":"        terminate_req \u003d paramgen.terminate_vnf_max()"}],"source_content_type":"text/x-python","patch_set":5,"id":"15e4cc88_a137b6d1","line":1762,"in_reply_to":"149d72d0_571eec8f","updated":"2022-03-10 01:48:37.000000000","message":"I added stack id checks.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1759,"context_line":""},{"line_number":1760,"context_line":"        # check stack status"},{"line_number":1761,"context_line":"        stack_status, _ \u003d self.heat_client.get_status(stack_name)"},{"line_number":1762,"context_line":"        self.assertEqual(\"CREATE_COMPLETE\", stack_status)"},{"line_number":1763,"context_line":""},{"line_number":1764,"context_line":"        # 10. Terminate VNF"},{"line_number":1765,"context_line":"        terminate_req \u003d paramgen.terminate_vnf_max()"}],"source_content_type":"text/x-python","patch_set":5,"id":"ec554e9e_35da105e","line":1762,"in_reply_to":"15e4cc88_a137b6d1","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1772,"context_line":""},{"line_number":1773,"context_line":"        # wait a bit because there is a bit time lag between lcmocc DB"},{"line_number":1774,"context_line":"        # update and terminate completion."},{"line_number":1775,"context_line":"        time.sleep(10)"},{"line_number":1776,"context_line":""},{"line_number":1777,"context_line":"        # check instantiationState of VNF"},{"line_number":1778,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"cc4d729d_e275aac8","line":1775,"updated":"2022-03-07 06:33:30.000000000","message":"Do you know the cause of this time lag?\nI\u0027d like to know if it\u0027s possible to fix this time lag or not.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"58a883268fb336c72f3d43c5120ffdbe06fbb5a5","unresolved":true,"context_lines":[{"line_number":1772,"context_line":""},{"line_number":1773,"context_line":"        # wait a bit because there is a bit time lag between lcmocc DB"},{"line_number":1774,"context_line":"        # update and terminate completion."},{"line_number":1775,"context_line":"        time.sleep(10)"},{"line_number":1776,"context_line":""},{"line_number":1777,"context_line":"        # check instantiationState of VNF"},{"line_number":1778,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"d34b93b0_74236aba","line":1775,"in_reply_to":"cc4d729d_e275aac8","updated":"2022-03-09 05:03:02.000000000","message":"No, I don\u0027t know. I just do the FT jobs. Maybe you can ask VALinux san.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"2ac1d7e6e18b038810065cbdf118510aa65041f5","unresolved":false,"context_lines":[{"line_number":1772,"context_line":""},{"line_number":1773,"context_line":"        # wait a bit because there is a bit time lag between lcmocc DB"},{"line_number":1774,"context_line":"        # update and terminate completion."},{"line_number":1775,"context_line":"        time.sleep(10)"},{"line_number":1776,"context_line":""},{"line_number":1777,"context_line":"        # check instantiationState of VNF"},{"line_number":1778,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"247ad8a6_b1920e80","line":1775,"in_reply_to":"d34b93b0_74236aba","updated":"2022-03-09 05:26:16.000000000","message":"Okey. Thank you for your answer.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"ecc32b5376e8e2717dc03e31918950cb01f2cc0e","unresolved":true,"context_lines":[{"line_number":1791,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":1792,"context_line":""},{"line_number":1793,"context_line":"    def test_scale_heal_lcm(self):"},{"line_number":1794,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":1795,"context_line":""},{"line_number":1796,"context_line":"        * About attributes:"},{"line_number":1797,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"867ec8e9_e88fd16e","line":1794,"range":{"start_line":1794,"start_character":11,"end_line":1794,"end_character":54},"updated":"2022-03-07 09:10:21.000000000","message":"Could you change the docstring to match the purpose of the test?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"7bc538ae13c40b1bd5d76df44d5001882c8c7c29","unresolved":false,"context_lines":[{"line_number":1791,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":1792,"context_line":""},{"line_number":1793,"context_line":"    def test_scale_heal_lcm(self):"},{"line_number":1794,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":1795,"context_line":""},{"line_number":1796,"context_line":"        * About attributes:"},{"line_number":1797,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"16ab3a29_d21ab205","line":1794,"range":{"start_line":1794,"start_character":11,"end_line":1794,"end_character":54},"in_reply_to":"2925fbd2_23e38a20","updated":"2022-03-10 10:16:13.000000000","message":"I\u0027ve confirmed.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1791,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":1792,"context_line":""},{"line_number":1793,"context_line":"    def test_scale_heal_lcm(self):"},{"line_number":1794,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":1795,"context_line":""},{"line_number":1796,"context_line":"        * About attributes:"},{"line_number":1797,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"2925fbd2_23e38a20","line":1794,"range":{"start_line":1794,"start_character":11,"end_line":1794,"end_character":54},"in_reply_to":"867ec8e9_e88fd16e","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1947,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":1948,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1949,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1950,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1951,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1952,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1953,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"1814d2bf_a169a294","line":1950,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1947,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":1948,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1949,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1950,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1951,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1952,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1953,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"b590d290_2c3d086a","line":1950,"in_reply_to":"1814d2bf_a169a294","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1947,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":1948,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1949,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1950,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1951,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1952,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1953,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"f93a9e13_18e31caa","line":1950,"in_reply_to":"b590d290_2c3d086a","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1948,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1949,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1950,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1951,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1952,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1953,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1954,"context_line":"            if \"VDU1\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"4b7307bb_4c30fcbd","line":1951,"updated":"2022-03-07 06:33:30.000000000","message":"If the purpose of this for-loop is both to check the existence of attributes and to get ``vnfc_ids`` at the same time, please consider separating them.\n\nThe computation cost of the list comprehension for this level of list is not high.\n\n```\nvnfc_id \u003d [vnfc[\u0027id\u0027] for vnfc in vnfc_info if \"VDU1\" \u003d\u003d vnfc[\u0027vduId\u0027]][0]\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1948,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1949,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1950,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1951,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1952,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1953,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1954,"context_line":"            if \"VDU1\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ddf8bcfb_31c1bf3b","line":1951,"in_reply_to":"4b7307bb_4c30fcbd","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1948,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1949,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1950,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1951,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1952,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1953,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1954,"context_line":"            if \"VDU1\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"c0f86cb5_21936a97","line":1951,"in_reply_to":"ddf8bcfb_31c1bf3b","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1990,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":1991,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1992,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1993,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1994,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1995,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1996,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"6b2e8cd6_eb4291e1","line":1993,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1990,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":1991,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1992,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1993,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1994,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1995,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1996,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"781ef964_dfcbb557","line":1993,"in_reply_to":"6b2e8cd6_eb4291e1","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1990,"context_line":"        resp, body \u003d self.show_vnf_instance(inst_id)"},{"line_number":1991,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1992,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1993,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1994,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1995,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1996,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"1fc5aeab_10980f73","line":1993,"in_reply_to":"781ef964_dfcbb557","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":1991,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1992,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1993,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1994,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1995,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1996,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1997,"context_line":"            if \"VDU1\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"abcff1a7_e32bb6a2","line":1994,"updated":"2022-03-07 06:33:30.000000000","message":"If the purpose of this for-loop is both to check the existence of attributes and to get ``vnfc_ids`` at the same time, please consider separating them.\n\nThe computation cost of the list comprehension for this level of list is not high.\n\n```\nvnfc_id \u003d [vnfc[\u0027id\u0027] for vnfc in vnfc_info if \"VDU1\" \u003d\u003d vnfc[\u0027vduId\u0027]][0]\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":1991,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1992,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1993,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1994,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1995,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1996,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1997,"context_line":"            if \"VDU1\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"cc57f7b4_fdf4d7fb","line":1994,"in_reply_to":"abcff1a7_e32bb6a2","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":1991,"context_line":"        self.assertEqual(200, resp.status_code)"},{"line_number":1992,"context_line":"        vnfc_info \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027vnfcInfo\u0027]"},{"line_number":1993,"context_line":"        self.assertTrue(len(vnfc_info) \u003e 1)"},{"line_number":1994,"context_line":"        for vnfc in vnfc_info:"},{"line_number":1995,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027id\u0027))"},{"line_number":1996,"context_line":"            self.assertIsNotNone(vnfc.get(\u0027vduId\u0027))"},{"line_number":1997,"context_line":"            if \"VDU1\" \u003d\u003d vnfc[\u0027vduId\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"2e65de94_5038ccc0","line":1994,"in_reply_to":"cc57f7b4_fdf4d7fb","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"ecc32b5376e8e2717dc03e31918950cb01f2cc0e","unresolved":true,"context_lines":[{"line_number":2039,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":2040,"context_line":""},{"line_number":2041,"context_line":"    def test_scale_other_lcm(self):"},{"line_number":2042,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":2043,"context_line":""},{"line_number":2044,"context_line":"        * About attributes:"},{"line_number":2045,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"01ef47df_ee6d02a3","line":2042,"range":{"start_line":2042,"start_character":11,"end_line":2042,"end_character":54},"updated":"2022-03-07 09:10:21.000000000","message":"Could you change the docstring to match the purpose of the test?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":2039,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":2040,"context_line":""},{"line_number":2041,"context_line":"    def test_scale_other_lcm(self):"},{"line_number":2042,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":2043,"context_line":""},{"line_number":2044,"context_line":"        * About attributes:"},{"line_number":2045,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"f8bd7b36_1e1609b6","line":2042,"range":{"start_line":2042,"start_character":11,"end_line":2042,"end_character":54},"in_reply_to":"01ef47df_ee6d02a3","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"7bc538ae13c40b1bd5d76df44d5001882c8c7c29","unresolved":false,"context_lines":[{"line_number":2039,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":2040,"context_line":""},{"line_number":2041,"context_line":"    def test_scale_other_lcm(self):"},{"line_number":2042,"context_line":"        \"\"\"Test LCM operations with all attributes set"},{"line_number":2043,"context_line":""},{"line_number":2044,"context_line":"        * About attributes:"},{"line_number":2045,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"35cb335f_20961bde","line":2042,"range":{"start_line":2042,"start_character":11,"end_line":2042,"end_character":54},"in_reply_to":"f8bd7b36_1e1609b6","updated":"2022-03-10 10:16:13.000000000","message":"I\u0027ve confirmed.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":2140,"context_line":"        # 2. Create VNF instance"},{"line_number":2141,"context_line":"        # NOTE: extensions and vnfConfigurableProperties are omitted"},{"line_number":2142,"context_line":"        # because they are commented out in etsi_nfv_sol001."},{"line_number":2143,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":2144,"context_line":"            \u0027id\u0027,"},{"line_number":2145,"context_line":"            \u0027vnfInstanceName\u0027,"},{"line_number":2146,"context_line":"            \u0027vnfInstanceDescription\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"761614d9_cfe3140e","line":2143,"updated":"2022-03-07 06:33:30.000000000","message":"Could you please add the reference for SOL003?\n\nThis model may change in the future. Specifying the version and table helps other developers to see the validity of these values and where this these value\n\n```\n# ETSI NFV SOL003 v3.3.1 5.5.2.2 VnfInstance\n\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":2140,"context_line":"        # 2. Create VNF instance"},{"line_number":2141,"context_line":"        # NOTE: extensions and vnfConfigurableProperties are omitted"},{"line_number":2142,"context_line":"        # because they are commented out in etsi_nfv_sol001."},{"line_number":2143,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":2144,"context_line":"            \u0027id\u0027,"},{"line_number":2145,"context_line":"            \u0027vnfInstanceName\u0027,"},{"line_number":2146,"context_line":"            \u0027vnfInstanceDescription\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ab2584be_1ab165c4","line":2143,"in_reply_to":"761614d9_cfe3140e","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":2140,"context_line":"        # 2. Create VNF instance"},{"line_number":2141,"context_line":"        # NOTE: extensions and vnfConfigurableProperties are omitted"},{"line_number":2142,"context_line":"        # because they are commented out in etsi_nfv_sol001."},{"line_number":2143,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":2144,"context_line":"            \u0027id\u0027,"},{"line_number":2145,"context_line":"            \u0027vnfInstanceName\u0027,"},{"line_number":2146,"context_line":"            \u0027vnfInstanceDescription\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"e6a77149_834296e5","line":2143,"in_reply_to":"ab2584be_1ab165c4","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":2206,"context_line":""},{"line_number":2207,"context_line":"        # check vnfState of VNF"},{"line_number":2208,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":2209,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":2210,"context_line":""},{"line_number":2211,"context_line":"        # 5. Scale out operation"},{"line_number":2212,"context_line":"        scaleout_req \u003d paramgen.scaleout_vnf_max()"}],"source_content_type":"text/x-python","patch_set":5,"id":"8b102a51_d6ca2a10","line":2209,"updated":"2022-03-07 06:33:30.000000000","message":"This can be \n\n```\nbody[\u0027instantiatedVnfInfo\u0027][\u0027vnfState\u0027]\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":2206,"context_line":""},{"line_number":2207,"context_line":"        # check vnfState of VNF"},{"line_number":2208,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":2209,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":2210,"context_line":""},{"line_number":2211,"context_line":"        # 5. Scale out operation"},{"line_number":2212,"context_line":"        scaleout_req \u003d paramgen.scaleout_vnf_max()"}],"source_content_type":"text/x-python","patch_set":5,"id":"dc8c35be_6e54bead","line":2209,"in_reply_to":"7663e383_4bc3a070","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":2206,"context_line":""},{"line_number":2207,"context_line":"        # check vnfState of VNF"},{"line_number":2208,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":2209,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":2210,"context_line":""},{"line_number":2211,"context_line":"        # 5. Scale out operation"},{"line_number":2212,"context_line":"        scaleout_req \u003d paramgen.scaleout_vnf_max()"}],"source_content_type":"text/x-python","patch_set":5,"id":"7663e383_4bc3a070","line":2209,"in_reply_to":"8b102a51_d6ca2a10","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":2240,"context_line":""},{"line_number":2241,"context_line":"        # check scaleStatus"},{"line_number":2242,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"},{"line_number":2243,"context_line":"        self.assertTrue(len(scale_status) \u003e 0)"},{"line_number":2244,"context_line":"        for status in scale_status:"},{"line_number":2245,"context_line":"            self.assertIsNotNone(status.get(\u0027aspectId\u0027))"},{"line_number":2246,"context_line":"            self.assertIsNotNone(status.get(\u0027scaleLevel\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"977fa358_b062ff60","line":2243,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":2240,"context_line":""},{"line_number":2241,"context_line":"        # check scaleStatus"},{"line_number":2242,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"},{"line_number":2243,"context_line":"        self.assertTrue(len(scale_status) \u003e 0)"},{"line_number":2244,"context_line":"        for status in scale_status:"},{"line_number":2245,"context_line":"            self.assertIsNotNone(status.get(\u0027aspectId\u0027))"},{"line_number":2246,"context_line":"            self.assertIsNotNone(status.get(\u0027scaleLevel\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"7e203a99_0c179fbc","line":2243,"in_reply_to":"4c66d3eb_51100e16","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":2240,"context_line":""},{"line_number":2241,"context_line":"        # check scaleStatus"},{"line_number":2242,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"},{"line_number":2243,"context_line":"        self.assertTrue(len(scale_status) \u003e 0)"},{"line_number":2244,"context_line":"        for status in scale_status:"},{"line_number":2245,"context_line":"            self.assertIsNotNone(status.get(\u0027aspectId\u0027))"},{"line_number":2246,"context_line":"            self.assertIsNotNone(status.get(\u0027scaleLevel\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"4c66d3eb_51100e16","line":2243,"in_reply_to":"977fa358_b062ff60","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":2281,"context_line":""},{"line_number":2282,"context_line":"        # check vnfState of VNF"},{"line_number":2283,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":2284,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":2285,"context_line":""},{"line_number":2286,"context_line":"        # check scaleStatus"},{"line_number":2287,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3da9ca93_c4d5cc49","line":2284,"updated":"2022-03-07 06:33:30.000000000","message":"This can be \n\n```\nbody[\u0027instantiatedVnfInfo\u0027][\u0027vnfState\u0027]\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":2281,"context_line":""},{"line_number":2282,"context_line":"        # check vnfState of VNF"},{"line_number":2283,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":2284,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":2285,"context_line":""},{"line_number":2286,"context_line":"        # check scaleStatus"},{"line_number":2287,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"dff236e1_f9004f38","line":2284,"in_reply_to":"3da9ca93_c4d5cc49","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":2281,"context_line":""},{"line_number":2282,"context_line":"        # check vnfState of VNF"},{"line_number":2283,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":2284,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":2285,"context_line":""},{"line_number":2286,"context_line":"        # check scaleStatus"},{"line_number":2287,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"c43974a8_f5e81f5c","line":2284,"in_reply_to":"dff236e1_f9004f38","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":2285,"context_line":""},{"line_number":2286,"context_line":"        # check scaleStatus"},{"line_number":2287,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"},{"line_number":2288,"context_line":"        self.assertTrue(len(scale_status) \u003e 0)"},{"line_number":2289,"context_line":"        for status in scale_status:"},{"line_number":2290,"context_line":"            self.assertIsNotNone(status.get(\u0027aspectId\u0027))"},{"line_number":2291,"context_line":"            self.assertIsNotNone(status.get(\u0027scaleLevel\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"889cd198_0d96f629","line":2288,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use assertGreater [1]?\n\n[1] https://docs.python.org/ja/3/library/unittest.html?highlight\u003dassert#unittest.TestCase.assertGreater","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":2285,"context_line":""},{"line_number":2286,"context_line":"        # check scaleStatus"},{"line_number":2287,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"},{"line_number":2288,"context_line":"        self.assertTrue(len(scale_status) \u003e 0)"},{"line_number":2289,"context_line":"        for status in scale_status:"},{"line_number":2290,"context_line":"            self.assertIsNotNone(status.get(\u0027aspectId\u0027))"},{"line_number":2291,"context_line":"            self.assertIsNotNone(status.get(\u0027scaleLevel\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"dff3714b_8703d013","line":2288,"in_reply_to":"889cd198_0d96f629","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":2285,"context_line":""},{"line_number":2286,"context_line":"        # check scaleStatus"},{"line_number":2287,"context_line":"        scale_status \u003d body[\u0027instantiatedVnfInfo\u0027][\u0027scaleStatus\u0027]"},{"line_number":2288,"context_line":"        self.assertTrue(len(scale_status) \u003e 0)"},{"line_number":2289,"context_line":"        for status in scale_status:"},{"line_number":2290,"context_line":"            self.assertIsNotNone(status.get(\u0027aspectId\u0027))"},{"line_number":2291,"context_line":"            self.assertIsNotNone(status.get(\u0027scaleLevel\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"d5877eaa_5e40a052","line":2288,"in_reply_to":"dff3714b_8703d013","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":2367,"context_line":""},{"line_number":2368,"context_line":"        # 15. Show VNF LCM operation occurrence"},{"line_number":2369,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":2370,"context_line":"        expected_attrs \u003d ["},{"line_number":2371,"context_line":"            \u0027id\u0027,"},{"line_number":2372,"context_line":"            \u0027operationState\u0027,"},{"line_number":2373,"context_line":"            \u0027stateEnteredTime\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"2cda2560_ad05b95f","line":2370,"updated":"2022-03-07 06:33:30.000000000","message":"Could you please add the reference for SOL003?\n\nThis model may change in the future. Specifying the version and table helps other developers to see the validity of these values and where this these value\n\n```\n# ETSI NFV SOL003 v3.3.1 5.5.2.13 VnfLcmOpOcc\n\n```","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":2367,"context_line":""},{"line_number":2368,"context_line":"        # 15. Show VNF LCM operation occurrence"},{"line_number":2369,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":2370,"context_line":"        expected_attrs \u003d ["},{"line_number":2371,"context_line":"            \u0027id\u0027,"},{"line_number":2372,"context_line":"            \u0027operationState\u0027,"},{"line_number":2373,"context_line":"            \u0027stateEnteredTime\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"d4e0f23e_cd9dcc7e","line":2370,"in_reply_to":"2cda2560_ad05b95f","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d7fac783252eb2b98b359e1c0df8ee7c8015d301","unresolved":false,"context_lines":[{"line_number":2367,"context_line":""},{"line_number":2368,"context_line":"        # 15. Show VNF LCM operation occurrence"},{"line_number":2369,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":2370,"context_line":"        expected_attrs \u003d ["},{"line_number":2371,"context_line":"            \u0027id\u0027,"},{"line_number":2372,"context_line":"            \u0027operationState\u0027,"},{"line_number":2373,"context_line":"            \u0027stateEnteredTime\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"0ae48d3c_48b13b13","line":2370,"in_reply_to":"d4e0f23e_cd9dcc7e","updated":"2022-03-10 05:08:02.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"}],"tacker/tests/functional/sol_v2/test_vnflcm_error_handling.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"ecc32b5376e8e2717dc03e31918950cb01f2cc0e","unresolved":true,"context_lines":[{"line_number":842,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":843,"context_line":""},{"line_number":844,"context_line":"    def test_rollback_chgextconn(self):"},{"line_number":845,"context_line":"        \"\"\"Test LCM operations with omitting except for required attributes"},{"line_number":846,"context_line":""},{"line_number":847,"context_line":"        * About attributes:"},{"line_number":848,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"b1932e83_1e9f0a6b","line":845,"range":{"start_line":845,"start_character":11,"end_line":845,"end_character":75},"updated":"2022-03-07 09:10:21.000000000","message":"Could you change the docstring to match the purpose of the test?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"7bc538ae13c40b1bd5d76df44d5001882c8c7c29","unresolved":false,"context_lines":[{"line_number":842,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":843,"context_line":""},{"line_number":844,"context_line":"    def test_rollback_chgextconn(self):"},{"line_number":845,"context_line":"        \"\"\"Test LCM operations with omitting except for required attributes"},{"line_number":846,"context_line":""},{"line_number":847,"context_line":"        * About attributes:"},{"line_number":848,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"25f639be_be91d48b","line":845,"range":{"start_line":845,"start_character":11,"end_line":845,"end_character":75},"in_reply_to":"19b1efbd_b6d4c9d8","updated":"2022-03-10 10:16:13.000000000","message":"I\u0027ve confirmed.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":842,"context_line":"        self.check_resp_headers_in_delete(resp)"},{"line_number":843,"context_line":""},{"line_number":844,"context_line":"    def test_rollback_chgextconn(self):"},{"line_number":845,"context_line":"        \"\"\"Test LCM operations with omitting except for required attributes"},{"line_number":846,"context_line":""},{"line_number":847,"context_line":"        * About attributes:"},{"line_number":848,"context_line":"          All of the following cardinality attributes are set."}],"source_content_type":"text/x-python","patch_set":5,"id":"19b1efbd_b6d4c9d8","line":845,"range":{"start_line":845,"start_character":11,"end_line":845,"end_character":75},"in_reply_to":"b1932e83_1e9f0a6b","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":912,"context_line":"        self.assertEqual(\u0027NOT_IN_USE\u0027, usage_state)"},{"line_number":913,"context_line":""},{"line_number":914,"context_line":"        # 3. Create VNF instance"},{"line_number":915,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":916,"context_line":"            \u0027id\u0027,"},{"line_number":917,"context_line":"            # \u0027vnfInstanceName\u0027, # omitted"},{"line_number":918,"context_line":"            # \u0027vnfInstanceDescription\u0027, # omitted"}],"source_content_type":"text/x-python","patch_set":5,"id":"fed9bf2e_98ed1730","line":915,"updated":"2022-03-07 06:33:30.000000000","message":"Could you please add the reference for SOL003?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":912,"context_line":"        self.assertEqual(\u0027NOT_IN_USE\u0027, usage_state)"},{"line_number":913,"context_line":""},{"line_number":914,"context_line":"        # 3. Create VNF instance"},{"line_number":915,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":916,"context_line":"            \u0027id\u0027,"},{"line_number":917,"context_line":"            # \u0027vnfInstanceName\u0027, # omitted"},{"line_number":918,"context_line":"            # \u0027vnfInstanceDescription\u0027, # omitted"}],"source_content_type":"text/x-python","patch_set":5,"id":"32e260da_ca4a4496","line":915,"in_reply_to":"3646c3fe_0aca8b0a","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":912,"context_line":"        self.assertEqual(\u0027NOT_IN_USE\u0027, usage_state)"},{"line_number":913,"context_line":""},{"line_number":914,"context_line":"        # 3. Create VNF instance"},{"line_number":915,"context_line":"        expected_inst_attrs \u003d ["},{"line_number":916,"context_line":"            \u0027id\u0027,"},{"line_number":917,"context_line":"            # \u0027vnfInstanceName\u0027, # omitted"},{"line_number":918,"context_line":"            # \u0027vnfInstanceDescription\u0027, # omitted"}],"source_content_type":"text/x-python","patch_set":5,"id":"3646c3fe_0aca8b0a","line":915,"in_reply_to":"fed9bf2e_98ed1730","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":967,"context_line":""},{"line_number":968,"context_line":"        # check vnfState of VNF"},{"line_number":969,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":970,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"        # 6. Change external connectivity(will fail)"},{"line_number":973,"context_line":"        # NOTE: Create a file so that an error occurs in mgmtDriver"}],"source_content_type":"text/x-python","patch_set":5,"id":"ca3bf9c7_08a36aaf","line":970,"updated":"2022-03-07 06:33:30.000000000","message":"This can be ``body[\u0027instantiatedVnfInfo\u0027][\u0027vnfState\u0027]``","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":967,"context_line":""},{"line_number":968,"context_line":"        # check vnfState of VNF"},{"line_number":969,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":970,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"        # 6. Change external connectivity(will fail)"},{"line_number":973,"context_line":"        # NOTE: Create a file so that an error occurs in mgmtDriver"}],"source_content_type":"text/x-python","patch_set":5,"id":"d94ad665_01641f13","line":970,"in_reply_to":"ca3bf9c7_08a36aaf","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":967,"context_line":""},{"line_number":968,"context_line":"        # check vnfState of VNF"},{"line_number":969,"context_line":"        self.assertEqual(fields.VnfOperationalStateType.STARTED,"},{"line_number":970,"context_line":"                         body[\u0027instantiatedVnfInfo\u0027].get(\u0027vnfState\u0027))"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"        # 6. Change external connectivity(will fail)"},{"line_number":973,"context_line":"        # NOTE: Create a file so that an error occurs in mgmtDriver"}],"source_content_type":"text/x-python","patch_set":5,"id":"66ccde38_ce334f4d","line":970,"in_reply_to":"d94ad665_01641f13","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":971,"context_line":""},{"line_number":972,"context_line":"        # 6. Change external connectivity(will fail)"},{"line_number":973,"context_line":"        # NOTE: Create a file so that an error occurs in mgmtDriver"},{"line_number":974,"context_line":"        path \u003d \u0027/tmp/change_external_connectivity_start\u0027"},{"line_number":975,"context_line":"        with open(path, \u0027w\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":976,"context_line":"            f.write(\u0027\u0027)"},{"line_number":977,"context_line":"        self.addCleanup(os.remove, path)"}],"source_content_type":"text/x-python","patch_set":5,"id":"178f12d7_59f421c2","line":974,"updated":"2022-03-07 06:33:30.000000000","message":"Why don\u0027t you use tempfile [1]. \n[1] https://docs.python.org/3.6/library/tempfile.html#tempfile.NamedTemporaryFile","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":971,"context_line":""},{"line_number":972,"context_line":"        # 6. Change external connectivity(will fail)"},{"line_number":973,"context_line":"        # NOTE: Create a file so that an error occurs in mgmtDriver"},{"line_number":974,"context_line":"        path \u003d \u0027/tmp/change_external_connectivity_start\u0027"},{"line_number":975,"context_line":"        with open(path, \u0027w\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":976,"context_line":"            f.write(\u0027\u0027)"},{"line_number":977,"context_line":"        self.addCleanup(os.remove, path)"}],"source_content_type":"text/x-python","patch_set":5,"id":"4592feb0_1be66414","line":974,"in_reply_to":"178f12d7_59f421c2","updated":"2022-03-10 01:48:37.000000000","message":"I checked tempfile.NamedTemporaryFile, but I found it can\u0027t specify file name(/tmp/change_external_connectivity_start). The file name was set in the sample_script.py.\nSo I can\u0027t use it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":971,"context_line":""},{"line_number":972,"context_line":"        # 6. Change external connectivity(will fail)"},{"line_number":973,"context_line":"        # NOTE: Create a file so that an error occurs in mgmtDriver"},{"line_number":974,"context_line":"        path \u003d \u0027/tmp/change_external_connectivity_start\u0027"},{"line_number":975,"context_line":"        with open(path, \u0027w\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":976,"context_line":"            f.write(\u0027\u0027)"},{"line_number":977,"context_line":"        self.addCleanup(os.remove, path)"}],"source_content_type":"text/x-python","patch_set":5,"id":"d97cfc7d_2089d071","line":974,"in_reply_to":"4592feb0_1be66414","updated":"2022-03-10 09:06:04.000000000","message":"I got it","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":974,"context_line":"        path \u003d \u0027/tmp/change_external_connectivity_start\u0027"},{"line_number":975,"context_line":"        with open(path, \u0027w\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":976,"context_line":"            f.write(\u0027\u0027)"},{"line_number":977,"context_line":"        self.addCleanup(os.remove, path)"},{"line_number":978,"context_line":"        change_ext_conn_req \u003d paramgen.change_ext_conn_min(net_ids, subnet_ids)"},{"line_number":979,"context_line":"        resp, body \u003d self.change_ext_conn(inst_id, change_ext_conn_req)"},{"line_number":980,"context_line":"        self.assertEqual(202, resp.status_code)"}],"source_content_type":"text/x-python","patch_set":5,"id":"f4037e19_5c2f7c07","line":977,"updated":"2022-03-07 06:33:30.000000000","message":"If you agree with the above comment. Please change this line according to this example [1].\n\n[1] https://docs.python.org/3.6/library/tempfile.html#examples","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":974,"context_line":"        path \u003d \u0027/tmp/change_external_connectivity_start\u0027"},{"line_number":975,"context_line":"        with open(path, \u0027w\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":976,"context_line":"            f.write(\u0027\u0027)"},{"line_number":977,"context_line":"        self.addCleanup(os.remove, path)"},{"line_number":978,"context_line":"        change_ext_conn_req \u003d paramgen.change_ext_conn_min(net_ids, subnet_ids)"},{"line_number":979,"context_line":"        resp, body \u003d self.change_ext_conn(inst_id, change_ext_conn_req)"},{"line_number":980,"context_line":"        self.assertEqual(202, resp.status_code)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9b6f6ba3_8d5d2827","line":977,"in_reply_to":"8c1523d6_f246a2ab","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":974,"context_line":"        path \u003d \u0027/tmp/change_external_connectivity_start\u0027"},{"line_number":975,"context_line":"        with open(path, \u0027w\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":976,"context_line":"            f.write(\u0027\u0027)"},{"line_number":977,"context_line":"        self.addCleanup(os.remove, path)"},{"line_number":978,"context_line":"        change_ext_conn_req \u003d paramgen.change_ext_conn_min(net_ids, subnet_ids)"},{"line_number":979,"context_line":"        resp, body \u003d self.change_ext_conn(inst_id, change_ext_conn_req)"},{"line_number":980,"context_line":"        self.assertEqual(202, resp.status_code)"}],"source_content_type":"text/x-python","patch_set":5,"id":"8c1523d6_f246a2ab","line":977,"in_reply_to":"f4037e19_5c2f7c07","updated":"2022-03-10 01:48:37.000000000","message":"Sorry， I can\u0027t use it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"68d1c96b8c63a48c46f5dc93ac505cb6d7b17e34","unresolved":true,"context_lines":[{"line_number":990,"context_line":""},{"line_number":991,"context_line":"        # 8. Show VNF LCM operation occurrence"},{"line_number":992,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":993,"context_line":"        expected_attrs \u003d ["},{"line_number":994,"context_line":"            \u0027id\u0027,"},{"line_number":995,"context_line":"            \u0027operationState\u0027,"},{"line_number":996,"context_line":"            \u0027stateEnteredTime\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"70cdbd9a_a9b57317","line":993,"updated":"2022-03-07 06:33:30.000000000","message":"Could you please add the reference for SOL003?","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8b92dc91baa42188b0179edd3d31d1ec5d3bf32a","unresolved":false,"context_lines":[{"line_number":990,"context_line":""},{"line_number":991,"context_line":"        # 8. Show VNF LCM operation occurrence"},{"line_number":992,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":993,"context_line":"        expected_attrs \u003d ["},{"line_number":994,"context_line":"            \u0027id\u0027,"},{"line_number":995,"context_line":"            \u0027operationState\u0027,"},{"line_number":996,"context_line":"            \u0027stateEnteredTime\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"aec74ed6_a56a9e70","line":993,"in_reply_to":"5f05a589_cf68cb53","updated":"2022-03-10 09:06:04.000000000","message":"Ack","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"163d2d1088125e21c64944d6f48396bc629ea721","unresolved":true,"context_lines":[{"line_number":990,"context_line":""},{"line_number":991,"context_line":"        # 8. Show VNF LCM operation occurrence"},{"line_number":992,"context_line":"        # NOTE: omitted values are not supported at that time"},{"line_number":993,"context_line":"        expected_attrs \u003d ["},{"line_number":994,"context_line":"            \u0027id\u0027,"},{"line_number":995,"context_line":"            \u0027operationState\u0027,"},{"line_number":996,"context_line":"            \u0027stateEnteredTime\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f05a589_cf68cb53","line":993,"in_reply_to":"70cdbd9a_a9b57317","updated":"2022-03-10 01:48:37.000000000","message":"I fixed it.","commit_id":"cb0c659a63db6ac56906c5f4bb0380c661716699"}]}
