)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0bbe683505f676b8703ae6326e6e93cc72c02d40","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a7abbe0b_09d3dbbd","updated":"2021-12-20 22:25:48.000000000","message":"Thank you for the review.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"97968848c3a80ab5439b1e16599ef61a426f0b60","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3b8647b4_14db1e40","updated":"2021-12-22 00:14:29.000000000","message":"Do you have a plan to support generating scale_req in \"pkggen.py\" of sample1 and sample2?","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f4a48cb87dc2bbf5edb85acc8b4907e8ec8921a1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bc13a3ed_bc2aecb7","in_reply_to":"3b8647b4_14db1e40","updated":"2021-12-22 00:27:07.000000000","message":"No, at least in this patch because FT of scale is not included in this patch. I think it will be supported in the patch of scale FT.","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"3166e71ebd050d16c966c7368824fbc01647449f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"920d180f_42779bfb","in_reply_to":"bc13a3ed_bc2aecb7","updated":"2021-12-22 01:29:17.000000000","message":"Okay, I got it.","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6295bd1c812c133ad70482140f8863906d4dd823","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"00f0de6d_394f19cf","updated":"2021-12-22 23:16:33.000000000","message":"Thank you for the review.","commit_id":"9fb9531ef7031161b2f037cf1816b4b8d79da82a"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"dde6710ff37f0848c0245ad8975ac22e5ad337e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8c44c5f5_303094d5","updated":"2021-12-23 00:43:01.000000000","message":"Thank you for the comment.","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"4354828ecf257a43f9140ab5297a1d19da0464f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"09175e28_9d9a31d6","updated":"2021-12-26 23:36:55.000000000","message":"Thank you for the review.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f26172aa7449ae75e586142199b1698c0ce3c4f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"2bf6f69d_adb904b7","updated":"2022-01-04 22:17:34.000000000","message":"Thank you for the review.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"8eb9863e25030a7b5b1ea84764653fc52ea351ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"55eb76c6_2609a5ad","updated":"2022-01-04 22:29:00.000000000","message":"Thank you for the review.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"7b071c9645d33e263e298dc9a84d9e2479d5af86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"314bcc7f_70efd68b","updated":"2021-12-27 02:32:53.000000000","message":"recheck","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"13459564492e9d06c9b0cff38bbacfa300a9326c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7bacc44b_a52c5ef6","updated":"2022-01-06 00:13:49.000000000","message":"Thank you for the review.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a3e38c70_3a306ce5","updated":"2022-01-06 02:57:05.000000000","message":"Thank you for the review.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a01657ace0627a651721c07d871fd417d8dcc6f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"64c2ab06_be6134b6","updated":"2022-01-05 01:52:39.000000000","message":"recheck","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"674bcbfc63f9178aabf5c7f68d5c43c05ce943cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"06285fe4_e1516e53","updated":"2022-01-06 23:29:38.000000000","message":"Thank you for the review.","commit_id":"376324e9cbbf6d246a51021c741863a388b4e15b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"75e075008c9bb700aa1f271cb58022a441e9908f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"77bb0277_94e6e9ac","updated":"2022-01-06 23:36:57.000000000","message":"Thank you for the review.","commit_id":"376324e9cbbf6d246a51021c741863a388b4e15b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"347cb363f81d519d33bc42a4666179019c1356da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"172f7cb7_1b92726f","updated":"2022-01-07 04:33:10.000000000","message":"Thank you for the review.","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"eb68927eba9d7d89c8a063503b3ae37ffe255b3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"0f60efe3_d844231c","updated":"2022-01-11 01:40:12.000000000","message":"LGTM","commit_id":"521b10e36588a48396385e07e1b709a118764be8"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"5d3ef32ea33dedd710c2f53e3242b6872e883e98","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"4889d92c_11f87290","updated":"2022-01-07 07:13:23.000000000","message":"recheck","commit_id":"521b10e36588a48396385e07e1b709a118764be8"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"80ce35c76756e93fc86ef69d04ca61cd51e743d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"ed8946e4_a5597c45","updated":"2022-01-12 04:30:22.000000000","message":"patch set 12: rebase and fix merge conflict with fail patch.","commit_id":"6e7cb13905dbfeae7fa19b27559f5fb72c85b6a4"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"76c28af7844c106ca41301043a03bc5c652fb0c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"c66d0b0a_1ae07f21","updated":"2022-01-13 22:05:41.000000000","message":"recheck","commit_id":"1169fa1d88687c43e20202e6c8bf6d219c32b3cd"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"275ff66fef5ae7dfb0db24926364388883dbf3a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"a9b031dc_6f708a2e","updated":"2022-01-20 08:07:52.000000000","message":"LGTM.","commit_id":"55040a0e1ca063d469223cee2c095715e541561b"}],"tacker/sol_refactored/common/exceptions.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"50ae1235dd1947873bac36a162239f23fe7ab8e7","unresolved":true,"context_lines":[{"line_number":225,"context_line":"    message \u003d _(\"Rollback of %(op)s is not supported.\")"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"class UnexpectedBaseHOT(SolHttpError422):"},{"line_number":229,"context_line":"    # detail set in the code"},{"line_number":230,"context_line":"    pass"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"class InvalidScaleAspectId(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a1e51a7_4bca9786","line":230,"range":{"start_line":228,"start_character":0,"end_line":230,"end_character":8},"updated":"2021-12-20 08:08:16.000000000","message":"Currently, only one pattern of message is set in openstack.py, so I think it can be defined as follows.\nIs the current definition better for future expansion?\n---\nclass UnexpectedParentResourceDefinition(SolHttpError422):\n    message \u003d  _(\"Parent resource is necessary for VDU \"\n                 \"definition.\")","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"8f6c72eab440756a53c5e7cc95ef1996c2a3a80a","unresolved":false,"context_lines":[{"line_number":225,"context_line":"    message \u003d _(\"Rollback of %(op)s is not supported.\")"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"class UnexpectedBaseHOT(SolHttpError422):"},{"line_number":229,"context_line":"    # detail set in the code"},{"line_number":230,"context_line":"    pass"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"class InvalidScaleAspectId(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":1,"id":"6f8ec248_7b973464","line":230,"range":{"start_line":228,"start_character":0,"end_line":230,"end_character":8},"in_reply_to":"107ba21d_c83dfb63","updated":"2021-12-21 00:19:24.000000000","message":"Done","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0bbe683505f676b8703ae6326e6e93cc72c02d40","unresolved":true,"context_lines":[{"line_number":225,"context_line":"    message \u003d _(\"Rollback of %(op)s is not supported.\")"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"class UnexpectedBaseHOT(SolHttpError422):"},{"line_number":229,"context_line":"    # detail set in the code"},{"line_number":230,"context_line":"    pass"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"class InvalidScaleAspectId(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":1,"id":"107ba21d_c83dfb63","line":230,"range":{"start_line":228,"start_character":0,"end_line":230,"end_character":8},"in_reply_to":"3a1e51a7_4bca9786","updated":"2021-12-20 22:25:48.000000000","message":"I see. I will fix.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"50ae1235dd1947873bac36a162239f23fe7ab8e7","unresolved":true,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"class InvalidScaleAspectId(SolHttpError400):"},{"line_number":234,"context_line":"    message \u003d _(\"Invalid aspectId.\")"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"class InvalidScaleNumberOfSteps(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":1,"id":"6960e13c_00b46321","line":234,"updated":"2021-12-20 08:08:16.000000000","message":"It\u0027s better to output the value of aspectId.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0bbe683505f676b8703ae6326e6e93cc72c02d40","unresolved":true,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"class InvalidScaleAspectId(SolHttpError400):"},{"line_number":234,"context_line":"    message \u003d _(\"Invalid aspectId.\")"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"class InvalidScaleNumberOfSteps(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":1,"id":"d06791b5_4a90a3ff","line":234,"in_reply_to":"6960e13c_00b46321","updated":"2021-12-20 22:25:48.000000000","message":"I see. I will fix.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"8f6c72eab440756a53c5e7cc95ef1996c2a3a80a","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"class InvalidScaleAspectId(SolHttpError400):"},{"line_number":234,"context_line":"    message \u003d _(\"Invalid aspectId.\")"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"class InvalidScaleNumberOfSteps(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3d902bd1_4efb1e61","line":234,"in_reply_to":"d06791b5_4a90a3ff","updated":"2021-12-21 00:19:24.000000000","message":"Done","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"50ae1235dd1947873bac36a162239f23fe7ab8e7","unresolved":true,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"class InvalidScaleNumberOfSteps(SolHttpError400):"},{"line_number":238,"context_line":"    message \u003d _(\"Invalid numberOfSteps.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"fb51cdc4_a4761d96","line":238,"updated":"2021-12-20 08:08:16.000000000","message":"It\u0027s better to output the value of numberOfSteps.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"8f6c72eab440756a53c5e7cc95ef1996c2a3a80a","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"class InvalidScaleNumberOfSteps(SolHttpError400):"},{"line_number":238,"context_line":"    message \u003d _(\"Invalid numberOfSteps.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"b4af3d3b_0d3b9a40","line":238,"in_reply_to":"a37972b3_6d25e549","updated":"2021-12-21 00:19:24.000000000","message":"Done","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0bbe683505f676b8703ae6326e6e93cc72c02d40","unresolved":true,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"class InvalidScaleNumberOfSteps(SolHttpError400):"},{"line_number":238,"context_line":"    message \u003d _(\"Invalid numberOfSteps.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"a37972b3_6d25e549","line":238,"in_reply_to":"fb51cdc4_a4761d96","updated":"2021-12-20 22:25:48.000000000","message":"I see. I will fix.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"}],"tacker/sol_refactored/common/lcm_op_occ_utils.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":226,"context_line":"                    id\u003dport.id,"},{"line_number":227,"context_line":"                    changeType\u003d\u0027ADDED\u0027,"},{"line_number":228,"context_line":"                    extCpInstanceId\u003dport.cpInstanceId,"},{"line_number":229,"context_line":"                    resoueceHandle\u003dport.resourceHandle"},{"line_number":230,"context_line":"                )"},{"line_number":231,"context_line":"                for port in ext_vl.extLinkPorts"},{"line_number":232,"context_line":"                if port.id in add_ext_vl_ports"}],"source_content_type":"text/x-python","patch_set":8,"id":"8411c8e3_03b28e70","line":229,"updated":"2022-01-06 02:03:04.000000000","message":"typo: resoueceHandle -\u003e resourceHandle","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":226,"context_line":"                    id\u003dport.id,"},{"line_number":227,"context_line":"                    changeType\u003d\u0027ADDED\u0027,"},{"line_number":228,"context_line":"                    extCpInstanceId\u003dport.cpInstanceId,"},{"line_number":229,"context_line":"                    resoueceHandle\u003dport.resourceHandle"},{"line_number":230,"context_line":"                )"},{"line_number":231,"context_line":"                for port in ext_vl.extLinkPorts"},{"line_number":232,"context_line":"                if port.id in add_ext_vl_ports"}],"source_content_type":"text/x-python","patch_set":8,"id":"847c21cf_739c3072","line":229,"in_reply_to":"8411c8e3_03b28e70","updated":"2022-01-06 02:57:05.000000000","message":"Thank you for pointing it out. I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                    id\u003dport.id,"},{"line_number":227,"context_line":"                    changeType\u003d\u0027ADDED\u0027,"},{"line_number":228,"context_line":"                    extCpInstanceId\u003dport.cpInstanceId,"},{"line_number":229,"context_line":"                    resoueceHandle\u003dport.resourceHandle"},{"line_number":230,"context_line":"                )"},{"line_number":231,"context_line":"                for port in ext_vl.extLinkPorts"},{"line_number":232,"context_line":"                if port.id in add_ext_vl_ports"}],"source_content_type":"text/x-python","patch_set":8,"id":"c6bb995b_84caca33","line":229,"in_reply_to":"847c21cf_739c3072","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":240,"context_line":"                    id\u003dport.id,"},{"line_number":241,"context_line":"                    changeType\u003d\u0027REMOVED\u0027,"},{"line_number":242,"context_line":"                    extCpInstanceId\u003dport.cpInstanceId,"},{"line_number":243,"context_line":"                    resoueceHandle\u003dport.resourceHandle"},{"line_number":244,"context_line":"                )"},{"line_number":245,"context_line":"                for port in ext_vl.extLinkPorts"},{"line_number":246,"context_line":"                if port.id in rm_ext_vl_ports"}],"source_content_type":"text/x-python","patch_set":8,"id":"d0daf6d8_73f0745b","line":243,"updated":"2022-01-06 02:03:04.000000000","message":"typo: resoueceHandle -\u003e resourceHandle","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                    id\u003dport.id,"},{"line_number":241,"context_line":"                    changeType\u003d\u0027REMOVED\u0027,"},{"line_number":242,"context_line":"                    extCpInstanceId\u003dport.cpInstanceId,"},{"line_number":243,"context_line":"                    resoueceHandle\u003dport.resourceHandle"},{"line_number":244,"context_line":"                )"},{"line_number":245,"context_line":"                for port in ext_vl.extLinkPorts"},{"line_number":246,"context_line":"                if port.id in rm_ext_vl_ports"}],"source_content_type":"text/x-python","patch_set":8,"id":"211c3bd1_21165b64","line":243,"in_reply_to":"92d609d3_47593465","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":240,"context_line":"                    id\u003dport.id,"},{"line_number":241,"context_line":"                    changeType\u003d\u0027REMOVED\u0027,"},{"line_number":242,"context_line":"                    extCpInstanceId\u003dport.cpInstanceId,"},{"line_number":243,"context_line":"                    resoueceHandle\u003dport.resourceHandle"},{"line_number":244,"context_line":"                )"},{"line_number":245,"context_line":"                for port in ext_vl.extLinkPorts"},{"line_number":246,"context_line":"                if port.id in rm_ext_vl_ports"}],"source_content_type":"text/x-python","patch_set":8,"id":"92d609d3_47593465","line":243,"in_reply_to":"d0daf6d8_73f0745b","updated":"2022-01-06 02:57:05.000000000","message":"I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    inst_info \u003d inst.instantiatedVnfInfo"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    # NOTE: objects may be re-created. so compare \u0027id\u0027 intead of object itself."},{"line_number":267,"context_line":"    def _calc_diff(attr):"},{"line_number":268,"context_line":"        # NOTE: instantiatedVnfInfo object is dict compat"},{"line_number":269,"context_line":"        objs_saved \u003d set()"}],"source_content_type":"text/x-python","patch_set":8,"id":"56e2e019_e90ef20b","line":266,"updated":"2022-01-06 02:03:04.000000000","message":"typo: intead -\u003e instead","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    inst_info \u003d inst.instantiatedVnfInfo"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    # NOTE: objects may be re-created. so compare \u0027id\u0027 intead of object itself."},{"line_number":267,"context_line":"    def _calc_diff(attr):"},{"line_number":268,"context_line":"        # NOTE: instantiatedVnfInfo object is dict compat"},{"line_number":269,"context_line":"        objs_saved \u003d set()"}],"source_content_type":"text/x-python","patch_set":8,"id":"d7a5d3b9_48d2e4dd","line":266,"in_reply_to":"56e2e019_e90ef20b","updated":"2022-01-06 02:57:05.000000000","message":"I noticed it too... I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    inst_info \u003d inst.instantiatedVnfInfo"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    # NOTE: objects may be re-created. so compare \u0027id\u0027 intead of object itself."},{"line_number":267,"context_line":"    def _calc_diff(attr):"},{"line_number":268,"context_line":"        # NOTE: instantiatedVnfInfo object is dict compat"},{"line_number":269,"context_line":"        objs_saved \u003d set()"}],"source_content_type":"text/x-python","patch_set":8,"id":"6889fa47_b1aa4b08","line":266,"in_reply_to":"d7a5d3b9_48d2e4dd","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":362,"context_line":"def check_lcmocc_in_progress(context, inst_id):"},{"line_number":363,"context_line":"    # if the controller or conductor executes an operation for the vnf"},{"line_number":364,"context_line":"    # instance (i.e. operationState is ...ING), other operation for"},{"line_number":365,"context_line":"    # the same vnf instance is exculed by the coordinator."},{"line_number":366,"context_line":"    # check here is existence of lcmocc for the vnf instance with"},{"line_number":367,"context_line":"    # FAILED_TEMP operationState."},{"line_number":368,"context_line":"    lcmoccs \u003d objects.VnfLcmOpOccV2.get_by_filter("}],"source_content_type":"text/x-python","patch_set":8,"id":"f1fcfbd9_5c4fcf25","line":365,"updated":"2022-01-06 02:03:04.000000000","message":"typo: exculed -\u003e excluded\n\nCould you fix this as well?","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":362,"context_line":"def check_lcmocc_in_progress(context, inst_id):"},{"line_number":363,"context_line":"    # if the controller or conductor executes an operation for the vnf"},{"line_number":364,"context_line":"    # instance (i.e. operationState is ...ING), other operation for"},{"line_number":365,"context_line":"    # the same vnf instance is exculed by the coordinator."},{"line_number":366,"context_line":"    # check here is existence of lcmocc for the vnf instance with"},{"line_number":367,"context_line":"    # FAILED_TEMP operationState."},{"line_number":368,"context_line":"    lcmoccs \u003d objects.VnfLcmOpOccV2.get_by_filter("}],"source_content_type":"text/x-python","patch_set":8,"id":"ee9766b5_c2e13e75","line":365,"in_reply_to":"86e88fd0_2b721301","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":362,"context_line":"def check_lcmocc_in_progress(context, inst_id):"},{"line_number":363,"context_line":"    # if the controller or conductor executes an operation for the vnf"},{"line_number":364,"context_line":"    # instance (i.e. operationState is ...ING), other operation for"},{"line_number":365,"context_line":"    # the same vnf instance is exculed by the coordinator."},{"line_number":366,"context_line":"    # check here is existence of lcmocc for the vnf instance with"},{"line_number":367,"context_line":"    # FAILED_TEMP operationState."},{"line_number":368,"context_line":"    lcmoccs \u003d objects.VnfLcmOpOccV2.get_by_filter("}],"source_content_type":"text/x-python","patch_set":8,"id":"86e88fd0_2b721301","line":365,"in_reply_to":"f1fcfbd9_5c4fcf25","updated":"2022-01-06 02:57:05.000000000","message":"I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"}],"tacker/sol_refactored/common/vnfd_utils.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"50ae1235dd1947873bac36a162239f23fe7ab8e7","unresolved":true,"context_lines":[{"line_number":368,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":369,"context_line":"                           .get(aspect_id))"},{"line_number":370,"context_line":"            if value is not None:"},{"line_number":371,"context_line":"                # expect there is one delta"},{"line_number":372,"context_line":"                delta \u003d value[\u0027step_deltas\u0027][0]"},{"line_number":373,"context_line":"                break"},{"line_number":374,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"0bc107f0_09b0cd02","line":371,"updated":"2021-12-20 08:08:16.000000000","message":"This is a limitation in the current implementation, so could you emphasize it in \"NOTE\"?","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0bbe683505f676b8703ae6326e6e93cc72c02d40","unresolved":true,"context_lines":[{"line_number":368,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":369,"context_line":"                           .get(aspect_id))"},{"line_number":370,"context_line":"            if value is not None:"},{"line_number":371,"context_line":"                # expect there is one delta"},{"line_number":372,"context_line":"                delta \u003d value[\u0027step_deltas\u0027][0]"},{"line_number":373,"context_line":"                break"},{"line_number":374,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"101ea155_49382945","line":371,"in_reply_to":"0bc107f0_09b0cd02","updated":"2021-12-20 22:25:48.000000000","message":"I see. I will fix.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"8f6c72eab440756a53c5e7cc95ef1996c2a3a80a","unresolved":false,"context_lines":[{"line_number":368,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":369,"context_line":"                           .get(aspect_id))"},{"line_number":370,"context_line":"            if value is not None:"},{"line_number":371,"context_line":"                # expect there is one delta"},{"line_number":372,"context_line":"                delta \u003d value[\u0027step_deltas\u0027][0]"},{"line_number":373,"context_line":"                break"},{"line_number":374,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1264b9be_da88913f","line":371,"in_reply_to":"101ea155_49382945","updated":"2021-12-21 00:19:24.000000000","message":"Done","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4a604e867fdd620581c74b39b9d9fc806336be20","unresolved":true,"context_lines":[{"line_number":382,"context_line":"        for aspect_delta in aspect_deltas:"},{"line_number":383,"context_line":"            if aspect_delta.get(\u0027properties\u0027, {}).get(\u0027aspect\u0027) \u003d\u003d aspect_id:"},{"line_number":384,"context_line":"                num_inst \u003d (aspect_delta[\u0027properties\u0027][\u0027deltas\u0027]"},{"line_number":385,"context_line":"                                        [delta][\u0027number_of_instances\u0027])"},{"line_number":386,"context_line":"                for vdu_name in aspect_delta[\u0027targets\u0027]:"},{"line_number":387,"context_line":"                    vdu_num_inst[vdu_name] \u003d num_inst"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"b46c9b9d_85b90c46","line":385,"range":{"start_line":385,"start_character":41,"end_line":385,"end_character":46},"updated":"2021-12-23 05:32:36.000000000","message":"Is it unnecessary to consider the case where this \"delta\" set in \u0027tosca.policies.nfv.ScalingAspects\u0027 is not set in \u0027tosca.policies.nfv.VduScalingAspectDeltas\u0027 due to a VNFD defect?","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"94a4a9447adf240b7bd0d321c9e426640ca0dc61","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        for aspect_delta in aspect_deltas:"},{"line_number":383,"context_line":"            if aspect_delta.get(\u0027properties\u0027, {}).get(\u0027aspect\u0027) \u003d\u003d aspect_id:"},{"line_number":384,"context_line":"                num_inst \u003d (aspect_delta[\u0027properties\u0027][\u0027deltas\u0027]"},{"line_number":385,"context_line":"                                        [delta][\u0027number_of_instances\u0027])"},{"line_number":386,"context_line":"                for vdu_name in aspect_delta[\u0027targets\u0027]:"},{"line_number":387,"context_line":"                    vdu_num_inst[vdu_name] \u003d num_inst"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba52f788_9d775052","line":385,"range":{"start_line":385,"start_character":41,"end_line":385,"end_character":46},"in_reply_to":"614aebf9_9226a6e3","updated":"2021-12-27 00:30:18.000000000","message":"Done","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"4354828ecf257a43f9140ab5297a1d19da0464f6","unresolved":true,"context_lines":[{"line_number":382,"context_line":"        for aspect_delta in aspect_deltas:"},{"line_number":383,"context_line":"            if aspect_delta.get(\u0027properties\u0027, {}).get(\u0027aspect\u0027) \u003d\u003d aspect_id:"},{"line_number":384,"context_line":"                num_inst \u003d (aspect_delta[\u0027properties\u0027][\u0027deltas\u0027]"},{"line_number":385,"context_line":"                                        [delta][\u0027number_of_instances\u0027])"},{"line_number":386,"context_line":"                for vdu_name in aspect_delta[\u0027targets\u0027]:"},{"line_number":387,"context_line":"                    vdu_num_inst[vdu_name] \u003d num_inst"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"614aebf9_9226a6e3","line":385,"range":{"start_line":385,"start_character":41,"end_line":385,"end_character":46},"in_reply_to":"b46c9b9d_85b90c46","updated":"2021-12-26 23:36:55.000000000","message":"You are right. I found it is not checked that \u0027delta\u0027 exists in VNFD or not at vnf package loading. I will add the check.","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6e1f9383f51d9338f0a252d615550c582167c239","unresolved":true,"context_lines":[{"line_number":364,"context_line":"            \u0027tosca.policies.nfv.ScalingAspects\u0027)"},{"line_number":365,"context_line":"        delta \u003d None"},{"line_number":366,"context_line":"        for aspect in aspects:"},{"line_number":367,"context_line":"            value \u003d (aspect.get(\u0027properties\u0027, {})"},{"line_number":368,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":369,"context_line":"                           .get(aspect_id))"},{"line_number":370,"context_line":"            if value is not None:"},{"line_number":371,"context_line":"                # NOTE: expect there is one delta. it is a limitation"},{"line_number":372,"context_line":"                # in the current implementation."}],"source_content_type":"text/x-python","patch_set":7,"id":"4dc1f4e3_85cac1be","line":369,"range":{"start_line":367,"start_character":12,"end_line":369,"end_character":43},"updated":"2022-01-04 08:14:16.000000000","message":"\"aspects\" which is the property of \"ScalingAspects\" is required\u003dtrue, so it can be modified as follows.\n---\n            value \u003d (aspect[\u0027properties\u0027][\u0027aspects\u0027]\n                           .get(aspect_id))","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"8eb9863e25030a7b5b1ea84764653fc52ea351ec","unresolved":true,"context_lines":[{"line_number":364,"context_line":"            \u0027tosca.policies.nfv.ScalingAspects\u0027)"},{"line_number":365,"context_line":"        delta \u003d None"},{"line_number":366,"context_line":"        for aspect in aspects:"},{"line_number":367,"context_line":"            value \u003d (aspect.get(\u0027properties\u0027, {})"},{"line_number":368,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":369,"context_line":"                           .get(aspect_id))"},{"line_number":370,"context_line":"            if value is not None:"},{"line_number":371,"context_line":"                # NOTE: expect there is one delta. it is a limitation"},{"line_number":372,"context_line":"                # in the current implementation."}],"source_content_type":"text/x-python","patch_set":7,"id":"60c86e1d_8981c7b3","line":369,"range":{"start_line":367,"start_character":12,"end_line":369,"end_character":43},"in_reply_to":"4dc1f4e3_85cac1be","updated":"2022-01-04 22:29:00.000000000","message":"I see. I will fix.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"896b1fb3dfc2748ff0af3ad56feaabf63e72abd5","unresolved":false,"context_lines":[{"line_number":364,"context_line":"            \u0027tosca.policies.nfv.ScalingAspects\u0027)"},{"line_number":365,"context_line":"        delta \u003d None"},{"line_number":366,"context_line":"        for aspect in aspects:"},{"line_number":367,"context_line":"            value \u003d (aspect.get(\u0027properties\u0027, {})"},{"line_number":368,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":369,"context_line":"                           .get(aspect_id))"},{"line_number":370,"context_line":"            if value is not None:"},{"line_number":371,"context_line":"                # NOTE: expect there is one delta. it is a limitation"},{"line_number":372,"context_line":"                # in the current implementation."}],"source_content_type":"text/x-python","patch_set":7,"id":"4fedc0b5_1b7fd4e9","line":369,"range":{"start_line":367,"start_character":12,"end_line":369,"end_character":43},"in_reply_to":"60c86e1d_8981c7b3","updated":"2022-01-05 06:45:19.000000000","message":"Done","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6e1f9383f51d9338f0a252d615550c582167c239","unresolved":true,"context_lines":[{"line_number":398,"context_line":"        policies \u003d self.get_policy_values_by_type(flavour_id,"},{"line_number":399,"context_line":"            \u0027tosca.policies.nfv.InstantiationLevels\u0027)"},{"line_number":400,"context_line":"        for policy in policies:"},{"line_number":401,"context_line":"            return (policy.get(\u0027properties\u0027, {})"},{"line_number":402,"context_line":"                          .get(\u0027levels\u0027, {})"},{"line_number":403,"context_line":"                          .get(inst_level, {})"},{"line_number":404,"context_line":"                          .get(\u0027scale_info\u0027, {}))"},{"line_number":405,"context_line":"        return {}"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def get_max_scale_level(self, flavour_id, aspect_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"32029b91_e21569e7","line":404,"range":{"start_line":401,"start_character":0,"end_line":404,"end_character":49},"updated":"2022-01-04 08:14:16.000000000","message":"\"levels\" which is the property of \"InstantiationLevels\" is required\u003dtrue, so it can be modified as follows.\n---\n            return (policy[\u0027properties\u0027][\u0027levels\u0027]\n                          .get(inst_level, {})\n                          .get(\u0027scale_info\u0027, {}))","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"896b1fb3dfc2748ff0af3ad56feaabf63e72abd5","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        policies \u003d self.get_policy_values_by_type(flavour_id,"},{"line_number":399,"context_line":"            \u0027tosca.policies.nfv.InstantiationLevels\u0027)"},{"line_number":400,"context_line":"        for policy in policies:"},{"line_number":401,"context_line":"            return (policy.get(\u0027properties\u0027, {})"},{"line_number":402,"context_line":"                          .get(\u0027levels\u0027, {})"},{"line_number":403,"context_line":"                          .get(inst_level, {})"},{"line_number":404,"context_line":"                          .get(\u0027scale_info\u0027, {}))"},{"line_number":405,"context_line":"        return {}"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def get_max_scale_level(self, flavour_id, aspect_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"51179cd3_06de6022","line":404,"range":{"start_line":401,"start_character":0,"end_line":404,"end_character":49},"in_reply_to":"095f6d96_1bd41c7b","updated":"2022-01-05 06:45:19.000000000","message":"Done","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"8eb9863e25030a7b5b1ea84764653fc52ea351ec","unresolved":true,"context_lines":[{"line_number":398,"context_line":"        policies \u003d self.get_policy_values_by_type(flavour_id,"},{"line_number":399,"context_line":"            \u0027tosca.policies.nfv.InstantiationLevels\u0027)"},{"line_number":400,"context_line":"        for policy in policies:"},{"line_number":401,"context_line":"            return (policy.get(\u0027properties\u0027, {})"},{"line_number":402,"context_line":"                          .get(\u0027levels\u0027, {})"},{"line_number":403,"context_line":"                          .get(inst_level, {})"},{"line_number":404,"context_line":"                          .get(\u0027scale_info\u0027, {}))"},{"line_number":405,"context_line":"        return {}"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def get_max_scale_level(self, flavour_id, aspect_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"095f6d96_1bd41c7b","line":404,"range":{"start_line":401,"start_character":0,"end_line":404,"end_character":49},"in_reply_to":"32029b91_e21569e7","updated":"2022-01-04 22:29:00.000000000","message":"I see. I will fix.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6e1f9383f51d9338f0a252d615550c582167c239","unresolved":true,"context_lines":[{"line_number":408,"context_line":"        aspects \u003d self.get_policy_values_by_type(flavour_id,"},{"line_number":409,"context_line":"            \u0027tosca.policies.nfv.ScalingAspects\u0027)"},{"line_number":410,"context_line":"        for aspect in aspects:"},{"line_number":411,"context_line":"            value \u003d (aspect.get(\u0027properties\u0027, {})"},{"line_number":412,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":413,"context_line":"                           .get(aspect_id))"},{"line_number":414,"context_line":"            if value is not None:"},{"line_number":415,"context_line":"                return value[\u0027max_scale_level\u0027]"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"04c816b1_51c52fd2","line":413,"range":{"start_line":411,"start_character":0,"end_line":413,"end_character":43},"updated":"2022-01-04 08:14:16.000000000","message":"\"aspects\" which is the property of \"ScalingAspects\" is required\u003dtrue, so it can be modified as follows.\n---\n            value \u003d (aspect[\u0027properties\u0027][\u0027aspects\u0027]\n                           .get(aspect_id))","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"8eb9863e25030a7b5b1ea84764653fc52ea351ec","unresolved":true,"context_lines":[{"line_number":408,"context_line":"        aspects \u003d self.get_policy_values_by_type(flavour_id,"},{"line_number":409,"context_line":"            \u0027tosca.policies.nfv.ScalingAspects\u0027)"},{"line_number":410,"context_line":"        for aspect in aspects:"},{"line_number":411,"context_line":"            value \u003d (aspect.get(\u0027properties\u0027, {})"},{"line_number":412,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":413,"context_line":"                           .get(aspect_id))"},{"line_number":414,"context_line":"            if value is not None:"},{"line_number":415,"context_line":"                return value[\u0027max_scale_level\u0027]"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"4a10ad43_4ffc82f3","line":413,"range":{"start_line":411,"start_character":0,"end_line":413,"end_character":43},"in_reply_to":"04c816b1_51c52fd2","updated":"2022-01-04 22:29:00.000000000","message":"I see. I will fix.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"896b1fb3dfc2748ff0af3ad56feaabf63e72abd5","unresolved":false,"context_lines":[{"line_number":408,"context_line":"        aspects \u003d self.get_policy_values_by_type(flavour_id,"},{"line_number":409,"context_line":"            \u0027tosca.policies.nfv.ScalingAspects\u0027)"},{"line_number":410,"context_line":"        for aspect in aspects:"},{"line_number":411,"context_line":"            value \u003d (aspect.get(\u0027properties\u0027, {})"},{"line_number":412,"context_line":"                           .get(\u0027aspects\u0027, {})"},{"line_number":413,"context_line":"                           .get(aspect_id))"},{"line_number":414,"context_line":"            if value is not None:"},{"line_number":415,"context_line":"                return value[\u0027max_scale_level\u0027]"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7640c64d_d59bba9c","line":413,"range":{"start_line":411,"start_character":0,"end_line":413,"end_character":43},"in_reply_to":"4a10ad43_4ffc82f3","updated":"2022-01-05 06:45:19.000000000","message":"Done","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"33b110a33a4fc3e8a72a3b9c2880169f38ff119e","unresolved":true,"context_lines":[{"line_number":366,"context_line":"        for aspect in aspects:"},{"line_number":367,"context_line":"            value \u003d aspect[\u0027properties\u0027][\u0027aspects\u0027].get(aspect_id)"},{"line_number":368,"context_line":"            if value is not None:"},{"line_number":369,"context_line":"                # NOTE: expect there is one delta. it is a limitation"},{"line_number":370,"context_line":"                # in the current implementation."},{"line_number":371,"context_line":"                delta \u003d value[\u0027step_deltas\u0027][0]"},{"line_number":372,"context_line":"                break"},{"line_number":373,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bd885f14_2d3c64e5","line":370,"range":{"start_line":369,"start_character":16,"end_line":370,"end_character":48},"updated":"2022-01-06 08:09:30.000000000","message":"I think it\u0027s better to describe that the current implementation supports only uniform deltas and not non-uniform deltas, according to the Spec.\n---\nhttps://specs.openstack.org/openstack/tacker-specs/specs/yoga/enhance-nfv-solv3-lcm-operation.html\n---\nTacker does not support non-uniform deltas defined in ETSI NFV SOL001 8. Therefore, uniform delta corresponding to “number_of_instances” can be set and “number_of_instances” is the same regardless of scale_level.","commit_id":"376324e9cbbf6d246a51021c741863a388b4e15b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"674bcbfc63f9178aabf5c7f68d5c43c05ce943cd","unresolved":true,"context_lines":[{"line_number":366,"context_line":"        for aspect in aspects:"},{"line_number":367,"context_line":"            value \u003d aspect[\u0027properties\u0027][\u0027aspects\u0027].get(aspect_id)"},{"line_number":368,"context_line":"            if value is not None:"},{"line_number":369,"context_line":"                # NOTE: expect there is one delta. it is a limitation"},{"line_number":370,"context_line":"                # in the current implementation."},{"line_number":371,"context_line":"                delta \u003d value[\u0027step_deltas\u0027][0]"},{"line_number":372,"context_line":"                break"},{"line_number":373,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"c9070bf3_c45c574c","line":370,"range":{"start_line":369,"start_character":16,"end_line":370,"end_character":48},"in_reply_to":"bd885f14_2d3c64e5","updated":"2022-01-06 23:29:38.000000000","message":"I see. I will add a comment.","commit_id":"376324e9cbbf6d246a51021c741863a388b4e15b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"eb68927eba9d7d89c8a063503b3ae37ffe255b3c","unresolved":false,"context_lines":[{"line_number":366,"context_line":"        for aspect in aspects:"},{"line_number":367,"context_line":"            value \u003d aspect[\u0027properties\u0027][\u0027aspects\u0027].get(aspect_id)"},{"line_number":368,"context_line":"            if value is not None:"},{"line_number":369,"context_line":"                # NOTE: expect there is one delta. it is a limitation"},{"line_number":370,"context_line":"                # in the current implementation."},{"line_number":371,"context_line":"                delta \u003d value[\u0027step_deltas\u0027][0]"},{"line_number":372,"context_line":"                break"},{"line_number":373,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"057751e0_09531d4f","line":370,"range":{"start_line":369,"start_character":16,"end_line":370,"end_character":48},"in_reply_to":"c9070bf3_c45c574c","updated":"2022-01-11 01:40:12.000000000","message":"Done","commit_id":"376324e9cbbf6d246a51021c741863a388b4e15b"}],"tacker/sol_refactored/conductor/vnflcm_driver_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"50ae1235dd1947873bac36a162239f23fe7ab8e7","unresolved":true,"context_lines":[{"line_number":200,"context_line":"            raise sol_ex.RollbackNotSupported(op\u003dlcmocc.operation)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    def _get_link_ports(self, inst_req):"},{"line_number":203,"context_line":"        names \u003d set()"},{"line_number":204,"context_line":"        if inst_req.obj_attr_is_set(\u0027extVirtualLinks\u0027):"},{"line_number":205,"context_line":"            for ext_vl in inst_req.extVirtualLinks:"},{"line_number":206,"context_line":"                for ext_cp in ext_vl.extCps:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f97d931_0baeabea","line":203,"updated":"2021-12-20 08:08:16.000000000","message":"Did you change the data type from list to set because you want to eliminate duplicate elements?","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0bbe683505f676b8703ae6326e6e93cc72c02d40","unresolved":true,"context_lines":[{"line_number":200,"context_line":"            raise sol_ex.RollbackNotSupported(op\u003dlcmocc.operation)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    def _get_link_ports(self, inst_req):"},{"line_number":203,"context_line":"        names \u003d set()"},{"line_number":204,"context_line":"        if inst_req.obj_attr_is_set(\u0027extVirtualLinks\u0027):"},{"line_number":205,"context_line":"            for ext_vl in inst_req.extVirtualLinks:"},{"line_number":206,"context_line":"                for ext_cp in ext_vl.extCps:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bbabc153_1c1f5ab2","line":203,"in_reply_to":"5f97d931_0baeabea","updated":"2021-12-20 22:25:48.000000000","message":"see L.273. it is changed to set to take difference between another set(list).","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"8f6c72eab440756a53c5e7cc95ef1996c2a3a80a","unresolved":false,"context_lines":[{"line_number":200,"context_line":"            raise sol_ex.RollbackNotSupported(op\u003dlcmocc.operation)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    def _get_link_ports(self, inst_req):"},{"line_number":203,"context_line":"        names \u003d set()"},{"line_number":204,"context_line":"        if inst_req.obj_attr_is_set(\u0027extVirtualLinks\u0027):"},{"line_number":205,"context_line":"            for ext_vl in inst_req.extVirtualLinks:"},{"line_number":206,"context_line":"                for ext_cp in ext_vl.extCps:"}],"source_content_type":"text/x-python","patch_set":1,"id":"21d71fb5_4f07b086","line":203,"in_reply_to":"bbabc153_1c1f5ab2","updated":"2021-12-21 00:19:24.000000000","message":"Thank you for the answer. I got it.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5a5c1631d22a2a6f2cb4b3435a7d1f450fc9e19d","unresolved":true,"context_lines":[{"line_number":146,"context_line":"            if scale_status:"},{"line_number":147,"context_line":"                inst_info.scaleStatus \u003d scale_status"},{"line_number":148,"context_line":"                inst_info.maxScaleLevels \u003d max_scale_levels"},{"line_number":149,"context_line":"        elif lcmocc.operation !\u003d v2fields.LcmOperationType.TERMINATE:"},{"line_number":150,"context_line":"            if inst_info_saved.obj_attr_is_set(\u0027scaleStatus\u0027):"},{"line_number":151,"context_line":"                inst_info.scaleStatus \u003d inst_info_saved.scaleStatus"},{"line_number":152,"context_line":"                inst_info.maxScaleLevels \u003d inst_info_saved.maxScaleLevels"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":155,"context_line":"            # adjust scaleStatus"}],"source_content_type":"text/x-python","patch_set":3,"id":"36f1b773_e1039884","line":152,"range":{"start_line":149,"start_character":0,"end_line":152,"end_character":73},"updated":"2021-12-22 05:30:18.000000000","message":"inst_saved \u003d inst.obj_clone()\n---\nThe contents of instantiatedVnfInfo were also cloned by the above process of \"process()\" which is the caller of this function, and I thought that this process was unnecessary.\nYou need it?","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6295bd1c812c133ad70482140f8863906d4dd823","unresolved":true,"context_lines":[{"line_number":146,"context_line":"            if scale_status:"},{"line_number":147,"context_line":"                inst_info.scaleStatus \u003d scale_status"},{"line_number":148,"context_line":"                inst_info.maxScaleLevels \u003d max_scale_levels"},{"line_number":149,"context_line":"        elif lcmocc.operation !\u003d v2fields.LcmOperationType.TERMINATE:"},{"line_number":150,"context_line":"            if inst_info_saved.obj_attr_is_set(\u0027scaleStatus\u0027):"},{"line_number":151,"context_line":"                inst_info.scaleStatus \u003d inst_info_saved.scaleStatus"},{"line_number":152,"context_line":"                inst_info.maxScaleLevels \u003d inst_info_saved.maxScaleLevels"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":155,"context_line":"            # adjust scaleStatus"}],"source_content_type":"text/x-python","patch_set":3,"id":"974c11f1_f8e15d9d","line":152,"range":{"start_line":149,"start_character":0,"end_line":152,"end_character":73},"in_reply_to":"36f1b773_e1039884","updated":"2021-12-22 23:16:33.000000000","message":"instantiatedVnfInfo may be re-created by infra_driver. so it is not guaranteed that scaleStatus is left. (see. infra_drivers/openstack/openstack.py L.699)","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"34e75b5b69f367e6e8f0b12c640df06c6a1fde85","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            if scale_status:"},{"line_number":147,"context_line":"                inst_info.scaleStatus \u003d scale_status"},{"line_number":148,"context_line":"                inst_info.maxScaleLevels \u003d max_scale_levels"},{"line_number":149,"context_line":"        elif lcmocc.operation !\u003d v2fields.LcmOperationType.TERMINATE:"},{"line_number":150,"context_line":"            if inst_info_saved.obj_attr_is_set(\u0027scaleStatus\u0027):"},{"line_number":151,"context_line":"                inst_info.scaleStatus \u003d inst_info_saved.scaleStatus"},{"line_number":152,"context_line":"                inst_info.maxScaleLevels \u003d inst_info_saved.maxScaleLevels"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":155,"context_line":"            # adjust scaleStatus"}],"source_content_type":"text/x-python","patch_set":3,"id":"980c3ac9_7e67a4a0","line":152,"range":{"start_line":149,"start_character":0,"end_line":152,"end_character":73},"in_reply_to":"974c11f1_f8e15d9d","updated":"2021-12-23 00:06:33.000000000","message":"Okay, I see.","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5a5c1631d22a2a6f2cb4b3435a7d1f450fc9e19d","unresolved":true,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":155,"context_line":"            # adjust scaleStatus"},{"line_number":156,"context_line":"            num_steps \u003d 1"},{"line_number":157,"context_line":"            if req.obj_attr_is_set(\u0027numberOfSteps\u0027):"},{"line_number":158,"context_line":"                num_steps \u003d req.numberOfSteps"},{"line_number":159,"context_line":"            if req.type \u003d\u003d \u0027SCALE_IN\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"43b727cf_8c6ee167","line":156,"updated":"2021-12-22 05:30:18.000000000","message":"I think that the initial value is 1 because the default value according to the SOL definition is 1, so it\u0027s better to write a comment.","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6295bd1c812c133ad70482140f8863906d4dd823","unresolved":true,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":155,"context_line":"            # adjust scaleStatus"},{"line_number":156,"context_line":"            num_steps \u003d 1"},{"line_number":157,"context_line":"            if req.obj_attr_is_set(\u0027numberOfSteps\u0027):"},{"line_number":158,"context_line":"                num_steps \u003d req.numberOfSteps"},{"line_number":159,"context_line":"            if req.type \u003d\u003d \u0027SCALE_IN\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"4d189574_247d3213","line":156,"in_reply_to":"43b727cf_8c6ee167","updated":"2021-12-22 23:16:33.000000000","message":"I see. I will add a comment.","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"34e75b5b69f367e6e8f0b12c640df06c6a1fde85","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if lcmocc.operation \u003d\u003d v2fields.LcmOperationType.SCALE:"},{"line_number":155,"context_line":"            # adjust scaleStatus"},{"line_number":156,"context_line":"            num_steps \u003d 1"},{"line_number":157,"context_line":"            if req.obj_attr_is_set(\u0027numberOfSteps\u0027):"},{"line_number":158,"context_line":"                num_steps \u003d req.numberOfSteps"},{"line_number":159,"context_line":"            if req.type \u003d\u003d \u0027SCALE_IN\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"995f0833_f37c587e","line":156,"in_reply_to":"4d189574_247d3213","updated":"2021-12-23 00:06:33.000000000","message":"Done","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4a604e867fdd620581c74b39b9d9fc806336be20","unresolved":true,"context_lines":[{"line_number":231,"context_line":"            for cp_name in cp_names:"},{"line_number":232,"context_line":"                add_reses.append("},{"line_number":233,"context_line":"                    objects.ResourceDefinitionV1("},{"line_number":234,"context_line":"                        id\u003d\"{}-{}\".format(cp_name, vdu_res_id),"},{"line_number":235,"context_line":"                        type\u003d\u0027LINKPORT\u0027,"},{"line_number":236,"context_line":"                        resourceTemplateId\u003dcp_name"},{"line_number":237,"context_line":"                    )"}],"source_content_type":"text/x-python","patch_set":5,"id":"98435dac_0cde5ffd","line":234,"range":{"start_line":234,"start_character":24,"end_line":234,"end_character":62},"updated":"2021-12-23 05:32:36.000000000","message":"What is the benefit of having this naming convention for this ID?","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"4354828ecf257a43f9140ab5297a1d19da0464f6","unresolved":true,"context_lines":[{"line_number":231,"context_line":"            for cp_name in cp_names:"},{"line_number":232,"context_line":"                add_reses.append("},{"line_number":233,"context_line":"                    objects.ResourceDefinitionV1("},{"line_number":234,"context_line":"                        id\u003d\"{}-{}\".format(cp_name, vdu_res_id),"},{"line_number":235,"context_line":"                        type\u003d\u0027LINKPORT\u0027,"},{"line_number":236,"context_line":"                        resourceTemplateId\u003dcp_name"},{"line_number":237,"context_line":"                    )"}],"source_content_type":"text/x-python","patch_set":5,"id":"af1a5c51_35d42b65","line":234,"range":{"start_line":234,"start_character":24,"end_line":234,"end_character":62},"in_reply_to":"98435dac_0cde5ffd","updated":"2021-12-26 23:36:55.000000000","message":"I think it is easy to understand the correspondence of VDU and the CP than making it random (generate_uuid).","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"94a4a9447adf240b7bd0d321c9e426640ca0dc61","unresolved":false,"context_lines":[{"line_number":231,"context_line":"            for cp_name in cp_names:"},{"line_number":232,"context_line":"                add_reses.append("},{"line_number":233,"context_line":"                    objects.ResourceDefinitionV1("},{"line_number":234,"context_line":"                        id\u003d\"{}-{}\".format(cp_name, vdu_res_id),"},{"line_number":235,"context_line":"                        type\u003d\u0027LINKPORT\u0027,"},{"line_number":236,"context_line":"                        resourceTemplateId\u003dcp_name"},{"line_number":237,"context_line":"                    )"}],"source_content_type":"text/x-python","patch_set":5,"id":"028cebc1_3ecbf86c","line":234,"range":{"start_line":234,"start_character":24,"end_line":234,"end_character":62},"in_reply_to":"af1a5c51_35d42b65","updated":"2021-12-27 00:30:18.000000000","message":"Okay, I got it.","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"34e75b5b69f367e6e8f0b12c640df06c6a1fde85","unresolved":true,"context_lines":[{"line_number":503,"context_line":"        flavour_id \u003d inst.instantiatedVnfInfo.flavourId"},{"line_number":504,"context_line":"        scale_type \u003d req.type"},{"line_number":505,"context_line":"        aspect_id \u003d req.aspectId"},{"line_number":506,"context_line":"        num_steps \u003d 1"},{"line_number":507,"context_line":"        if req.obj_attr_is_set(\u0027numberOfSteps\u0027):"},{"line_number":508,"context_line":"            num_steps \u003d req.numberOfSteps"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        vdu_num_inst \u003d vnfd.get_scale_vdu_and_num(flavour_id, aspect_id)"},{"line_number":511,"context_line":"        if not vdu_num_inst:"}],"source_content_type":"text/x-python","patch_set":5,"id":"cce8b823_16a7e9fb","line":508,"range":{"start_line":506,"start_character":8,"end_line":508,"end_character":41},"updated":"2021-12-23 00:06:33.000000000","message":"tacker/sol_refactored/conductor/vnflcm_driver_v2.py L156\ntacker/sol_refactored/conductor/vnflcm_driver_v2.py L506\ntacker/sol_refactored/controller/vnflcm_v2.py L244\n---\nAlthough it is related to what I have already commented on, I think that the code considering the following is defined in the above 3 points about \"numberOfSteps\".\n* 1 is set as the initial value and it will be overwrited when it is set in the request-body\n* For Scale-in, multiply by -1\nIs it possible to eliminate the need for consideration in each code by commonizing this process as a new util function?","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4a604e867fdd620581c74b39b9d9fc806336be20","unresolved":false,"context_lines":[{"line_number":503,"context_line":"        flavour_id \u003d inst.instantiatedVnfInfo.flavourId"},{"line_number":504,"context_line":"        scale_type \u003d req.type"},{"line_number":505,"context_line":"        aspect_id \u003d req.aspectId"},{"line_number":506,"context_line":"        num_steps \u003d 1"},{"line_number":507,"context_line":"        if req.obj_attr_is_set(\u0027numberOfSteps\u0027):"},{"line_number":508,"context_line":"            num_steps \u003d req.numberOfSteps"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        vdu_num_inst \u003d vnfd.get_scale_vdu_and_num(flavour_id, aspect_id)"},{"line_number":511,"context_line":"        if not vdu_num_inst:"}],"source_content_type":"text/x-python","patch_set":5,"id":"473ac551_9ea13a35","line":508,"range":{"start_line":506,"start_character":8,"end_line":508,"end_character":41},"in_reply_to":"4e888e29_98e93e99","updated":"2021-12-23 05:32:36.000000000","message":"Thank you for the modification.\nI confirmed that.","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"dde6710ff37f0848c0245ad8975ac22e5ad337e9","unresolved":true,"context_lines":[{"line_number":503,"context_line":"        flavour_id \u003d inst.instantiatedVnfInfo.flavourId"},{"line_number":504,"context_line":"        scale_type \u003d req.type"},{"line_number":505,"context_line":"        aspect_id \u003d req.aspectId"},{"line_number":506,"context_line":"        num_steps \u003d 1"},{"line_number":507,"context_line":"        if req.obj_attr_is_set(\u0027numberOfSteps\u0027):"},{"line_number":508,"context_line":"            num_steps \u003d req.numberOfSteps"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        vdu_num_inst \u003d vnfd.get_scale_vdu_and_num(flavour_id, aspect_id)"},{"line_number":511,"context_line":"        if not vdu_num_inst:"}],"source_content_type":"text/x-python","patch_set":5,"id":"4e888e29_98e93e99","line":508,"range":{"start_line":506,"start_character":8,"end_line":508,"end_character":41},"in_reply_to":"cce8b823_16a7e9fb","updated":"2021-12-23 00:43:01.000000000","message":"Hmm, about the first item I think it is better to set the value in the controller so that it is not necessary to check the conductor. I will change the code.\nAbout the second item I think it is not necessary to make it method because it is only convenience for the calculation.","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"}],"tacker/sol_refactored/controller/vnflcm_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5a5c1631d22a2a6f2cb4b3435a7d1f450fc9e19d","unresolved":true,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # check parameters"},{"line_number":243,"context_line":"        aspect_id \u003d body[\u0027aspectId\u0027]"},{"line_number":244,"context_line":"        num_steps \u003d 1"},{"line_number":245,"context_line":"        if \u0027numberOfSteps\u0027 in body:"},{"line_number":246,"context_line":"            num_steps \u003d body[\u0027numberOfSteps\u0027]"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"0e4a0d8d_6e50c8c8","line":244,"updated":"2021-12-22 05:30:18.000000000","message":"I think that the initial value is 1 because the default value according to the SOL definition is 1, so it\u0027s better to write a comment.","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6295bd1c812c133ad70482140f8863906d4dd823","unresolved":true,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # check parameters"},{"line_number":243,"context_line":"        aspect_id \u003d body[\u0027aspectId\u0027]"},{"line_number":244,"context_line":"        num_steps \u003d 1"},{"line_number":245,"context_line":"        if \u0027numberOfSteps\u0027 in body:"},{"line_number":246,"context_line":"            num_steps \u003d body[\u0027numberOfSteps\u0027]"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"adf8a118_bca4028e","line":244,"in_reply_to":"0e4a0d8d_6e50c8c8","updated":"2021-12-22 23:16:33.000000000","message":"I see. I will add a comment.","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"34e75b5b69f367e6e8f0b12c640df06c6a1fde85","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # check parameters"},{"line_number":243,"context_line":"        aspect_id \u003d body[\u0027aspectId\u0027]"},{"line_number":244,"context_line":"        num_steps \u003d 1"},{"line_number":245,"context_line":"        if \u0027numberOfSteps\u0027 in body:"},{"line_number":246,"context_line":"            num_steps \u003d body[\u0027numberOfSteps\u0027]"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dffaf29d_5376e13e","line":244,"in_reply_to":"adf8a118_bca4028e","updated":"2021-12-23 00:06:33.000000000","message":"Done","commit_id":"5fe32c386a1207294b8a1c5ea35274556d7d4b44"}],"tacker/sol_refactored/infra_drivers/openstack/heat_utils.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":136,"context_line":"            \"mark_unhealthy\": True,"},{"line_number":137,"context_line":"            \"resource_status_reason\": \"marked by tacker\""},{"line_number":138,"context_line":"        }"},{"line_number":139,"context_line":"        resp, body \u003d self.client.do_request(path, \"PATCH\","},{"line_number":140,"context_line":"                 expected_status\u003d[200], body\u003dfields)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"438d467f_bf67cedd","line":139,"updated":"2022-01-06 02:03:04.000000000","message":"Why not use python-heatclient for Heat API calls?\npython-heatclient was used in v1, but it has been changed to its own code in v2.\n\n[v1]\nhttps://opendev.org/openstack/tacker/src/branch/stable/xena/tacker/common/clients.py\nhttps://opendev.org/openstack/tacker/src/branch/stable/xena/tacker/vnfm/infra_drivers/openstack/heat_client.py","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":136,"context_line":"            \"mark_unhealthy\": True,"},{"line_number":137,"context_line":"            \"resource_status_reason\": \"marked by tacker\""},{"line_number":138,"context_line":"        }"},{"line_number":139,"context_line":"        resp, body \u003d self.client.do_request(path, \"PATCH\","},{"line_number":140,"context_line":"                 expected_status\u003d[200], body\u003dfields)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"acdaada4_a5f2af75","line":139,"in_reply_to":"438d467f_bf67cedd","updated":"2022-01-06 02:57:05.000000000","message":"I don\u0027t adopt python-heatclient because it returns own object which does not follow REST API exactly. So I thought it is risky to depend on it.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            \"mark_unhealthy\": True,"},{"line_number":137,"context_line":"            \"resource_status_reason\": \"marked by tacker\""},{"line_number":138,"context_line":"        }"},{"line_number":139,"context_line":"        resp, body \u003d self.client.do_request(path, \"PATCH\","},{"line_number":140,"context_line":"                 expected_status\u003d[200], body\u003dfields)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"f76df655_bcdab4ec","line":139,"in_reply_to":"acdaada4_a5f2af75","updated":"2022-01-06 04:56:43.000000000","message":"Thank you for your explanation. I understand.\n(Although the argument of \"return_raw\" is prepared, it cannot be set when using stack create…\nhttps://opendev.org/openstack/python-heatclient/src/branch/stable/xena/heatclient/common/base.py#L149\nhttps://opendev.org/openstack/python-heatclient/src/branch/stable/xena/heatclient/common/base.py#L307-L310 )\n\nEven if we use python-heatclient, the amount of code will not be greatly reduced, so I think there is no problem.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"}],"tacker/sol_refactored/infra_drivers/openstack/openstack.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4a604e867fdd620581c74b39b9d9fc806336be20","unresolved":true,"context_lines":[{"line_number":44,"context_line":"    def __init__(self):"},{"line_number":45,"context_line":"        pass"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def make_hot(self, req, inst, grant_req, grant, vnfd):"},{"line_number":48,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":49,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":50,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"efcd3ba5_554383b2","line":47,"updated":"2021-12-23 05:32:36.000000000","message":"Since this function is only called from within this class, can it be \"_make_hot\"?\nOr do you expect to be called from another class in the future?\nIn addition, unless there is a special reason, I thought that the definition location of this function should be after \"scale_rollback\" with following existing code, but what do you think?","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"94a4a9447adf240b7bd0d321c9e426640ca0dc61","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def __init__(self):"},{"line_number":45,"context_line":"        pass"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def make_hot(self, req, inst, grant_req, grant, vnfd):"},{"line_number":48,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":49,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":50,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"24607f3e_90fa9e6d","line":47,"in_reply_to":"8c6d3322_228a68ac","updated":"2021-12-27 00:30:18.000000000","message":"Done","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"4354828ecf257a43f9140ab5297a1d19da0464f6","unresolved":true,"context_lines":[{"line_number":44,"context_line":"    def __init__(self):"},{"line_number":45,"context_line":"        pass"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def make_hot(self, req, inst, grant_req, grant, vnfd):"},{"line_number":48,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":49,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":50,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"8c6d3322_228a68ac","line":47,"in_reply_to":"efcd3ba5_554383b2","updated":"2021-12-26 23:36:55.000000000","message":"I don\u0027t have a strong reason of method naming and place of methods. Ok, I will change the name and place.","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4a604e867fdd620581c74b39b9d9fc806336be20","unresolved":true,"context_lines":[{"line_number":549,"context_line":""},{"line_number":550,"context_line":"        return metadata"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    def make_instantiated_vnf_info(self, req, inst, grant_req, grant, vnfd,"},{"line_number":553,"context_line":"            heat_reses):"},{"line_number":554,"context_line":"        init \u003d False"},{"line_number":555,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"}],"source_content_type":"text/x-python","patch_set":5,"id":"fee9fde9_67f5dde0","line":552,"updated":"2021-12-23 05:32:36.000000000","message":"Same with \"make_hot\".\nSince this function is only called from within this class, can it be \"_make_instantiated_vnf_info\"?","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"94a4a9447adf240b7bd0d321c9e426640ca0dc61","unresolved":false,"context_lines":[{"line_number":549,"context_line":""},{"line_number":550,"context_line":"        return metadata"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    def make_instantiated_vnf_info(self, req, inst, grant_req, grant, vnfd,"},{"line_number":553,"context_line":"            heat_reses):"},{"line_number":554,"context_line":"        init \u003d False"},{"line_number":555,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1fbf2379_ac1c8442","line":552,"in_reply_to":"391bbb9a_034ebd4e","updated":"2021-12-27 00:30:18.000000000","message":"Done","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"4354828ecf257a43f9140ab5297a1d19da0464f6","unresolved":true,"context_lines":[{"line_number":549,"context_line":""},{"line_number":550,"context_line":"        return metadata"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    def make_instantiated_vnf_info(self, req, inst, grant_req, grant, vnfd,"},{"line_number":553,"context_line":"            heat_reses):"},{"line_number":554,"context_line":"        init \u003d False"},{"line_number":555,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"}],"source_content_type":"text/x-python","patch_set":5,"id":"391bbb9a_034ebd4e","line":552,"in_reply_to":"fee9fde9_67f5dde0","updated":"2021-12-26 23:36:55.000000000","message":"Ok, I will change.","commit_id":"14fed99218fae96c567a7918e6bb1d4393274487"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"768443a128eb824e27beafe67daa5adde0f548fc","unresolved":true,"context_lines":[{"line_number":157,"context_line":"        # update (put back) \u0027desired_capacity\u0027 parameter"},{"line_number":158,"context_line":"        hot_dict \u003d vnfd.get_base_hot(inst.instantiatedVnfInfo.flavourId)"},{"line_number":159,"context_line":"        top_hot \u003d hot_dict[\u0027template\u0027]"},{"line_number":160,"context_line":"        nfv_dict \u003d userdata_utils.init_nfv_dict(top_hot)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        vdus \u003d {}"},{"line_number":163,"context_line":"        for vdu_name, vdu_value in nfv_dict.get(\u0027VDU\u0027, {}).items():"}],"source_content_type":"text/x-python","patch_set":8,"id":"2de5f913_2d40e83e","line":160,"range":{"start_line":160,"start_character":19,"end_line":160,"end_character":33},"updated":"2022-01-05 07:50:26.000000000","message":"\"userdata_utils\" is a utils for calling from a userdata-scripts, and I felt it was not so good to call from this \"infra_drivers\", but what do you think?","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"13459564492e9d06c9b0cff38bbacfa300a9326c","unresolved":true,"context_lines":[{"line_number":157,"context_line":"        # update (put back) \u0027desired_capacity\u0027 parameter"},{"line_number":158,"context_line":"        hot_dict \u003d vnfd.get_base_hot(inst.instantiatedVnfInfo.flavourId)"},{"line_number":159,"context_line":"        top_hot \u003d hot_dict[\u0027template\u0027]"},{"line_number":160,"context_line":"        nfv_dict \u003d userdata_utils.init_nfv_dict(top_hot)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        vdus \u003d {}"},{"line_number":163,"context_line":"        for vdu_name, vdu_value in nfv_dict.get(\u0027VDU\u0027, {}).items():"}],"source_content_type":"text/x-python","patch_set":8,"id":"6eac483c_f04718f2","line":160,"range":{"start_line":160,"start_character":19,"end_line":160,"end_character":33},"in_reply_to":"2de5f913_2d40e83e","updated":"2022-01-06 00:13:49.000000000","message":"I think it is better that the part of making \u0027fields\u0027 is in userdata_default.py although it is not called by userdata script. I will change. Please check it.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4fcedf1a9cee9149d14c967f47546542a7573b54","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        # update (put back) \u0027desired_capacity\u0027 parameter"},{"line_number":158,"context_line":"        hot_dict \u003d vnfd.get_base_hot(inst.instantiatedVnfInfo.flavourId)"},{"line_number":159,"context_line":"        top_hot \u003d hot_dict[\u0027template\u0027]"},{"line_number":160,"context_line":"        nfv_dict \u003d userdata_utils.init_nfv_dict(top_hot)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        vdus \u003d {}"},{"line_number":163,"context_line":"        for vdu_name, vdu_value in nfv_dict.get(\u0027VDU\u0027, {}).items():"}],"source_content_type":"text/x-python","patch_set":8,"id":"e309065f_cb64d091","line":160,"range":{"start_line":160,"start_character":19,"end_line":160,"end_character":33},"in_reply_to":"6eac483c_f04718f2","updated":"2022-01-06 05:38:45.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"768443a128eb824e27beafe67daa5adde0f548fc","unresolved":true,"context_lines":[{"line_number":162,"context_line":"        vdus \u003d {}"},{"line_number":163,"context_line":"        for vdu_name, vdu_value in nfv_dict.get(\u0027VDU\u0027, {}).items():"},{"line_number":164,"context_line":"            if \u0027desired_capacity\u0027 in vdu_value:"},{"line_number":165,"context_line":"                capacity \u003d userdata_utils.get_current_capacity("},{"line_number":166,"context_line":"                    vdu_name, inst)"},{"line_number":167,"context_line":"                vdus[vdu_name] \u003d {\u0027desired_capacity\u0027: capacity}"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"50ff5ec0_3dd1d14f","line":165,"updated":"2022-01-05 07:50:26.000000000","message":"ditto","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"13459564492e9d06c9b0cff38bbacfa300a9326c","unresolved":true,"context_lines":[{"line_number":162,"context_line":"        vdus \u003d {}"},{"line_number":163,"context_line":"        for vdu_name, vdu_value in nfv_dict.get(\u0027VDU\u0027, {}).items():"},{"line_number":164,"context_line":"            if \u0027desired_capacity\u0027 in vdu_value:"},{"line_number":165,"context_line":"                capacity \u003d userdata_utils.get_current_capacity("},{"line_number":166,"context_line":"                    vdu_name, inst)"},{"line_number":167,"context_line":"                vdus[vdu_name] \u003d {\u0027desired_capacity\u0027: capacity}"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"d30114ec_17a20dc4","line":165,"in_reply_to":"50ff5ec0_3dd1d14f","updated":"2022-01-06 00:13:49.000000000","message":"ditto","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4fcedf1a9cee9149d14c967f47546542a7573b54","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        vdus \u003d {}"},{"line_number":163,"context_line":"        for vdu_name, vdu_value in nfv_dict.get(\u0027VDU\u0027, {}).items():"},{"line_number":164,"context_line":"            if \u0027desired_capacity\u0027 in vdu_value:"},{"line_number":165,"context_line":"                capacity \u003d userdata_utils.get_current_capacity("},{"line_number":166,"context_line":"                    vdu_name, inst)"},{"line_number":167,"context_line":"                vdus[vdu_name] \u003d {\u0027desired_capacity\u0027: capacity}"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bbdb477f_ce1b5c33","line":165,"in_reply_to":"d30114ec_17a20dc4","updated":"2022-01-06 05:38:45.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"768443a128eb824e27beafe67daa5adde0f548fc","unresolved":true,"context_lines":[{"line_number":331,"context_line":"                link_port \u003d objects.ExtLinkPortInfoV2("},{"line_number":332,"context_line":"                    # prepend \u0027req-\u0027 to distinguish from ports which are"},{"line_number":333,"context_line":"                    # created by heat."},{"line_number":334,"context_line":"                    id\u003d\"req-{}\".format(req_link_port.id),"},{"line_number":335,"context_line":"                    resourceHandle\u003dreq_link_port.resourceHandle,"},{"line_number":336,"context_line":"                )"},{"line_number":337,"context_line":"                ext_cp_info \u003d objects.VnfExtCpInfoV2("}],"source_content_type":"text/x-python","patch_set":8,"id":"1831424b_93070f1a","line":334,"updated":"2022-01-05 07:50:26.000000000","message":"Since there are multiple places that are aware that id starts with \u0027req-\u0027, so I recommend to define as a constant like follows.\n---\nPREFIX \u003d \u0027req-\u0027","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"13459564492e9d06c9b0cff38bbacfa300a9326c","unresolved":true,"context_lines":[{"line_number":331,"context_line":"                link_port \u003d objects.ExtLinkPortInfoV2("},{"line_number":332,"context_line":"                    # prepend \u0027req-\u0027 to distinguish from ports which are"},{"line_number":333,"context_line":"                    # created by heat."},{"line_number":334,"context_line":"                    id\u003d\"req-{}\".format(req_link_port.id),"},{"line_number":335,"context_line":"                    resourceHandle\u003dreq_link_port.resourceHandle,"},{"line_number":336,"context_line":"                )"},{"line_number":337,"context_line":"                ext_cp_info \u003d objects.VnfExtCpInfoV2("}],"source_content_type":"text/x-python","patch_set":8,"id":"2e7255f2_8b346b36","line":334,"in_reply_to":"1831424b_93070f1a","updated":"2022-01-06 00:13:49.000000000","message":"I see. I think it is better to make id generation method. I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4fcedf1a9cee9149d14c967f47546542a7573b54","unresolved":false,"context_lines":[{"line_number":331,"context_line":"                link_port \u003d objects.ExtLinkPortInfoV2("},{"line_number":332,"context_line":"                    # prepend \u0027req-\u0027 to distinguish from ports which are"},{"line_number":333,"context_line":"                    # created by heat."},{"line_number":334,"context_line":"                    id\u003d\"req-{}\".format(req_link_port.id),"},{"line_number":335,"context_line":"                    resourceHandle\u003dreq_link_port.resourceHandle,"},{"line_number":336,"context_line":"                )"},{"line_number":337,"context_line":"                ext_cp_info \u003d objects.VnfExtCpInfoV2("}],"source_content_type":"text/x-python","patch_set":8,"id":"b928d2ef_98167e9d","line":334,"in_reply_to":"2e7255f2_8b346b36","updated":"2022-01-06 05:38:45.000000000","message":"Thanks for your fix!\nI think it\u0027s a better fix than I recommended.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d55f09a5ed3ea30f0d7a027d584558da28c1b9e1","unresolved":true,"context_lines":[{"line_number":194,"context_line":"        # NOTE: instantiatedVnfInfo is not necessary to update since it"},{"line_number":195,"context_line":"        # should be same as before scale API started."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def _make_hot(self, req, inst, grant_req, grant, vnfd):"},{"line_number":198,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":199,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":200,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"8217110d_d86ffc6c","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":17},"updated":"2022-01-06 08:22:19.000000000","message":"Similar to \"_make_instantiated_vnf_info\", I think this method was worth making unittests, but what do you think?","commit_id":"376324e9cbbf6d246a51021c741863a388b4e15b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"674bcbfc63f9178aabf5c7f68d5c43c05ce943cd","unresolved":true,"context_lines":[{"line_number":194,"context_line":"        # NOTE: instantiatedVnfInfo is not necessary to update since it"},{"line_number":195,"context_line":"        # should be same as before scale API started."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def _make_hot(self, req, inst, grant_req, grant, vnfd):"},{"line_number":198,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":199,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":200,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"a697a6ec_9a3f33c1","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":17},"in_reply_to":"8217110d_d86ffc6c","updated":"2022-01-06 23:29:38.000000000","message":"I don\u0027t think UT of _make_hot has high priority because core methods for making HOT (defined in userdata_utils.py) are tested. Also the code itself is short and code review is easy.\n\n(making instantiatedVnfInfo is very complicated and hard to examine by real running and code review is hard. UT of it was necessary to do debugging the code before running.)","commit_id":"376324e9cbbf6d246a51021c741863a388b4e15b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"eb68927eba9d7d89c8a063503b3ae37ffe255b3c","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        # NOTE: instantiatedVnfInfo is not necessary to update since it"},{"line_number":195,"context_line":"        # should be same as before scale API started."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def _make_hot(self, req, inst, grant_req, grant, vnfd):"},{"line_number":198,"context_line":"        if grant_req.operation \u003d\u003d v2fields.LcmOperationType.INSTANTIATE:"},{"line_number":199,"context_line":"            flavour_id \u003d req.flavourId"},{"line_number":200,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"c177ec97_bb33994e","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":17},"in_reply_to":"a697a6ec_9a3f33c1","updated":"2022-01-11 01:40:12.000000000","message":"I see. No problem.","commit_id":"376324e9cbbf6d246a51021c741863a388b4e15b"}],"tacker/sol_refactored/infra_drivers/openstack/userdata_default.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def scale(req, inst, grant_req, grant, tmp_csar_dir):"},{"line_number":94,"context_line":"        # scale is insterested in \u0027desired_capacity\u0027 only."},{"line_number":95,"context_line":"        # This method returns only \u0027desired_capacity\u0027 part in the"},{"line_number":96,"context_line":"        # \u0027nfv\u0027 dict. It is applied to json merge patch against"},{"line_number":97,"context_line":"        # the existing \u0027nfv\u0027 dict by the caller."}],"source_content_type":"text/x-python","patch_set":8,"id":"65053f3a_f602e2e7","line":94,"updated":"2022-01-06 02:03:04.000000000","message":"typo: insterested -\u003e interested","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def scale(req, inst, grant_req, grant, tmp_csar_dir):"},{"line_number":94,"context_line":"        # scale is insterested in \u0027desired_capacity\u0027 only."},{"line_number":95,"context_line":"        # This method returns only \u0027desired_capacity\u0027 part in the"},{"line_number":96,"context_line":"        # \u0027nfv\u0027 dict. It is applied to json merge patch against"},{"line_number":97,"context_line":"        # the existing \u0027nfv\u0027 dict by the caller."}],"source_content_type":"text/x-python","patch_set":8,"id":"e4713622_d67d05e2","line":94,"in_reply_to":"1727d7dc_c5566228","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def scale(req, inst, grant_req, grant, tmp_csar_dir):"},{"line_number":94,"context_line":"        # scale is insterested in \u0027desired_capacity\u0027 only."},{"line_number":95,"context_line":"        # This method returns only \u0027desired_capacity\u0027 part in the"},{"line_number":96,"context_line":"        # \u0027nfv\u0027 dict. It is applied to json merge patch against"},{"line_number":97,"context_line":"        # the existing \u0027nfv\u0027 dict by the caller."}],"source_content_type":"text/x-python","patch_set":8,"id":"1727d7dc_c5566228","line":94,"in_reply_to":"65053f3a_f602e2e7","updated":"2022-01-06 02:57:05.000000000","message":"I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"}],"tacker/sol_refactored/infra_drivers/openstack/userdata_utils.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"def get_param_capacity(vdu_name, inst, grant_req):"},{"line_number":154,"context_line":"    # NOTE: refer grant_req here since interpretaion of VNFD was done when"},{"line_number":155,"context_line":"    # making grant_req."},{"line_number":156,"context_line":"    count \u003d get_current_capacity(vdu_name, inst)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"32e24e37_134f30bf","line":154,"updated":"2022-01-06 02:03:04.000000000","message":"typo: interpretaion -\u003e  interpretation","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"def get_param_capacity(vdu_name, inst, grant_req):"},{"line_number":154,"context_line":"    # NOTE: refer grant_req here since interpretaion of VNFD was done when"},{"line_number":155,"context_line":"    # making grant_req."},{"line_number":156,"context_line":"    count \u003d get_current_capacity(vdu_name, inst)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bb09601d_c3dc8f12","line":154,"in_reply_to":"32e24e37_134f30bf","updated":"2022-01-06 02:57:05.000000000","message":"I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"def get_param_capacity(vdu_name, inst, grant_req):"},{"line_number":154,"context_line":"    # NOTE: refer grant_req here since interpretaion of VNFD was done when"},{"line_number":155,"context_line":"    # making grant_req."},{"line_number":156,"context_line":"    count \u003d get_current_capacity(vdu_name, inst)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"d93deee4_f613adf5","line":154,"in_reply_to":"bb09601d_c3dc8f12","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"}],"tacker/tests/functional/sol_v2/samples/sample1/contents/BaseHOT/simple/sample1.yaml":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"a68ed54efc4d36df8c0a19a2d79be6eb6a76dfea","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"},{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"},{"line_number":39,"context_line":"      auto_scaling_group_id:"},{"line_number":40,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":41,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  VDU2:"},{"line_number":44,"context_line":"    type: OS::Nova::Server"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"172c1e3b_fc945b4a","line":41,"range":{"start_line":28,"start_character":0,"end_line":41,"end_character":41},"updated":"2021-12-27 09:16:43.000000000","message":"Since the implementation of v2-Scale-API does not use AutoScalingPolicy, I think this definition is not necessary.\nOr is it better to leave it for manual operation?\nPlease tell me your opinion.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"89e5e7718b79f5bece7aa69cede9a4eea03bdf30","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"},{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"},{"line_number":39,"context_line":"      auto_scaling_group_id:"},{"line_number":40,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":41,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  VDU2:"},{"line_number":44,"context_line":"    type: OS::Nova::Server"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5e57d3a1_999a8a33","line":41,"range":{"start_line":28,"start_character":0,"end_line":41,"end_character":41},"in_reply_to":"04fd36a8_176fc9bd","updated":"2022-01-04 08:40:31.000000000","message":"I have confirmed that omitting the OS::Heat::ScalingPolicy did not affect the behavior of HEAT.\nIn my opinion, it should be removed from HOT because unused definitions may confuse users. Especially if it does not match the definition in VNFD, users may misunderstand the value used for LCM.\n\nIf you remove it, I think it is better to show the reason for it as a comment in the HOT. As you know, v1 API needs OS::Heat::ScalingPolicy. It is better to explicitly show the difference from the v1 API to the user.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"5378370f18c36b9e7a159b140aa132bbe761017d","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"},{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"},{"line_number":39,"context_line":"      auto_scaling_group_id:"},{"line_number":40,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":41,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  VDU2:"},{"line_number":44,"context_line":"    type: OS::Nova::Server"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"04fd36a8_176fc9bd","line":41,"range":{"start_line":28,"start_character":0,"end_line":41,"end_character":41},"in_reply_to":"172c1e3b_fc945b4a","updated":"2021-12-27 22:21:31.000000000","message":"It is not used by current implementation surely. I think it is OK to delete it if it runs OK without this definition actually. I think it is OK to leave it too.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"a53cc7fd7a5e24695aba4c951c865e948e8c9476","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"},{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"},{"line_number":39,"context_line":"      auto_scaling_group_id:"},{"line_number":40,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":41,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  VDU2:"},{"line_number":44,"context_line":"    type: OS::Nova::Server"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"ed233200_3ecee0d3","line":41,"range":{"start_line":28,"start_character":0,"end_line":41,"end_character":41},"in_reply_to":"26412f22_a0ba3620","updated":"2022-01-06 09:27:16.000000000","message":"It may be better to modify the following as well.\nhttps://opendev.org/openstack/tacker/src/branch/stable/xena/tacker/tests/unit/sol_refactored/samples/sample1/BaseHOT/simple/ut_sample1.yaml#L27-L40","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f26172aa7449ae75e586142199b1698c0ce3c4f2","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"},{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"},{"line_number":39,"context_line":"      auto_scaling_group_id:"},{"line_number":40,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":41,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  VDU2:"},{"line_number":44,"context_line":"    type: OS::Nova::Server"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"26412f22_a0ba3620","line":41,"range":{"start_line":28,"start_character":0,"end_line":41,"end_character":41},"in_reply_to":"5e57d3a1_999a8a33","updated":"2022-01-04 22:17:34.000000000","message":"Thank you for the confirmation. OK, I see. I will remove them and add a comment.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"75e075008c9bb700aa1f271cb58022a441e9908f","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"},{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"},{"line_number":39,"context_line":"      auto_scaling_group_id:"},{"line_number":40,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":41,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  VDU2:"},{"line_number":44,"context_line":"    type: OS::Nova::Server"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"f64bfb2a_d096f09d","line":41,"range":{"start_line":28,"start_character":0,"end_line":41,"end_character":41},"in_reply_to":"ed233200_3ecee0d3","updated":"2022-01-06 23:36:57.000000000","message":"I see. I will remove it.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"e426e0a3c5e0757fc13b6320e6959fe8ea31d1e9","unresolved":false,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"},{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"},{"line_number":39,"context_line":"      auto_scaling_group_id:"},{"line_number":40,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":41,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  VDU2:"},{"line_number":44,"context_line":"    type: OS::Nova::Server"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"ec107323_7d288496","line":41,"range":{"start_line":28,"start_character":0,"end_line":41,"end_character":41},"in_reply_to":"f64bfb2a_d096f09d","updated":"2022-01-07 02:18:25.000000000","message":"Thank you for the modification.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"}],"tacker/tests/functional/sol_v2/samples/sample2/contents/BaseHOT/simple/sample2.yaml":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"a68ed54efc4d36df8c0a19a2d79be6eb6a76dfea","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":26,"context_line":"# uncomment when BUG \"https://storyboard.openstack.org/#!/story/2009164\" fixed"},{"line_number":27,"context_line":"#          affinity: { get_resource: nfvi_node_affinity }"},{"line_number":28,"context_line":"  VDU1_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"},{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"},{"line_number":39,"context_line":"      auto_scaling_group_id:"},{"line_number":40,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":41,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  VDU2:"},{"line_number":44,"context_line":"    type: OS::Nova::Server"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3a873c7e_b8f1ee00","line":41,"range":{"start_line":28,"start_character":0,"end_line":41,"end_character":41},"updated":"2021-12-27 09:16:43.000000000","message":"ditto.","commit_id":"cf64c8a83bbd4aa7f5d59b9963d97cff09409583"}],"tacker/tests/functional/sol_v2/samples/sample2/contents/UserData/userdata_default.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def scale(req, inst, grant_req, grant, tmp_csar_dir):"},{"line_number":94,"context_line":"        # scale is insterested in \u0027desired_capacity\u0027 only."},{"line_number":95,"context_line":"        # This method returns only \u0027desired_capacity\u0027 part in the"},{"line_number":96,"context_line":"        # \u0027nfv\u0027 dict. It is applied to json merge patch against"},{"line_number":97,"context_line":"        # the existing \u0027nfv\u0027 dict by the caller."}],"source_content_type":"text/x-python","patch_set":8,"id":"5acbe585_9ae41e6c","line":94,"updated":"2022-01-06 02:03:04.000000000","message":"typo: insterested -\u003e interested","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def scale(req, inst, grant_req, grant, tmp_csar_dir):"},{"line_number":94,"context_line":"        # scale is insterested in \u0027desired_capacity\u0027 only."},{"line_number":95,"context_line":"        # This method returns only \u0027desired_capacity\u0027 part in the"},{"line_number":96,"context_line":"        # \u0027nfv\u0027 dict. It is applied to json merge patch against"},{"line_number":97,"context_line":"        # the existing \u0027nfv\u0027 dict by the caller."}],"source_content_type":"text/x-python","patch_set":8,"id":"d2665a6a_e23f47b9","line":94,"in_reply_to":"5acbe585_9ae41e6c","updated":"2022-01-06 02:57:05.000000000","message":"I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def scale(req, inst, grant_req, grant, tmp_csar_dir):"},{"line_number":94,"context_line":"        # scale is insterested in \u0027desired_capacity\u0027 only."},{"line_number":95,"context_line":"        # This method returns only \u0027desired_capacity\u0027 part in the"},{"line_number":96,"context_line":"        # \u0027nfv\u0027 dict. It is applied to json merge patch against"},{"line_number":97,"context_line":"        # the existing \u0027nfv\u0027 dict by the caller."}],"source_content_type":"text/x-python","patch_set":8,"id":"23d2ad3f_b68585a2","line":94,"in_reply_to":"d2665a6a_e23f47b9","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"}],"tacker/tests/unit/sol_refactored/conductor/test_vnflcm_driver_v2.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"},{"line_number":133,"context_line":"#   retuest are omitted."},{"line_number":134,"context_line":"_inst_info_example \u003d {"},{"line_number":135,"context_line":"    \"flavourId\": \"simple\","},{"line_number":136,"context_line":"    \"vnfState\": \"STARTED\","}],"source_content_type":"text/x-python","patch_set":8,"id":"fc8c88e9_4acc2cc4","line":133,"updated":"2022-01-06 02:03:04.000000000","message":"typo: retuest -\u003e request\n\nCould you fix this as well?","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"},{"line_number":133,"context_line":"#   retuest are omitted."},{"line_number":134,"context_line":"_inst_info_example \u003d {"},{"line_number":135,"context_line":"    \"flavourId\": \"simple\","},{"line_number":136,"context_line":"    \"vnfState\": \"STARTED\","}],"source_content_type":"text/x-python","patch_set":8,"id":"0b70252e_43f3f695","line":133,"in_reply_to":"94688737_6d48b32f","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"},{"line_number":133,"context_line":"#   retuest are omitted."},{"line_number":134,"context_line":"_inst_info_example \u003d {"},{"line_number":135,"context_line":"    \"flavourId\": \"simple\","},{"line_number":136,"context_line":"    \"vnfState\": \"STARTED\","}],"source_content_type":"text/x-python","patch_set":8,"id":"94688737_6d48b32f","line":133,"in_reply_to":"fc8c88e9_4acc2cc4","updated":"2022-01-06 02:57:05.000000000","message":"I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":386,"context_line":"                {"},{"line_number":387,"context_line":"                    \"id\": \"259c5895-7be6-4bed-8a94-221c41b3d08f\","},{"line_number":388,"context_line":"                    \"cpdId\": \"VDU1_CP1\","},{"line_number":389,"context_line":"                    # when extLinkPorts of extVitualLinks specified, there is"},{"line_number":390,"context_line":"                    # no vnfExtCpId nor vnfLinkPortId."},{"line_number":391,"context_line":"                },"},{"line_number":392,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":8,"id":"32850dda_20901465","line":389,"updated":"2022-01-06 02:03:04.000000000","message":"typo: extVitualLinks -\u003e extVirtualLinks","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":386,"context_line":"                {"},{"line_number":387,"context_line":"                    \"id\": \"259c5895-7be6-4bed-8a94-221c41b3d08f\","},{"line_number":388,"context_line":"                    \"cpdId\": \"VDU1_CP1\","},{"line_number":389,"context_line":"                    # when extLinkPorts of extVitualLinks specified, there is"},{"line_number":390,"context_line":"                    # no vnfExtCpId nor vnfLinkPortId."},{"line_number":391,"context_line":"                },"},{"line_number":392,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":8,"id":"52be6303_9bb3511e","line":389,"in_reply_to":"32850dda_20901465","updated":"2022-01-06 02:57:05.000000000","message":"I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":386,"context_line":"                {"},{"line_number":387,"context_line":"                    \"id\": \"259c5895-7be6-4bed-8a94-221c41b3d08f\","},{"line_number":388,"context_line":"                    \"cpdId\": \"VDU1_CP1\","},{"line_number":389,"context_line":"                    # when extLinkPorts of extVitualLinks specified, there is"},{"line_number":390,"context_line":"                    # no vnfExtCpId nor vnfLinkPortId."},{"line_number":391,"context_line":"                },"},{"line_number":392,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":8,"id":"1b4eb06c_c66c5a8c","line":389,"in_reply_to":"52be6303_9bb3511e","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"135b5c7bb50da763faa5fe058f9f1e75df2f2322","unresolved":true,"context_lines":[{"line_number":126,"context_line":"    }"},{"line_number":127,"context_line":"}"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"# instantiatedVnfInfo example for terminate grant test"},{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"}],"source_content_type":"text/x-python","patch_set":10,"id":"c7048d96_455f6df8","line":129,"updated":"2022-01-07 02:29:44.000000000","message":"It is also used in the scale test, so it is better to modify \"terminate\" to \"terminate/scale\".","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"68050122f1a172652d3b52ed0bf9f7213468ae76","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    }"},{"line_number":127,"context_line":"}"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"# instantiatedVnfInfo example for terminate grant test"},{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"}],"source_content_type":"text/x-python","patch_set":10,"id":"01f42ecb_2a424cf3","line":129,"in_reply_to":"0e3c9616_8d13873f","updated":"2022-01-07 09:33:06.000000000","message":"Done","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"347cb363f81d519d33bc42a4666179019c1356da","unresolved":true,"context_lines":[{"line_number":126,"context_line":"    }"},{"line_number":127,"context_line":"}"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"# instantiatedVnfInfo example for terminate grant test"},{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"}],"source_content_type":"text/x-python","patch_set":10,"id":"0e3c9616_8d13873f","line":129,"in_reply_to":"c7048d96_455f6df8","updated":"2022-01-07 04:33:10.000000000","message":"I will fix.","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"135b5c7bb50da763faa5fe058f9f1e75df2f2322","unresolved":true,"context_lines":[{"line_number":129,"context_line":"# instantiatedVnfInfo example for terminate grant test"},{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"},{"line_number":133,"context_line":"#   request are omitted."},{"line_number":134,"context_line":"_inst_info_example \u003d {"},{"line_number":135,"context_line":"    \"flavourId\": \"simple\","}],"source_content_type":"text/x-python","patch_set":10,"id":"e06977b9_58158b9f","line":132,"updated":"2022-01-07 02:29:44.000000000","message":"ditto","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"347cb363f81d519d33bc42a4666179019c1356da","unresolved":true,"context_lines":[{"line_number":129,"context_line":"# instantiatedVnfInfo example for terminate grant test"},{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"},{"line_number":133,"context_line":"#   request are omitted."},{"line_number":134,"context_line":"_inst_info_example \u003d {"},{"line_number":135,"context_line":"    \"flavourId\": \"simple\","}],"source_content_type":"text/x-python","patch_set":10,"id":"e1b932c1_960b7bdb","line":132,"in_reply_to":"e06977b9_58158b9f","updated":"2022-01-07 04:33:10.000000000","message":"ditto","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"68050122f1a172652d3b52ed0bf9f7213468ae76","unresolved":false,"context_lines":[{"line_number":129,"context_line":"# instantiatedVnfInfo example for terminate grant test"},{"line_number":130,"context_line":"# NOTE:"},{"line_number":131,"context_line":"# - some identifiers are modified to make check easy."},{"line_number":132,"context_line":"# - some attributes which are not related to make terminate grant"},{"line_number":133,"context_line":"#   request are omitted."},{"line_number":134,"context_line":"_inst_info_example \u003d {"},{"line_number":135,"context_line":"    \"flavourId\": \"simple\","}],"source_content_type":"text/x-python","patch_set":10,"id":"eb960ac3_0615fe3e","line":132,"in_reply_to":"e1b932c1_960b7bdb","updated":"2022-01-07 09:33:06.000000000","message":"Done","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"135b5c7bb50da763faa5fe058f9f1e75df2f2322","unresolved":true,"context_lines":[{"line_number":551,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":552,"context_line":"            # required fields"},{"line_number":553,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":554,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":555,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":556,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":557,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"184f4f4d_fa41c579","line":554,"updated":"2022-01-07 02:29:44.000000000","message":"Although not important in this test, the operationState before grant is \"STARTING\".","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"347cb363f81d519d33bc42a4666179019c1356da","unresolved":true,"context_lines":[{"line_number":551,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":552,"context_line":"            # required fields"},{"line_number":553,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":554,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":555,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":556,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":557,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"50f78a9b_c72dd70d","line":554,"in_reply_to":"184f4f4d_fa41c579","updated":"2022-01-07 04:33:10.000000000","message":"You are right. I will fix.","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"68050122f1a172652d3b52ed0bf9f7213468ae76","unresolved":false,"context_lines":[{"line_number":551,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":552,"context_line":"            # required fields"},{"line_number":553,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":554,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":555,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":556,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":557,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"10e85d09_6743c1f0","line":554,"in_reply_to":"50f78a9b_c72dd70d","updated":"2022-01-07 09:33:06.000000000","message":"Done","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"135b5c7bb50da763faa5fe058f9f1e75df2f2322","unresolved":true,"context_lines":[{"line_number":641,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":642,"context_line":"            # required fields"},{"line_number":643,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":644,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":645,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":646,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":647,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"6fd67ef0_c2701523","line":644,"updated":"2022-01-07 02:29:44.000000000","message":"Although not important in this test, the operationState before grant is \"STARTING\".","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"68050122f1a172652d3b52ed0bf9f7213468ae76","unresolved":false,"context_lines":[{"line_number":641,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":642,"context_line":"            # required fields"},{"line_number":643,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":644,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":645,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":646,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":647,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"b75905d2_88b17897","line":644,"in_reply_to":"42b9c887_88354db0","updated":"2022-01-07 09:33:06.000000000","message":"Done","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"347cb363f81d519d33bc42a4666179019c1356da","unresolved":true,"context_lines":[{"line_number":641,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":642,"context_line":"            # required fields"},{"line_number":643,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":644,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":645,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":646,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":647,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"42b9c887_88354db0","line":644,"in_reply_to":"6fd67ef0_c2701523","updated":"2022-01-07 04:33:10.000000000","message":"I will fix.","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"135b5c7bb50da763faa5fe058f9f1e75df2f2322","unresolved":true,"context_lines":[{"line_number":733,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":734,"context_line":"            # required fields"},{"line_number":735,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":736,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":737,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":738,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":739,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"c8cd0b95_aa4a67fc","line":736,"updated":"2022-01-07 02:29:44.000000000","message":"Although not important in this test, the operationState before grant is \"STARTING\".","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"68050122f1a172652d3b52ed0bf9f7213468ae76","unresolved":false,"context_lines":[{"line_number":733,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":734,"context_line":"            # required fields"},{"line_number":735,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":736,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":737,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":738,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":739,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"f69157de_6a182429","line":736,"in_reply_to":"4984c589_46860442","updated":"2022-01-07 09:33:06.000000000","message":"Done","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"347cb363f81d519d33bc42a4666179019c1356da","unresolved":true,"context_lines":[{"line_number":733,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":734,"context_line":"            # required fields"},{"line_number":735,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":736,"context_line":"            operationState\u003dfields.LcmOperationStateType.PROCESSING,"},{"line_number":737,"context_line":"            stateEnteredTime\u003ddatetime.utcnow(),"},{"line_number":738,"context_line":"            startTime\u003ddatetime.utcnow(),"},{"line_number":739,"context_line":"            vnfInstanceId\u003dinst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"4984c589_46860442","line":736,"in_reply_to":"c8cd0b95_aa4a67fc","updated":"2022-01-07 04:33:10.000000000","message":"I will fix.","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"135b5c7bb50da763faa5fe058f9f1e75df2f2322","unresolved":true,"context_lines":[{"line_number":754,"context_line":"        grant_req, _ \u003d self.driver.grant("},{"line_number":755,"context_line":"            self.context, lcmocc, inst, self.vnfd_1)"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        # check grant_req is constructed according to intention"},{"line_number":758,"context_line":"        grant_req \u003d grant_req.to_dict()"},{"line_number":759,"context_line":"        expected_fixed_items \u003d {"},{"line_number":760,"context_line":"            \u0027vnfInstanceId\u0027: inst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"537521b4_23352ecf","line":757,"updated":"2022-01-07 02:29:44.000000000","message":"Is it unnecessary to confirm that \"_links\" are created correctly?","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"68050122f1a172652d3b52ed0bf9f7213468ae76","unresolved":false,"context_lines":[{"line_number":754,"context_line":"        grant_req, _ \u003d self.driver.grant("},{"line_number":755,"context_line":"            self.context, lcmocc, inst, self.vnfd_1)"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        # check grant_req is constructed according to intention"},{"line_number":758,"context_line":"        grant_req \u003d grant_req.to_dict()"},{"line_number":759,"context_line":"        expected_fixed_items \u003d {"},{"line_number":760,"context_line":"            \u0027vnfInstanceId\u0027: inst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9641a1be_87828c5b","line":757,"in_reply_to":"03aca264_e51f32e1","updated":"2022-01-07 09:33:06.000000000","message":"Done","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"347cb363f81d519d33bc42a4666179019c1356da","unresolved":true,"context_lines":[{"line_number":754,"context_line":"        grant_req, _ \u003d self.driver.grant("},{"line_number":755,"context_line":"            self.context, lcmocc, inst, self.vnfd_1)"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        # check grant_req is constructed according to intention"},{"line_number":758,"context_line":"        grant_req \u003d grant_req.to_dict()"},{"line_number":759,"context_line":"        expected_fixed_items \u003d {"},{"line_number":760,"context_line":"            \u0027vnfInstanceId\u0027: inst.id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"03aca264_e51f32e1","line":757,"in_reply_to":"537521b4_23352ecf","updated":"2022-01-07 04:33:10.000000000","message":"Ok, it is better to check it. I will add.","commit_id":"250d918ff32f827e6ce24e79c14c824feda8aa45"}],"tacker/tests/unit/sol_refactored/controller/test_vnflcm_v2.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"83000e7351ff245d8b5d203ae79a11560108041f","unresolved":true,"context_lines":[{"line_number":51,"context_line":"            instantiationState\u003dinst_state"},{"line_number":52,"context_line":"        )"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        req \u003d {\"flavourId\": \"simple\"}  # instantate request"},{"line_number":55,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":56,"context_line":"            # required fields"},{"line_number":57,"context_line":"            id\u003duuidutils.generate_uuid(),"}],"source_content_type":"text/x-python","patch_set":8,"id":"133dc3b1_47f34c29","line":54,"updated":"2022-01-06 02:03:04.000000000","message":"typo: instantate -\u003e instantiate\n\nCould you fix this as well?","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"876e7d9ad9c9f67b40b9412d2ec73b5cdc9b4701","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            instantiationState\u003dinst_state"},{"line_number":52,"context_line":"        )"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        req \u003d {\"flavourId\": \"simple\"}  # instantate request"},{"line_number":55,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":56,"context_line":"            # required fields"},{"line_number":57,"context_line":"            id\u003duuidutils.generate_uuid(),"}],"source_content_type":"text/x-python","patch_set":8,"id":"22d6e3dd_1745a6b8","line":54,"in_reply_to":"00038c91_f1d1f8d2","updated":"2022-01-06 04:56:43.000000000","message":"Done","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e643924fc775ab7bd3b8c600f5af3215378cb4d5","unresolved":true,"context_lines":[{"line_number":51,"context_line":"            instantiationState\u003dinst_state"},{"line_number":52,"context_line":"        )"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        req \u003d {\"flavourId\": \"simple\"}  # instantate request"},{"line_number":55,"context_line":"        lcmocc \u003d objects.VnfLcmOpOccV2("},{"line_number":56,"context_line":"            # required fields"},{"line_number":57,"context_line":"            id\u003duuidutils.generate_uuid(),"}],"source_content_type":"text/x-python","patch_set":8,"id":"00038c91_f1d1f8d2","line":54,"in_reply_to":"133dc3b1_47f34c29","updated":"2022-01-06 02:57:05.000000000","message":"I will fix.","commit_id":"93c308be0ba46faae92f0b7a1ef8e5d9a4ccf4e6"}],"tacker/tests/unit/sol_refactored/infra_drivers/openstack/test_userdata_utils.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"50ae1235dd1947873bac36a162239f23fe7ab8e7","unresolved":true,"context_lines":[{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        result \u003d userdata_utils.get_param_capacity(\u0027VDU1\u0027, inst, grant_req)"},{"line_number":149,"context_line":"        self.assertEqual(2, result)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def test_get_parama_network(self):"},{"line_number":152,"context_line":"        res_id \u003d \"8fe7cc1a-e4ac-41b9-8b89-ed14689adb9c\""}],"source_content_type":"text/x-python","patch_set":1,"id":"0b87682c_37249ef7","line":149,"updated":"2021-12-20 08:08:16.000000000","message":"I think it would be better to add an assert for VDU2 below.\n---\n      result \u003d userdata_utils.get_param_capacity(\u0027VDU2\u0027, inst, grant_req)\n      self.assertEqual(1, result)","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0bbe683505f676b8703ae6326e6e93cc72c02d40","unresolved":true,"context_lines":[{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        result \u003d userdata_utils.get_param_capacity(\u0027VDU1\u0027, inst, grant_req)"},{"line_number":149,"context_line":"        self.assertEqual(2, result)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def test_get_parama_network(self):"},{"line_number":152,"context_line":"        res_id \u003d \"8fe7cc1a-e4ac-41b9-8b89-ed14689adb9c\""}],"source_content_type":"text/x-python","patch_set":1,"id":"edfd24dc_08e9527c","line":149,"in_reply_to":"0b87682c_37249ef7","updated":"2021-12-20 22:25:48.000000000","message":"I see. I will fix.","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"8f6c72eab440756a53c5e7cc95ef1996c2a3a80a","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        result \u003d userdata_utils.get_param_capacity(\u0027VDU1\u0027, inst, grant_req)"},{"line_number":149,"context_line":"        self.assertEqual(2, result)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def test_get_parama_network(self):"},{"line_number":152,"context_line":"        res_id \u003d \"8fe7cc1a-e4ac-41b9-8b89-ed14689adb9c\""}],"source_content_type":"text/x-python","patch_set":1,"id":"11ea5767_508bc24c","line":149,"in_reply_to":"edfd24dc_08e9527c","updated":"2021-12-21 00:19:24.000000000","message":"Done","commit_id":"e3e00a9ab17f6c3a2689351ab93cb875daec8e43"}]}
