)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":15,"context_line":"interfaces are based on ETSI NFV-SOL 002 v3.3.1 and ETSI NFV-SOL"},{"line_number":16,"context_line":"003 v3.3.1, which are Version \"2.0.0\" API of Tacker. Add the"},{"line_number":17,"context_line":"Prometheus Plugin that has a interface between tacker and the"},{"line_number":18,"context_line":"External Monitoring Tool."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: blueprint support-auto-lcm"},{"line_number":21,"context_line":"Change-Id: Ib74305f0b1da4eb8d996ebae400e75902aaa1321"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"29e04f09_71e00b5b","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":24},"updated":"2022-09-09 09:11:10.000000000","message":"I think you should clarify that Prometheus is one of the External Monitoring Tool as below:\n\n```\nAdd the Prometheus Plugin that has a interface between tacker and Prometheus as the sample of External Monitoring Tool.\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":true,"context_lines":[{"line_number":15,"context_line":"interfaces are based on ETSI NFV-SOL 002 v3.3.1 and ETSI NFV-SOL"},{"line_number":16,"context_line":"003 v3.3.1, which are Version \"2.0.0\" API of Tacker. Add the"},{"line_number":17,"context_line":"Prometheus Plugin that has a interface between tacker and the"},{"line_number":18,"context_line":"External Monitoring Tool."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: blueprint support-auto-lcm"},{"line_number":21,"context_line":"Change-Id: Ib74305f0b1da4eb8d996ebae400e75902aaa1321"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"d0798195_00604690","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":24},"in_reply_to":"29e04f09_71e00b5b","updated":"2022-09-13 02:03:22.000000000","message":"Fixed at patchset 21.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"c2563d6c673674b2dd1fbc9220d59225a4222a57","unresolved":false,"context_lines":[{"line_number":15,"context_line":"interfaces are based on ETSI NFV-SOL 002 v3.3.1 and ETSI NFV-SOL"},{"line_number":16,"context_line":"003 v3.3.1, which are Version \"2.0.0\" API of Tacker. Add the"},{"line_number":17,"context_line":"Prometheus Plugin that has a interface between tacker and the"},{"line_number":18,"context_line":"External Monitoring Tool."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: blueprint support-auto-lcm"},{"line_number":21,"context_line":"Change-Id: Ib74305f0b1da4eb8d996ebae400e75902aaa1321"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"1269eb37_5a01a821","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":24},"in_reply_to":"d0798195_00604690","updated":"2022-09-14 05:06:24.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"e6e71a5e0389436ef7871b1e4efb1b71b1314bb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"4ef81798_f4265e1b","updated":"2022-09-07 15:01:07.000000000","message":"recheck","commit_id":"9339f2536067225e1a673f27b6f2282e62ef8018"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"86c9b630fb9f74974b67f996cb27b8988ba95831","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"71d92e1e_2857dcfe","updated":"2022-09-07 23:59:17.000000000","message":"recheck","commit_id":"3fed32f2cc37afa16502ed20def2c04049d2d894"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"e2770ed0_add45889","updated":"2022-09-09 09:11:10.000000000","message":"Sorry for additional comments, but please kindly check them.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"060d2043_d19905b0","updated":"2022-09-09 02:51:37.000000000","message":"Thank you for your patch.\nPlease kindly find my comments.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"0ecc8cdede296f85313b1845924c621253cf81f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"a9161973_c7ef2a4a","updated":"2022-09-09 03:16:29.000000000","message":"Thank you for your patch. Please check the comments.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"047cd25d_c5539824","updated":"2022-09-09 03:02:59.000000000","message":"Thank you posting this patch. I have made some comments, please check them.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"daf3e26348f7e0fca49251bf9a93d7840ca14ccf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"f211cb1c_57df6b5f","updated":"2022-09-09 08:17:35.000000000","message":"recheck","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"24caa7d8_405f8f33","updated":"2022-09-13 15:36:54.000000000","message":"Sorry for the late review, please kindly find my comments.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"fd067857_27eb8f9d","updated":"2022-09-13 02:03:22.000000000","message":"Thank you for the comment. Not all part has fixed yet. but updatad the part of prometheus_pulugin.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"6d6544df_fe11f931","updated":"2022-09-14 12:43:30.000000000","message":"Thank you for the comment. few comments are not resolved yet. they will be fixed soon.","commit_id":"894ca1091279d763a8d366dd4b9b5c969318cca2"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"ec563a20_da9d4885","updated":"2022-09-15 02:23:23.000000000","message":"Thank you for the comments.","commit_id":"efd5aae7ebfa391a7372b688203ac9640edf143a"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"31963ba1_e78f9bf0","updated":"2022-09-15 08:18:26.000000000","message":"Thank you for your work.","commit_id":"631a0486644ecf48e4266ecd35fdafcfbb0e12e9"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"51dec8cf28b52eb65d311b5bcfea8d7989d67bda","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"e34415ef_7c479d4a","updated":"2022-09-15 09:38:59.000000000","message":"Thank you for the comments.","commit_id":"e9bf0999a072faa03d66b7a7f17e6c7017fc6656"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"4ab73de51b1719d5d2843ff16dd6d3093c813474","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"f8d8edbd_3de9783f","updated":"2022-09-15 14:43:13.000000000","message":"Thank you for your work.","commit_id":"4ae08f216fb1bd35ea769483191d97a2b9db0d3e"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"7bb651a937630060cb9a7d6157c6a8312dea311f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"5260a80c_35f959c5","updated":"2022-09-15 15:55:39.000000000","message":"You\u0027d better to rebase for the recent workaround [1] if recheck will be failed again although the latest failure is not related to the workaround.\n\n[1] https://review.opendev.org/c/openstack/tacker/+/857551","commit_id":"4ae08f216fb1bd35ea769483191d97a2b9db0d3e"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"50a9e983ee98f798949e9f2350ec248df58c08b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"7d86fb0a_c7856fbb","updated":"2022-09-15 15:24:49.000000000","message":"recheck","commit_id":"4ae08f216fb1bd35ea769483191d97a2b9db0d3e"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"2ee90f7c_6c372dd6","updated":"2022-09-16 00:32:41.000000000","message":"Thanks for your rework, LGTM.","commit_id":"d1a23a3c286be30f84e30e7a47dc48ddce0628f0"}],"tacker/db/migration/alembic_migrations/versions/de8d835ae776_add_pm_and_fm_table.py":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":true,"context_lines":[{"line_number":86,"context_line":"    op.create_table(\u0027PerformanceReportV2\u0027,"},{"line_number":87,"context_line":"        sa.Column(\u0027id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":88,"context_line":"        sa.Column(\u0027jobId\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":89,"context_line":"        sa.Column(\u0027entries\u0027, sa.JSON(), nullable\u003dTrue),"},{"line_number":90,"context_line":"        sa.PrimaryKeyConstraint(\u0027id\u0027),"},{"line_number":91,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":92,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":17,"id":"7d50fbe3_9a8bdfbd","line":89,"updated":"2022-09-09 02:51:37.000000000","message":"According to the SOL003 v3.3.1 Table 6.5.2.10-1: Definition of the PerformanceReport data type, \u0027entries\u0027 is required.\nI think `nullable\u003dFalse` is correct.\n\nhttps://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_nfv-sol003v030301p.pdf","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"8eff2bd4133a433142e767f964c13afc97d8ca0e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    op.create_table(\u0027PerformanceReportV2\u0027,"},{"line_number":87,"context_line":"        sa.Column(\u0027id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":88,"context_line":"        sa.Column(\u0027jobId\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":89,"context_line":"        sa.Column(\u0027entries\u0027, sa.JSON(), nullable\u003dTrue),"},{"line_number":90,"context_line":"        sa.PrimaryKeyConstraint(\u0027id\u0027),"},{"line_number":91,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":92,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":17,"id":"23c045b1_78e9a770","line":89,"in_reply_to":"075ee022_1eb3e118","updated":"2022-09-15 02:08:56.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"8eff2bd4133a433142e767f964c13afc97d8ca0e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    op.create_table(\u0027PerformanceReportV2\u0027,"},{"line_number":87,"context_line":"        sa.Column(\u0027id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":88,"context_line":"        sa.Column(\u0027jobId\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":89,"context_line":"        sa.Column(\u0027entries\u0027, sa.JSON(), nullable\u003dTrue),"},{"line_number":90,"context_line":"        sa.PrimaryKeyConstraint(\u0027id\u0027),"},{"line_number":91,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":92,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":17,"id":"35fbc9be_2d72a2f7","line":89,"in_reply_to":"075ee022_1eb3e118","updated":"2022-09-15 02:08:56.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":86,"context_line":"    op.create_table(\u0027PerformanceReportV2\u0027,"},{"line_number":87,"context_line":"        sa.Column(\u0027id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":88,"context_line":"        sa.Column(\u0027jobId\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":89,"context_line":"        sa.Column(\u0027entries\u0027, sa.JSON(), nullable\u003dTrue),"},{"line_number":90,"context_line":"        sa.PrimaryKeyConstraint(\u0027id\u0027),"},{"line_number":91,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":92,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":17,"id":"075ee022_1eb3e118","line":89,"in_reply_to":"7d50fbe3_9a8bdfbd","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/api/policies/vnffm_v1.py":[{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":52,"context_line":"        name\u003dPOLICY_NAME.format(\u0027update\u0027),"},{"line_number":53,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":54,"context_line":"        description\u003d\"Modify vnffm alarm information.\","},{"line_number":55,"context_line":"        operations\u003d["},{"line_number":56,"context_line":"            {\u0027method\u0027: \u0027PATCH\u0027,"},{"line_number":57,"context_line":"             \u0027path\u0027: ALARMS_ID_PATH}"}],"source_content_type":"text/x-python","patch_set":17,"id":"d7369e5d_ac87c466","line":54,"range":{"start_line":54,"start_character":28,"end_line":54,"end_character":34},"updated":"2022-09-09 03:02:59.000000000","message":"I think that it would be better to unify either capital letter or small letter.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":52,"context_line":"        name\u003dPOLICY_NAME.format(\u0027update\u0027),"},{"line_number":53,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":54,"context_line":"        description\u003d\"Modify vnffm alarm information.\","},{"line_number":55,"context_line":"        operations\u003d["},{"line_number":56,"context_line":"            {\u0027method\u0027: \u0027PATCH\u0027,"},{"line_number":57,"context_line":"             \u0027path\u0027: ALARMS_ID_PATH}"}],"source_content_type":"text/x-python","patch_set":17,"id":"5570e283_f397f1ac","line":54,"range":{"start_line":54,"start_character":28,"end_line":54,"end_character":34},"in_reply_to":"4b89e98c_c66637c2","updated":"2022-09-15 08:18:26.000000000","message":"I have confirmed it.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":52,"context_line":"        name\u003dPOLICY_NAME.format(\u0027update\u0027),"},{"line_number":53,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":54,"context_line":"        description\u003d\"Modify vnffm alarm information.\","},{"line_number":55,"context_line":"        operations\u003d["},{"line_number":56,"context_line":"            {\u0027method\u0027: \u0027PATCH\u0027,"},{"line_number":57,"context_line":"             \u0027path\u0027: ALARMS_ID_PATH}"}],"source_content_type":"text/x-python","patch_set":17,"id":"4b89e98c_c66637c2","line":54,"range":{"start_line":54,"start_character":28,"end_line":54,"end_character":34},"in_reply_to":"d7369e5d_ac87c466","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":true,"context_lines":[{"line_number":97,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":98,"context_line":"        name\u003dPOLICY_NAME_PROM_PLUGIN.format(\u0027alert\u0027),"},{"line_number":99,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":100,"context_line":"        description\u003d\"alert\","},{"line_number":101,"context_line":"        operations\u003d["},{"line_number":102,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":103,"context_line":"             \u0027path\u0027: PROM_PLUGIN_FM_PATH}"}],"source_content_type":"text/x-python","patch_set":17,"id":"92363557_65564bd4","line":100,"range":{"start_line":100,"start_character":21,"end_line":100,"end_character":26},"updated":"2022-09-09 03:02:59.000000000","message":"I think it would be better if there was a little more explanation. For example, write as \"Receive the alert sent from External Monitoring Tool\" according to [1].\n\n[1] https://specs.openstack.org/openstack/tacker-specs/specs/zed/prometheus-plugin-autoheal-and-autoscale.html","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":97,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":98,"context_line":"        name\u003dPOLICY_NAME_PROM_PLUGIN.format(\u0027alert\u0027),"},{"line_number":99,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":100,"context_line":"        description\u003d\"alert\","},{"line_number":101,"context_line":"        operations\u003d["},{"line_number":102,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":103,"context_line":"             \u0027path\u0027: PROM_PLUGIN_FM_PATH}"}],"source_content_type":"text/x-python","patch_set":17,"id":"dd178fdd_af260fb3","line":100,"range":{"start_line":100,"start_character":21,"end_line":100,"end_character":26},"in_reply_to":"92363557_65564bd4","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":98,"context_line":"        name\u003dPOLICY_NAME_PROM_PLUGIN.format(\u0027alert\u0027),"},{"line_number":99,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":100,"context_line":"        description\u003d\"alert\","},{"line_number":101,"context_line":"        operations\u003d["},{"line_number":102,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":103,"context_line":"             \u0027path\u0027: PROM_PLUGIN_FM_PATH}"}],"source_content_type":"text/x-python","patch_set":17,"id":"6b287e34_e3d00ca6","line":100,"range":{"start_line":100,"start_character":21,"end_line":100,"end_character":26},"in_reply_to":"dd178fdd_af260fb3","updated":"2022-09-15 08:18:26.000000000","message":"I have confirmed it.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/api/policies/vnfpm_v2.py":[{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":true,"context_lines":[{"line_number":66,"context_line":"    policy.DocumentedRuleDefault(\r"},{"line_number":67,"context_line":"        name\u003dPOLICY_NAME.format(\u0027show\u0027),\r"},{"line_number":68,"context_line":"        check_str\u003dRULE_ANY,\r"},{"line_number":69,"context_line":"        description\u003d\"Get a individual PM job.\",\r"},{"line_number":70,"context_line":"        operations\u003d[\r"},{"line_number":71,"context_line":"            {\r"},{"line_number":72,"context_line":"                \u0027method\u0027: \u0027GET\u0027,\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"25b27243_c8b75c7f","line":69,"range":{"start_line":69,"start_character":25,"end_line":69,"end_character":26},"updated":"2022-09-09 03:02:59.000000000","message":"There is Typo.\na -\u003e an","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":66,"context_line":"    policy.DocumentedRuleDefault(\r"},{"line_number":67,"context_line":"        name\u003dPOLICY_NAME.format(\u0027show\u0027),\r"},{"line_number":68,"context_line":"        check_str\u003dRULE_ANY,\r"},{"line_number":69,"context_line":"        description\u003d\"Get a individual PM job.\",\r"},{"line_number":70,"context_line":"        operations\u003d[\r"},{"line_number":71,"context_line":"            {\r"},{"line_number":72,"context_line":"                \u0027method\u0027: \u0027GET\u0027,\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"3089c8dc_63e3c8a3","line":69,"range":{"start_line":69,"start_character":25,"end_line":69,"end_character":26},"in_reply_to":"25b27243_c8b75c7f","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    policy.DocumentedRuleDefault(\r"},{"line_number":67,"context_line":"        name\u003dPOLICY_NAME.format(\u0027show\u0027),\r"},{"line_number":68,"context_line":"        check_str\u003dRULE_ANY,\r"},{"line_number":69,"context_line":"        description\u003d\"Get a individual PM job.\",\r"},{"line_number":70,"context_line":"        operations\u003d[\r"},{"line_number":71,"context_line":"            {\r"},{"line_number":72,"context_line":"                \u0027method\u0027: \u0027GET\u0027,\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"64de5a96_c61c9f93","line":69,"range":{"start_line":69,"start_character":25,"end_line":69,"end_character":26},"in_reply_to":"3089c8dc_63e3c8a3","updated":"2022-09-15 08:18:26.000000000","message":"I have confirmed it.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":true,"context_lines":[{"line_number":101,"context_line":"    policy.DocumentedRuleDefault(\r"},{"line_number":102,"context_line":"        name\u003dPOLICY_NAME_PROM_PLUGIN.format(\u0027pm_event\u0027),\r"},{"line_number":103,"context_line":"        check_str\u003dRULE_ANY,\r"},{"line_number":104,"context_line":"        description\u003d\"pm_event\",\r"},{"line_number":105,"context_line":"        operations\u003d[\r"},{"line_number":106,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,\r"},{"line_number":107,"context_line":"             \u0027path\u0027: PROM_PLUGIN_PM_PATH}\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"1339f269_d085a33c","line":104,"range":{"start_line":104,"start_character":21,"end_line":104,"end_character":29},"updated":"2022-09-09 03:02:59.000000000","message":"I think it would be better if there was a little more explanation. For example, write as \"Receive the PM event sent from External Monitoring Tool\" according to [1].\n\n[1] https://specs.openstack.org/openstack/tacker-specs/specs/zed/prometheus-plugin-autoheal-and-autoscale.html","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":101,"context_line":"    policy.DocumentedRuleDefault(\r"},{"line_number":102,"context_line":"        name\u003dPOLICY_NAME_PROM_PLUGIN.format(\u0027pm_event\u0027),\r"},{"line_number":103,"context_line":"        check_str\u003dRULE_ANY,\r"},{"line_number":104,"context_line":"        description\u003d\"pm_event\",\r"},{"line_number":105,"context_line":"        operations\u003d[\r"},{"line_number":106,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,\r"},{"line_number":107,"context_line":"             \u0027path\u0027: PROM_PLUGIN_PM_PATH}\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"18a6ad1e_4fb02c4b","line":104,"range":{"start_line":104,"start_character":21,"end_line":104,"end_character":29},"in_reply_to":"1339f269_d085a33c","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    policy.DocumentedRuleDefault(\r"},{"line_number":102,"context_line":"        name\u003dPOLICY_NAME_PROM_PLUGIN.format(\u0027pm_event\u0027),\r"},{"line_number":103,"context_line":"        check_str\u003dRULE_ANY,\r"},{"line_number":104,"context_line":"        description\u003d\"pm_event\",\r"},{"line_number":105,"context_line":"        operations\u003d[\r"},{"line_number":106,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,\r"},{"line_number":107,"context_line":"             \u0027path\u0027: PROM_PLUGIN_PM_PATH}\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"0a9dfae2_cf561d0b","line":104,"range":{"start_line":104,"start_character":21,"end_line":104,"end_character":29},"in_reply_to":"18a6ad1e_4fb02c4b","updated":"2022-09-15 08:18:26.000000000","message":"I have confirmed it.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/api/prometheus_plugin_wsgi.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"0ecc8cdede296f85313b1845924c621253cf81f2","unresolved":true,"context_lines":[{"line_number":23,"context_line":"class PrometheusPluginResponse(sol_wsgi.SolResponse):"},{"line_number":24,"context_line":"    allowed_headers \u003d [\u0027content_type\u0027]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def __init__(self, status, body, **kwargs):"},{"line_number":27,"context_line":"        self.status \u003d status"},{"line_number":28,"context_line":"        self.body \u003d body"},{"line_number":29,"context_line":"        self.headers \u003d {}"}],"source_content_type":"text/x-python","patch_set":17,"id":"f7044932_df81dcdd","line":26,"updated":"2022-09-09 03:16:29.000000000","message":"Is `super().__init__` not needed here? Init method in the super class (sol_wsgi.SolResponse) configures `version` and `accept-ranges`. Are those headers not required for this plugin?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"c2563d6c673674b2dd1fbc9220d59225a4222a57","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class PrometheusPluginResponse(sol_wsgi.SolResponse):"},{"line_number":24,"context_line":"    allowed_headers \u003d [\u0027content_type\u0027]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def __init__(self, status, body, **kwargs):"},{"line_number":27,"context_line":"        self.status \u003d status"},{"line_number":28,"context_line":"        self.body \u003d body"},{"line_number":29,"context_line":"        self.headers \u003d {}"}],"source_content_type":"text/x-python","patch_set":17,"id":"9084e683_a73612f2","line":26,"in_reply_to":"b467d4d8_19e2f551","updated":"2022-09-14 05:06:24.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":true,"context_lines":[{"line_number":23,"context_line":"class PrometheusPluginResponse(sol_wsgi.SolResponse):"},{"line_number":24,"context_line":"    allowed_headers \u003d [\u0027content_type\u0027]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def __init__(self, status, body, **kwargs):"},{"line_number":27,"context_line":"        self.status \u003d status"},{"line_number":28,"context_line":"        self.body \u003d body"},{"line_number":29,"context_line":"        self.headers \u003d {}"}],"source_content_type":"text/x-python","patch_set":17,"id":"b467d4d8_19e2f551","line":26,"in_reply_to":"f7044932_df81dcdd","updated":"2022-09-13 02:03:22.000000000","message":"PrometheusPluginResponse is almost same class as SolResponse other than that it uses original header content. So PrometheusPluginResponse does not call __init__() of SolResponse class","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"0ecc8cdede296f85313b1845924c621253cf81f2","unresolved":true,"context_lines":[{"line_number":50,"context_line":"            result \u003d PrometheusPluginErrorResponse(ex, request)"},{"line_number":51,"context_line":"            try:"},{"line_number":52,"context_line":"                response \u003d result.serialize(\u0027application/problem+json\u0027)"},{"line_number":53,"context_line":"            except Exception:"},{"line_number":54,"context_line":"                LOG.exception(\"Unknown error\")"},{"line_number":55,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unknown error\")"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"222bd89e_c16afcea","line":53,"updated":"2022-09-09 03:16:29.000000000","message":"In this try clause, only `sol_ex.ResponseTooBig` exception can be returned. So please consider replace `Exception` with `sol_ex.ResponseTooBig` for except clause.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":true,"context_lines":[{"line_number":50,"context_line":"            result \u003d PrometheusPluginErrorResponse(ex, request)"},{"line_number":51,"context_line":"            try:"},{"line_number":52,"context_line":"                response \u003d result.serialize(\u0027application/problem+json\u0027)"},{"line_number":53,"context_line":"            except Exception:"},{"line_number":54,"context_line":"                LOG.exception(\"Unknown error\")"},{"line_number":55,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unknown error\")"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5eebef89_4747bd22","line":53,"in_reply_to":"222bd89e_c16afcea","updated":"2022-09-13 02:03:22.000000000","message":"PrometheusPluginResource class is almost same as SolResource class other than that it does not check version header. For the consistency with __call__() method of SolResource, would you please leave it as it is?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"c2563d6c673674b2dd1fbc9220d59225a4222a57","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            result \u003d PrometheusPluginErrorResponse(ex, request)"},{"line_number":51,"context_line":"            try:"},{"line_number":52,"context_line":"                response \u003d result.serialize(\u0027application/problem+json\u0027)"},{"line_number":53,"context_line":"            except Exception:"},{"line_number":54,"context_line":"                LOG.exception(\"Unknown error\")"},{"line_number":55,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unknown error\")"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"97de0fab_28d8eca8","line":53,"in_reply_to":"5eebef89_4747bd22","updated":"2022-09-14 05:06:24.000000000","message":"I see. IMO, the superclass also should be refactored with the same reason that I figured out, but it is out of scope this patch.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/api/schemas/vnffm_v1.py":[{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":true,"context_lines":[{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# SOL013 8.3.4"},{"line_number":33,"context_line":"_SubscriptionAuthentication \u003d {"},{"line_number":34,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":35,"context_line":"    \u0027properties\u0027: {"},{"line_number":36,"context_line":"        \u0027authType\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"e1088962_b8b3ce19","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":27},"updated":"2022-09-09 03:02:59.000000000","message":"This comment is low priority.\nThe same source code is also included in \u0027tacker/sol_refactored/api/schemas/vnfpm_v2.py\u0027, so wouldn\u0027t it better to put it together in \u0027common_types.py\"?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# SOL013 8.3.4"},{"line_number":33,"context_line":"_SubscriptionAuthentication \u003d {"},{"line_number":34,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":35,"context_line":"    \u0027properties\u0027: {"},{"line_number":36,"context_line":"        \u0027authType\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"cc292177_7f72b0d8","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":27},"in_reply_to":"7fc02fc7_bdf5e219","updated":"2022-09-15 08:18:26.000000000","message":"I have confirmed it.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# SOL013 8.3.4"},{"line_number":33,"context_line":"_SubscriptionAuthentication \u003d {"},{"line_number":34,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":35,"context_line":"    \u0027properties\u0027: {"},{"line_number":36,"context_line":"        \u0027authType\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"7fc02fc7_bdf5e219","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":27},"in_reply_to":"e1088962_b8b3ce19","updated":"2022-09-14 12:43:30.000000000","message":"It was moved to common_types.py.\nFixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"0ecc8cdede296f85313b1845924c621253cf81f2","unresolved":true,"context_lines":[{"line_number":49,"context_line":"                \u0027userName\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":50,"context_line":"                \u0027password\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":51,"context_line":"            },"},{"line_number":52,"context_line":"            # NOTE: must be specified since the way to specify them out of"},{"line_number":53,"context_line":"            # band is not supported."},{"line_number":54,"context_line":"            \u0027required\u0027: [\u0027userName\u0027, \u0027password\u0027]"},{"line_number":55,"context_line":"        },"},{"line_number":56,"context_line":"        \u0027paramsOauth2ClientCredentials\u0027: {"},{"line_number":57,"context_line":"            \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"438a43fd_7cd1ab73","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":48},"updated":"2022-09-09 03:16:29.000000000","message":"Are those fields required? In SOL013, the cardinality of those fields are `0..1`, thus they are optional. (Sorry, I couldn\u0027t catch the mean of this note. This note states this design?)","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":49,"context_line":"                \u0027userName\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":50,"context_line":"                \u0027password\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":51,"context_line":"            },"},{"line_number":52,"context_line":"            # NOTE: must be specified since the way to specify them out of"},{"line_number":53,"context_line":"            # band is not supported."},{"line_number":54,"context_line":"            \u0027required\u0027: [\u0027userName\u0027, \u0027password\u0027]"},{"line_number":55,"context_line":"        },"},{"line_number":56,"context_line":"        \u0027paramsOauth2ClientCredentials\u0027: {"},{"line_number":57,"context_line":"            \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"e92dd2d7_634a32c4","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":48},"in_reply_to":"438a43fd_7cd1ab73","updated":"2022-09-14 12:43:30.000000000","message":"It was moved to common_types.py.\nFixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"0ecc8cdede296f85313b1845924c621253cf81f2","unresolved":true,"context_lines":[{"line_number":60,"context_line":"                \u0027clientPassword\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":61,"context_line":"                \u0027tokenEndpoint\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":62,"context_line":"            },"},{"line_number":63,"context_line":"            # NOTE: must be specified since the way to specify them out of"},{"line_number":64,"context_line":"            # band is not supported."},{"line_number":65,"context_line":"            \u0027required\u0027: [\u0027clientId\u0027, \u0027clientPassword\u0027, \u0027tokenEndpoint\u0027]"},{"line_number":66,"context_line":"        }"},{"line_number":67,"context_line":"    },"},{"line_number":68,"context_line":"    \u0027required\u0027: [\u0027authType\u0027],"}],"source_content_type":"text/x-python","patch_set":17,"id":"144f1b95_cad86a4f","line":65,"range":{"start_line":63,"start_character":0,"end_line":65,"end_character":71},"updated":"2022-09-09 03:16:29.000000000","message":"ditto","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":60,"context_line":"                \u0027clientPassword\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":61,"context_line":"                \u0027tokenEndpoint\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":62,"context_line":"            },"},{"line_number":63,"context_line":"            # NOTE: must be specified since the way to specify them out of"},{"line_number":64,"context_line":"            # band is not supported."},{"line_number":65,"context_line":"            \u0027required\u0027: [\u0027clientId\u0027, \u0027clientPassword\u0027, \u0027tokenEndpoint\u0027]"},{"line_number":66,"context_line":"        }"},{"line_number":67,"context_line":"    },"},{"line_number":68,"context_line":"    \u0027required\u0027: [\u0027authType\u0027],"}],"source_content_type":"text/x-python","patch_set":17,"id":"60c87882_f6e09819","line":65,"range":{"start_line":63,"start_character":0,"end_line":65,"end_character":71},"in_reply_to":"144f1b95_cad86a4f","updated":"2022-09-14 12:43:30.000000000","message":"It was moved to common_types.py.\nFixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/api/schemas/vnfpm_v2.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"0ecc8cdede296f85313b1845924c621253cf81f2","unresolved":true,"context_lines":[{"line_number":16,"context_line":"from tacker.sol_refactored.api.schemas import common_types"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# SOL013 8.3.4"},{"line_number":19,"context_line":"_SubscriptionAuthentication \u003d {"},{"line_number":20,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":21,"context_line":"    \u0027properties\u0027: {"},{"line_number":22,"context_line":"        \u0027authType\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"3c952574_db36c34f","line":19,"updated":"2022-09-09 03:16:29.000000000","message":"`_SubscriptionAuthentication` is also defined in `api/schemas/vnffm_v1.py`. I think those common structures should be defined only once in the entire source. How about splitting them into another schema file?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":16,"context_line":"from tacker.sol_refactored.api.schemas import common_types"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# SOL013 8.3.4"},{"line_number":19,"context_line":"_SubscriptionAuthentication \u003d {"},{"line_number":20,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":21,"context_line":"    \u0027properties\u0027: {"},{"line_number":22,"context_line":"        \u0027authType\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"2fbd6c7d_bed151c7","line":19,"in_reply_to":"3c952574_db36c34f","updated":"2022-09-14 12:43:30.000000000","message":"It was moved to common_types.py.\nFixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"0ecc8cdede296f85313b1845924c621253cf81f2","unresolved":true,"context_lines":[{"line_number":56,"context_line":"}"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# SOL003 6.5.3.3"},{"line_number":59,"context_line":"_PmJobCriteriaV2 \u003d {"},{"line_number":60,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":61,"context_line":"    \u0027properties\u0027: {"},{"line_number":62,"context_line":"        \u0027performanceMetric\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"5b92ae26_93cd2020","line":59,"range":{"start_line":59,"start_character":14,"end_line":59,"end_character":16},"updated":"2022-09-09 03:16:29.000000000","message":"Should be `_V210` for consistency of function name. (as Naoaki Horie pointed out below https://review.opendev.org/c/openstack/tacker/+/854348/comments/ff408748_c56d0320)","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":56,"context_line":"}"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# SOL003 6.5.3.3"},{"line_number":59,"context_line":"_PmJobCriteriaV2 \u003d {"},{"line_number":60,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":61,"context_line":"    \u0027properties\u0027: {"},{"line_number":62,"context_line":"        \u0027performanceMetric\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"cff1b3db_b1faaa10","line":59,"range":{"start_line":59,"start_character":14,"end_line":59,"end_character":16},"in_reply_to":"5b92ae26_93cd2020","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"0ecc8cdede296f85313b1845924c621253cf81f2","unresolved":true,"context_lines":[{"line_number":80,"context_line":"}"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"# SOL003 6.5.2.6"},{"line_number":83,"context_line":"CreatePmJobRequestV2 \u003d {"},{"line_number":84,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":85,"context_line":"    \u0027properties\u0027: {"},{"line_number":86,"context_line":"        \u0027objectType\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"cccf3480_b7c5b3db","line":83,"range":{"start_line":83,"start_character":18,"end_line":83,"end_character":20},"updated":"2022-09-09 03:16:29.000000000","message":"ditto","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":80,"context_line":"}"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"# SOL003 6.5.2.6"},{"line_number":83,"context_line":"CreatePmJobRequestV2 \u003d {"},{"line_number":84,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":85,"context_line":"    \u0027properties\u0027: {"},{"line_number":86,"context_line":"        \u0027objectType\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"1c13016e_98fb213e","line":83,"range":{"start_line":83,"start_character":18,"end_line":83,"end_character":20},"in_reply_to":"cccf3480_b7c5b3db","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":true,"context_lines":[{"line_number":111,"context_line":"}"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"# SOL003 6.5.2.12"},{"line_number":114,"context_line":"PmJobModificationsRequestV2 \u003d {"},{"line_number":115,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":116,"context_line":"    \u0027properties\u0027: {"},{"line_number":117,"context_line":"        \u0027callbackUri\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":17,"id":"ff408748_c56d0320","line":114,"range":{"start_line":114,"start_character":25,"end_line":114,"end_character":27},"updated":"2022-09-09 03:02:59.000000000","message":"If we want to unify the function name, shouldn\u0027t it be \u0027_V210\u0027?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"51dec8cf28b52eb65d311b5bcfea8d7989d67bda","unresolved":true,"context_lines":[{"line_number":111,"context_line":"}"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"# SOL003 6.5.2.12"},{"line_number":114,"context_line":"PmJobModificationsRequestV2 \u003d {"},{"line_number":115,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":116,"context_line":"    \u0027properties\u0027: {"},{"line_number":117,"context_line":"        \u0027callbackUri\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":17,"id":"8f256d36_d6ef9da9","line":114,"range":{"start_line":114,"start_character":25,"end_line":114,"end_character":27},"in_reply_to":"868335f8_ee555bd0","updated":"2022-09-15 09:38:59.000000000","message":"I\u0027m sorry I made a mistake.\nFixed at patchset 25.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"4ab73de51b1719d5d2843ff16dd6d3093c813474","unresolved":false,"context_lines":[{"line_number":111,"context_line":"}"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"# SOL003 6.5.2.12"},{"line_number":114,"context_line":"PmJobModificationsRequestV2 \u003d {"},{"line_number":115,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":116,"context_line":"    \u0027properties\u0027: {"},{"line_number":117,"context_line":"        \u0027callbackUri\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":17,"id":"c6ba91f9_153bad3a","line":114,"range":{"start_line":114,"start_character":25,"end_line":114,"end_character":27},"in_reply_to":"8f256d36_d6ef9da9","updated":"2022-09-15 14:43:13.000000000","message":"I have confirmed it.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":true,"context_lines":[{"line_number":111,"context_line":"}"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"# SOL003 6.5.2.12"},{"line_number":114,"context_line":"PmJobModificationsRequestV2 \u003d {"},{"line_number":115,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":116,"context_line":"    \u0027properties\u0027: {"},{"line_number":117,"context_line":"        \u0027callbackUri\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":17,"id":"868335f8_ee555bd0","line":114,"range":{"start_line":114,"start_character":25,"end_line":114,"end_character":27},"in_reply_to":"ec93b45e_72c1b907","updated":"2022-09-15 08:18:26.000000000","message":"I have confirmed it in PatchSet 24.\nFor consistency of function names with \u0027tacker/sol_refactored/api/schemas/vnffm_v1.py\u0027 and \u0027tacker/sol_refactored/api/schemas/vnflcm_v2.py\u0027, I think it is better to have an underscore.\ne.g.\nCreatePmJobRequestV210 -\u003e CreatePmJobRequest_V210","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":111,"context_line":"}"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"# SOL003 6.5.2.12"},{"line_number":114,"context_line":"PmJobModificationsRequestV2 \u003d {"},{"line_number":115,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":116,"context_line":"    \u0027properties\u0027: {"},{"line_number":117,"context_line":"        \u0027callbackUri\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":17,"id":"ec93b45e_72c1b907","line":114,"range":{"start_line":114,"start_character":25,"end_line":114,"end_character":27},"in_reply_to":"ff408748_c56d0320","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/common/config.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":48,"context_line":"                      \u0027for VNF LCM operation occurrences.\u0027)),"},{"line_number":49,"context_line":"    cfg.IntOpt(\u0027vnffm_alarm_page_size\u0027,"},{"line_number":50,"context_line":"               default\u003d0,  # 0 means no paging"},{"line_number":51,"context_line":"               help\u003d_(\u0027Paged response size of the query result \u0027"},{"line_number":52,"context_line":"                      \u0027for VNF Fault Management alarm.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027vnfpm_pmjob_page_size\u0027,"},{"line_number":54,"context_line":"               default\u003d0,  # 0 means no paging"}],"source_content_type":"text/x-python","patch_set":17,"id":"ab592b21_f5e165c8","line":51,"range":{"start_line":51,"start_character":20,"end_line":51,"end_character":21},"updated":"2022-09-09 09:11:10.000000000","message":"`_` is undefined symbol. In the other part of Tacker source, it is a symbol defined in i18n package. So could you add import statement on the top of this file?\n\n```\nfrom tacker._18n import _\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"c2563d6c673674b2dd1fbc9220d59225a4222a57","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                      \u0027for VNF LCM operation occurrences.\u0027)),"},{"line_number":49,"context_line":"    cfg.IntOpt(\u0027vnffm_alarm_page_size\u0027,"},{"line_number":50,"context_line":"               default\u003d0,  # 0 means no paging"},{"line_number":51,"context_line":"               help\u003d_(\u0027Paged response size of the query result \u0027"},{"line_number":52,"context_line":"                      \u0027for VNF Fault Management alarm.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027vnfpm_pmjob_page_size\u0027,"},{"line_number":54,"context_line":"               default\u003d0,  # 0 means no paging"}],"source_content_type":"text/x-python","patch_set":17,"id":"cd26e671_aa8db6db","line":51,"range":{"start_line":51,"start_character":20,"end_line":51,"end_character":21},"in_reply_to":"a137a3f6_5ffc0a02","updated":"2022-09-14 05:06:24.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":true,"context_lines":[{"line_number":48,"context_line":"                      \u0027for VNF LCM operation occurrences.\u0027)),"},{"line_number":49,"context_line":"    cfg.IntOpt(\u0027vnffm_alarm_page_size\u0027,"},{"line_number":50,"context_line":"               default\u003d0,  # 0 means no paging"},{"line_number":51,"context_line":"               help\u003d_(\u0027Paged response size of the query result \u0027"},{"line_number":52,"context_line":"                      \u0027for VNF Fault Management alarm.\u0027)),"},{"line_number":53,"context_line":"    cfg.IntOpt(\u0027vnfpm_pmjob_page_size\u0027,"},{"line_number":54,"context_line":"               default\u003d0,  # 0 means no paging"}],"source_content_type":"text/x-python","patch_set":17,"id":"a137a3f6_5ffc0a02","line":51,"range":{"start_line":51,"start_character":20,"end_line":51,"end_character":21},"in_reply_to":"ab592b21_f5e165c8","updated":"2022-09-13 02:03:22.000000000","message":"It was fixed in another patch. (commit 8c7e2867c06f1e4854995aa7c4911d42efad9caa Enable retries when sending notifications)","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/common/fm_subscription_utils.py":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":true,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import threading"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a9ea000_a44344a1","line":16,"updated":"2022-09-09 02:51:37.000000000","message":"This is a just comment.\nThis file contains common functions with `subscription_utils.py\u0027.\nFor example, `def test_notification` is same except for the part specifying api version.\nI think some of the functions in this file could be changed to common utilis.\nSuch refactoring should be done in the future.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":true,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import threading"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":17,"id":"2841bc87_89fdff8b","line":16,"in_reply_to":"7a9ea000_a44344a1","updated":"2022-09-15 02:23:23.000000000","message":"I agree that. I will apply some refactoring in the next chance.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"def _get_notification_auth_handle(subsc):"},{"line_number":52,"context_line":"    if not subsc.obj_attr_is_set(\u0027authentication\u0027):"},{"line_number":53,"context_line":"        return http_client.NoAuthHandle()"},{"line_number":54,"context_line":"    elif subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):"},{"line_number":55,"context_line":"        param \u003d subsc.authentication.paramsBasic"},{"line_number":56,"context_line":"        return http_client.BasicAuthHandle(param.userName, param.password)"},{"line_number":57,"context_line":"    elif subsc.authentication.obj_attr_is_set("},{"line_number":58,"context_line":"            \u0027paramsOauth2ClientCredentials\u0027):"},{"line_number":59,"context_line":"        param \u003d subsc.authentication.paramsOauth2ClientCredentials"},{"line_number":60,"context_line":"        return http_client.OAuth2AuthHandle(None,"},{"line_number":61,"context_line":"            param.tokenEndpoint, param.clientId, param.clientPassword)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    # not reach here"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"3fd0f362_b6665903","line":61,"range":{"start_line":52,"start_character":0,"end_line":61,"end_character":70},"updated":"2022-09-09 09:11:10.000000000","message":"I think this if-elif clause should be replaced with 3 if statements.\n\nEach if or elif clause returns some object, so if-elif is meaningless.\n\n```\ndef _get_notification_auth_handle(subsc):\n    if not subsc.obj_attr_is_set(\u0027authentication\u0027):\n        return http_client.NoAuthHandle()\n        \n    if subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):\n        param \u003d subsc.authentication.paramsBasic\n        return http_client.BasicAuthHandle(param.userName, param.password)\n\n    if subsc.authentication.obj_attr_is_set(\n            \u0027paramsOauth2ClientCredentials\u0027):\n        param \u003d subsc.authentication.paramsOauth2ClientCredentials\n        return http_client.OAuth2AuthHandle(None,\n            param.tokenEndpoint, param.clientId, param.clientPassword)\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"def _get_notification_auth_handle(subsc):"},{"line_number":52,"context_line":"    if not subsc.obj_attr_is_set(\u0027authentication\u0027):"},{"line_number":53,"context_line":"        return http_client.NoAuthHandle()"},{"line_number":54,"context_line":"    elif subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):"},{"line_number":55,"context_line":"        param \u003d subsc.authentication.paramsBasic"},{"line_number":56,"context_line":"        return http_client.BasicAuthHandle(param.userName, param.password)"},{"line_number":57,"context_line":"    elif subsc.authentication.obj_attr_is_set("},{"line_number":58,"context_line":"            \u0027paramsOauth2ClientCredentials\u0027):"},{"line_number":59,"context_line":"        param \u003d subsc.authentication.paramsOauth2ClientCredentials"},{"line_number":60,"context_line":"        return http_client.OAuth2AuthHandle(None,"},{"line_number":61,"context_line":"            param.tokenEndpoint, param.clientId, param.clientPassword)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    # not reach here"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"dcb1a39b_cdce6f54","line":61,"range":{"start_line":52,"start_character":0,"end_line":61,"end_character":70},"in_reply_to":"3fd0f362_b6665903","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    url \u003d subsc.callbackUri"},{"line_number":81,"context_line":"    try:"},{"line_number":82,"context_line":"        resp, body \u003d client.do_request(url, \"POST\", body\u003dnotif_data)"},{"line_number":83,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":84,"context_line":"            LOG.error(f\"send_notification failed: {resp.status_code}\")"},{"line_number":85,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":17,"id":"d3163eee_7893e699","line":82,"updated":"2022-09-09 09:11:10.000000000","message":"`body` is not used. I think it is not required in this method, thus it should be replaced with `_`.\n\n```\n        resp, _ \u003d client.do_request(url, \"POST\", body\u003dnotif_data)\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    url \u003d subsc.callbackUri"},{"line_number":81,"context_line":"    try:"},{"line_number":82,"context_line":"        resp, body \u003d client.do_request(url, \"POST\", body\u003dnotif_data)"},{"line_number":83,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":84,"context_line":"            LOG.error(f\"send_notification failed: {resp.status_code}\")"},{"line_number":85,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":17,"id":"b46eda2f_a3c6152f","line":82,"in_reply_to":"d3163eee_7893e699","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":82,"context_line":"        resp, body \u003d client.do_request(url, \"POST\", body\u003dnotif_data)"},{"line_number":83,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":84,"context_line":"            LOG.error(f\"send_notification failed: {resp.status_code}\")"},{"line_number":85,"context_line":"    except Exception:"},{"line_number":86,"context_line":"        # it may occur if test_notification was not executed."},{"line_number":87,"context_line":"        LOG.exception(\"send_notification failed\")"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"d171e17f_16221e0b","line":85,"updated":"2022-09-09 09:11:10.000000000","message":"In this try clause, only `sol_ex.SolException` can be raised in `raise_sol_exception` method referred by `do_request`. So it should be refactored as follows:\n\n```\n    except sol_ex.SolException:\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":82,"context_line":"        resp, body \u003d client.do_request(url, \"POST\", body\u003dnotif_data)"},{"line_number":83,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":84,"context_line":"            LOG.error(f\"send_notification failed: {resp.status_code}\")"},{"line_number":85,"context_line":"    except Exception:"},{"line_number":86,"context_line":"        # it may occur if test_notification was not executed."},{"line_number":87,"context_line":"        LOG.exception(\"send_notification failed\")"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"8396a435_a273be14","line":85,"in_reply_to":"d171e17f_16221e0b","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":96,"context_line":"    url \u003d subsc.callbackUri"},{"line_number":97,"context_line":"    try:"},{"line_number":98,"context_line":"        resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":99,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":100,"context_line":"            raise sol_ex.TestNotificationFailed()"},{"line_number":101,"context_line":"    except Exception:"},{"line_number":102,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":103,"context_line":"        raise sol_ex.TestNotificationFailed()"}],"source_content_type":"text/x-python","patch_set":17,"id":"fc86d5f9_79f72b73","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":49},"updated":"2022-09-09 09:11:10.000000000","message":"I think this if clause should be placed outside of try-except clause, because the raise statement will be redundant since it will be trapped soon at except clause.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":96,"context_line":"    url \u003d subsc.callbackUri"},{"line_number":97,"context_line":"    try:"},{"line_number":98,"context_line":"        resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":99,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":100,"context_line":"            raise sol_ex.TestNotificationFailed()"},{"line_number":101,"context_line":"    except Exception:"},{"line_number":102,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":103,"context_line":"        raise sol_ex.TestNotificationFailed()"}],"source_content_type":"text/x-python","patch_set":17,"id":"0932244d_0c74fdba","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":49},"in_reply_to":"fc86d5f9_79f72b73","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":99,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":100,"context_line":"            raise sol_ex.TestNotificationFailed()"},{"line_number":101,"context_line":"    except Exception:"},{"line_number":102,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":103,"context_line":"        raise sol_ex.TestNotificationFailed()"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def get_matched_subscs(context, inst, notif_type, alarm):"}],"source_content_type":"text/x-python","patch_set":17,"id":"1dff934c_9abf23b4","line":103,"range":{"start_line":101,"start_character":0,"end_line":103,"end_character":45},"updated":"2022-09-09 09:11:10.000000000","message":"- Please use `raise...from` if you re-raise exceptions for the readable traceback.\n- As I mentioned above, try clause should only contain L98. Therefore, exceptions that will be trapped at this except clause will be only `sol_ex.SolException`.\n\nSo I suggest the refactor of L97-L103 as follows:\n\n```\ntry:\n    resp, _ \u003d client.do_request(url, \"GET\")\nexcept sol_ex.SolException as e:\n    raise sol_ex.TestNotificationFailed() from e\n    \nif resp.status_code !\u003d 204:\n    raise sol_ex.TestNotificationFailed()\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":99,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":100,"context_line":"            raise sol_ex.TestNotificationFailed()"},{"line_number":101,"context_line":"    except Exception:"},{"line_number":102,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":103,"context_line":"        raise sol_ex.TestNotificationFailed()"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def get_matched_subscs(context, inst, notif_type, alarm):"}],"source_content_type":"text/x-python","patch_set":17,"id":"1e7d3cd3_4edd1cb7","line":103,"range":{"start_line":101,"start_character":0,"end_line":103,"end_character":45},"in_reply_to":"1dff934c_9abf23b4","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/common/pm_job_utils.py":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2022 Fujitsu"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":17,"id":"358b2e0a_3e4af904","line":1,"updated":"2022-09-09 02:51:37.000000000","message":"This is a just comment.\nAs mentioned in `fm_subscription_utils`, this file contains common functions with `subscription_utils.py\u0027.\nI think some of the functions in this file could be changed to common utilis.\nSuch refactoring should be done in the future.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2022 Fujitsu"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":17,"id":"a5c38385_380f8846","line":1,"in_reply_to":"358b2e0a_3e4af904","updated":"2022-09-15 02:23:23.000000000","message":"I agree that. I will apply some refactoring in the next chance.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":true,"context_lines":[{"line_number":11,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"import threading"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":17,"id":"386608b4_81dc5699","line":14,"updated":"2022-09-09 02:51:37.000000000","message":"Could you insert a blank line below?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"8eff2bd4133a433142e767f964c13afc97d8ca0e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"import threading"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":17,"id":"675520cd_a08aae70","line":14,"in_reply_to":"386608b4_81dc5699","updated":"2022-09-15 02:08:56.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":true,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def get_pm_job(context, pm_job_id):"},{"line_number":59,"context_line":"    # get a pm_job"},{"line_number":60,"context_line":"    # get the PM job from DB."},{"line_number":61,"context_line":"    pm_job \u003d objects.PmJobV2.get_by_id(context, pm_job_id)"},{"line_number":62,"context_line":"    if pm_job is None:"},{"line_number":63,"context_line":"        raise sol_ex.PMJobNotExist()"}],"source_content_type":"text/x-python","patch_set":17,"id":"92f0f397_040fd893","line":60,"range":{"start_line":59,"start_character":4,"end_line":60,"end_character":29},"updated":"2022-09-09 03:02:59.000000000","message":"I think you don\u0027t need this comment. Or just \u0027get the PM job from DB.\u0027 is fine.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def get_pm_job(context, pm_job_id):"},{"line_number":59,"context_line":"    # get a pm_job"},{"line_number":60,"context_line":"    # get the PM job from DB."},{"line_number":61,"context_line":"    pm_job \u003d objects.PmJobV2.get_by_id(context, pm_job_id)"},{"line_number":62,"context_line":"    if pm_job is None:"},{"line_number":63,"context_line":"        raise sol_ex.PMJobNotExist()"}],"source_content_type":"text/x-python","patch_set":17,"id":"cd410626_c1029697","line":60,"range":{"start_line":59,"start_character":4,"end_line":60,"end_character":29},"in_reply_to":"92f0f397_040fd893","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def get_pm_job(context, pm_job_id):"},{"line_number":59,"context_line":"    # get a pm_job"},{"line_number":60,"context_line":"    # get the PM job from DB."},{"line_number":61,"context_line":"    pm_job \u003d objects.PmJobV2.get_by_id(context, pm_job_id)"},{"line_number":62,"context_line":"    if pm_job is None:"},{"line_number":63,"context_line":"        raise sol_ex.PMJobNotExist()"}],"source_content_type":"text/x-python","patch_set":17,"id":"38a57537_407668a3","line":60,"range":{"start_line":59,"start_character":4,"end_line":60,"end_character":29},"in_reply_to":"cd410626_c1029697","updated":"2022-09-15 08:18:26.000000000","message":"I have confirmed it.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":true,"context_lines":[{"line_number":116,"context_line":"    try:"},{"line_number":117,"context_line":"        resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":118,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":119,"context_line":"            raise sol_ex.CallBackUriRequest()"},{"line_number":120,"context_line":"    except Exception as exc:"},{"line_number":121,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":122,"context_line":"        raise sol_ex.CallBackUriRequest() from exc"}],"source_content_type":"text/x-python","patch_set":17,"id":"53b77875_8f603da7","line":119,"updated":"2022-09-09 02:51:37.000000000","message":"Why is this exception different from lcmsubscription and fmsubscription (they specify `TestNotificationFailed`)?\nIf there is no reason, I think it should specify same exception and delete the\n`class CallBackUriRequest(SolHttpError422)` from exceptions.py","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"8eff2bd4133a433142e767f964c13afc97d8ca0e","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    try:"},{"line_number":117,"context_line":"        resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":118,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":119,"context_line":"            raise sol_ex.CallBackUriRequest()"},{"line_number":120,"context_line":"    except Exception as exc:"},{"line_number":121,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":122,"context_line":"        raise sol_ex.CallBackUriRequest() from exc"}],"source_content_type":"text/x-python","patch_set":17,"id":"c7f5fa2a_8d3b0299","line":119,"in_reply_to":"1edd1136_52836935","updated":"2022-09-15 02:08:56.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":116,"context_line":"    try:"},{"line_number":117,"context_line":"        resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":118,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":119,"context_line":"            raise sol_ex.CallBackUriRequest()"},{"line_number":120,"context_line":"    except Exception as exc:"},{"line_number":121,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":122,"context_line":"        raise sol_ex.CallBackUriRequest() from exc"}],"source_content_type":"text/x-python","patch_set":17,"id":"1edd1136_52836935","line":119,"in_reply_to":"53b77875_8f603da7","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            raise sol_ex.CallBackUriRequest()"},{"line_number":120,"context_line":"    except Exception as exc:"},{"line_number":121,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":122,"context_line":"        raise sol_ex.CallBackUriRequest() from exc"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"def make_pm_notif_data(instance_id, sub_instance_ids, report_id,"}],"source_content_type":"text/x-python","patch_set":17,"id":"df9812b7_096463e7","line":122,"updated":"2022-09-09 02:51:37.000000000","message":"ditto.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            raise sol_ex.CallBackUriRequest()"},{"line_number":120,"context_line":"    except Exception as exc:"},{"line_number":121,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":122,"context_line":"        raise sol_ex.CallBackUriRequest() from exc"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"def make_pm_notif_data(instance_id, sub_instance_ids, report_id,"}],"source_content_type":"text/x-python","patch_set":17,"id":"f4da3a0a_6efab368","line":122,"in_reply_to":"df9812b7_096463e7","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"8eff2bd4133a433142e767f964c13afc97d8ca0e","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            raise sol_ex.CallBackUriRequest()"},{"line_number":120,"context_line":"    except Exception as exc:"},{"line_number":121,"context_line":"        # any sort of error is considered. avoid 500 error."},{"line_number":122,"context_line":"        raise sol_ex.CallBackUriRequest() from exc"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"def make_pm_notif_data(instance_id, sub_instance_ids, report_id,"}],"source_content_type":"text/x-python","patch_set":17,"id":"901657cb_3e0e38a3","line":122,"in_reply_to":"f4da3a0a_6efab368","updated":"2022-09-15 02:08:56.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    url \u003d pm_job.callbackUri"},{"line_number":166,"context_line":"    try:"},{"line_number":167,"context_line":"        resp, body \u003d client.do_request(url, \"POST\", body\u003dnotif_data)"},{"line_number":168,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":169,"context_line":"            LOG.error(f\u0027send_notification failed: {resp.status_code}\u0027)"},{"line_number":170,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":17,"id":"6e94123d_62b248ea","line":167,"updated":"2022-09-09 09:11:10.000000000","message":"`body` is not used, please replace it with `_`.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    url \u003d pm_job.callbackUri"},{"line_number":166,"context_line":"    try:"},{"line_number":167,"context_line":"        resp, body \u003d client.do_request(url, \"POST\", body\u003dnotif_data)"},{"line_number":168,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":169,"context_line":"            LOG.error(f\u0027send_notification failed: {resp.status_code}\u0027)"},{"line_number":170,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":17,"id":"821a5cdc_0f88e75f","line":167,"in_reply_to":"6e94123d_62b248ea","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":167,"context_line":"        resp, body \u003d client.do_request(url, \"POST\", body\u003dnotif_data)"},{"line_number":168,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":169,"context_line":"            LOG.error(f\u0027send_notification failed: {resp.status_code}\u0027)"},{"line_number":170,"context_line":"    except Exception:"},{"line_number":171,"context_line":"        # it may occur if test_notification was not executed."},{"line_number":172,"context_line":"        LOG.exception(\"send_notification failed\")"}],"source_content_type":"text/x-python","patch_set":17,"id":"31d21dd3_02609dbe","line":170,"updated":"2022-09-09 09:11:10.000000000","message":"`do_request` returns only `sol_ex.SolException`, so please specify it in except clause.\n\n```\n    except sol_ex.SolException:\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":167,"context_line":"        resp, body \u003d client.do_request(url, \"POST\", body\u003dnotif_data)"},{"line_number":168,"context_line":"        if resp.status_code !\u003d 204:"},{"line_number":169,"context_line":"            LOG.error(f\u0027send_notification failed: {resp.status_code}\u0027)"},{"line_number":170,"context_line":"    except Exception:"},{"line_number":171,"context_line":"        # it may occur if test_notification was not executed."},{"line_number":172,"context_line":"        LOG.exception(\"send_notification failed\")"}],"source_content_type":"text/x-python","patch_set":17,"id":"17ce1c8d_18802c18","line":170,"in_reply_to":"31d21dd3_02609dbe","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/common/prometheus_plugin.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":479,"context_line":"        if len(sub_objs) \u003e 0:"},{"line_number":480,"context_line":"            return self._make_rules_for_each_sub_obj("},{"line_number":481,"context_line":"                context, pm_job, inst_map, metric)"},{"line_number":482,"context_line":"        else:"},{"line_number":483,"context_line":"            return self._make_rules_for_each_obj("},{"line_number":484,"context_line":"                context, pm_job, inst_map, metric)"},{"line_number":485,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1e86c00e_da9c9243","line":482,"updated":"2022-09-09 09:11:10.000000000","message":"This else clause is unnecessary because the above if clause includes return statement.\n\n```\n        if len(sub_objs) \u003e 0:\n            return self._make_rules_for_each_sub_obj(\n                context, pm_job, inst_map, metric)\n        return self._make_rules_for_each_obj(\n            context, pm_job, inst_map, metric)\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":true,"context_lines":[{"line_number":479,"context_line":"        if len(sub_objs) \u003e 0:"},{"line_number":480,"context_line":"            return self._make_rules_for_each_sub_obj("},{"line_number":481,"context_line":"                context, pm_job, inst_map, metric)"},{"line_number":482,"context_line":"        else:"},{"line_number":483,"context_line":"            return self._make_rules_for_each_obj("},{"line_number":484,"context_line":"                context, pm_job, inst_map, metric)"},{"line_number":485,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"83dd761e_0a04f629","line":482,"in_reply_to":"1e86c00e_da9c9243","updated":"2022-09-13 02:03:22.000000000","message":"Fixed at patchset 21.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"c2563d6c673674b2dd1fbc9220d59225a4222a57","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        if len(sub_objs) \u003e 0:"},{"line_number":480,"context_line":"            return self._make_rules_for_each_sub_obj("},{"line_number":481,"context_line":"                context, pm_job, inst_map, metric)"},{"line_number":482,"context_line":"        else:"},{"line_number":483,"context_line":"            return self._make_rules_for_each_obj("},{"line_number":484,"context_line":"                context, pm_job, inst_map, metric)"},{"line_number":485,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"52f1c4fb_59c4d28e","line":482,"in_reply_to":"83dd761e_0a04f629","updated":"2022-09-14 05:06:24.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":524,"context_line":"            self.reload_prom_server(context, uri)"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":527,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":528,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":529,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":530,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"},{"line_number":531,"context_line":"        else:"},{"line_number":532,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":533,"context_line":"                f\"Invalid objectType: {pm_job.objectType}.\")"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"    def reload_prom_server(self, context, reload_uri):"},{"line_number":536,"context_line":"        resp, _ \u003d self.client.do_request("}],"source_content_type":"text/x-python","patch_set":17,"id":"74aa83b9_88b17d79","line":533,"range":{"start_line":527,"start_character":0,"end_line":533,"end_character":60},"updated":"2022-09-09 09:11:10.000000000","message":"ditto\n\n```\n        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:\n            return self.decompose_metrics_vnfc(pm_job)\n        if pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:\n            return self.decompose_metrics_vnfintextcp(pm_job)\n        raise sol_ex.PrometheusPluginError(\n            f\"Invalid objectType: {pm_job.objectType}.\")\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"c2563d6c673674b2dd1fbc9220d59225a4222a57","unresolved":true,"context_lines":[{"line_number":524,"context_line":"            self.reload_prom_server(context, uri)"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":527,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":528,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":529,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":530,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"},{"line_number":531,"context_line":"        else:"},{"line_number":532,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":533,"context_line":"                f\"Invalid objectType: {pm_job.objectType}.\")"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"    def reload_prom_server(self, context, reload_uri):"},{"line_number":536,"context_line":"        resp, _ \u003d self.client.do_request("}],"source_content_type":"text/x-python","patch_set":17,"id":"7ea527aa_43a84232","line":533,"range":{"start_line":527,"start_character":0,"end_line":533,"end_character":60},"in_reply_to":"2238084e_3160bc70","updated":"2022-09-14 05:06:24.000000000","message":"Could you replace `elif` with `if` from L528? `elif` clause is also useless because the above if clause contains return statement.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":true,"context_lines":[{"line_number":524,"context_line":"            self.reload_prom_server(context, uri)"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":527,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":528,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":529,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":530,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"},{"line_number":531,"context_line":"        else:"},{"line_number":532,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":533,"context_line":"                f\"Invalid objectType: {pm_job.objectType}.\")"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"    def reload_prom_server(self, context, reload_uri):"},{"line_number":536,"context_line":"        resp, _ \u003d self.client.do_request("}],"source_content_type":"text/x-python","patch_set":17,"id":"2238084e_3160bc70","line":533,"range":{"start_line":527,"start_character":0,"end_line":533,"end_character":60},"in_reply_to":"74aa83b9_88b17d79","updated":"2022-09-13 02:03:22.000000000","message":"Fixed at patchset 21.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":524,"context_line":"            self.reload_prom_server(context, uri)"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":527,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":528,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":529,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":530,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"},{"line_number":531,"context_line":"        else:"},{"line_number":532,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":533,"context_line":"                f\"Invalid objectType: {pm_job.objectType}.\")"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"    def reload_prom_server(self, context, reload_uri):"},{"line_number":536,"context_line":"        resp, _ \u003d self.client.do_request("}],"source_content_type":"text/x-python","patch_set":17,"id":"598deaca_05955867","line":533,"range":{"start_line":527,"start_character":0,"end_line":533,"end_character":60},"in_reply_to":"7ea527aa_43a84232","updated":"2022-09-14 12:43:30.000000000","message":"I\u0027m sorry I made a mistake.\nFixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                r.computeResource.obj_attr_is_set(\u0027vimLevelResourceType\u0027) and"},{"line_number":682,"context_line":"                r.computeResource.obj_attr_is_set(\u0027resourceId\u0027) and"},{"line_number":683,"context_line":"                r.computeResource.vimLevelResourceType \u003d\u003d \u0027Deployment\u0027 and"},{"line_number":684,"context_line":"                (r.computeResource.vimLevelResourceType \u003d\u003d \u0027Deployment\u0027 or"},{"line_number":685,"context_line":"                 r.computeResource.vimLevelResourceType \u003d\u003d \u0027Pod\u0027) and"},{"line_number":686,"context_line":"                re.match(pod, r.computeResource.resourceId)),"},{"line_number":687,"context_line":"            resources"},{"line_number":688,"context_line":"        ))"}],"source_content_type":"text/x-python","patch_set":17,"id":"e51d50d4_a07b9b9f","line":685,"range":{"start_line":684,"start_character":16,"end_line":685,"end_character":65},"updated":"2022-09-09 09:11:10.000000000","message":"These comparison can be merged with `in`.\n\n```\nr.computeResource.vimLevelResourceType in (\u0027Deployment\u0027, \u0027Pod\u0027)\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"c2563d6c673674b2dd1fbc9220d59225a4222a57","unresolved":false,"context_lines":[{"line_number":681,"context_line":"                r.computeResource.obj_attr_is_set(\u0027vimLevelResourceType\u0027) and"},{"line_number":682,"context_line":"                r.computeResource.obj_attr_is_set(\u0027resourceId\u0027) and"},{"line_number":683,"context_line":"                r.computeResource.vimLevelResourceType \u003d\u003d \u0027Deployment\u0027 and"},{"line_number":684,"context_line":"                (r.computeResource.vimLevelResourceType \u003d\u003d \u0027Deployment\u0027 or"},{"line_number":685,"context_line":"                 r.computeResource.vimLevelResourceType \u003d\u003d \u0027Pod\u0027) and"},{"line_number":686,"context_line":"                re.match(pod, r.computeResource.resourceId)),"},{"line_number":687,"context_line":"            resources"},{"line_number":688,"context_line":"        ))"}],"source_content_type":"text/x-python","patch_set":17,"id":"fe02bbee_928b5dd3","line":685,"range":{"start_line":684,"start_character":16,"end_line":685,"end_character":65},"in_reply_to":"59a3fb6b_4ac57fee","updated":"2022-09-14 05:06:24.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                r.computeResource.obj_attr_is_set(\u0027vimLevelResourceType\u0027) and"},{"line_number":682,"context_line":"                r.computeResource.obj_attr_is_set(\u0027resourceId\u0027) and"},{"line_number":683,"context_line":"                r.computeResource.vimLevelResourceType \u003d\u003d \u0027Deployment\u0027 and"},{"line_number":684,"context_line":"                (r.computeResource.vimLevelResourceType \u003d\u003d \u0027Deployment\u0027 or"},{"line_number":685,"context_line":"                 r.computeResource.vimLevelResourceType \u003d\u003d \u0027Pod\u0027) and"},{"line_number":686,"context_line":"                re.match(pod, r.computeResource.resourceId)),"},{"line_number":687,"context_line":"            resources"},{"line_number":688,"context_line":"        ))"}],"source_content_type":"text/x-python","patch_set":17,"id":"59a3fb6b_4ac57fee","line":685,"range":{"start_line":684,"start_character":16,"end_line":685,"end_character":65},"in_reply_to":"e51d50d4_a07b9b9f","updated":"2022-09-13 02:03:22.000000000","message":"Fixed at patchset 21.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":704,"context_line":"            alm.alarmChangedTime \u003d datetime_now"},{"line_number":705,"context_line":"            if self.notification_callback:"},{"line_number":706,"context_line":"                self.notification_callback(context, alm)"},{"line_number":707,"context_line":"        return"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"    def create_new_alarm(self, context, alert_entry, datetime_now):"},{"line_number":710,"context_line":"        vnf_instance_id \u003d alert_entry[\u0027labels\u0027][\u0027vnf_instance_id\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"dfaca1c1_5a24095a","line":707,"updated":"2022-09-09 09:11:10.000000000","message":"Unnecessary return statement.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"c2563d6c673674b2dd1fbc9220d59225a4222a57","unresolved":false,"context_lines":[{"line_number":704,"context_line":"            alm.alarmChangedTime \u003d datetime_now"},{"line_number":705,"context_line":"            if self.notification_callback:"},{"line_number":706,"context_line":"                self.notification_callback(context, alm)"},{"line_number":707,"context_line":"        return"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"    def create_new_alarm(self, context, alert_entry, datetime_now):"},{"line_number":710,"context_line":"        vnf_instance_id \u003d alert_entry[\u0027labels\u0027][\u0027vnf_instance_id\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"0aca39cd_50d9148d","line":707,"in_reply_to":"4572efbb_0071ffee","updated":"2022-09-14 05:06:24.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"5816b0d0f2459aea6661edb70f700f343052e154","unresolved":true,"context_lines":[{"line_number":704,"context_line":"            alm.alarmChangedTime \u003d datetime_now"},{"line_number":705,"context_line":"            if self.notification_callback:"},{"line_number":706,"context_line":"                self.notification_callback(context, alm)"},{"line_number":707,"context_line":"        return"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"    def create_new_alarm(self, context, alert_entry, datetime_now):"},{"line_number":710,"context_line":"        vnf_instance_id \u003d alert_entry[\u0027labels\u0027][\u0027vnf_instance_id\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"4572efbb_0071ffee","line":707,"in_reply_to":"dfaca1c1_5a24095a","updated":"2022-09-13 02:03:22.000000000","message":"Fixed at patchset 21.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":431,"context_line":"        resource_info \u003d self.get_vnfc_resource_info(context, objs[0], inst_map)"},{"line_number":432,"context_line":"        if not resource_info:"},{"line_number":433,"context_line":"            return []"},{"line_number":434,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":435,"context_line":"            inst \u003d inst_map[objs[0]]"},{"line_number":436,"context_line":"            for sub_obj in sub_objs:"},{"line_number":437,"context_line":"                # resource id is like \u0027test-test1-756757f8f-xcwmt\u0027"}],"source_content_type":"text/x-python","patch_set":21,"id":"e531bd2b_67ca4e58","line":434,"range":{"start_line":434,"start_character":32,"end_line":434,"end_character":33},"updated":"2022-09-13 15:36:54.000000000","message":"Could you change type to `set` instead of `list`?","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        resource_info \u003d self.get_vnfc_resource_info(context, objs[0], inst_map)"},{"line_number":432,"context_line":"        if not resource_info:"},{"line_number":433,"context_line":"            return []"},{"line_number":434,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":435,"context_line":"            inst \u003d inst_map[objs[0]]"},{"line_number":436,"context_line":"            for sub_obj in sub_objs:"},{"line_number":437,"context_line":"                # resource id is like \u0027test-test1-756757f8f-xcwmt\u0027"}],"source_content_type":"text/x-python","patch_set":21,"id":"3186d5a6_8168c747","line":434,"range":{"start_line":434,"start_character":32,"end_line":434,"end_character":33},"in_reply_to":"cb0f5a89_d4226a07","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":431,"context_line":"        resource_info \u003d self.get_vnfc_resource_info(context, objs[0], inst_map)"},{"line_number":432,"context_line":"        if not resource_info:"},{"line_number":433,"context_line":"            return []"},{"line_number":434,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":435,"context_line":"            inst \u003d inst_map[objs[0]]"},{"line_number":436,"context_line":"            for sub_obj in sub_objs:"},{"line_number":437,"context_line":"                # resource id is like \u0027test-test1-756757f8f-xcwmt\u0027"}],"source_content_type":"text/x-python","patch_set":21,"id":"cb0f5a89_d4226a07","line":434,"range":{"start_line":434,"start_character":32,"end_line":434,"end_character":33},"in_reply_to":"e531bd2b_67ca4e58","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":523,"context_line":"            self.reload_prom_server(context, uri)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":526,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":527,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":528,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":529,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"}],"source_content_type":"text/x-python","patch_set":21,"id":"14c9474b_fb49cca3","line":526,"range":{"start_line":526,"start_character":32,"end_line":526,"end_character":33},"updated":"2022-09-13 15:36:54.000000000","message":"ditto.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":523,"context_line":"            self.reload_prom_server(context, uri)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":526,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":527,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":528,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":529,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"}],"source_content_type":"text/x-python","patch_set":21,"id":"18e9ad30_b881d0ab","line":526,"range":{"start_line":526,"start_character":32,"end_line":526,"end_character":33},"in_reply_to":"14c9474b_fb49cca3","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":523,"context_line":"            self.reload_prom_server(context, uri)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":526,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":527,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":528,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":529,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"}],"source_content_type":"text/x-python","patch_set":21,"id":"d4342fac_e1bda646","line":526,"range":{"start_line":526,"start_character":32,"end_line":526,"end_character":33},"in_reply_to":"18e9ad30_b881d0ab","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":525,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":526,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":527,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":528,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":529,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"},{"line_number":530,"context_line":"        raise sol_ex.PrometheusPluginError("},{"line_number":531,"context_line":"            f\"Invalid objectType: {pm_job.objectType}.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"0101152c_0d186a94","line":528,"range":{"start_line":528,"start_character":34,"end_line":528,"end_character":35},"updated":"2022-09-13 15:36:54.000000000","message":"ditto.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":525,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":526,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":527,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":528,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":529,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"},{"line_number":530,"context_line":"        raise sol_ex.PrometheusPluginError("},{"line_number":531,"context_line":"            f\"Invalid objectType: {pm_job.objectType}.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"d985ce59_a404aacf","line":528,"range":{"start_line":528,"start_character":34,"end_line":528,"end_character":35},"in_reply_to":"0101152c_0d186a94","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":525,"context_line":"    def decompose_metrics(self, pm_job):"},{"line_number":526,"context_line":"        if pm_job.objectType in [\u0027Vnf\u0027, \u0027Vnfc\u0027]:"},{"line_number":527,"context_line":"            return self.decompose_metrics_vnfc(pm_job)"},{"line_number":528,"context_line":"        elif pm_job.objectType in [\u0027VnfIntCp\u0027, \u0027VnfExtCp\u0027]:"},{"line_number":529,"context_line":"            return self.decompose_metrics_vnfintextcp(pm_job)"},{"line_number":530,"context_line":"        raise sol_ex.PrometheusPluginError("},{"line_number":531,"context_line":"            f\"Invalid objectType: {pm_job.objectType}.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"eca30ba6_b12ab068","line":528,"range":{"start_line":528,"start_character":34,"end_line":528,"end_character":35},"in_reply_to":"d985ce59_a404aacf","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":558,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":559,"context_line":"                  \"monitoring info is missing at metadata field.\")"},{"line_number":560,"context_line":"        access_info \u003d pm_job.metadata[\u0027monitoring\u0027]"},{"line_number":561,"context_line":"        if access_info.get(\u0027monitorName\u0027) !\u003d \u0027prometheus\u0027 or\\"},{"line_number":562,"context_line":"                access_info.get(\u0027driverType\u0027) !\u003d \u0027external\u0027:"},{"line_number":563,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":564,"context_line":"                  \"prometheus info is missing at metadata field.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"f08dab5e_d4797701","line":561,"range":{"start_line":561,"start_character":60,"end_line":561,"end_character":61},"updated":"2022-09-13 15:36:54.000000000","message":"Could you break line without using backslash?\n```\n        if (access_info.get(\u0027monitorName\u0027) !\u003d \u0027prometheus\u0027 or\n                access_info.get(\u0027driverType\u0027) !\u003d \u0027external\u0027):\n```","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":558,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":559,"context_line":"                  \"monitoring info is missing at metadata field.\")"},{"line_number":560,"context_line":"        access_info \u003d pm_job.metadata[\u0027monitoring\u0027]"},{"line_number":561,"context_line":"        if access_info.get(\u0027monitorName\u0027) !\u003d \u0027prometheus\u0027 or\\"},{"line_number":562,"context_line":"                access_info.get(\u0027driverType\u0027) !\u003d \u0027external\u0027:"},{"line_number":563,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":564,"context_line":"                  \"prometheus info is missing at metadata field.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"ce04cb06_bd88feb8","line":561,"range":{"start_line":561,"start_character":60,"end_line":561,"end_character":61},"in_reply_to":"50535950_ae80c7d0","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":558,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":559,"context_line":"                  \"monitoring info is missing at metadata field.\")"},{"line_number":560,"context_line":"        access_info \u003d pm_job.metadata[\u0027monitoring\u0027]"},{"line_number":561,"context_line":"        if access_info.get(\u0027monitorName\u0027) !\u003d \u0027prometheus\u0027 or\\"},{"line_number":562,"context_line":"                access_info.get(\u0027driverType\u0027) !\u003d \u0027external\u0027:"},{"line_number":563,"context_line":"            raise sol_ex.PrometheusPluginError("},{"line_number":564,"context_line":"                  \"prometheus info is missing at metadata field.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"50535950_ae80c7d0","line":561,"range":{"start_line":561,"start_character":60,"end_line":561,"end_character":61},"in_reply_to":"f08dab5e_d4797701","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":679,"context_line":"                r.computeResource.obj_attr_is_set(\u0027vimLevelResourceType\u0027) and"},{"line_number":680,"context_line":"                r.computeResource.obj_attr_is_set(\u0027resourceId\u0027) and"},{"line_number":681,"context_line":"                (r.computeResource.vimLevelResourceType in"},{"line_number":682,"context_line":"                    [\u0027Deployment\u0027, \u0027Pod\u0027]) and"},{"line_number":683,"context_line":"                re.match(pod, r.computeResource.resourceId)),"},{"line_number":684,"context_line":"            resources"},{"line_number":685,"context_line":"        ))"}],"source_content_type":"text/x-python","patch_set":21,"id":"4b7f1edd_ad37b63b","line":682,"range":{"start_line":682,"start_character":20,"end_line":682,"end_character":21},"updated":"2022-09-13 15:36:54.000000000","message":"Could you change type to `set` instead of `list`?","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":679,"context_line":"                r.computeResource.obj_attr_is_set(\u0027vimLevelResourceType\u0027) and"},{"line_number":680,"context_line":"                r.computeResource.obj_attr_is_set(\u0027resourceId\u0027) and"},{"line_number":681,"context_line":"                (r.computeResource.vimLevelResourceType in"},{"line_number":682,"context_line":"                    [\u0027Deployment\u0027, \u0027Pod\u0027]) and"},{"line_number":683,"context_line":"                re.match(pod, r.computeResource.resourceId)),"},{"line_number":684,"context_line":"            resources"},{"line_number":685,"context_line":"        ))"}],"source_content_type":"text/x-python","patch_set":21,"id":"bd8d67c9_bd5b2d72","line":682,"range":{"start_line":682,"start_character":20,"end_line":682,"end_character":21},"in_reply_to":"4b7f1edd_ad37b63b","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":679,"context_line":"                r.computeResource.obj_attr_is_set(\u0027vimLevelResourceType\u0027) and"},{"line_number":680,"context_line":"                r.computeResource.obj_attr_is_set(\u0027resourceId\u0027) and"},{"line_number":681,"context_line":"                (r.computeResource.vimLevelResourceType in"},{"line_number":682,"context_line":"                    [\u0027Deployment\u0027, \u0027Pod\u0027]) and"},{"line_number":683,"context_line":"                re.match(pod, r.computeResource.resourceId)),"},{"line_number":684,"context_line":"            resources"},{"line_number":685,"context_line":"        ))"}],"source_content_type":"text/x-python","patch_set":21,"id":"120e1e1b_b48933b9","line":682,"range":{"start_line":682,"start_character":20,"end_line":682,"end_character":21},"in_reply_to":"bd8d67c9_bd5b2d72","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":708,"context_line":"        perceived_severity \u003d alert_entry[\u0027labels\u0027][\u0027perceived_severity\u0027]"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        fault_details \u003d ["},{"line_number":711,"context_line":"            \"fingerprint: \" + fingerprint,"},{"line_number":712,"context_line":"            \"detail: \" + alert_entry[\u0027annotations\u0027].get(\u0027fault_details\u0027)"},{"line_number":713,"context_line":"        ]"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        vnfc_instance_ids \u003d self.vnfc_instance_ids("}],"source_content_type":"text/x-python","patch_set":21,"id":"92df5d92_46c81d7c","line":712,"range":{"start_line":711,"start_character":0,"end_line":712,"end_character":72},"updated":"2022-09-13 15:36:54.000000000","message":"Could you use f-string to concatenate strings?","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":708,"context_line":"        perceived_severity \u003d alert_entry[\u0027labels\u0027][\u0027perceived_severity\u0027]"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        fault_details \u003d ["},{"line_number":711,"context_line":"            \"fingerprint: \" + fingerprint,"},{"line_number":712,"context_line":"            \"detail: \" + alert_entry[\u0027annotations\u0027].get(\u0027fault_details\u0027)"},{"line_number":713,"context_line":"        ]"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        vnfc_instance_ids \u003d self.vnfc_instance_ids("}],"source_content_type":"text/x-python","patch_set":21,"id":"c039288e_df14f90a","line":712,"range":{"start_line":711,"start_character":0,"end_line":712,"end_character":72},"in_reply_to":"92df5d92_46c81d7c","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":708,"context_line":"        perceived_severity \u003d alert_entry[\u0027labels\u0027][\u0027perceived_severity\u0027]"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        fault_details \u003d ["},{"line_number":711,"context_line":"            \"fingerprint: \" + fingerprint,"},{"line_number":712,"context_line":"            \"detail: \" + alert_entry[\u0027annotations\u0027].get(\u0027fault_details\u0027)"},{"line_number":713,"context_line":"        ]"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        vnfc_instance_ids \u003d self.vnfc_instance_ids("}],"source_content_type":"text/x-python","patch_set":21,"id":"1e2b51d4_5544886d","line":712,"range":{"start_line":711,"start_character":0,"end_line":712,"end_character":72},"in_reply_to":"c039288e_df14f90a","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"}],"tacker/sol_refactored/conductor/prometheus_plugin_driver.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        PrometheusPluginDriver._instance \u003d self"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def request_scale(self, context, vnf_instance_id, scale_req):"},{"line_number":59,"context_line":"        url \u003d CONF.v2_vnfm.endpoint + \\"},{"line_number":60,"context_line":"            \u0027/vnflcm/v2/vnf_instances/\u0027 + vnf_instance_id + \u0027/scale\u0027"},{"line_number":61,"context_line":"        resp, _ \u003d self.client.do_request("},{"line_number":62,"context_line":"            url, \"POST\", context\u003dcontext, body\u003dscale_req, version\u003d\"2.0.0\")"},{"line_number":63,"context_line":"        LOG.info(\"AutoHealing request is processed: %d.\", resp.status_code)"}],"source_content_type":"text/x-python","patch_set":21,"id":"e786590b_0b80d2cd","line":60,"range":{"start_line":59,"start_character":14,"end_line":60,"end_character":68},"updated":"2022-09-13 15:36:54.000000000","message":"Could you use f-string of format to concatenate strings?","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        PrometheusPluginDriver._instance \u003d self"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def request_scale(self, context, vnf_instance_id, scale_req):"},{"line_number":59,"context_line":"        url \u003d CONF.v2_vnfm.endpoint + \\"},{"line_number":60,"context_line":"            \u0027/vnflcm/v2/vnf_instances/\u0027 + vnf_instance_id + \u0027/scale\u0027"},{"line_number":61,"context_line":"        resp, _ \u003d self.client.do_request("},{"line_number":62,"context_line":"            url, \"POST\", context\u003dcontext, body\u003dscale_req, version\u003d\"2.0.0\")"},{"line_number":63,"context_line":"        LOG.info(\"AutoHealing request is processed: %d.\", resp.status_code)"}],"source_content_type":"text/x-python","patch_set":21,"id":"7dfdb5fb_00c8d6cb","line":60,"range":{"start_line":59,"start_character":14,"end_line":60,"end_character":68},"in_reply_to":"7b37bc14_4a35c3f0","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        PrometheusPluginDriver._instance \u003d self"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def request_scale(self, context, vnf_instance_id, scale_req):"},{"line_number":59,"context_line":"        url \u003d CONF.v2_vnfm.endpoint + \\"},{"line_number":60,"context_line":"            \u0027/vnflcm/v2/vnf_instances/\u0027 + vnf_instance_id + \u0027/scale\u0027"},{"line_number":61,"context_line":"        resp, _ \u003d self.client.do_request("},{"line_number":62,"context_line":"            url, \"POST\", context\u003dcontext, body\u003dscale_req, version\u003d\"2.0.0\")"},{"line_number":63,"context_line":"        LOG.info(\"AutoHealing request is processed: %d.\", resp.status_code)"}],"source_content_type":"text/x-python","patch_set":21,"id":"7b37bc14_4a35c3f0","line":60,"range":{"start_line":59,"start_character":14,"end_line":60,"end_character":68},"in_reply_to":"e786590b_0b80d2cd","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"}],"tacker/sol_refactored/conductor/vnffm_driver_v1.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":27,"context_line":"CONF \u003d config.CONF"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class VnfFmDriverV1(object):"},{"line_number":31,"context_line":"    def __init__(self):"},{"line_number":32,"context_line":"        self.endpoint \u003d CONF.v2_vnfm.endpoint"},{"line_number":33,"context_line":"        self.nfvo_client \u003d nfvo_client.NfvoClient()"}],"source_content_type":"text/x-python","patch_set":17,"id":"db1d927b_f22ca484","line":30,"updated":"2022-09-09 09:11:10.000000000","message":"nits: Explicit inheritance from object is not required.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":27,"context_line":"CONF \u003d config.CONF"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class VnfFmDriverV1(object):"},{"line_number":31,"context_line":"    def __init__(self):"},{"line_number":32,"context_line":"        self.endpoint \u003d CONF.v2_vnfm.endpoint"},{"line_number":33,"context_line":"        self.nfvo_client \u003d nfvo_client.NfvoClient()"}],"source_content_type":"text/x-python","patch_set":17,"id":"dc84548e_eee1930d","line":30,"in_reply_to":"db1d927b_f22ca484","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/conductor/vnfpm_driver_v2.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":22,"context_line":"CONF \u003d config.CONF"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VnfPmDriverV2(object):"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def __init__(self):"},{"line_number":28,"context_line":"        self.endpoint \u003d CONF.v2_vnfm.endpoint"}],"source_content_type":"text/x-python","patch_set":17,"id":"f5d16ff0_b46626b1","line":25,"updated":"2022-09-09 09:11:10.000000000","message":"nits: Explicit inheritance from object is not required.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":22,"context_line":"CONF \u003d config.CONF"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VnfPmDriverV2(object):"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def __init__(self):"},{"line_number":28,"context_line":"        self.endpoint \u003d CONF.v2_vnfm.endpoint"}],"source_content_type":"text/x-python","patch_set":17,"id":"56fbb3cd_646d32e7","line":25,"in_reply_to":"f5d16ff0_b46626b1","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/controller/vnffm_v1.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":54,"context_line":"            # compatibility."},{"line_number":55,"context_line":"            return [\u0027application/mergepatch+json\u0027, \u0027application/json\u0027,"},{"line_number":56,"context_line":"                    \u0027text/plain\u0027]"},{"line_number":57,"context_line":"        else:"},{"line_number":58,"context_line":"            return [\u0027application/json\u0027, \u0027text/plain\u0027]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def index(self, request):"}],"source_content_type":"text/x-python","patch_set":17,"id":"0493d9e3_60dc6960","line":57,"updated":"2022-09-09 09:11:10.000000000","message":"This else clause is redundant, because the above if clause contains return statement.\n\n```\nif ...:\n    ....\n\nreturn [\u0027application/json\u0027, \u0027text/plain\u0027]\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":54,"context_line":"            # compatibility."},{"line_number":55,"context_line":"            return [\u0027application/mergepatch+json\u0027, \u0027application/json\u0027,"},{"line_number":56,"context_line":"                    \u0027text/plain\u0027]"},{"line_number":57,"context_line":"        else:"},{"line_number":58,"context_line":"            return [\u0027application/json\u0027, \u0027text/plain\u0027]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def index(self, request):"}],"source_content_type":"text/x-python","patch_set":17,"id":"14e2cba5_eb2040ea","line":57,"in_reply_to":"0493d9e3_60dc6960","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/controller/vnffm_view.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":58,"context_line":"    def __init__(self, endpoint):"},{"line_number":59,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def parse_filter(self, filter):"},{"line_number":62,"context_line":"        return super().parse_filter(filter)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def parse_pager(self, request):"},{"line_number":65,"context_line":"        page_size \u003d CONF.v2_vnfm.subscription_page_size"}],"source_content_type":"text/x-python","patch_set":17,"id":"79c05468_3b3477a6","line":62,"range":{"start_line":61,"start_character":0,"end_line":62,"end_character":43},"updated":"2022-09-09 09:11:10.000000000","message":"I think this definition is redundant, because it only calls `parse_filter` of super class.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":true,"context_lines":[{"line_number":58,"context_line":"    def __init__(self, endpoint):"},{"line_number":59,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def parse_filter(self, filter):"},{"line_number":62,"context_line":"        return super().parse_filter(filter)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def parse_pager(self, request):"},{"line_number":65,"context_line":"        page_size \u003d CONF.v2_vnfm.subscription_page_size"}],"source_content_type":"text/x-python","patch_set":17,"id":"230d229b_41b29a9b","line":62,"range":{"start_line":61,"start_character":0,"end_line":62,"end_character":43},"in_reply_to":"79c05468_3b3477a6","updated":"2022-09-15 02:23:23.000000000","message":"Fixed at patchset23.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":61,"context_line":"    def parse_filter(self, filter):"},{"line_number":62,"context_line":"        return super().parse_filter(filter)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def parse_pager(self, request):"},{"line_number":65,"context_line":"        page_size \u003d CONF.v2_vnfm.subscription_page_size"},{"line_number":66,"context_line":"        return super().parse_pager(request, page_size)"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5e70548e_5101d00e","line":64,"updated":"2022-09-09 09:11:10.000000000","message":"Overridden method (parse_pager) in the superclass has 2 arguments (request, page_size), but the override method has only 1 argument (request). For the consistency of source, I suggest passing page_size from outside of this method.\n\nIf this suggestion is available, the method definition here is no longer needed (see my comment above).","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":true,"context_lines":[{"line_number":61,"context_line":"    def parse_filter(self, filter):"},{"line_number":62,"context_line":"        return super().parse_filter(filter)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def parse_pager(self, request):"},{"line_number":65,"context_line":"        page_size \u003d CONF.v2_vnfm.subscription_page_size"},{"line_number":66,"context_line":"        return super().parse_pager(request, page_size)"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"e4fc11ce_6a161454","line":64,"in_reply_to":"5e70548e_5101d00e","updated":"2022-09-15 02:23:23.000000000","message":"Fixed at patchset23.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":81,"context_line":"            resp \u003d selector.filter(subsc, resp)"},{"line_number":82,"context_line":"        return resp"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def detail_list(self, subscs, filters, pager):"},{"line_number":85,"context_line":"        return super().detail_list(subscs, filters, None, pager)"}],"source_content_type":"text/x-python","patch_set":17,"id":"c07c3949_74ae98de","line":85,"range":{"start_line":84,"start_character":0,"end_line":85,"end_character":64},"updated":"2022-09-09 09:11:10.000000000","message":"ditto. How about specifying `None` for `selector` argument outside of this method, and removing this definition?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":true,"context_lines":[{"line_number":81,"context_line":"            resp \u003d selector.filter(subsc, resp)"},{"line_number":82,"context_line":"        return resp"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def detail_list(self, subscs, filters, pager):"},{"line_number":85,"context_line":"        return super().detail_list(subscs, filters, None, pager)"}],"source_content_type":"text/x-python","patch_set":17,"id":"dda0d4c0_773588a1","line":85,"range":{"start_line":84,"start_character":0,"end_line":85,"end_character":64},"in_reply_to":"c07c3949_74ae98de","updated":"2022-09-15 02:23:23.000000000","message":"Fixed at patchset23.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/controller/vnfpm_v2.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        try:"},{"line_number":198,"context_line":"            self.plugin.create_job(context\u003dcontext, pm_job\u003dpm_job)"},{"line_number":199,"context_line":"        except sol_ex.PrometheusPluginError:"},{"line_number":200,"context_line":"            raise sol_ex.PrometheusSettingFailed"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        pm_job.create(context)"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"d0ea0281_c260f72c","line":200,"range":{"start_line":199,"start_character":0,"end_line":200,"end_character":48},"updated":"2022-09-09 09:11:10.000000000","message":"Please consider using `raise...from` for the readability of Traceback.\n\n```\n        except sol_ex.PrometheusPluginError as e:\n            raise sol_ex.PrometheusSettingFailed from e\n```","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        try:"},{"line_number":198,"context_line":"            self.plugin.create_job(context\u003dcontext, pm_job\u003dpm_job)"},{"line_number":199,"context_line":"        except sol_ex.PrometheusPluginError:"},{"line_number":200,"context_line":"            raise sol_ex.PrometheusSettingFailed"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        pm_job.create(context)"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"b68cbe62_2b29be5c","line":200,"range":{"start_line":199,"start_character":0,"end_line":200,"end_character":48},"in_reply_to":"d0ea0281_c260f72c","updated":"2022-09-15 02:23:23.000000000","message":"Fixed at patchset23.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":290,"context_line":"            # compatibility."},{"line_number":291,"context_line":"            return [\u0027application/mergepatch+json\u0027, \u0027application/json\u0027,"},{"line_number":292,"context_line":"                    \u0027text/plain\u0027]"},{"line_number":293,"context_line":"        else:"},{"line_number":294,"context_line":"            return [\u0027application/json\u0027, \u0027text/plain\u0027]"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def supported_api_versions(self, action):"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a57187f_6ed3531e","line":293,"updated":"2022-09-09 09:11:10.000000000","message":"This else clause is redundant, because the above if clause contains return statement.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":290,"context_line":"            # compatibility."},{"line_number":291,"context_line":"            return [\u0027application/mergepatch+json\u0027, \u0027application/json\u0027,"},{"line_number":292,"context_line":"                    \u0027text/plain\u0027]"},{"line_number":293,"context_line":"        else:"},{"line_number":294,"context_line":"            return [\u0027application/json\u0027, \u0027text/plain\u0027]"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def supported_api_versions(self, action):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3ecd92da_10784bcf","line":293,"in_reply_to":"1a57187f_6ed3531e","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/controller/vnfpm_view.py":[{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def __init__(self, endpoint):"},{"line_number":31,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def parse_filter(self, filter):"},{"line_number":34,"context_line":"        return super().parse_filter(filter)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def parse_pager(self, request):"},{"line_number":37,"context_line":"        page_size \u003d CONF.v2_vnfm.vnfpm_pmjob_page_size"}],"source_content_type":"text/x-python","patch_set":17,"id":"525131bb_b5a12755","line":34,"range":{"start_line":32,"start_character":0,"end_line":34,"end_character":43},"updated":"2022-09-09 09:11:10.000000000","message":"Redundant definition?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def __init__(self, endpoint):"},{"line_number":31,"context_line":"        self.endpoint \u003d endpoint"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def parse_filter(self, filter):"},{"line_number":34,"context_line":"        return super().parse_filter(filter)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def parse_pager(self, request):"},{"line_number":37,"context_line":"        page_size \u003d CONF.v2_vnfm.vnfpm_pmjob_page_size"}],"source_content_type":"text/x-python","patch_set":17,"id":"504f4f76_9a7811f9","line":34,"range":{"start_line":32,"start_character":0,"end_line":34,"end_character":43},"in_reply_to":"525131bb_b5a12755","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    def parse_filter(self, filter):"},{"line_number":34,"context_line":"        return super().parse_filter(filter)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def parse_pager(self, request):"},{"line_number":37,"context_line":"        page_size \u003d CONF.v2_vnfm.vnfpm_pmjob_page_size"},{"line_number":38,"context_line":"        return super().parse_pager(request, page_size)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def detail(self, pm_job, selector\u003dNone):"},{"line_number":41,"context_line":"        # NOTE: _links is not saved in DB. create when it is necessary."}],"source_content_type":"text/x-python","patch_set":17,"id":"adad353d_1585071b","line":38,"range":{"start_line":36,"start_character":0,"end_line":38,"end_character":54},"updated":"2022-09-09 09:11:10.000000000","message":"Same comment with parse_pager of vnffm_view.py. How about passing page_size from outside of this method, and removing the definition?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    def parse_filter(self, filter):"},{"line_number":34,"context_line":"        return super().parse_filter(filter)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def parse_pager(self, request):"},{"line_number":37,"context_line":"        page_size \u003d CONF.v2_vnfm.vnfpm_pmjob_page_size"},{"line_number":38,"context_line":"        return super().parse_pager(request, page_size)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def detail(self, pm_job, selector\u003dNone):"},{"line_number":41,"context_line":"        # NOTE: _links is not saved in DB. create when it is necessary."}],"source_content_type":"text/x-python","patch_set":17,"id":"8bb87e5d_82b08dfc","line":38,"range":{"start_line":36,"start_character":0,"end_line":38,"end_character":54},"in_reply_to":"adad353d_1585071b","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":33292,"name":"Masaki UENO","email":"masaki.ueno.up@hco.ntt.co.jp","username":"masaki-ueno"},"change_message_id":"cba3eb09dbebe4cecf65fb01bae6131571268c60","unresolved":true,"context_lines":[{"line_number":60,"context_line":"            resp.pop(\u0027jobId\u0027)"},{"line_number":61,"context_line":"        return resp"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def detail_list(self, pm_jobs, filters, selector, pager):"},{"line_number":64,"context_line":"        return super().detail_list(pm_jobs, filters, selector, pager)"}],"source_content_type":"text/x-python","patch_set":17,"id":"3e2abead_3629d024","line":63,"updated":"2022-09-09 09:11:10.000000000","message":"This override modifies the name of first parameter (In the parent class, it is `values`). I think modification of argument name should be avoided to prevent confusion.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":60,"context_line":"            resp.pop(\u0027jobId\u0027)"},{"line_number":61,"context_line":"        return resp"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def detail_list(self, pm_jobs, filters, selector, pager):"},{"line_number":64,"context_line":"        return super().detail_list(pm_jobs, filters, selector, pager)"}],"source_content_type":"text/x-python","patch_set":17,"id":"7492eb4a_fa12811f","line":63,"in_reply_to":"3e2abead_3629d024","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/db/sqlalchemy/models.py":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":true,"context_lines":[{"line_number":236,"context_line":"    __tablename__ \u003d \u0027PerformanceReportV2\u0027"},{"line_number":237,"context_line":"    id \u003d sa.Column(sa.String(255), nullable\u003dFalse, primary_key\u003dTrue)"},{"line_number":238,"context_line":"    jobId \u003d sa.Column(sa.String(255), nullable\u003dFalse, primary_key\u003dFalse)"},{"line_number":239,"context_line":"    entries \u003d sa.Column(sa.JSON(), nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":17,"id":"08d522b2_3bae0f2f","line":239,"updated":"2022-09-09 02:51:37.000000000","message":"According to the SOL003 v3.3.1 Table 6.5.2.10-1: Definition of the PerformanceReport data type, \u0027entries\u0027 is required.\nI think `nullable\u003dFalse` is correct.\n\nhttps://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_nfv-sol003v030301p.pdf","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":236,"context_line":"    __tablename__ \u003d \u0027PerformanceReportV2\u0027"},{"line_number":237,"context_line":"    id \u003d sa.Column(sa.String(255), nullable\u003dFalse, primary_key\u003dTrue)"},{"line_number":238,"context_line":"    jobId \u003d sa.Column(sa.String(255), nullable\u003dFalse, primary_key\u003dFalse)"},{"line_number":239,"context_line":"    entries \u003d sa.Column(sa.JSON(), nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":17,"id":"7c8726bd_60fa86f9","line":239,"in_reply_to":"08d522b2_3bae0f2f","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"8eff2bd4133a433142e767f964c13afc97d8ca0e","unresolved":false,"context_lines":[{"line_number":236,"context_line":"    __tablename__ \u003d \u0027PerformanceReportV2\u0027"},{"line_number":237,"context_line":"    id \u003d sa.Column(sa.String(255), nullable\u003dFalse, primary_key\u003dTrue)"},{"line_number":238,"context_line":"    jobId \u003d sa.Column(sa.String(255), nullable\u003dFalse, primary_key\u003dFalse)"},{"line_number":239,"context_line":"    entries \u003d sa.Column(sa.JSON(), nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":17,"id":"471e3891_8ff121d1","line":239,"in_reply_to":"7c8726bd_60fa86f9","updated":"2022-09-15 02:08:56.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/objects/v2/pm_job.py":[{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"aa5beadef1c8ac03b888bfb61ee9c7c05bb25243","unresolved":true,"context_lines":[{"line_number":16,"context_line":"from tacker.sol_refactored.objects import base\r"},{"line_number":17,"context_line":"from tacker.sol_refactored.objects import fields\r"},{"line_number":18,"context_line":"\r"},{"line_number":19,"context_line":"\r"},{"line_number":20,"context_line":"# NFV-SOL 003\r"},{"line_number":21,"context_line":"# - v3.3.1 6.5.2.7 (API version: 2.1.0)\r"},{"line_number":22,"context_line":"@base.TackerObjectRegistry.register\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"a1049404_456ef52b","line":19,"updated":"2022-09-09 03:02:59.000000000","message":"Don\u0027t we need to add a CreatePmJobRequest object as well?","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":31730,"name":"Naoaki Horie","email":"naoaki.h.opst@gmail.com","username":"naoaki-horie"},"change_message_id":"777042b59c74b47c279ca4a3d907e2c88f73d33f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from tacker.sol_refactored.objects import base\r"},{"line_number":17,"context_line":"from tacker.sol_refactored.objects import fields\r"},{"line_number":18,"context_line":"\r"},{"line_number":19,"context_line":"\r"},{"line_number":20,"context_line":"# NFV-SOL 003\r"},{"line_number":21,"context_line":"# - v3.3.1 6.5.2.7 (API version: 2.1.0)\r"},{"line_number":22,"context_line":"@base.TackerObjectRegistry.register\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"a9623a57_4968e4f0","line":19,"in_reply_to":"05aaf724_48016f46","updated":"2022-09-15 08:18:26.000000000","message":"I have confirmed it.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":16,"context_line":"from tacker.sol_refactored.objects import base\r"},{"line_number":17,"context_line":"from tacker.sol_refactored.objects import fields\r"},{"line_number":18,"context_line":"\r"},{"line_number":19,"context_line":"\r"},{"line_number":20,"context_line":"# NFV-SOL 003\r"},{"line_number":21,"context_line":"# - v3.3.1 6.5.2.7 (API version: 2.1.0)\r"},{"line_number":22,"context_line":"@base.TackerObjectRegistry.register\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"05aaf724_48016f46","line":19,"in_reply_to":"a1049404_456ef52b","updated":"2022-09-14 12:43:30.000000000","message":"tacker/sol_refactored/objects/v2/create_pm_job_request.py was added.\nFixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tacker/sol_refactored/objects/v2/pm_report.py":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"44e42ff90327008e4f51d7157c33ff32403557b4","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        \u0027id\u0027: fields.StringField(nullable\u003dFalse),\r"},{"line_number":32,"context_line":"        \u0027jobId\u0027: fields.StringField(nullable\u003dFalse),\r"},{"line_number":33,"context_line":"        \u0027entries\u0027: fields.ListOfObjectsField(\r"},{"line_number":34,"context_line":"            \u0027VnfPmReportV2_Entries\u0027, nullable\u003dFalse),\r"},{"line_number":35,"context_line":"    }\r"},{"line_number":36,"context_line":"\r"},{"line_number":37,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"cf14dc8d_3bf8030e","line":34,"updated":"2022-09-09 02:51:37.000000000","message":"According to the SOL003 v3.3.1 Table 6.5.2.10-1: Definition of the PerformanceReport data type, \u0027entries\u0027 is required.\nI think `nullable\u003dFalse` is correct.\n\nhttps://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_nfv-sol003v030301p.pdf","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"8eff2bd4133a433142e767f964c13afc97d8ca0e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        \u0027id\u0027: fields.StringField(nullable\u003dFalse),\r"},{"line_number":32,"context_line":"        \u0027jobId\u0027: fields.StringField(nullable\u003dFalse),\r"},{"line_number":33,"context_line":"        \u0027entries\u0027: fields.ListOfObjectsField(\r"},{"line_number":34,"context_line":"            \u0027VnfPmReportV2_Entries\u0027, nullable\u003dFalse),\r"},{"line_number":35,"context_line":"    }\r"},{"line_number":36,"context_line":"\r"},{"line_number":37,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"d053dcde_c3e781c7","line":34,"in_reply_to":"c8fc497c_188d7fda","updated":"2022-09-15 02:08:56.000000000","message":"Done","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"1a11138d5d5c9d86c604ea129a5b9d8d38c9ecea","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        \u0027id\u0027: fields.StringField(nullable\u003dFalse),\r"},{"line_number":32,"context_line":"        \u0027jobId\u0027: fields.StringField(nullable\u003dFalse),\r"},{"line_number":33,"context_line":"        \u0027entries\u0027: fields.ListOfObjectsField(\r"},{"line_number":34,"context_line":"            \u0027VnfPmReportV2_Entries\u0027, nullable\u003dFalse),\r"},{"line_number":35,"context_line":"    }\r"},{"line_number":36,"context_line":"\r"},{"line_number":37,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":17,"id":"c8fc497c_188d7fda","line":34,"in_reply_to":"cf14dc8d_3bf8030e","updated":"2022-09-14 12:43:30.000000000","message":"Fixed at patchset 22.","commit_id":"65c43202d5474a2b7cb174544cca1470f0e21059"}],"tools/test-setup-k8s-vim.sh":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":43,"context_line":"cd /opt/stack/tacker/tacker/tests/functional/sol_kubernetes_v2/samples/"},{"line_number":44,"context_line":"sudo unzip tacker-monitoring-test.zip"},{"line_number":45,"context_line":"cd ./tacker-monitoring-test"},{"line_number":46,"context_line":"sudo apt update"},{"line_number":47,"context_line":"sudo apt install docker.io \u003c\u003c EOF"},{"line_number":48,"context_line":"y"},{"line_number":49,"context_line":"EOF"},{"line_number":50,"context_line":"docker --version"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"sudo docker build -t tacker-monitoring-test ."}],"source_content_type":"text/x-sh","patch_set":21,"id":"41ef8fcc_fcbc8b0b","line":49,"range":{"start_line":46,"start_character":0,"end_line":49,"end_character":3},"updated":"2022-09-13 15:36:54.000000000","message":"I think this script has to also be able to run on CentOS.\nWhat do you think?\n\nWe don\u0027t have enough time until RC1, so if you can\u0027t make it in time, could you add a TODO comment.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":true,"context_lines":[{"line_number":43,"context_line":"cd /opt/stack/tacker/tacker/tests/functional/sol_kubernetes_v2/samples/"},{"line_number":44,"context_line":"sudo unzip tacker-monitoring-test.zip"},{"line_number":45,"context_line":"cd ./tacker-monitoring-test"},{"line_number":46,"context_line":"sudo apt update"},{"line_number":47,"context_line":"sudo apt install docker.io \u003c\u003c EOF"},{"line_number":48,"context_line":"y"},{"line_number":49,"context_line":"EOF"},{"line_number":50,"context_line":"docker --version"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"sudo docker build -t tacker-monitoring-test ."}],"source_content_type":"text/x-sh","patch_set":21,"id":"94adceb2_78f99b9b","line":49,"range":{"start_line":46,"start_character":0,"end_line":49,"end_character":3},"in_reply_to":"41ef8fcc_fcbc8b0b","updated":"2022-09-15 02:23:23.000000000","message":"Fixed at patchset23.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":43,"context_line":"cd /opt/stack/tacker/tacker/tests/functional/sol_kubernetes_v2/samples/"},{"line_number":44,"context_line":"sudo unzip tacker-monitoring-test.zip"},{"line_number":45,"context_line":"cd ./tacker-monitoring-test"},{"line_number":46,"context_line":"sudo apt update"},{"line_number":47,"context_line":"sudo apt install docker.io \u003c\u003c EOF"},{"line_number":48,"context_line":"y"},{"line_number":49,"context_line":"EOF"},{"line_number":50,"context_line":"docker --version"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"sudo docker build -t tacker-monitoring-test ."}],"source_content_type":"text/x-sh","patch_set":21,"id":"4ad5a4cf_52e8d73d","line":49,"range":{"start_line":46,"start_character":0,"end_line":49,"end_character":3},"in_reply_to":"94adceb2_78f99b9b","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"e8f4722a98d0f9df77dbeefc5a680e4c15f14ab2","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    register_vim $conf_dir/local-k8s-vim-oidc.yaml vim-kubernetes-oidc"},{"line_number":40,"context_line":"fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Prometheus plugin test server"},{"line_number":43,"context_line":"cd /opt/stack/tacker/tacker/tests/functional/sol_kubernetes_v2/samples/"},{"line_number":44,"context_line":"sudo unzip tacker-monitoring-test.zip"},{"line_number":45,"context_line":"cd ./tacker-monitoring-test"},{"line_number":46,"context_line":"sudo apt update"},{"line_number":47,"context_line":"sudo apt install docker.io \u003c\u003c EOF"},{"line_number":48,"context_line":"y"},{"line_number":49,"context_line":"EOF"},{"line_number":50,"context_line":"docker --version"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"sudo docker build -t tacker-monitoring-test ."},{"line_number":53,"context_line":"sudo docker run -v ${PWD}/src:/work/src -v ${PWD}/rules:/etc/prometheus/rules -p 55555:55555 -p 50022:22 -e TEST_REMOTE_URI\u003d\"http://0.0.0.0\" -d -it tacker-monitoring-test"}],"source_content_type":"text/x-sh","patch_set":21,"id":"49ea664b_c5e66af0","line":53,"range":{"start_line":42,"start_character":0,"end_line":53,"end_character":170},"updated":"2022-09-13 15:36:54.000000000","message":"It is a little strange that there is a prometheus setup in test-setup-k8s-vim.sh.\nCould you define as ansible task (define under `roles/` folder) if possible?\n\nWe don\u0027t have enough time until RC1, so if you can\u0027t make it in time, could you add a TODO comment.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":35016,"name":"Koji Shimizu","email":"shimizu.koji@fujitsu.com","username":"shimizu-koji"},"change_message_id":"6b59b3dc2e6696f9a6b4aabef9183cbeee0824cc","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    register_vim $conf_dir/local-k8s-vim-oidc.yaml vim-kubernetes-oidc"},{"line_number":40,"context_line":"fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Prometheus plugin test server"},{"line_number":43,"context_line":"cd /opt/stack/tacker/tacker/tests/functional/sol_kubernetes_v2/samples/"},{"line_number":44,"context_line":"sudo unzip tacker-monitoring-test.zip"},{"line_number":45,"context_line":"cd ./tacker-monitoring-test"},{"line_number":46,"context_line":"sudo apt update"},{"line_number":47,"context_line":"sudo apt install docker.io \u003c\u003c EOF"},{"line_number":48,"context_line":"y"},{"line_number":49,"context_line":"EOF"},{"line_number":50,"context_line":"docker --version"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"sudo docker build -t tacker-monitoring-test ."},{"line_number":53,"context_line":"sudo docker run -v ${PWD}/src:/work/src -v ${PWD}/rules:/etc/prometheus/rules -p 55555:55555 -p 50022:22 -e TEST_REMOTE_URI\u003d\"http://0.0.0.0\" -d -it tacker-monitoring-test"}],"source_content_type":"text/x-sh","patch_set":21,"id":"eaa19b63_678ec2b9","line":53,"range":{"start_line":42,"start_character":0,"end_line":53,"end_character":170},"in_reply_to":"49ea664b_c5e66af0","updated":"2022-09-15 02:23:23.000000000","message":"Fixed at patchset23.","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1cf4cff61a2ca1bae40518d989f3b27527e45441","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    register_vim $conf_dir/local-k8s-vim-oidc.yaml vim-kubernetes-oidc"},{"line_number":40,"context_line":"fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Prometheus plugin test server"},{"line_number":43,"context_line":"cd /opt/stack/tacker/tacker/tests/functional/sol_kubernetes_v2/samples/"},{"line_number":44,"context_line":"sudo unzip tacker-monitoring-test.zip"},{"line_number":45,"context_line":"cd ./tacker-monitoring-test"},{"line_number":46,"context_line":"sudo apt update"},{"line_number":47,"context_line":"sudo apt install docker.io \u003c\u003c EOF"},{"line_number":48,"context_line":"y"},{"line_number":49,"context_line":"EOF"},{"line_number":50,"context_line":"docker --version"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"sudo docker build -t tacker-monitoring-test ."},{"line_number":53,"context_line":"sudo docker run -v ${PWD}/src:/work/src -v ${PWD}/rules:/etc/prometheus/rules -p 55555:55555 -p 50022:22 -e TEST_REMOTE_URI\u003d\"http://0.0.0.0\" -d -it tacker-monitoring-test"}],"source_content_type":"text/x-sh","patch_set":21,"id":"2c45d1d8_ec554796","line":53,"range":{"start_line":42,"start_character":0,"end_line":53,"end_character":170},"in_reply_to":"eaa19b63_678ec2b9","updated":"2022-09-16 00:32:41.000000000","message":"Ack","commit_id":"4400d91097bdcbdee6e642db35cafc26a4013c96"}]}
