)]}'
{"tacker/policies/vnf_lcm.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"52cf4c4b0c58f987fec8ffef9ae3524fab889f28","unresolved":true,"context_lines":[{"line_number":24,"context_line":"rules \u003d ["},{"line_number":25,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":26,"context_line":"        name\u003dVNFLCM % \u0027api_versions\u0027,"},{"line_number":27,"context_line":"        check_str\u003dbase.RULE_ANY,"},{"line_number":28,"context_line":"        description\u003d\"Get API Versions.\","},{"line_number":29,"context_line":"        operations\u003d["},{"line_number":30,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":11,"id":"fc0c4451_2def93f5","line":27,"range":{"start_line":27,"start_character":23,"end_line":27,"end_character":31},"updated":"2021-08-11 01:00:58.000000000","message":"Is it intentional to use \"RULE_ANY\" instead of \"RULE_ADMIN_OR_OWNER\"?","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"278b2144ab92542ef43246552c450e54a3a54be6","unresolved":false,"context_lines":[{"line_number":24,"context_line":"rules \u003d ["},{"line_number":25,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":26,"context_line":"        name\u003dVNFLCM % \u0027api_versions\u0027,"},{"line_number":27,"context_line":"        check_str\u003dbase.RULE_ANY,"},{"line_number":28,"context_line":"        description\u003d\"Get API Versions.\","},{"line_number":29,"context_line":"        operations\u003d["},{"line_number":30,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":11,"id":"ceed5b90_05fee3a5","line":27,"range":{"start_line":27,"start_character":23,"end_line":27,"end_character":31},"in_reply_to":"532a4407_57ec6fed","updated":"2021-08-11 05:45:21.000000000","message":"I see.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cb7207aaf69f122c9d00cff2057ed2fb32e5ff29","unresolved":true,"context_lines":[{"line_number":24,"context_line":"rules \u003d ["},{"line_number":25,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":26,"context_line":"        name\u003dVNFLCM % \u0027api_versions\u0027,"},{"line_number":27,"context_line":"        check_str\u003dbase.RULE_ANY,"},{"line_number":28,"context_line":"        description\u003d\"Get API Versions.\","},{"line_number":29,"context_line":"        operations\u003d["},{"line_number":30,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":11,"id":"532a4407_57ec6fed","line":27,"range":{"start_line":27,"start_character":23,"end_line":27,"end_character":31},"in_reply_to":"fc0c4451_2def93f5","updated":"2021-08-11 01:48:41.000000000","message":"yes. RULE_ADMIN_OR_OWNER is equivalent to RULE_ANY if resources have not project_id.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"}],"tacker/sol_refactored/api/api_version.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"52cf4c4b0c58f987fec8ffef9ae3524fab889f28","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"CURRENT_VERSION \u003d \u00272.0.0\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"supported_versions \u003d ["},{"line_number":39,"context_line":"    item[\u0027version\u0027] for item in supported_versions_v2[\u0027apiVersions\u0027]"},{"line_number":40,"context_line":"]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class APIVersion(object):"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"04af6771_4fac5d37","line":41,"range":{"start_line":38,"start_character":0,"end_line":41,"end_character":0},"updated":"2021-08-11 01:00:58.000000000","message":"\"supported_versions\" does not contain \"supported_versions_v1\", is it correct?","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cb7207aaf69f122c9d00cff2057ed2fb32e5ff29","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"CURRENT_VERSION \u003d \u00272.0.0\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"supported_versions \u003d ["},{"line_number":39,"context_line":"    item[\u0027version\u0027] for item in supported_versions_v2[\u0027apiVersions\u0027]"},{"line_number":40,"context_line":"]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class APIVersion(object):"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"936670a7_9c0afa68","line":41,"range":{"start_line":38,"start_character":0,"end_line":41,"end_character":0},"in_reply_to":"04af6771_4fac5d37","updated":"2021-08-11 01:48:41.000000000","message":"it is intention. it is used L.63 only and it is for v2 route.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"278b2144ab92542ef43246552c450e54a3a54be6","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"CURRENT_VERSION \u003d \u00272.0.0\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"supported_versions \u003d ["},{"line_number":39,"context_line":"    item[\u0027version\u0027] for item in supported_versions_v2[\u0027apiVersions\u0027]"},{"line_number":40,"context_line":"]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class APIVersion(object):"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"71f272eb_fb4d7651","line":41,"range":{"start_line":38,"start_character":0,"end_line":41,"end_character":0},"in_reply_to":"936670a7_9c0afa68","updated":"2021-08-11 05:45:21.000000000","message":"I see.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"}],"tacker/sol_refactored/api/policies/vnflcm_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        description\u003d\"Creates vnf instance.\","},{"line_number":37,"context_line":"        operations\u003d["},{"line_number":38,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":39,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances\u0027}"},{"line_number":40,"context_line":"        ]"},{"line_number":41,"context_line":"    ),"},{"line_number":42,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"5536b7ec_8b038d25","line":39,"range":{"start_line":39,"start_character":21,"end_line":39,"end_character":47},"updated":"2021-08-16 10:29:27.000000000","message":"IMO, it would be better to define the following constants to prevent typo, but what do you think?\n---\nVNF_INSTANCES \u003d \u0027/vnflcm/v2/vnf_instances\u0027","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"51ab4c2c636b878471ad0a5912161dcab1599cfd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        description\u003d\"Creates vnf instance.\","},{"line_number":37,"context_line":"        operations\u003d["},{"line_number":38,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":39,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances\u0027}"},{"line_number":40,"context_line":"        ]"},{"line_number":41,"context_line":"    ),"},{"line_number":42,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"ee58642d_073f2b73","line":39,"range":{"start_line":39,"start_character":21,"end_line":39,"end_character":47},"in_reply_to":"021e6b64_27b9c021","updated":"2021-08-17 08:32:07.000000000","message":"Done","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        description\u003d\"Creates vnf instance.\","},{"line_number":37,"context_line":"        operations\u003d["},{"line_number":38,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":39,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances\u0027}"},{"line_number":40,"context_line":"        ]"},{"line_number":41,"context_line":"    ),"},{"line_number":42,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"021e6b64_27b9c021","line":39,"range":{"start_line":39,"start_character":21,"end_line":39,"end_character":47},"in_reply_to":"5536b7ec_8b038d25","updated":"2021-08-17 01:18:05.000000000","message":"OK, I wil fix.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        description\u003d\"Query an Individual VNF instance.\","},{"line_number":55,"context_line":"        operations\u003d["},{"line_number":56,"context_line":"            {\u0027method\u0027: \u0027GET\u0027,"},{"line_number":57,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}\u0027}"},{"line_number":58,"context_line":"        ]"},{"line_number":59,"context_line":"    ),"},{"line_number":60,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"6704e7fb_5566e3bd","line":57,"range":{"start_line":57,"start_character":45,"end_line":57,"end_character":47},"updated":"2021-08-16 10:29:27.000000000","message":"\u0027/\u0027 is lacking.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        description\u003d\"Query an Individual VNF instance.\","},{"line_number":55,"context_line":"        operations\u003d["},{"line_number":56,"context_line":"            {\u0027method\u0027: \u0027GET\u0027,"},{"line_number":57,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}\u0027}"},{"line_number":58,"context_line":"        ]"},{"line_number":59,"context_line":"    ),"},{"line_number":60,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"a0412f63_52ea2d0e","line":57,"range":{"start_line":57,"start_character":45,"end_line":57,"end_character":47},"in_reply_to":"6704e7fb_5566e3bd","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        description\u003d\"Update an Individual VNF instance.\","},{"line_number":64,"context_line":"        operations\u003d["},{"line_number":65,"context_line":"            {\u0027method\u0027: \u0027PATCH\u0027,"},{"line_number":66,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}\u0027}"},{"line_number":67,"context_line":"        ]"},{"line_number":68,"context_line":"    ),"},{"line_number":69,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"5215cce5_2e21b152","line":66,"range":{"start_line":66,"start_character":45,"end_line":66,"end_character":47},"updated":"2021-08-16 10:29:27.000000000","message":"ditto","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        description\u003d\"Update an Individual VNF instance.\","},{"line_number":64,"context_line":"        operations\u003d["},{"line_number":65,"context_line":"            {\u0027method\u0027: \u0027PATCH\u0027,"},{"line_number":66,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}\u0027}"},{"line_number":67,"context_line":"        ]"},{"line_number":68,"context_line":"    ),"},{"line_number":69,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"48fa8d53_ab28a664","line":66,"range":{"start_line":66,"start_character":45,"end_line":66,"end_character":47},"in_reply_to":"5215cce5_2e21b152","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        description\u003d\"Delete an Individual VNF instance.\","},{"line_number":73,"context_line":"        operations\u003d["},{"line_number":74,"context_line":"            {\u0027method\u0027: \u0027DELETE\u0027,"},{"line_number":75,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}\u0027}"},{"line_number":76,"context_line":"        ]"},{"line_number":77,"context_line":"    ),"},{"line_number":78,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"d384ceac_2b5750c2","line":75,"range":{"start_line":75,"start_character":45,"end_line":75,"end_character":47},"updated":"2021-08-16 10:29:27.000000000","message":"ditto","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        description\u003d\"Delete an Individual VNF instance.\","},{"line_number":73,"context_line":"        operations\u003d["},{"line_number":74,"context_line":"            {\u0027method\u0027: \u0027DELETE\u0027,"},{"line_number":75,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}\u0027}"},{"line_number":76,"context_line":"        ]"},{"line_number":77,"context_line":"    ),"},{"line_number":78,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"81ab0ecc_ac254c66","line":75,"range":{"start_line":75,"start_character":45,"end_line":75,"end_character":47},"in_reply_to":"d384ceac_2b5750c2","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        description\u003d\"Instantiate vnf instance.\","},{"line_number":82,"context_line":"        operations\u003d["},{"line_number":83,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":84,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}/instantiate\u0027}"},{"line_number":85,"context_line":"        ]"},{"line_number":86,"context_line":"    ),"},{"line_number":87,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"b345202d_a42093e0","line":84,"range":{"start_line":84,"start_character":45,"end_line":84,"end_character":47},"updated":"2021-08-16 10:29:27.000000000","message":"ditto","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        description\u003d\"Instantiate vnf instance.\","},{"line_number":82,"context_line":"        operations\u003d["},{"line_number":83,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":84,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}/instantiate\u0027}"},{"line_number":85,"context_line":"        ]"},{"line_number":86,"context_line":"    ),"},{"line_number":87,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"0bc35927_d7d01684","line":84,"range":{"start_line":84,"start_character":45,"end_line":84,"end_character":47},"in_reply_to":"b345202d_a42093e0","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":90,"context_line":"        description\u003d\"Terminate vnf instance.\","},{"line_number":91,"context_line":"        operations\u003d["},{"line_number":92,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":93,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}/terminate\u0027}"},{"line_number":94,"context_line":"        ]"},{"line_number":95,"context_line":"    ),"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"0fe79ac7_147463ec","line":93,"range":{"start_line":93,"start_character":45,"end_line":93,"end_character":47},"updated":"2021-08-16 10:29:27.000000000","message":"ditto","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        description\u003d\"Terminate vnf instance.\","},{"line_number":91,"context_line":"        operations\u003d["},{"line_number":92,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":93,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_instances{vnfInstanceId}/terminate\u0027}"},{"line_number":94,"context_line":"        ]"},{"line_number":95,"context_line":"    ),"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"0e3655fd_251ed431","line":93,"range":{"start_line":93,"start_character":45,"end_line":93,"end_character":47},"in_reply_to":"0fe79ac7_147463ec","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":103,"context_line":"        description\u003d\"Create subscription.\","},{"line_number":104,"context_line":"        operations\u003d["},{"line_number":105,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":106,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/subscriptions\u0027}"},{"line_number":107,"context_line":"        ]"},{"line_number":108,"context_line":"    ),"},{"line_number":109,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"0bd179ef_eece4c46","line":106,"updated":"2021-08-16 10:29:27.000000000","message":"Same comment with \u0027/vnflcm/v2/vnf_instances\u0027.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        description\u003d\"Create subscription.\","},{"line_number":104,"context_line":"        operations\u003d["},{"line_number":105,"context_line":"            {\u0027method\u0027: \u0027POST\u0027,"},{"line_number":106,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/subscriptions\u0027}"},{"line_number":107,"context_line":"        ]"},{"line_number":108,"context_line":"    ),"},{"line_number":109,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"b9507dbf_b924b51d","line":106,"in_reply_to":"0bd179ef_eece4c46","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":139,"context_line":"        description\u003d\"List VnfLcmOpOcc.\","},{"line_number":140,"context_line":"        operations\u003d["},{"line_number":141,"context_line":"            {\u0027method\u0027: \u0027GET\u0027,"},{"line_number":142,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_lcm_op_occs\u0027}"},{"line_number":143,"context_line":"        ]"},{"line_number":144,"context_line":"    ),"},{"line_number":145,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"d49a8f9e_e139ba3e","line":142,"updated":"2021-08-16 10:29:27.000000000","message":"Same comment with \u0027/vnflcm/v2/vnf_instances\u0027.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        description\u003d\"List VnfLcmOpOcc.\","},{"line_number":140,"context_line":"        operations\u003d["},{"line_number":141,"context_line":"            {\u0027method\u0027: \u0027GET\u0027,"},{"line_number":142,"context_line":"             \u0027path\u0027: \u0027/vnflcm/v2/vnf_lcm_op_occs\u0027}"},{"line_number":143,"context_line":"        ]"},{"line_number":144,"context_line":"    ),"},{"line_number":145,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":13,"id":"1da52b1f_c4e85048","line":142,"in_reply_to":"d49a8f9e_e139ba3e","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"6ee13a1c635c1e81226e56c50ad8a7a6f159ab7a","unresolved":true,"context_lines":[{"line_number":151,"context_line":"        ]"},{"line_number":152,"context_line":"    ),"},{"line_number":153,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":154,"context_line":"        name\u003dPOLICY_NAME.format(\u0027lcm_op_occ_delete\u0027),"},{"line_number":155,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":156,"context_line":"        description\u003d\"Delete VnfLcmOpOcc.\","},{"line_number":157,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":22,"id":"640afcbf_8f7870a3","line":154,"updated":"2021-09-02 10:58:38.000000000","message":"This method is not defined in the LCM of ETSI NFV SOL003.\nIMO. How about adding a comment like one in tacker/sol_refactored/common/config.py and tacker/sol_refactored/controller/vnflcm_v2.py?","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"d2abaf44d3de022f586c8460a54859618b606e8c","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        ]"},{"line_number":152,"context_line":"    ),"},{"line_number":153,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":154,"context_line":"        name\u003dPOLICY_NAME.format(\u0027lcm_op_occ_delete\u0027),"},{"line_number":155,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":156,"context_line":"        description\u003d\"Delete VnfLcmOpOcc.\","},{"line_number":157,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":22,"id":"226339cf_a2951704","line":154,"in_reply_to":"0136e487_d25d8294","updated":"2021-09-06 01:04:55.000000000","message":"done","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"3a3d0a58bbf7b57bdb3c7eca4689b8955cd91bd1","unresolved":true,"context_lines":[{"line_number":151,"context_line":"        ]"},{"line_number":152,"context_line":"    ),"},{"line_number":153,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":154,"context_line":"        name\u003dPOLICY_NAME.format(\u0027lcm_op_occ_delete\u0027),"},{"line_number":155,"context_line":"        check_str\u003dRULE_ANY,"},{"line_number":156,"context_line":"        description\u003d\"Delete VnfLcmOpOcc.\","},{"line_number":157,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":22,"id":"0136e487_d25d8294","line":154,"in_reply_to":"640afcbf_8f7870a3","updated":"2021-09-03 00:23:11.000000000","message":"I see. I will add a comment.","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"}],"tacker/sol_refactored/api/router.py":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"6ee13a1c635c1e81226e56c50ad8a7a6f159ab7a","unresolved":true,"context_lines":[{"line_number":46,"context_line":"                                 \"DELETE\": \"subscription_delete\"}),"},{"line_number":47,"context_line":"        (\"/vnf_lcm_op_occs\", {\"GET\": \"lcm_op_occ_list\"}),"},{"line_number":48,"context_line":"        (\"/vnf_lcm_op_occs/{id}\", {\"GET\": \"lcm_op_occ_show\","},{"line_number":49,"context_line":"                                   \"DELETE\": \"lcm_op_occ_delete\"})"},{"line_number":50,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":22,"id":"15ad4d11_cb7b981a","line":49,"updated":"2021-09-02 10:58:38.000000000","message":"ditto","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"3a3d0a58bbf7b57bdb3c7eca4689b8955cd91bd1","unresolved":true,"context_lines":[{"line_number":46,"context_line":"                                 \"DELETE\": \"subscription_delete\"}),"},{"line_number":47,"context_line":"        (\"/vnf_lcm_op_occs\", {\"GET\": \"lcm_op_occ_list\"}),"},{"line_number":48,"context_line":"        (\"/vnf_lcm_op_occs/{id}\", {\"GET\": \"lcm_op_occ_show\","},{"line_number":49,"context_line":"                                   \"DELETE\": \"lcm_op_occ_delete\"})"},{"line_number":50,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":22,"id":"b67be6a9_ca01df9e","line":49,"in_reply_to":"15ad4d11_cb7b981a","updated":"2021-09-03 00:23:11.000000000","message":"ditto","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"d2abaf44d3de022f586c8460a54859618b606e8c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                                 \"DELETE\": \"subscription_delete\"}),"},{"line_number":47,"context_line":"        (\"/vnf_lcm_op_occs\", {\"GET\": \"lcm_op_occ_list\"}),"},{"line_number":48,"context_line":"        (\"/vnf_lcm_op_occs/{id}\", {\"GET\": \"lcm_op_occ_show\","},{"line_number":49,"context_line":"                                   \"DELETE\": \"lcm_op_occ_delete\"})"},{"line_number":50,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":22,"id":"93d1f68c_d485165e","line":49,"in_reply_to":"b67be6a9_ca01df9e","updated":"2021-09-06 01:04:55.000000000","message":"done","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"}],"tacker/sol_refactored/api/schemas/common_types.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"b2625a8ab3506cbca8e83b97122200a677fcb1d5","unresolved":true,"context_lines":[{"line_number":157,"context_line":"VnfExtCpConfig \u003d {"},{"line_number":158,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":159,"context_line":"    \u0027properties\u0027: {"},{"line_number":160,"context_line":"        \u0027cpInstanceId\u0027: IdentifierInVnf,"},{"line_number":161,"context_line":"        \u0027linkPortId\u0027: Identifier,"},{"line_number":162,"context_line":"        \u0027cpProtocolData\u0027: {"},{"line_number":163,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"0d94b073_c5bb834f","line":160,"updated":"2021-09-07 08:06:16.000000000","message":"According to the definition of SOL003 v3.3.1, it is \"parentCpConfigId\".\n(According to the definition of SOL003 v2.6.1, it is \"cpInstanceId\".)\nThe object definition VnfExtCpConfig also has \"parentCpConfigId\".\nhttps://review.opendev.org/c/openstack/tacker/+/803692/7/tacker/sol_refactored/objects/common/vnf_ext_cp_config.py","commit_id":"ac6aba9bbb6b721ca6c590c232cbe821e6879dc2"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"4b50fcf9612e6163d20a66c4020fbaa1529b38ec","unresolved":true,"context_lines":[{"line_number":157,"context_line":"VnfExtCpConfig \u003d {"},{"line_number":158,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":159,"context_line":"    \u0027properties\u0027: {"},{"line_number":160,"context_line":"        \u0027cpInstanceId\u0027: IdentifierInVnf,"},{"line_number":161,"context_line":"        \u0027linkPortId\u0027: Identifier,"},{"line_number":162,"context_line":"        \u0027cpProtocolData\u0027: {"},{"line_number":163,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"c543c4f9_550c9a0d","line":160,"in_reply_to":"0d94b073_c5bb834f","updated":"2021-09-07 22:58:31.000000000","message":"right. I will fix.","commit_id":"ac6aba9bbb6b721ca6c590c232cbe821e6879dc2"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"78ea32d46922164b16b89dcbc8674c1bd955a588","unresolved":false,"context_lines":[{"line_number":157,"context_line":"VnfExtCpConfig \u003d {"},{"line_number":158,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":159,"context_line":"    \u0027properties\u0027: {"},{"line_number":160,"context_line":"        \u0027cpInstanceId\u0027: IdentifierInVnf,"},{"line_number":161,"context_line":"        \u0027linkPortId\u0027: Identifier,"},{"line_number":162,"context_line":"        \u0027cpProtocolData\u0027: {"},{"line_number":163,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"cdc5269b_a590480e","line":160,"in_reply_to":"c543c4f9_550c9a0d","updated":"2021-09-07 23:13:45.000000000","message":"Done","commit_id":"ac6aba9bbb6b721ca6c590c232cbe821e6879dc2"}],"tacker/sol_refactored/api/schemas/vnf_instances.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        \u0027additionalParams\u0027: parameter_types.keyvalue_pairs,"},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \u0027required\u0027: [\u0027terminationType\u0027]"},{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# SOL013 8.3.4"},{"line_number":77,"context_line":"SubscriptionAuthentication \u003d {"}],"source_content_type":"text/x-python","patch_set":13,"id":"fc6f9cf2_f94e9ff9","line":74,"updated":"2021-08-16 10:29:27.000000000","message":"The following seems to be lacking, so could you add it?\n---\n\u0027additionalProperties\u0027: True,","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"fe6dda441a9b9cd15e28901430e3b2d95fadf988","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        \u0027additionalParams\u0027: parameter_types.keyvalue_pairs,"},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \u0027required\u0027: [\u0027terminationType\u0027]"},{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# SOL013 8.3.4"},{"line_number":77,"context_line":"SubscriptionAuthentication \u003d {"}],"source_content_type":"text/x-python","patch_set":13,"id":"b86463ab_c4bcba6c","line":74,"in_reply_to":"29e49535_9bf78885","updated":"2021-08-17 21:58:40.000000000","message":"oops. I see. I will fix.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"edaa3c6298a9c14b4fa397eafc7d686bdf372590","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        \u0027additionalParams\u0027: parameter_types.keyvalue_pairs,"},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \u0027required\u0027: [\u0027terminationType\u0027]"},{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# SOL013 8.3.4"},{"line_number":77,"context_line":"SubscriptionAuthentication \u003d {"}],"source_content_type":"text/x-python","patch_set":13,"id":"29e49535_9bf78885","line":74,"in_reply_to":"8b88591d_89905a1a","updated":"2021-08-17 08:40:45.000000000","message":"From the SOL definition below, I think it should be \u0027additionalProperties\u0027: True.\n---\nSOL003 v3.3.1 5.5.1 Introduction\nThis clause defines the request and response data structures of the VNF Lifecycle management interface. If a request or\nresponse contains attributes not defined in the present document, a receiving functional block that does not understand\nthese attributes shall not treat their presence as an error and may choose to ignore them.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5845846f2ba35d8bf2648cc2805295484fe505f3","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \u0027additionalParams\u0027: parameter_types.keyvalue_pairs,"},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \u0027required\u0027: [\u0027terminationType\u0027]"},{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# SOL013 8.3.4"},{"line_number":77,"context_line":"SubscriptionAuthentication \u003d {"}],"source_content_type":"text/x-python","patch_set":13,"id":"1b64b9cd_2bb3b161","line":74,"in_reply_to":"b86463ab_c4bcba6c","updated":"2021-08-20 10:19:02.000000000","message":"Done","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        \u0027additionalParams\u0027: parameter_types.keyvalue_pairs,"},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \u0027required\u0027: [\u0027terminationType\u0027]"},{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# SOL013 8.3.4"},{"line_number":77,"context_line":"SubscriptionAuthentication \u003d {"}],"source_content_type":"text/x-python","patch_set":13,"id":"8b88591d_89905a1a","line":74,"in_reply_to":"fc6f9cf2_f94e9ff9","updated":"2021-08-17 01:18:05.000000000","message":"default value of additionalProperties is True. so it is not necessary.\nBy the way, I think \u0027False\u0027 is correct. I will fix in the next patch.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# SOL013 8.3.4"},{"line_number":77,"context_line":"SubscriptionAuthentication \u003d {"},{"line_number":78,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":79,"context_line":"    \u0027properties\u0027: {"},{"line_number":80,"context_line":"        \u0027authType\u0027: {"}],"source_content_type":"text/x-python","patch_set":13,"id":"d3560897_f32672d4","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":26},"updated":"2021-08-16 10:29:27.000000000","message":"Should you prefix this with \"_\" to make it inner?","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":74,"context_line":"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# SOL013 8.3.4"},{"line_number":77,"context_line":"SubscriptionAuthentication \u003d {"},{"line_number":78,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":79,"context_line":"    \u0027properties\u0027: {"},{"line_number":80,"context_line":"        \u0027authType\u0027: {"}],"source_content_type":"text/x-python","patch_set":13,"id":"f2c60750_2a3d8b59","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":26},"in_reply_to":"d3560897_f32672d4","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":152,"context_line":"}"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"# SOL003 4.4.1.5"},{"line_number":155,"context_line":"VnfInstanceSubscriptionFilter \u003d {"},{"line_number":156,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":157,"context_line":"    \u0027properties\u0027: {"},{"line_number":158,"context_line":"        \u0027vnfdIds\u0027: {"}],"source_content_type":"text/x-python","patch_set":13,"id":"8f128071_163d9382","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":29},"updated":"2021-08-16 10:29:27.000000000","message":"ditto","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":152,"context_line":"}"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"# SOL003 4.4.1.5"},{"line_number":155,"context_line":"VnfInstanceSubscriptionFilter \u003d {"},{"line_number":156,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":157,"context_line":"    \u0027properties\u0027: {"},{"line_number":158,"context_line":"        \u0027vnfdIds\u0027: {"}],"source_content_type":"text/x-python","patch_set":13,"id":"1f2ade90_db65231d","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":29},"in_reply_to":"8f128071_163d9382","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":172,"context_line":"}"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"# SOL003 5.5.3.12"},{"line_number":175,"context_line":"LifecycleChangeNotificationsFilter \u003d {"},{"line_number":176,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":177,"context_line":"    \u0027properties\u0027: {"},{"line_number":178,"context_line":"        \u0027vnfInstanceSubscriptionFilter\u0027: VnfInstanceSubscriptionFilter,"}],"source_content_type":"text/x-python","patch_set":13,"id":"8d2c857a_d071ea8a","line":175,"range":{"start_line":175,"start_character":0,"end_line":175,"end_character":34},"updated":"2021-08-16 10:29:27.000000000","message":"ditto","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":172,"context_line":"}"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"# SOL003 5.5.3.12"},{"line_number":175,"context_line":"LifecycleChangeNotificationsFilter \u003d {"},{"line_number":176,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":177,"context_line":"    \u0027properties\u0027: {"},{"line_number":178,"context_line":"        \u0027vnfInstanceSubscriptionFilter\u0027: VnfInstanceSubscriptionFilter,"}],"source_content_type":"text/x-python","patch_set":13,"id":"f9aabb2c_b7dcdfeb","line":175,"range":{"start_line":175,"start_character":0,"end_line":175,"end_character":34},"in_reply_to":"8d2c857a_d071ea8a","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":220,"context_line":"}"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"# SOL003 5.5.2.15"},{"line_number":223,"context_line":"LccnSubscriptionRequest_V200 \u003d {"},{"line_number":224,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":225,"context_line":"    \u0027properties\u0027: {"},{"line_number":226,"context_line":"        \u0027filter\u0027: LifecycleChangeNotificationsFilter,"}],"source_content_type":"text/x-python","patch_set":13,"id":"747563e2_03a94beb","line":223,"updated":"2021-08-16 10:29:27.000000000","message":"IMO, it would be better to move this definition by creating a file like the one below, but what do you think?\n---\ntacker/sol_refactored/api/schemas/subscription.py","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":true,"context_lines":[{"line_number":220,"context_line":"}"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"# SOL003 5.5.2.15"},{"line_number":223,"context_line":"LccnSubscriptionRequest_V200 \u003d {"},{"line_number":224,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":225,"context_line":"    \u0027properties\u0027: {"},{"line_number":226,"context_line":"        \u0027filter\u0027: LifecycleChangeNotificationsFilter,"}],"source_content_type":"text/x-python","patch_set":13,"id":"b76d2462_58ccdd83","line":223,"in_reply_to":"747563e2_03a94beb","updated":"2021-08-17 01:18:05.000000000","message":"I will change file name to vnflcm_v2.py as same as policies, controller.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"}],"tacker/sol_refactored/api/schemas/vnflcm_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"51ab4c2c636b878471ad0a5912161dcab1599cfd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"8303e8aa_27d93833","line":223,"in_reply_to":"b76d2462_58ccdd83","updated":"2021-08-17 08:32:07.000000000","message":"Done","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"}],"tacker/sol_refactored/api/wsgi.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4e9cd8040e757a852ae3cea9bebb2acfb01d108f","unresolved":true,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class SolResponse(object):"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    # SPL013 4.2.3 Response header field"},{"line_number":36,"context_line":"    allowed_headers \u003d [\u0027version\u0027, \u0027location\u0027, \u0027content_type\u0027,"},{"line_number":37,"context_line":"            \u0027www_authenticate\u0027, \u0027accept_ranges\u0027, \u0027content_range\u0027,"},{"line_number":38,"context_line":"            \u0027retry_after\u0027, \u0027link\u0027]"}],"source_content_type":"text/x-python","patch_set":22,"id":"410fb3b9_41f37155","line":35,"updated":"2021-09-02 05:21:58.000000000","message":"typo: SPL→SOL","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0d8a83578cf7a9e2de9592a5ff052e04d7364887","unresolved":true,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class SolResponse(object):"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    # SPL013 4.2.3 Response header field"},{"line_number":36,"context_line":"    allowed_headers \u003d [\u0027version\u0027, \u0027location\u0027, \u0027content_type\u0027,"},{"line_number":37,"context_line":"            \u0027www_authenticate\u0027, \u0027accept_ranges\u0027, \u0027content_range\u0027,"},{"line_number":38,"context_line":"            \u0027retry_after\u0027, \u0027link\u0027]"}],"source_content_type":"text/x-python","patch_set":22,"id":"bdd9633a_6ead45df","line":35,"in_reply_to":"410fb3b9_41f37155","updated":"2021-09-02 06:06:31.000000000","message":"oops, I will fix.","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"50ffc86b1adfbd2eda1547606c406b4cc2cdd572","unresolved":true,"context_lines":[{"line_number":56,"context_line":"            body \u003d self.body"},{"line_number":57,"context_line":"        elif content_type \u003d\u003d \u0027application/zip\u0027:"},{"line_number":58,"context_line":"            body \u003d self.body"},{"line_number":59,"context_line":"        else:"},{"line_number":60,"context_line":"            serializer \u003d wsgi.JSONDictSerializer()"},{"line_number":61,"context_line":"            body \u003d serializer.serialize(self.body)"},{"line_number":62,"context_line":"            if len(body) \u003e config.CONF.v2_vnfm.max_content_length:"}],"source_content_type":"text/x-python","patch_set":31,"id":"91cd9758_74d19cb3","line":59,"updated":"2021-09-10 07:58:49.000000000","message":"If the Content-type is other than \"application/json\", it is better to return 406 according to SOL013.\n-----\n406 Not Acceptable: \nIf the \"Accept\" HTTP header does not contain at least one name of a content type\nthat is acceptable to the API producer, the API producer shall respond with this\nresponse code.\n-----\n\nIt may be convenient to use \"Accept.acceptable_offers\" for the judgment.\nhttps://docs.pylonsproject.org/projects/webob/en/stable/api/webob.html\n(ex.nova code　https://opendev.org/openstack/nova/src/branch/master/nova/api/openstack/wsgi.py#L99-L100)","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"d8f4d230170e532d5ee9a17bcaab719a1549dcdf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            body \u003d self.body"},{"line_number":57,"context_line":"        elif content_type \u003d\u003d \u0027application/zip\u0027:"},{"line_number":58,"context_line":"            body \u003d self.body"},{"line_number":59,"context_line":"        else:"},{"line_number":60,"context_line":"            serializer \u003d wsgi.JSONDictSerializer()"},{"line_number":61,"context_line":"            body \u003d serializer.serialize(self.body)"},{"line_number":62,"context_line":"            if len(body) \u003e config.CONF.v2_vnfm.max_content_length:"}],"source_content_type":"text/x-python","patch_set":31,"id":"e0178fff_de02934c","line":59,"in_reply_to":"42df05ff_d78610d2","updated":"2021-09-12 23:58:57.000000000","message":"Yes.\nNow, even if we set Accept other than \"application/json\" in create API, it will return the response by setting Content-Type to \"application/json\".\nThis is not just a V2 specification, so it seems good to consider fixing it with another patch in the future.\nThanks.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"435b9e0addda4b680335d33f9d1a423926a5841b","unresolved":true,"context_lines":[{"line_number":56,"context_line":"            body \u003d self.body"},{"line_number":57,"context_line":"        elif content_type \u003d\u003d \u0027application/zip\u0027:"},{"line_number":58,"context_line":"            body \u003d self.body"},{"line_number":59,"context_line":"        else:"},{"line_number":60,"context_line":"            serializer \u003d wsgi.JSONDictSerializer()"},{"line_number":61,"context_line":"            body \u003d serializer.serialize(self.body)"},{"line_number":62,"context_line":"            if len(body) \u003e config.CONF.v2_vnfm.max_content_length:"}],"source_content_type":"text/x-python","patch_set":31,"id":"42df05ff_d78610d2","line":59,"in_reply_to":"91cd9758_74d19cb3","updated":"2021-09-12 23:06:46.000000000","message":"Thank you for the comment. \nIt uses tacker/wsgi.py . In this case content_type is one of \u0027text/plain\u0027, \u0027application/zip\u0027 or \u0027application/json\u0027. (see class Request, class RequestDeseriariser in tacker/wsgi.py)\nSo the check is not necessary. I will add comment.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2388653852f476d3054998dfed282e461ecbf6dc","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            body \u003d self.body"},{"line_number":57,"context_line":"        elif content_type \u003d\u003d \u0027application/zip\u0027:"},{"line_number":58,"context_line":"            body \u003d self.body"},{"line_number":59,"context_line":"        else:"},{"line_number":60,"context_line":"            serializer \u003d wsgi.JSONDictSerializer()"},{"line_number":61,"context_line":"            body \u003d serializer.serialize(self.body)"},{"line_number":62,"context_line":"            if len(body) \u003e config.CONF.v2_vnfm.max_content_length:"}],"source_content_type":"text/x-python","patch_set":31,"id":"3837792a_0fb29cdb","line":59,"in_reply_to":"92533d13_edc92964","updated":"2021-09-13 00:25:49.000000000","message":"I agree. That\u0027s a good idea.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"86094a4da699e8c37bcd9d4ea811d14ee6ec433a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            body \u003d self.body"},{"line_number":57,"context_line":"        elif content_type \u003d\u003d \u0027application/zip\u0027:"},{"line_number":58,"context_line":"            body \u003d self.body"},{"line_number":59,"context_line":"        else:"},{"line_number":60,"context_line":"            serializer \u003d wsgi.JSONDictSerializer()"},{"line_number":61,"context_line":"            body \u003d serializer.serialize(self.body)"},{"line_number":62,"context_line":"            if len(body) \u003e config.CONF.v2_vnfm.max_content_length:"}],"source_content_type":"text/x-python","patch_set":31,"id":"92533d13_edc92964","line":59,"in_reply_to":"e0178fff_de02934c","updated":"2021-09-13 00:19:12.000000000","message":"I see. I think it\u0027s better to make this(sol_refactored/api/wsgi.py) independent to tacker/wsgi.py. I will consider in the next release.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":117,"context_line":"                response \u003d result.serialize(request,"},{"line_number":118,"context_line":"                                            \u0027application/problem+json\u0027)"},{"line_number":119,"context_line":"            except Exception:"},{"line_number":120,"context_line":"                LOG.exception(\"Unkown error\")"},{"line_number":121,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unkown error\")"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        LOG.info(\"%(url)s returned with HTTP %(status)d\","}],"source_content_type":"text/x-python","patch_set":35,"id":"842fe556_e9faf691","line":120,"updated":"2021-09-14 09:01:13.000000000","message":"typo: Unkown → Unknown","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                response \u003d result.serialize(request,"},{"line_number":118,"context_line":"                                            \u0027application/problem+json\u0027)"},{"line_number":119,"context_line":"            except Exception:"},{"line_number":120,"context_line":"                LOG.exception(\"Unkown error\")"},{"line_number":121,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unkown error\")"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        LOG.info(\"%(url)s returned with HTTP %(status)d\","}],"source_content_type":"text/x-python","patch_set":35,"id":"48735a64_dabe33f8","line":120,"in_reply_to":"7c165d68_c32d42fd","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":117,"context_line":"                response \u003d result.serialize(request,"},{"line_number":118,"context_line":"                                            \u0027application/problem+json\u0027)"},{"line_number":119,"context_line":"            except Exception:"},{"line_number":120,"context_line":"                LOG.exception(\"Unkown error\")"},{"line_number":121,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unkown error\")"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        LOG.info(\"%(url)s returned with HTTP %(status)d\","}],"source_content_type":"text/x-python","patch_set":35,"id":"7c165d68_c32d42fd","line":120,"in_reply_to":"842fe556_e9faf691","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                                            \u0027application/problem+json\u0027)"},{"line_number":119,"context_line":"            except Exception:"},{"line_number":120,"context_line":"                LOG.exception(\"Unkown error\")"},{"line_number":121,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unkown error\")"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        LOG.info(\"%(url)s returned with HTTP %(status)d\","},{"line_number":124,"context_line":"                 {\"url\": request.url, \"status\": response.status_int})"}],"source_content_type":"text/x-python","patch_set":35,"id":"802299cf_8ff81945","line":121,"updated":"2021-09-14 09:01:13.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                                            \u0027application/problem+json\u0027)"},{"line_number":119,"context_line":"            except Exception:"},{"line_number":120,"context_line":"                LOG.exception(\"Unkown error\")"},{"line_number":121,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unkown error\")"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        LOG.info(\"%(url)s returned with HTTP %(status)d\","},{"line_number":124,"context_line":"                 {\"url\": request.url, \"status\": response.status_int})"}],"source_content_type":"text/x-python","patch_set":35,"id":"aa8cbb7a_b0061c0f","line":121,"in_reply_to":"802299cf_8ff81945","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                                            \u0027application/problem+json\u0027)"},{"line_number":119,"context_line":"            except Exception:"},{"line_number":120,"context_line":"                LOG.exception(\"Unkown error\")"},{"line_number":121,"context_line":"                return webob.exc.HTTPBadRequest(explanation\u003d\"Unkown error\")"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        LOG.info(\"%(url)s returned with HTTP %(status)d\","},{"line_number":124,"context_line":"                 {\"url\": request.url, \"status\": response.status_int})"}],"source_content_type":"text/x-python","patch_set":35,"id":"b0d82f7f_0bd4ddda","line":121,"in_reply_to":"aa8cbb7a_b0061c0f","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/sol_refactored/common/config.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    cfg.IntOpt(\u0027max_content_length\u0027,"},{"line_number":29,"context_line":"               default\u003d1000000,"},{"line_number":30,"context_line":"               help\u003d\u0027Max content length for list APIs.\u0027),"},{"line_number":31,"context_line":"    cfg.BoolOpt(\u0027test_enable_lcm_op_occ_delete\u0027,"},{"line_number":32,"context_line":"                default\u003dFalse,"},{"line_number":33,"context_line":"                help\u003d_(\u0027Enable to delete LCM operation occurence if True. \u0027"},{"line_number":34,"context_line":"                       \u0027This is intended to use under development.\u0027)),"},{"line_number":35,"context_line":"]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"CONF.register_opts(VNFM_OPTS, \u0027v2_vnfm\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"272a71bd_cf792211","line":34,"range":{"start_line":31,"start_character":4,"end_line":34,"end_character":70},"updated":"2021-08-16 10:29:27.000000000","message":"Could you emphasize with \"NOTE\" that it is for development?","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    cfg.IntOpt(\u0027max_content_length\u0027,"},{"line_number":29,"context_line":"               default\u003d1000000,"},{"line_number":30,"context_line":"               help\u003d\u0027Max content length for list APIs.\u0027),"},{"line_number":31,"context_line":"    cfg.BoolOpt(\u0027test_enable_lcm_op_occ_delete\u0027,"},{"line_number":32,"context_line":"                default\u003dFalse,"},{"line_number":33,"context_line":"                help\u003d_(\u0027Enable to delete LCM operation occurence if True. \u0027"},{"line_number":34,"context_line":"                       \u0027This is intended to use under development.\u0027)),"},{"line_number":35,"context_line":"]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"CONF.register_opts(VNFM_OPTS, \u0027v2_vnfm\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"d661fe58_bc0c3288","line":34,"range":{"start_line":31,"start_character":4,"end_line":34,"end_character":70},"in_reply_to":"272a71bd_cf792211","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":24,"context_line":"               help\u003d\u0027Endpoint of VNFM (self).\u0027),"},{"line_number":25,"context_line":"    cfg.IntOpt(\u0027default_graceful_termination_timeout\u0027,"},{"line_number":26,"context_line":"               default\u003d10,"},{"line_number":27,"context_line":"               help\u003d\u0027Default timeout value(second) of GRACEFUL termination.\u0027),"},{"line_number":28,"context_line":"    cfg.IntOpt(\u0027max_content_length\u0027,"},{"line_number":29,"context_line":"               default\u003d1000000,"},{"line_number":30,"context_line":"               help\u003d\u0027Max content length for list APIs.\u0027),"}],"source_content_type":"text/x-python","patch_set":34,"id":"a953cde2_b28bffae","line":27,"range":{"start_line":27,"start_character":41,"end_line":27,"end_character":43},"updated":"2021-09-13 10:30:50.000000000","message":"nit,\n\n``e(`` -\u003e ``e (``","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":24,"context_line":"               help\u003d\u0027Endpoint of VNFM (self).\u0027),"},{"line_number":25,"context_line":"    cfg.IntOpt(\u0027default_graceful_termination_timeout\u0027,"},{"line_number":26,"context_line":"               default\u003d10,"},{"line_number":27,"context_line":"               help\u003d\u0027Default timeout value(second) of GRACEFUL termination.\u0027),"},{"line_number":28,"context_line":"    cfg.IntOpt(\u0027max_content_length\u0027,"},{"line_number":29,"context_line":"               default\u003d1000000,"},{"line_number":30,"context_line":"               help\u003d\u0027Max content length for list APIs.\u0027),"}],"source_content_type":"text/x-python","patch_set":34,"id":"ed2e5c86_73933382","line":27,"range":{"start_line":27,"start_character":41,"end_line":27,"end_character":43},"in_reply_to":"a953cde2_b28bffae","updated":"2021-09-13 23:17:47.000000000","message":"I will fix.","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"               help\u003d\u0027Endpoint of VNFM (self).\u0027),"},{"line_number":25,"context_line":"    cfg.IntOpt(\u0027default_graceful_termination_timeout\u0027,"},{"line_number":26,"context_line":"               default\u003d10,"},{"line_number":27,"context_line":"               help\u003d\u0027Default timeout value(second) of GRACEFUL termination.\u0027),"},{"line_number":28,"context_line":"    cfg.IntOpt(\u0027max_content_length\u0027,"},{"line_number":29,"context_line":"               default\u003d1000000,"},{"line_number":30,"context_line":"               help\u003d\u0027Max content length for list APIs.\u0027),"}],"source_content_type":"text/x-python","patch_set":34,"id":"0ba5a8b4_4844360c","line":27,"range":{"start_line":27,"start_character":41,"end_line":27,"end_character":43},"in_reply_to":"ed2e5c86_73933382","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":35,"context_line":"    # under development."},{"line_number":36,"context_line":"    cfg.BoolOpt(\u0027test_enable_lcm_op_occ_delete\u0027,"},{"line_number":37,"context_line":"                default\u003dFalse,"},{"line_number":38,"context_line":"                help\u003d_(\u0027Enable to delete LCM operation occurence if True. \u0027"},{"line_number":39,"context_line":"                       \u0027This is intended to use under development.\u0027)),"},{"line_number":40,"context_line":"]"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"f3e4e037_c98f9f21","line":38,"updated":"2021-09-14 09:01:13.000000000","message":"typo: occurence → occurrence","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    # under development."},{"line_number":36,"context_line":"    cfg.BoolOpt(\u0027test_enable_lcm_op_occ_delete\u0027,"},{"line_number":37,"context_line":"                default\u003dFalse,"},{"line_number":38,"context_line":"                help\u003d_(\u0027Enable to delete LCM operation occurence if True. \u0027"},{"line_number":39,"context_line":"                       \u0027This is intended to use under development.\u0027)),"},{"line_number":40,"context_line":"]"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"c3567929_cd9d5f88","line":38,"in_reply_to":"e22211a1_78006e92","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":35,"context_line":"    # under development."},{"line_number":36,"context_line":"    cfg.BoolOpt(\u0027test_enable_lcm_op_occ_delete\u0027,"},{"line_number":37,"context_line":"                default\u003dFalse,"},{"line_number":38,"context_line":"                help\u003d_(\u0027Enable to delete LCM operation occurence if True. \u0027"},{"line_number":39,"context_line":"                       \u0027This is intended to use under development.\u0027)),"},{"line_number":40,"context_line":"]"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"e22211a1_78006e92","line":38,"in_reply_to":"f3e4e037_c98f9f21","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":64,"context_line":"               help\u003d\u0027Token endpoint for OAuth2 authentication.\u0027),"},{"line_number":65,"context_line":"    cfg.StrOpt(\u0027client_id\u0027,"},{"line_number":66,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":67,"context_line":"               help\u003d\u0027Cliend id used by OAuth2.0 authentication.\u0027),"},{"line_number":68,"context_line":"    cfg.StrOpt(\u0027client_password\u0027,"},{"line_number":69,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":70,"context_line":"               help\u003d\u0027Client password used by OAuth2.0 authentication.\u0027),"}],"source_content_type":"text/x-python","patch_set":35,"id":"b431daad_fcdbf289","line":67,"updated":"2021-09-14 09:01:13.000000000","message":"typo: Cliend → Client","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"               help\u003d\u0027Token endpoint for OAuth2 authentication.\u0027),"},{"line_number":65,"context_line":"    cfg.StrOpt(\u0027client_id\u0027,"},{"line_number":66,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":67,"context_line":"               help\u003d\u0027Cliend id used by OAuth2.0 authentication.\u0027),"},{"line_number":68,"context_line":"    cfg.StrOpt(\u0027client_password\u0027,"},{"line_number":69,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":70,"context_line":"               help\u003d\u0027Client password used by OAuth2.0 authentication.\u0027),"}],"source_content_type":"text/x-python","patch_set":35,"id":"750dc6e8_b3414a38","line":67,"in_reply_to":"42347ed5_2f7fe021","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":64,"context_line":"               help\u003d\u0027Token endpoint for OAuth2 authentication.\u0027),"},{"line_number":65,"context_line":"    cfg.StrOpt(\u0027client_id\u0027,"},{"line_number":66,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":67,"context_line":"               help\u003d\u0027Cliend id used by OAuth2.0 authentication.\u0027),"},{"line_number":68,"context_line":"    cfg.StrOpt(\u0027client_password\u0027,"},{"line_number":69,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":70,"context_line":"               help\u003d\u0027Client password used by OAuth2.0 authentication.\u0027),"}],"source_content_type":"text/x-python","patch_set":35,"id":"42347ed5_2f7fe021","line":67,"in_reply_to":"b431daad_fcdbf289","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"143b107e08ac8696da9c42bb2398ce2c95f7f39d","unresolved":true,"context_lines":[{"line_number":61,"context_line":"               help\u003d\u0027Endpoint of external NFVO.\u0027),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027token_endpoint\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":64,"context_line":"               help\u003d\u0027Token endpoint for OAuth2 authentication.\u0027),"},{"line_number":65,"context_line":"    cfg.StrOpt(\u0027client_id\u0027,"},{"line_number":66,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":67,"context_line":"               help\u003d\u0027Client id used by OAuth2.0 authentication.\u0027),"}],"source_content_type":"text/x-python","patch_set":36,"id":"b702e21c_b9470966","line":64,"updated":"2021-09-15 02:22:19.000000000","message":"\"OAuth2.0\" is better","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0eecb2dd39b058e12974f9869dcb70370b8999d9","unresolved":true,"context_lines":[{"line_number":61,"context_line":"               help\u003d\u0027Endpoint of external NFVO.\u0027),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027token_endpoint\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":64,"context_line":"               help\u003d\u0027Token endpoint for OAuth2 authentication.\u0027),"},{"line_number":65,"context_line":"    cfg.StrOpt(\u0027client_id\u0027,"},{"line_number":66,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":67,"context_line":"               help\u003d\u0027Client id used by OAuth2.0 authentication.\u0027),"}],"source_content_type":"text/x-python","patch_set":36,"id":"c5ab13f8_369f79ec","line":64,"in_reply_to":"b702e21c_b9470966","updated":"2021-09-15 02:57:55.000000000","message":"I will fix.","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"135a7c76077e01c1a5f6e67bf1d64b34a570e7d2","unresolved":false,"context_lines":[{"line_number":61,"context_line":"               help\u003d\u0027Endpoint of external NFVO.\u0027),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027token_endpoint\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":64,"context_line":"               help\u003d\u0027Token endpoint for OAuth2 authentication.\u0027),"},{"line_number":65,"context_line":"    cfg.StrOpt(\u0027client_id\u0027,"},{"line_number":66,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":67,"context_line":"               help\u003d\u0027Client id used by OAuth2.0 authentication.\u0027),"}],"source_content_type":"text/x-python","patch_set":36,"id":"18d55bbf_68d675a2","line":64,"in_reply_to":"c5ab13f8_369f79ec","updated":"2021-09-15 03:05:46.000000000","message":"Done","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"}],"tacker/sol_refactored/common/coordinate.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"50ffc86b1adfbd2eda1547606c406b4cc2cdd572","unresolved":true,"context_lines":[{"line_number":35,"context_line":"def lock_vnf_instance(inst_arg, delay\u003dFalse):"},{"line_number":36,"context_line":"    # NOTE: tacker-server issues RPC call to tacker-conductor"},{"line_number":37,"context_line":"    # (just) before the lock released. \u0027delay\u0027 is for tacker-conductor"},{"line_number":38,"context_line":"    # to be able to wait if it recieves RPC call before tacker-server"},{"line_number":39,"context_line":"    # releases the lock."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def operation_lock(func):"}],"source_content_type":"text/x-python","patch_set":31,"id":"64ddbd28_20bd5798","line":38,"updated":"2021-09-10 07:58:49.000000000","message":"typo: recieves → receives","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"435b9e0addda4b680335d33f9d1a423926a5841b","unresolved":true,"context_lines":[{"line_number":35,"context_line":"def lock_vnf_instance(inst_arg, delay\u003dFalse):"},{"line_number":36,"context_line":"    # NOTE: tacker-server issues RPC call to tacker-conductor"},{"line_number":37,"context_line":"    # (just) before the lock released. \u0027delay\u0027 is for tacker-conductor"},{"line_number":38,"context_line":"    # to be able to wait if it recieves RPC call before tacker-server"},{"line_number":39,"context_line":"    # releases the lock."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def operation_lock(func):"}],"source_content_type":"text/x-python","patch_set":31,"id":"d8cb8f7d_57bda3e6","line":38,"in_reply_to":"64ddbd28_20bd5798","updated":"2021-09-12 23:06:46.000000000","message":"I will fix.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"d8f4d230170e532d5ee9a17bcaab719a1549dcdf","unresolved":false,"context_lines":[{"line_number":35,"context_line":"def lock_vnf_instance(inst_arg, delay\u003dFalse):"},{"line_number":36,"context_line":"    # NOTE: tacker-server issues RPC call to tacker-conductor"},{"line_number":37,"context_line":"    # (just) before the lock released. \u0027delay\u0027 is for tacker-conductor"},{"line_number":38,"context_line":"    # to be able to wait if it recieves RPC call before tacker-server"},{"line_number":39,"context_line":"    # releases the lock."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def operation_lock(func):"}],"source_content_type":"text/x-python","patch_set":31,"id":"4a333be7_9a1b51cf","line":38,"in_reply_to":"d8cb8f7d_57bda3e6","updated":"2021-09-12 23:58:57.000000000","message":"Done","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"}],"tacker/sol_refactored/common/exceptions.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":68,"context_line":"class SolHttpError405(SolException):"},{"line_number":69,"context_line":"    status \u003d 405"},{"line_number":70,"context_line":"    title \u003d \u0027Method Not Allowed\u0027"},{"line_number":71,"context_line":"    message \u003d _(\"Method %(method)s is not supported.\")"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"class SolHttpError406(SolException):"}],"source_content_type":"text/x-python","patch_set":13,"id":"2fde8ea2_ba03b7e0","line":71,"updated":"2021-08-16 10:29:27.000000000","message":"Is there any reason not to define the following like any other?\n---\nclass MethodNotAllowed (SolHttpError405):","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":68,"context_line":"class SolHttpError405(SolException):"},{"line_number":69,"context_line":"    status \u003d 405"},{"line_number":70,"context_line":"    title \u003d \u0027Method Not Allowed\u0027"},{"line_number":71,"context_line":"    message \u003d _(\"Method %(method)s is not supported.\")"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"class SolHttpError406(SolException):"}],"source_content_type":"text/x-python","patch_set":13,"id":"56824e68_4745b4ba","line":71,"in_reply_to":"2fde8ea2_ba03b7e0","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"50ffc86b1adfbd2eda1547606c406b4cc2cdd572","unresolved":true,"context_lines":[{"line_number":17,"context_line":"class SolException(Exception):"},{"line_number":18,"context_line":"    \"\"\"Exception for SOL ProblemDetails"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    Generary status, title and message should be defined in derived class."},{"line_number":21,"context_line":"    detail is constructed from message and kwargs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    Attributes in ProblemDetails can be specified in kwargs of object"}],"source_content_type":"text/x-python","patch_set":31,"id":"11f66f11_92b34480","line":20,"updated":"2021-09-10 07:58:49.000000000","message":"typo: Generary → Generally","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"435b9e0addda4b680335d33f9d1a423926a5841b","unresolved":true,"context_lines":[{"line_number":17,"context_line":"class SolException(Exception):"},{"line_number":18,"context_line":"    \"\"\"Exception for SOL ProblemDetails"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    Generary status, title and message should be defined in derived class."},{"line_number":21,"context_line":"    detail is constructed from message and kwargs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    Attributes in ProblemDetails can be specified in kwargs of object"}],"source_content_type":"text/x-python","patch_set":31,"id":"89ec6432_f8047b11","line":20,"in_reply_to":"11f66f11_92b34480","updated":"2021-09-12 23:06:46.000000000","message":"I will fix.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"d8f4d230170e532d5ee9a17bcaab719a1549dcdf","unresolved":false,"context_lines":[{"line_number":17,"context_line":"class SolException(Exception):"},{"line_number":18,"context_line":"    \"\"\"Exception for SOL ProblemDetails"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    Generary status, title and message should be defined in derived class."},{"line_number":21,"context_line":"    detail is constructed from message and kwargs."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    Attributes in ProblemDetails can be specified in kwargs of object"}],"source_content_type":"text/x-python","patch_set":31,"id":"5f74e958_788170fe","line":20,"in_reply_to":"89ec6432_f8047b11","updated":"2021-09-12 23:58:57.000000000","message":"Done","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":30,"context_line":"    message \u003d \u0027Internal Server Error\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, **kwargs):"},{"line_number":33,"context_line":"        if \u0027sol_status\u0027 in kwargs:"},{"line_number":34,"context_line":"            self.status \u003d kwargs.pop(\u0027sol_status\u0027)"},{"line_number":35,"context_line":"        if \u0027sol_title\u0027 in kwargs:"},{"line_number":36,"context_line":"            self.title \u003d kwargs.pop(\u0027sol_title\u0027)"}],"source_content_type":"text/x-python","patch_set":34,"id":"81bfc1a6_612f07b9","line":33,"updated":"2021-09-13 10:30:50.000000000","message":"nits. For readability, it might be better to write with a consistent style.\n\n```\ndef __init__(self, **kwargs):\n    self.status \u003d kwargs.pop(\u0027sol_status\u0027, self.status)\n    self.title \u003d kwargs.pop(\u0027sol_title\u0027, self.title)\n    self.type \u003d kwargs.pop(\u0027sol_type\u0027, None)\n    self.instance \u003d kwargs.pop(\u0027sol_instance\u0027, None)\n    self.detail \u003d kwargs.pop(\u0027sol_detail\u0027, self.message % kwargs)\n    super().__init__(self.detail)\n```","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    message \u003d \u0027Internal Server Error\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, **kwargs):"},{"line_number":33,"context_line":"        if \u0027sol_status\u0027 in kwargs:"},{"line_number":34,"context_line":"            self.status \u003d kwargs.pop(\u0027sol_status\u0027)"},{"line_number":35,"context_line":"        if \u0027sol_title\u0027 in kwargs:"},{"line_number":36,"context_line":"            self.title \u003d kwargs.pop(\u0027sol_title\u0027)"}],"source_content_type":"text/x-python","patch_set":34,"id":"17b53e13_f1b65a02","line":33,"in_reply_to":"0090b0ca_828a9d8a","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":30,"context_line":"    message \u003d \u0027Internal Server Error\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, **kwargs):"},{"line_number":33,"context_line":"        if \u0027sol_status\u0027 in kwargs:"},{"line_number":34,"context_line":"            self.status \u003d kwargs.pop(\u0027sol_status\u0027)"},{"line_number":35,"context_line":"        if \u0027sol_title\u0027 in kwargs:"},{"line_number":36,"context_line":"            self.title \u003d kwargs.pop(\u0027sol_title\u0027)"}],"source_content_type":"text/x-python","patch_set":34,"id":"0090b0ca_828a9d8a","line":33,"in_reply_to":"81bfc1a6_612f07b9","updated":"2021-09-13 23:17:47.000000000","message":"seems better. I will fix.","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"class UserDataClassNotImplemented(SolHttpError400):"},{"line_number":188,"context_line":"    message \u003d _(\"Userdata class not implemneted.\")"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"class InvalidAttributeFilter(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":35,"id":"afa61710_fa0e0cfe","line":188,"updated":"2021-09-14 09:01:13.000000000","message":"typo: implemneted → implemented","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"class UserDataClassNotImplemented(SolHttpError400):"},{"line_number":188,"context_line":"    message \u003d _(\"Userdata class not implemneted.\")"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"class InvalidAttributeFilter(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":35,"id":"54655fbd_64a97534","line":188,"in_reply_to":"aa7a4fc5_9fef6190","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"class UserDataClassNotImplemented(SolHttpError400):"},{"line_number":188,"context_line":"    message \u003d _(\"Userdata class not implemneted.\")"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"class InvalidAttributeFilter(SolHttpError400):"}],"source_content_type":"text/x-python","patch_set":35,"id":"aa7a4fc5_9fef6190","line":188,"in_reply_to":"afa61710_fa0e0cfe","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/sol_refactored/common/lcm_op_occ_utils.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d4b9c19d2187c00d13c8269c64631c54cf7c2261","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"    )"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    if lcmocc.operationState \u003d\u003d \u0027STARTING\u0027:"},{"line_number":85,"context_line":"        notif_data.notificationStatus \u003d \u0027START\u0027"},{"line_number":86,"context_line":"    else:"},{"line_number":87,"context_line":"        notif_data.notificationStatus \u003d \u0027RESULT\u0027"}],"source_content_type":"text/x-python","patch_set":36,"id":"307308e4_dd727990","line":84,"updated":"2021-09-15 02:18:01.000000000","message":"Please consider using Enum as well as ``tacker/sol_refactored/conductor/conductor_v2.py ``.\n\nbtw, I agree it will be too long.\nalias might help to shorten it.\nI just thought the benefits, such as avoiding typos and being suitable for auto-completion, are grater than that disadvantage.\n\n```\nlcmocc.operationState \u003d\u003d LcmOperationStateType.STARTING\n```","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6f7357e014856294ea8a37a4e1c637cf2453c76b","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"    )"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    if lcmocc.operationState \u003d\u003d \u0027STARTING\u0027:"},{"line_number":85,"context_line":"        notif_data.notificationStatus \u003d \u0027START\u0027"},{"line_number":86,"context_line":"    else:"},{"line_number":87,"context_line":"        notif_data.notificationStatus \u003d \u0027RESULT\u0027"}],"source_content_type":"text/x-python","patch_set":36,"id":"d8a0bca9_09fd09be","line":84,"in_reply_to":"307308e4_dd727990","updated":"2021-09-15 02:56:54.000000000","message":"I will fix.","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8362d3532daf07c5ea4aaf069849e0d098a7f7db","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"    )"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    if lcmocc.operationState \u003d\u003d \u0027STARTING\u0027:"},{"line_number":85,"context_line":"        notif_data.notificationStatus \u003d \u0027START\u0027"},{"line_number":86,"context_line":"    else:"},{"line_number":87,"context_line":"        notif_data.notificationStatus \u003d \u0027RESULT\u0027"}],"source_content_type":"text/x-python","patch_set":36,"id":"565fc3cb_fcd35e46","line":84,"in_reply_to":"d8a0bca9_09fd09be","updated":"2021-09-15 04:12:05.000000000","message":"Done","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d4b9c19d2187c00d13c8269c64631c54cf7c2261","unresolved":true,"context_lines":[{"line_number":89,"context_line":"    if lcmocc.obj_attr_is_set(\u0027error\u0027):"},{"line_number":90,"context_line":"        notif_data.error \u003d lcmocc.error"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    if notif_data.verbosity \u003d\u003d \u0027FULL\u0027:"},{"line_number":93,"context_line":"        if lcmocc.obj_attr_is_set(\u0027resourceChanges\u0027):"},{"line_number":94,"context_line":"            attrs \u003d [\u0027affectedVnfcs\u0027,"},{"line_number":95,"context_line":"                     \u0027affectedVirtualLinks\u0027,"}],"source_content_type":"text/x-python","patch_set":36,"id":"dcc80329_4d3a0537","line":92,"updated":"2021-09-15 02:18:01.000000000","message":"ditto\n\n```\nif notif_data.verbosity \u003d\u003d LcmOpOccNotificationVerbosityType.FULL\n```","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6f7357e014856294ea8a37a4e1c637cf2453c76b","unresolved":true,"context_lines":[{"line_number":89,"context_line":"    if lcmocc.obj_attr_is_set(\u0027error\u0027):"},{"line_number":90,"context_line":"        notif_data.error \u003d lcmocc.error"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    if notif_data.verbosity \u003d\u003d \u0027FULL\u0027:"},{"line_number":93,"context_line":"        if lcmocc.obj_attr_is_set(\u0027resourceChanges\u0027):"},{"line_number":94,"context_line":"            attrs \u003d [\u0027affectedVnfcs\u0027,"},{"line_number":95,"context_line":"                     \u0027affectedVirtualLinks\u0027,"}],"source_content_type":"text/x-python","patch_set":36,"id":"e705ade6_1f59568f","line":92,"in_reply_to":"dcc80329_4d3a0537","updated":"2021-09-15 02:56:54.000000000","message":"I will fix.","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8362d3532daf07c5ea4aaf069849e0d098a7f7db","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    if lcmocc.obj_attr_is_set(\u0027error\u0027):"},{"line_number":90,"context_line":"        notif_data.error \u003d lcmocc.error"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    if notif_data.verbosity \u003d\u003d \u0027FULL\u0027:"},{"line_number":93,"context_line":"        if lcmocc.obj_attr_is_set(\u0027resourceChanges\u0027):"},{"line_number":94,"context_line":"            attrs \u003d [\u0027affectedVnfcs\u0027,"},{"line_number":95,"context_line":"                     \u0027affectedVirtualLinks\u0027,"}],"source_content_type":"text/x-python","patch_set":36,"id":"d9bab7cf_d106870e","line":92,"in_reply_to":"e705ade6_1f59568f","updated":"2021-09-15 04:12:05.000000000","message":"Done","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"}],"tacker/sol_refactored/common/subscription_utils.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"977b0aa5889de690e4457f16093b3dd165f53f7c","unresolved":true,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"def test_notification(subsc):"},{"line_number":74,"context_line":"    auth_handle \u003d http_client.BasicAuthHandle("},{"line_number":75,"context_line":"        subsc.authentication.paramsBasic.userName,"},{"line_number":76,"context_line":"        subsc.authentication.paramsBasic.password)"},{"line_number":77,"context_line":"    client \u003d http_client.HttpClient(auth_handle,"}],"source_content_type":"text/x-python","patch_set":26,"id":"e8d6aaa9_2e6f4158","line":74,"updated":"2021-09-08 00:38:48.000000000","message":"This code assumes that \u0027authentication\u0027 is set, but it may be omitted because \u0027authentication\u0027 is Cardinality: 0...1.\nIf omitted, this process will result in an error.\nAlso, when \u0027authentication\u0027 is set, only \u0027auth_type\u0027: \u0027BASIC\u0027 is considered, but it is desirable to be able to support \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 as well.\nCould you consider the modification?","commit_id":"2e90788cdb433a71ca9ea4dca6877accf6ee5ad0"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"af4be7db1edd7535ca629511cb869c0145b88a49","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"def test_notification(subsc):"},{"line_number":74,"context_line":"    auth_handle \u003d http_client.BasicAuthHandle("},{"line_number":75,"context_line":"        subsc.authentication.paramsBasic.userName,"},{"line_number":76,"context_line":"        subsc.authentication.paramsBasic.password)"},{"line_number":77,"context_line":"    client \u003d http_client.HttpClient(auth_handle,"}],"source_content_type":"text/x-python","patch_set":26,"id":"74795554_1e4e6ace","line":74,"in_reply_to":"7882cddd_955e5962","updated":"2021-09-10 09:04:32.000000000","message":"Done","commit_id":"2e90788cdb433a71ca9ea4dca6877accf6ee5ad0"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"322a0bbccf42f592b6685293af32adec1b26af32","unresolved":true,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"def test_notification(subsc):"},{"line_number":74,"context_line":"    auth_handle \u003d http_client.BasicAuthHandle("},{"line_number":75,"context_line":"        subsc.authentication.paramsBasic.userName,"},{"line_number":76,"context_line":"        subsc.authentication.paramsBasic.password)"},{"line_number":77,"context_line":"    client \u003d http_client.HttpClient(auth_handle,"}],"source_content_type":"text/x-python","patch_set":26,"id":"7882cddd_955e5962","line":74,"in_reply_to":"e8d6aaa9_2e6f4158","updated":"2021-09-08 02:52:06.000000000","message":"It should be fixed surely. I will fix.","commit_id":"2e90788cdb433a71ca9ea4dca6877accf6ee5ad0"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"977b0aa5889de690e4457f16093b3dd165f53f7c","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        version\u003dapi_version.CURRENT_VERSION)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    url \u003d subsc.callbackUri"},{"line_number":81,"context_line":"    resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":82,"context_line":"    if resp.status_code !\u003d 204:"},{"line_number":83,"context_line":"        raise sol_ex.TestNotificationFailed()"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fe18fb5_b4e1f661","line":81,"updated":"2021-09-08 00:38:48.000000000","message":"There is a bug in the processing of the case where an error occurs after issuing this test_notification request, and finally an error occurs in the following JSON decode processing.\nCould you consider the modification?\n---\nhttps://review.opendev.org/c/openstack/tacker/+/803693/26/tacker/sol_refactored/common/http_client.py#102","commit_id":"2e90788cdb433a71ca9ea4dca6877accf6ee5ad0"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"322a0bbccf42f592b6685293af32adec1b26af32","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        version\u003dapi_version.CURRENT_VERSION)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    url \u003d subsc.callbackUri"},{"line_number":81,"context_line":"    resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":82,"context_line":"    if resp.status_code !\u003d 204:"},{"line_number":83,"context_line":"        raise sol_ex.TestNotificationFailed()"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"dd17d119_a1ddcb39","line":81,"in_reply_to":"3fe18fb5_b4e1f661","updated":"2021-09-08 02:52:06.000000000","message":"Ah, any sort of error is considered. I will fix.","commit_id":"2e90788cdb433a71ca9ea4dca6877accf6ee5ad0"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"af4be7db1edd7535ca629511cb869c0145b88a49","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        version\u003dapi_version.CURRENT_VERSION)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    url \u003d subsc.callbackUri"},{"line_number":81,"context_line":"    resp, _ \u003d client.do_request(url, \"GET\")"},{"line_number":82,"context_line":"    if resp.status_code !\u003d 204:"},{"line_number":83,"context_line":"        raise sol_ex.TestNotificationFailed()"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"055f6f26_185bd325","line":81,"in_reply_to":"dd17d119_a1ddcb39","updated":"2021-09-10 09:04:32.000000000","message":"Done","commit_id":"2e90788cdb433a71ca9ea4dca6877accf6ee5ad0"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4e11f6f6465828b4c07da6d05d9cb7999c97a90d","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def _get_notification_auth_handle(subsc):"},{"line_number":54,"context_line":"    if not subsc.obj_attr_is_set(\u0027authentication\u0027):"},{"line_number":55,"context_line":"        return http_client.NoAuthHandle()"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    if subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):"},{"line_number":58,"context_line":"        param \u003d subsc.authentication.paramsBasic"},{"line_number":59,"context_line":"        return http_client.BasicAuthHandle(param.userName, param.password)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    if subsc.authentication.obj_attr_is_set("},{"line_number":62,"context_line":"            \u0027paramsOauth2ClientCredentials\u0027):"},{"line_number":63,"context_line":"        param \u003d subsc.authentication.paramsOauth2ClientCredentials"},{"line_number":64,"context_line":"        return http_client.OAuth2AuthHandle(None,"}],"source_content_type":"text/x-python","patch_set":28,"id":"58ee4436_7387eb73","line":61,"range":{"start_line":54,"start_character":0,"end_line":61,"end_character":44},"updated":"2021-09-09 08:10:06.000000000","message":"Can it be refactored as follows?\n---\n    if not subsc.obj_attr_is_set(\u0027authentication\u0027):\n        ...\n    elif subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):\n        ...\n    elif subsc.authentication.obj_attr_is_set(\n        ...","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"af4be7db1edd7535ca629511cb869c0145b88a49","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def _get_notification_auth_handle(subsc):"},{"line_number":54,"context_line":"    if not subsc.obj_attr_is_set(\u0027authentication\u0027):"},{"line_number":55,"context_line":"        return http_client.NoAuthHandle()"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    if subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):"},{"line_number":58,"context_line":"        param \u003d subsc.authentication.paramsBasic"},{"line_number":59,"context_line":"        return http_client.BasicAuthHandle(param.userName, param.password)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    if subsc.authentication.obj_attr_is_set("},{"line_number":62,"context_line":"            \u0027paramsOauth2ClientCredentials\u0027):"},{"line_number":63,"context_line":"        param \u003d subsc.authentication.paramsOauth2ClientCredentials"},{"line_number":64,"context_line":"        return http_client.OAuth2AuthHandle(None,"}],"source_content_type":"text/x-python","patch_set":28,"id":"bd8b147b_0ba56be2","line":61,"range":{"start_line":54,"start_character":0,"end_line":61,"end_character":44},"in_reply_to":"1b417e2b_e08e6131","updated":"2021-09-10 09:04:32.000000000","message":"Done","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0e7cd82972571fcb00eae1fabf7983c7f465b52a","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def _get_notification_auth_handle(subsc):"},{"line_number":54,"context_line":"    if not subsc.obj_attr_is_set(\u0027authentication\u0027):"},{"line_number":55,"context_line":"        return http_client.NoAuthHandle()"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    if subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):"},{"line_number":58,"context_line":"        param \u003d subsc.authentication.paramsBasic"},{"line_number":59,"context_line":"        return http_client.BasicAuthHandle(param.userName, param.password)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    if subsc.authentication.obj_attr_is_set("},{"line_number":62,"context_line":"            \u0027paramsOauth2ClientCredentials\u0027):"},{"line_number":63,"context_line":"        param \u003d subsc.authentication.paramsOauth2ClientCredentials"},{"line_number":64,"context_line":"        return http_client.OAuth2AuthHandle(None,"}],"source_content_type":"text/x-python","patch_set":28,"id":"1b417e2b_e08e6131","line":61,"range":{"start_line":54,"start_character":0,"end_line":61,"end_character":44},"in_reply_to":"58ee4436_7387eb73","updated":"2021-09-09 23:18:39.000000000","message":"ok, it looks better. I will fix.","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4e11f6f6465828b4c07da6d05d9cb7999c97a90d","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        return http_client.OAuth2AuthHandle(None,"},{"line_number":65,"context_line":"            param.tokenEndpoint, param.clientId, param.clientPassword)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    # authType TLS_CERT is not supported at the moment."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    # if parameter is not set, fall back to NoAuth"},{"line_number":70,"context_line":"    return http_client.NoAuthHandle()"}],"source_content_type":"text/x-python","patch_set":28,"id":"59681b89_80e3a778","line":67,"updated":"2021-09-09 08:10:06.000000000","message":"I think this route can also raise an exception to explicitly tell the user that it doesn\u0027t support \u0027TLS_CERT\u0027 at this time.\nWhat do you think?","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0e7cd82972571fcb00eae1fabf7983c7f465b52a","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        return http_client.OAuth2AuthHandle(None,"},{"line_number":65,"context_line":"            param.tokenEndpoint, param.clientId, param.clientPassword)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    # authType TLS_CERT is not supported at the moment."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    # if parameter is not set, fall back to NoAuth"},{"line_number":70,"context_line":"    return http_client.NoAuthHandle()"}],"source_content_type":"text/x-python","patch_set":28,"id":"c463dad0_6c0465e8","line":67,"in_reply_to":"59681b89_80e3a778","updated":"2021-09-09 23:18:39.000000000","message":"I think it\u0027s better to check at subscription creation, I will fix to do more validation at subsc creation (subscription_create() in controller/vnflcm_v2.py).","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"af4be7db1edd7535ca629511cb869c0145b88a49","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        return http_client.OAuth2AuthHandle(None,"},{"line_number":65,"context_line":"            param.tokenEndpoint, param.clientId, param.clientPassword)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    # authType TLS_CERT is not supported at the moment."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    # if parameter is not set, fall back to NoAuth"},{"line_number":70,"context_line":"    return http_client.NoAuthHandle()"}],"source_content_type":"text/x-python","patch_set":28,"id":"eeca49d4_ff5c4137","line":67,"in_reply_to":"c463dad0_6c0465e8","updated":"2021-09-10 09:04:32.000000000","message":"Done","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"}],"tacker/sol_refactored/common/vnf_instance_utils.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":62,"context_line":"            if value is None:"},{"line_number":63,"context_line":"                if key in target:"},{"line_number":64,"context_line":"                    del target[key]"},{"line_number":65,"context_line":"            else:"},{"line_number":66,"context_line":"                target[key] \u003d json_merge_patch(target.get(key), value)"},{"line_number":67,"context_line":"        return target"},{"line_number":68,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":34,"id":"5644f28b_9e63b40c","line":65,"updated":"2021-09-13 10:30:50.000000000","message":"This ``else`` can be removed.","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":62,"context_line":"            if value is None:"},{"line_number":63,"context_line":"                if key in target:"},{"line_number":64,"context_line":"                    del target[key]"},{"line_number":65,"context_line":"            else:"},{"line_number":66,"context_line":"                target[key] \u003d json_merge_patch(target.get(key), value)"},{"line_number":67,"context_line":"        return target"},{"line_number":68,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":34,"id":"f8b53868_d99a1c57","line":65,"in_reply_to":"5644f28b_9e63b40c","updated":"2021-09-13 23:17:47.000000000","message":"it can be removed but \u0027continue\u0027 is necessary instead. I think the current code is better. (and see the comment bellow)","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            if value is None:"},{"line_number":63,"context_line":"                if key in target:"},{"line_number":64,"context_line":"                    del target[key]"},{"line_number":65,"context_line":"            else:"},{"line_number":66,"context_line":"                target[key] \u003d json_merge_patch(target.get(key), value)"},{"line_number":67,"context_line":"        return target"},{"line_number":68,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":34,"id":"2d04e54e_3079e656","line":65,"in_reply_to":"f8b53868_d99a1c57","updated":"2021-09-14 00:20:53.000000000","message":"I agree","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":65,"context_line":"            else:"},{"line_number":66,"context_line":"                target[key] \u003d json_merge_patch(target.get(key), value)"},{"line_number":67,"context_line":"        return target"},{"line_number":68,"context_line":"    else:"},{"line_number":69,"context_line":"        return patch"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"f3f86002_829655d1","line":68,"updated":"2021-09-13 10:30:50.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            else:"},{"line_number":66,"context_line":"                target[key] \u003d json_merge_patch(target.get(key), value)"},{"line_number":67,"context_line":"        return target"},{"line_number":68,"context_line":"    else:"},{"line_number":69,"context_line":"        return patch"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"09b55414_8100235f","line":68,"in_reply_to":"4045e6ff_f29342ad","updated":"2021-09-14 00:20:53.000000000","message":"I agree","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":65,"context_line":"            else:"},{"line_number":66,"context_line":"                target[key] \u003d json_merge_patch(target.get(key), value)"},{"line_number":67,"context_line":"        return target"},{"line_number":68,"context_line":"    else:"},{"line_number":69,"context_line":"        return patch"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"4045e6ff_f29342ad","line":68,"in_reply_to":"f3f86002_829655d1","updated":"2021-09-13 23:17:47.000000000","message":"right. but I think it is more clear with \u0027else\u0027.\nAnd note that this code is according to the pseudo code in the draft (IETF RFC 7396) so that it make check easy in comparison with the draft.","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"}],"tacker/sol_refactored/common/vnfd_utils.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":155,"context_line":"                 .get(\u0027topology_template\u0027, {})"},{"line_number":156,"context_line":"                 .get(\u0027node_templates\u0027, {}))"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        res \u003d {}"},{"line_number":159,"context_line":"        for name, data in nodes.items():"},{"line_number":160,"context_line":"            if data[\u0027type\u0027] \u003d\u003d node_type:"},{"line_number":161,"context_line":"                res[name] \u003d data"}],"source_content_type":"text/x-python","patch_set":34,"id":"c7bf17a7_5bfd03b7","line":158,"updated":"2021-09-13 10:30:50.000000000","message":"It might be unnecessary here, but in my opinion, it\u0027s better to use list/dict comprehension as possible for the performance and to avoid deep nesting.\n\n```\n        res \u003d {name: data for name, data in nodes.items()\n               if data[\u0027type\u0027] \u003d\u003d node_type}\n```","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                 .get(\u0027topology_template\u0027, {})"},{"line_number":156,"context_line":"                 .get(\u0027node_templates\u0027, {}))"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        res \u003d {}"},{"line_number":159,"context_line":"        for name, data in nodes.items():"},{"line_number":160,"context_line":"            if data[\u0027type\u0027] \u003d\u003d node_type:"},{"line_number":161,"context_line":"                res[name] \u003d data"}],"source_content_type":"text/x-python","patch_set":34,"id":"a1a238c2_8128a026","line":158,"in_reply_to":"b02a0485_e6f4f7bb","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":155,"context_line":"                 .get(\u0027topology_template\u0027, {})"},{"line_number":156,"context_line":"                 .get(\u0027node_templates\u0027, {}))"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        res \u003d {}"},{"line_number":159,"context_line":"        for name, data in nodes.items():"},{"line_number":160,"context_line":"            if data[\u0027type\u0027] \u003d\u003d node_type:"},{"line_number":161,"context_line":"                res[name] \u003d data"}],"source_content_type":"text/x-python","patch_set":34,"id":"b02a0485_e6f4f7bb","line":158,"in_reply_to":"c7bf17a7_5bfd03b7","updated":"2021-09-13 23:17:47.000000000","message":"seems better. I will fix.","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":257,"context_line":"            policies \u003d [policies]"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        ret \u003d []"},{"line_number":260,"context_line":"        for policy in policies:"},{"line_number":261,"context_line":"            for value in policy.values():"},{"line_number":262,"context_line":"                if value[\u0027type\u0027] \u003d\u003d policy_type:"},{"line_number":263,"context_line":"                    ret.append(value)"}],"source_content_type":"text/x-python","patch_set":34,"id":"ead3ba7e_eaba6026","line":260,"updated":"2021-09-13 10:30:50.000000000","message":"It might be unnecessary here, but in my opinion, it\u0027s better to use list/dict comprehension as possible for the performance and to avoid deep nesting.\n\n```\nret \u003d [value for policy in policies for value in policy.values() \n       if value[\u0027type\u0027] \u003d\u003d policy_type]\n```","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            policies \u003d [policies]"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        ret \u003d []"},{"line_number":260,"context_line":"        for policy in policies:"},{"line_number":261,"context_line":"            for value in policy.values():"},{"line_number":262,"context_line":"                if value[\u0027type\u0027] \u003d\u003d policy_type:"},{"line_number":263,"context_line":"                    ret.append(value)"}],"source_content_type":"text/x-python","patch_set":34,"id":"e3c255f5_17d4a1ec","line":260,"in_reply_to":"e15ebc1f_b15ff59c","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":257,"context_line":"            policies \u003d [policies]"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        ret \u003d []"},{"line_number":260,"context_line":"        for policy in policies:"},{"line_number":261,"context_line":"            for value in policy.values():"},{"line_number":262,"context_line":"                if value[\u0027type\u0027] \u003d\u003d policy_type:"},{"line_number":263,"context_line":"                    ret.append(value)"}],"source_content_type":"text/x-python","patch_set":34,"id":"e15ebc1f_b15ff59c","line":260,"in_reply_to":"ead3ba7e_eaba6026","updated":"2021-09-13 23:17:47.000000000","message":"seems better. I will fix.","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":288,"context_line":"        if isinstance(groups, dict):"},{"line_number":289,"context_line":"            groups \u003d [groups]"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        ret \u003d {}"},{"line_number":292,"context_line":"        for group in groups:"},{"line_number":293,"context_line":"            for key, value in group.items():"},{"line_number":294,"context_line":"                if value[\u0027type\u0027] \u003d\u003d \u0027tosca.groups.nfv.PlacementGroup\u0027:"}],"source_content_type":"text/x-python","patch_set":34,"id":"bce38b48_be681e57","line":291,"updated":"2021-09-13 10:30:50.000000000","message":"It might be unnecessary here, but in my opinion, it\u0027s better to use list/dict comprehension as possible for the performance and to avoid deep nesting.\n\n```\nret \u003d {key: value[\u0027members\u0027]\n       for group in groups\n       for key, value in group.items()\n       if value[\u0027type\u0027] \u003d\u003d \u0027tosca.groups.nfv.PlacementGroup\u0027}\n```","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":288,"context_line":"        if isinstance(groups, dict):"},{"line_number":289,"context_line":"            groups \u003d [groups]"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        ret \u003d {}"},{"line_number":292,"context_line":"        for group in groups:"},{"line_number":293,"context_line":"            for key, value in group.items():"},{"line_number":294,"context_line":"                if value[\u0027type\u0027] \u003d\u003d \u0027tosca.groups.nfv.PlacementGroup\u0027:"}],"source_content_type":"text/x-python","patch_set":34,"id":"9a250c23_7730edc8","line":291,"in_reply_to":"b31207c2_b99e5d72","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":288,"context_line":"        if isinstance(groups, dict):"},{"line_number":289,"context_line":"            groups \u003d [groups]"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        ret \u003d {}"},{"line_number":292,"context_line":"        for group in groups:"},{"line_number":293,"context_line":"            for key, value in group.items():"},{"line_number":294,"context_line":"                if value[\u0027type\u0027] \u003d\u003d \u0027tosca.groups.nfv.PlacementGroup\u0027:"}],"source_content_type":"text/x-python","patch_set":34,"id":"b31207c2_b99e5d72","line":291,"in_reply_to":"bce38b48_be681e57","updated":"2021-09-13 23:17:47.000000000","message":"seems better. I will fix.","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"}],"tacker/sol_refactored/conductor/conductor_v2.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    @coordinate.lock_vnf_instance(\u0027{lcmocc.vnfInstanceId}\u0027, delay\u003dTrue)"},{"line_number":61,"context_line":"    def _start_lcm_op(self, context, lcmocc):"},{"line_number":62,"context_line":"        # just consistency check"},{"line_number":63,"context_line":"        if (lcmocc.operationState !\u003d \u0027STARTING\u0027):"},{"line_number":64,"context_line":"            LOG.error(\"VnfLcmOpOcc unexpected operationState.\")"},{"line_number":65,"context_line":"            return"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"ef4756f9_fbc20be0","line":63,"updated":"2021-09-13 10:30:50.000000000","message":"Isn\u0027t it possible to use Enum defined in tacker/objects/fields.py?\nhttps://opendev.org/openstack/tacker/src/branch/master/tacker/objects/fields.py#L190","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    @coordinate.lock_vnf_instance(\u0027{lcmocc.vnfInstanceId}\u0027, delay\u003dTrue)"},{"line_number":61,"context_line":"    def _start_lcm_op(self, context, lcmocc):"},{"line_number":62,"context_line":"        # just consistency check"},{"line_number":63,"context_line":"        if (lcmocc.operationState !\u003d \u0027STARTING\u0027):"},{"line_number":64,"context_line":"            LOG.error(\"VnfLcmOpOcc unexpected operationState.\")"},{"line_number":65,"context_line":"            return"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"3e2277f6_17dbfc4f","line":63,"in_reply_to":"c4c99395_f2381056","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    @coordinate.lock_vnf_instance(\u0027{lcmocc.vnfInstanceId}\u0027, delay\u003dTrue)"},{"line_number":61,"context_line":"    def _start_lcm_op(self, context, lcmocc):"},{"line_number":62,"context_line":"        # just consistency check"},{"line_number":63,"context_line":"        if (lcmocc.operationState !\u003d \u0027STARTING\u0027):"},{"line_number":64,"context_line":"            LOG.error(\"VnfLcmOpOcc unexpected operationState.\")"},{"line_number":65,"context_line":"            return"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"c4c99395_f2381056","line":63,"in_reply_to":"ef4756f9_fbc20be0","updated":"2021-09-13 23:17:47.000000000","message":"tacker/sol_refactored/objects/v2/fields.py should be used instead of tacker/objects/fields.py.\nI don\u0027t like use it because code become long. but it might be better. I will fix.","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":86,"context_line":"            grant_method \u003d self._get_lcm_op_method(lcmocc.operation, \u0027grant\u0027)"},{"line_number":87,"context_line":"            grant_req, grant \u003d grant_method(context, lcmocc, inst, vnfd)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"            lcmocc.operationState \u003d \u0027PROCESSING\u0027"},{"line_number":90,"context_line":"            lcmocc.update(context)"},{"line_number":91,"context_line":"        except Exception as ex:"},{"line_number":92,"context_line":"            LOG.exception(\"STARTING %s failed\", lcmocc.operation)"}],"source_content_type":"text/x-python","patch_set":34,"id":"a6450067_01ef8c2a","line":89,"updated":"2021-09-13 10:30:50.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            grant_method \u003d self._get_lcm_op_method(lcmocc.operation, \u0027grant\u0027)"},{"line_number":87,"context_line":"            grant_req, grant \u003d grant_method(context, lcmocc, inst, vnfd)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"            lcmocc.operationState \u003d \u0027PROCESSING\u0027"},{"line_number":90,"context_line":"            lcmocc.update(context)"},{"line_number":91,"context_line":"        except Exception as ex:"},{"line_number":92,"context_line":"            LOG.exception(\"STARTING %s failed\", lcmocc.operation)"}],"source_content_type":"text/x-python","patch_set":34,"id":"fbe8633f_154e2e03","line":89,"in_reply_to":"8e6829e2_caadf7d9","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":86,"context_line":"            grant_method \u003d self._get_lcm_op_method(lcmocc.operation, \u0027grant\u0027)"},{"line_number":87,"context_line":"            grant_req, grant \u003d grant_method(context, lcmocc, inst, vnfd)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"            lcmocc.operationState \u003d \u0027PROCESSING\u0027"},{"line_number":90,"context_line":"            lcmocc.update(context)"},{"line_number":91,"context_line":"        except Exception as ex:"},{"line_number":92,"context_line":"            LOG.exception(\"STARTING %s failed\", lcmocc.operation)"}],"source_content_type":"text/x-python","patch_set":34,"id":"8e6829e2_caadf7d9","line":89,"in_reply_to":"a6450067_01ef8c2a","updated":"2021-09-13 23:17:47.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":90,"context_line":"            lcmocc.update(context)"},{"line_number":91,"context_line":"        except Exception as ex:"},{"line_number":92,"context_line":"            LOG.exception(\"STARTING %s failed\", lcmocc.operation)"},{"line_number":93,"context_line":"            lcmocc.operationState \u003d \u0027ROLLED_BACK\u0027"},{"line_number":94,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":95,"context_line":"            lcmocc.update(context)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"f409a404_45c67ee8","line":93,"updated":"2021-09-13 10:30:50.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":90,"context_line":"            lcmocc.update(context)"},{"line_number":91,"context_line":"        except Exception as ex:"},{"line_number":92,"context_line":"            LOG.exception(\"STARTING %s failed\", lcmocc.operation)"},{"line_number":93,"context_line":"            lcmocc.operationState \u003d \u0027ROLLED_BACK\u0027"},{"line_number":94,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":95,"context_line":"            lcmocc.update(context)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"2e968577_1078210d","line":93,"in_reply_to":"4fae30b5_05280f12","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":90,"context_line":"            lcmocc.update(context)"},{"line_number":91,"context_line":"        except Exception as ex:"},{"line_number":92,"context_line":"            LOG.exception(\"STARTING %s failed\", lcmocc.operation)"},{"line_number":93,"context_line":"            lcmocc.operationState \u003d \u0027ROLLED_BACK\u0027"},{"line_number":94,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":95,"context_line":"            lcmocc.update(context)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"4fae30b5_05280f12","line":93,"in_reply_to":"f409a404_45c67ee8","updated":"2021-09-13 23:17:47.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"},{"line_number":99,"context_line":"                                                  self.endpoint)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        if lcmocc.operationState !\u003d \u0027PROCESSING\u0027:"},{"line_number":102,"context_line":"            return"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":34,"id":"578dd6e6_663a6a2f","line":101,"updated":"2021-09-13 10:30:50.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"},{"line_number":99,"context_line":"                                                  self.endpoint)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        if lcmocc.operationState !\u003d \u0027PROCESSING\u0027:"},{"line_number":102,"context_line":"            return"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":34,"id":"e971f28c_297d88e7","line":101,"in_reply_to":"578dd6e6_663a6a2f","updated":"2021-09-13 23:17:47.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        self.nfvo_client.send_lcmocc_notification(context, lcmocc, inst,"},{"line_number":99,"context_line":"                                                  self.endpoint)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        if lcmocc.operationState !\u003d \u0027PROCESSING\u0027:"},{"line_number":102,"context_line":"            return"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":34,"id":"bad8d157_db78a3d2","line":101,"in_reply_to":"e971f28c_297d88e7","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":114,"context_line":"            end_method \u003d self._get_lcm_op_method(lcmocc.operation, \u0027end\u0027)"},{"line_number":115,"context_line":"            end_method(context, lcmocc, inst, grant_req, grant, vnfd)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"            lcmocc.operationState \u003d \u0027COMPLETED\u0027"},{"line_number":118,"context_line":"            # update inst and lcmocc at the same time"},{"line_number":119,"context_line":"            with context.session.begin(subtransactions\u003dTrue):"},{"line_number":120,"context_line":"                inst.update(context)"}],"source_content_type":"text/x-python","patch_set":34,"id":"d9a85ce0_7ef0ecdc","line":117,"updated":"2021-09-13 10:30:50.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            end_method \u003d self._get_lcm_op_method(lcmocc.operation, \u0027end\u0027)"},{"line_number":115,"context_line":"            end_method(context, lcmocc, inst, grant_req, grant, vnfd)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"            lcmocc.operationState \u003d \u0027COMPLETED\u0027"},{"line_number":118,"context_line":"            # update inst and lcmocc at the same time"},{"line_number":119,"context_line":"            with context.session.begin(subtransactions\u003dTrue):"},{"line_number":120,"context_line":"                inst.update(context)"}],"source_content_type":"text/x-python","patch_set":34,"id":"c80cd880_8bb634fa","line":117,"in_reply_to":"5d98401b_4091bac7","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":114,"context_line":"            end_method \u003d self._get_lcm_op_method(lcmocc.operation, \u0027end\u0027)"},{"line_number":115,"context_line":"            end_method(context, lcmocc, inst, grant_req, grant, vnfd)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"            lcmocc.operationState \u003d \u0027COMPLETED\u0027"},{"line_number":118,"context_line":"            # update inst and lcmocc at the same time"},{"line_number":119,"context_line":"            with context.session.begin(subtransactions\u003dTrue):"},{"line_number":120,"context_line":"                inst.update(context)"}],"source_content_type":"text/x-python","patch_set":34,"id":"5d98401b_4091bac7","line":117,"in_reply_to":"d9a85ce0_7ef0ecdc","updated":"2021-09-13 23:17:47.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"a4aec079bad3df673deb4579cd706acb2a4c75e5","unresolved":true,"context_lines":[{"line_number":121,"context_line":"                lcmocc.update(context)"},{"line_number":122,"context_line":"        except Exception as ex:"},{"line_number":123,"context_line":"            LOG.exception(\"PROCESSING %s failed\", lcmocc.operation)"},{"line_number":124,"context_line":"            lcmocc.operationState \u003d \u0027FAILED_TEMP\u0027"},{"line_number":125,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":126,"context_line":"            lcmocc.update(context)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"8f88a3ba_4eece8a3","line":124,"updated":"2021-09-13 10:30:50.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"ffcba54b74b4eacb90f33db9c9f58be7cc28f84b","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                lcmocc.update(context)"},{"line_number":122,"context_line":"        except Exception as ex:"},{"line_number":123,"context_line":"            LOG.exception(\"PROCESSING %s failed\", lcmocc.operation)"},{"line_number":124,"context_line":"            lcmocc.operationState \u003d \u0027FAILED_TEMP\u0027"},{"line_number":125,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":126,"context_line":"            lcmocc.update(context)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"ae490e6e_e77cfacc","line":124,"in_reply_to":"63d5aa9a_51da9d17","updated":"2021-09-14 00:20:53.000000000","message":"Done","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"56fb710fd9e23c25e8672890e44acab26cffec4e","unresolved":true,"context_lines":[{"line_number":121,"context_line":"                lcmocc.update(context)"},{"line_number":122,"context_line":"        except Exception as ex:"},{"line_number":123,"context_line":"            LOG.exception(\"PROCESSING %s failed\", lcmocc.operation)"},{"line_number":124,"context_line":"            lcmocc.operationState \u003d \u0027FAILED_TEMP\u0027"},{"line_number":125,"context_line":"            self._set_lcmocc_error(lcmocc, ex)"},{"line_number":126,"context_line":"            lcmocc.update(context)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"63d5aa9a_51da9d17","line":124,"in_reply_to":"8f88a3ba_4eece8a3","updated":"2021-09-13 23:17:47.000000000","message":"ditto","commit_id":"bdb497ee397c7d76c268c7d2df78461fc81bb82c"}],"tacker/sol_refactored/conductor/vnflcm_driver_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"0e95a35cc5233e9e530fe9fd732aef4c014ed448","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # grant exchange"},{"line_number":64,"context_line":"        grant_req \u003d objects.GrantRequestV1("},{"line_number":65,"context_line":"            vnfInstanceId\u003dinst.id,"},{"line_number":66,"context_line":"            vnfLcmOpOccId\u003dlcmocc.id,"},{"line_number":67,"context_line":"            vnfdId\u003dinst.vnfdId,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3e2c5849_13fc38df","line":64,"range":{"start_line":64,"start_character":28,"end_line":64,"end_character":42},"updated":"2021-08-11 08:22:39.000000000","message":"I think Grant only supports V1 in Xena, but considering the future, should you make logic to check \u0027CONF.v2_vnfm.api_version\u0027 and select objects?","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"4ab19c9063a49102b29381f4f8311ee63182e071","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # grant exchange"},{"line_number":64,"context_line":"        grant_req \u003d objects.GrantRequestV1("},{"line_number":65,"context_line":"            vnfInstanceId\u003dinst.id,"},{"line_number":66,"context_line":"            vnfLcmOpOccId\u003dlcmocc.id,"},{"line_number":67,"context_line":"            vnfdId\u003dinst.vnfdId,"}],"source_content_type":"text/x-python","patch_set":13,"id":"6294e20f_f5bcb66a","line":64,"range":{"start_line":64,"start_character":28,"end_line":64,"end_character":42},"in_reply_to":"3e2c5849_13fc38df","updated":"2021-08-11 23:52:13.000000000","message":"(you mean CONF.v2_nfvo.api_version)\nI think it is necessary when multiple versions of NFVO is supported (multiple Grant/GrantRequest objects are supported).\nI don\u0027t think it is better to increase code to support multiple versions of NFVO at the moment.\nBut I will add a comment that the api version of NFVO supposes 1.4.0 only at the moment.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"51ab4c2c636b878471ad0a5912161dcab1599cfd","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        req \u003d lcmocc.operationParams"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # grant exchange"},{"line_number":64,"context_line":"        grant_req \u003d objects.GrantRequestV1("},{"line_number":65,"context_line":"            vnfInstanceId\u003dinst.id,"},{"line_number":66,"context_line":"            vnfLcmOpOccId\u003dlcmocc.id,"},{"line_number":67,"context_line":"            vnfdId\u003dinst.vnfdId,"}],"source_content_type":"text/x-python","patch_set":13,"id":"019e0f57_c62ea6ae","line":64,"range":{"start_line":64,"start_character":28,"end_line":64,"end_character":42},"in_reply_to":"6294e20f_f5bcb66a","updated":"2021-08-17 08:32:07.000000000","message":"Done","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"6ebbe01d0464fc5e4837b961fa5946f7287a81d0","unresolved":true,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        if req.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":166,"context_line":"            if not inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":167,"context_line":"                inst.vimConnectionInfo \u003d req.vimConnectionInfo"},{"line_number":168,"context_line":"            else:"},{"line_number":169,"context_line":"                vim_ids \u003d [vim.vimId for vim in inst.vimConnectionInfo]"},{"line_number":170,"context_line":"                for vim in req.vimConnectionInfo:"}],"source_content_type":"text/x-python","patch_set":17,"id":"0f13f790_4a6ab55c","line":167,"updated":"2021-08-23 07:34:07.000000000","message":"If only vimId is set in vimConnectionInfo of req, isn\u0027t it necessary to get accessinfo and interfaceInfo from DB?\nUntil patchset13, the \"instantiate\" of VnfLcmControllerV2 had that process, but now it seems that it has been deleted.\nhttps://review.opendev.org/c/openstack/tacker/+/803693/13..17/tacker/sol_refactored/controller/vnflcm_v2.py","commit_id":"85a91b86ce4972c07b7c1cfcf3fea0d054b2af5b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"2865b3aeed6576550cca4a710ec68c30b5d79c74","unresolved":true,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        if req.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":166,"context_line":"            if not inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":167,"context_line":"                inst.vimConnectionInfo \u003d req.vimConnectionInfo"},{"line_number":168,"context_line":"            else:"},{"line_number":169,"context_line":"                vim_ids \u003d [vim.vimId for vim in inst.vimConnectionInfo]"},{"line_number":170,"context_line":"                for vim in req.vimConnectionInfo:"}],"source_content_type":"text/x-python","patch_set":17,"id":"5b8c866f_6b5287c3","line":167,"in_reply_to":"0f13f790_4a6ab55c","updated":"2021-08-23 22:49:30.000000000","message":"I have deleted it from vnflcm_v2.py by mistake. I will put back.","commit_id":"85a91b86ce4972c07b7c1cfcf3fea0d054b2af5b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"39c78191669af44aff2076399c38c9eff24b4447","unresolved":true,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        if req.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":166,"context_line":"            if not inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":167,"context_line":"                inst.vimConnectionInfo \u003d req.vimConnectionInfo"},{"line_number":168,"context_line":"            else:"},{"line_number":169,"context_line":"                vim_ids \u003d [vim.vimId for vim in inst.vimConnectionInfo]"},{"line_number":170,"context_line":"                for vim in req.vimConnectionInfo:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fc1ae80_432007c2","line":167,"in_reply_to":"5b8c866f_6b5287c3","updated":"2021-08-24 04:08:44.000000000","message":"I fixed in patch set 18.","commit_id":"85a91b86ce4972c07b7c1cfcf3fea0d054b2af5b"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"95de911b1a8f69d3017fae4945aaffd04bfae934","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        if req.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":166,"context_line":"            if not inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":167,"context_line":"                inst.vimConnectionInfo \u003d req.vimConnectionInfo"},{"line_number":168,"context_line":"            else:"},{"line_number":169,"context_line":"                vim_ids \u003d [vim.vimId for vim in inst.vimConnectionInfo]"},{"line_number":170,"context_line":"                for vim in req.vimConnectionInfo:"}],"source_content_type":"text/x-python","patch_set":17,"id":"ced2a811_300489c4","line":167,"in_reply_to":"9fc1ae80_432007c2","updated":"2021-08-25 06:03:52.000000000","message":"Done","commit_id":"85a91b86ce4972c07b7c1cfcf3fea0d054b2af5b"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"6ebbe01d0464fc5e4837b961fa5946f7287a81d0","unresolved":true,"context_lines":[{"line_number":348,"context_line":"        inst_vnf_info \u003d objects.VnfInstanceV2_InstantiatedVnfInfo("},{"line_number":349,"context_line":"            flavourId\u003dinst.instantiatedVnfInfo.flavourId,"},{"line_number":350,"context_line":"            vnfState\u003d\u0027STOPPED\u0027,"},{"line_number":351,"context_line":"            # TODO(oda-g): extCpInfo"},{"line_number":352,"context_line":"        )"},{"line_number":353,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"fbc51efa_169b9a0d","line":351,"updated":"2021-08-23 07:34:07.000000000","message":"Please remove the name from the comment.\nAre you planning to add processing code?","commit_id":"85a91b86ce4972c07b7c1cfcf3fea0d054b2af5b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a9935d35aecefe365365dea36e547f2d555ff32b","unresolved":true,"context_lines":[{"line_number":348,"context_line":"        inst_vnf_info \u003d objects.VnfInstanceV2_InstantiatedVnfInfo("},{"line_number":349,"context_line":"            flavourId\u003dinst.instantiatedVnfInfo.flavourId,"},{"line_number":350,"context_line":"            vnfState\u003d\u0027STOPPED\u0027,"},{"line_number":351,"context_line":"            # TODO(oda-g): extCpInfo"},{"line_number":352,"context_line":"        )"},{"line_number":353,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1aa1f52d_383867f7","line":351,"in_reply_to":"091bf222_fe4df2c1","updated":"2021-08-24 04:07:26.000000000","message":"I changed this comment in patch set 18.","commit_id":"85a91b86ce4972c07b7c1cfcf3fea0d054b2af5b"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"95de911b1a8f69d3017fae4945aaffd04bfae934","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        inst_vnf_info \u003d objects.VnfInstanceV2_InstantiatedVnfInfo("},{"line_number":349,"context_line":"            flavourId\u003dinst.instantiatedVnfInfo.flavourId,"},{"line_number":350,"context_line":"            vnfState\u003d\u0027STOPPED\u0027,"},{"line_number":351,"context_line":"            # TODO(oda-g): extCpInfo"},{"line_number":352,"context_line":"        )"},{"line_number":353,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"a676aeb0_e7c9f6a5","line":351,"in_reply_to":"1aa1f52d_383867f7","updated":"2021-08-25 06:03:52.000000000","message":"I see.(I checked \"OpenStack Style Guidelines\" https://docs.openstack.org/hacking/latest/user/hacking.html )\nThank you for adding the NOTE.","commit_id":"85a91b86ce4972c07b7c1cfcf3fea0d054b2af5b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"2865b3aeed6576550cca4a710ec68c30b5d79c74","unresolved":true,"context_lines":[{"line_number":348,"context_line":"        inst_vnf_info \u003d objects.VnfInstanceV2_InstantiatedVnfInfo("},{"line_number":349,"context_line":"            flavourId\u003dinst.instantiatedVnfInfo.flavourId,"},{"line_number":350,"context_line":"            vnfState\u003d\u0027STOPPED\u0027,"},{"line_number":351,"context_line":"            # TODO(oda-g): extCpInfo"},{"line_number":352,"context_line":"        )"},{"line_number":353,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"091bf222_fe4df2c1","line":351,"in_reply_to":"fbc51efa_169b9a0d","updated":"2021-08-23 22:49:30.000000000","message":"TODO must have name according to pep8 rule. I will try to fix but I am not sure at the moment.","commit_id":"85a91b86ce4972c07b7c1cfcf3fea0d054b2af5b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"f427ebc9e85511cd36b938912075af3109351451","unresolved":true,"context_lines":[{"line_number":194,"context_line":"                inst.vimConnectionInfo \u003d [vim_info]"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        if (not inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027) or"},{"line_number":197,"context_line":"                len(inst.vimConnectionInfo) \u003d\u003d 0):"},{"line_number":198,"context_line":"            # must be one vimConnectionInfo at least."},{"line_number":199,"context_line":"            raise sol_ex.NoVimConnectionInfo()"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"278c7597_9aa94e1c","line":197,"range":{"start_line":197,"start_character":16,"end_line":197,"end_character":49},"updated":"2021-08-27 07:21:26.000000000","message":"Is this \"or\" condition needed?","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a8455ae40c0f71f61f6ac2a5a8f07b721411f4c9","unresolved":false,"context_lines":[{"line_number":194,"context_line":"                inst.vimConnectionInfo \u003d [vim_info]"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        if (not inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027) or"},{"line_number":197,"context_line":"                len(inst.vimConnectionInfo) \u003d\u003d 0):"},{"line_number":198,"context_line":"            # must be one vimConnectionInfo at least."},{"line_number":199,"context_line":"            raise sol_ex.NoVimConnectionInfo()"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"655d4ace_bf5e7233","line":197,"range":{"start_line":197,"start_character":16,"end_line":197,"end_character":49},"in_reply_to":"1871932d_be3f1147","updated":"2021-08-30 02:17:32.000000000","message":"Thank you for your explanation. I see.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"c7fa1c28da554a24dd419c9cb64c1af3c0c35f47","unresolved":true,"context_lines":[{"line_number":194,"context_line":"                inst.vimConnectionInfo \u003d [vim_info]"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        if (not inst.obj_attr_is_set(\u0027vimConnectionInfo\u0027) or"},{"line_number":197,"context_line":"                len(inst.vimConnectionInfo) \u003d\u003d 0):"},{"line_number":198,"context_line":"            # must be one vimConnectionInfo at least."},{"line_number":199,"context_line":"            raise sol_ex.NoVimConnectionInfo()"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1871932d_be3f1147","line":197,"range":{"start_line":197,"start_character":16,"end_line":197,"end_character":49},"in_reply_to":"278c7597_9aa94e1c","updated":"2021-08-30 00:47:13.000000000","message":"see L.372. unfortunately object can\u0027t be removed at the moment. once instantiate and terminate were done, inst.vimConnectionInfo is set and its length is 0.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"323bef59dea5419aca40cc1e63041c2c1134bb11","unresolved":true,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"            inst_utils.json_merge_patch(vim_infos, res_vim_infos)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if not vim_infos:"},{"line_number":184,"context_line":"            # use the default VIM for the project. tacker special."},{"line_number":185,"context_line":"            vim_info \u003d vim_utils.get_default_vim(context)"},{"line_number":186,"context_line":"            if vim_info:"},{"line_number":187,"context_line":"                vim_infos[\"default\"] \u003d vim_info"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        if not vim_infos:"},{"line_number":190,"context_line":"            # must be one vimConnectionInfo at least."},{"line_number":191,"context_line":"            raise sol_ex.NoVimConnectionInfo()"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        inst.vimConnectionInfo \u003d vim_infos"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"59fd227b_2ad49419","line":191,"range":{"start_line":183,"start_character":0,"end_line":191,"end_character":46},"updated":"2021-09-03 09:12:17.000000000","message":"IMO, you can refactor as below.\n---\n        if not vim_infos:\n            # use the default VIM for the project. tacker special.\n            vim_info \u003d vim_utils.get_default_vim(context)\n            if vim_info:\n                vim_infos[\"default\"] \u003d vim_info\n            else:\n                # must be one vimConnectionInfo at least.\n                raise sol_ex.NoVimConnectionInfo()","commit_id":"9f4f0567e6544deb1667650d8f6955800513be73"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cff41faeea8e65e4ab413e520d214f06b2ecd4c7","unresolved":true,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"            inst_utils.json_merge_patch(vim_infos, res_vim_infos)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if not vim_infos:"},{"line_number":184,"context_line":"            # use the default VIM for the project. tacker special."},{"line_number":185,"context_line":"            vim_info \u003d vim_utils.get_default_vim(context)"},{"line_number":186,"context_line":"            if vim_info:"},{"line_number":187,"context_line":"                vim_infos[\"default\"] \u003d vim_info"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        if not vim_infos:"},{"line_number":190,"context_line":"            # must be one vimConnectionInfo at least."},{"line_number":191,"context_line":"            raise sol_ex.NoVimConnectionInfo()"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        inst.vimConnectionInfo \u003d vim_infos"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"ee046d6a_d870f120","line":191,"range":{"start_line":183,"start_character":0,"end_line":191,"end_character":46},"in_reply_to":"59fd227b_2ad49419","updated":"2021-09-05 22:30:56.000000000","message":"right. I will fix.","commit_id":"9f4f0567e6544deb1667650d8f6955800513be73"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"f8f80cc60ee9f68ea57d7cbcd2dc0380cf3d3128","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"            inst_utils.json_merge_patch(vim_infos, res_vim_infos)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if not vim_infos:"},{"line_number":184,"context_line":"            # use the default VIM for the project. tacker special."},{"line_number":185,"context_line":"            vim_info \u003d vim_utils.get_default_vim(context)"},{"line_number":186,"context_line":"            if vim_info:"},{"line_number":187,"context_line":"                vim_infos[\"default\"] \u003d vim_info"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        if not vim_infos:"},{"line_number":190,"context_line":"            # must be one vimConnectionInfo at least."},{"line_number":191,"context_line":"            raise sol_ex.NoVimConnectionInfo()"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        inst.vimConnectionInfo \u003d vim_infos"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"eb3d2466_a4649d38","line":191,"range":{"start_line":183,"start_character":0,"end_line":191,"end_character":46},"in_reply_to":"ee046d6a_d870f120","updated":"2021-09-06 04:37:07.000000000","message":"Done","commit_id":"9f4f0567e6544deb1667650d8f6955800513be73"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":356,"context_line":"        inst_vnf_info \u003d objects.VnfInstanceV2_InstantiatedVnfInfo("},{"line_number":357,"context_line":"            flavourId\u003dinst.instantiatedVnfInfo.flavourId,"},{"line_number":358,"context_line":"            vnfState\u003d\u0027STOPPED\u0027,"},{"line_number":359,"context_line":"            # NOTE: extCpInfo is omitted. its cardinarity is 1..N but it is"},{"line_number":360,"context_line":"            # meaningless to have it for terminated vnf instance."},{"line_number":361,"context_line":"        )"},{"line_number":362,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"}],"source_content_type":"text/x-python","patch_set":35,"id":"9ef71887_f8e2fb58","line":359,"updated":"2021-09-14 09:01:13.000000000","message":"typo: cardinarity → cardinality","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":356,"context_line":"        inst_vnf_info \u003d objects.VnfInstanceV2_InstantiatedVnfInfo("},{"line_number":357,"context_line":"            flavourId\u003dinst.instantiatedVnfInfo.flavourId,"},{"line_number":358,"context_line":"            vnfState\u003d\u0027STOPPED\u0027,"},{"line_number":359,"context_line":"            # NOTE: extCpInfo is omitted. its cardinarity is 1..N but it is"},{"line_number":360,"context_line":"            # meaningless to have it for terminated vnf instance."},{"line_number":361,"context_line":"        )"},{"line_number":362,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"}],"source_content_type":"text/x-python","patch_set":35,"id":"e97afc7f_927b601f","line":359,"in_reply_to":"9ef71887_f8e2fb58","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        inst_vnf_info \u003d objects.VnfInstanceV2_InstantiatedVnfInfo("},{"line_number":357,"context_line":"            flavourId\u003dinst.instantiatedVnfInfo.flavourId,"},{"line_number":358,"context_line":"            vnfState\u003d\u0027STOPPED\u0027,"},{"line_number":359,"context_line":"            # NOTE: extCpInfo is omitted. its cardinarity is 1..N but it is"},{"line_number":360,"context_line":"            # meaningless to have it for terminated vnf instance."},{"line_number":361,"context_line":"        )"},{"line_number":362,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"}],"source_content_type":"text/x-python","patch_set":35,"id":"cc822dc3_b0f990c9","line":359,"in_reply_to":"e97afc7f_927b601f","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/sol_refactored/controller/vnflcm_v2.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":322,"context_line":"        if not CONF.v2_vnfm.test_enable_lcm_op_occ_delete:"},{"line_number":323,"context_line":"            raise sol_ex.SolHttpError405(method\u003d\u0027DELETE\u0027)"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        # This is for test use since it is inconvenient not to be"},{"line_number":326,"context_line":"        # able to delete."},{"line_number":327,"context_line":"        context \u003d request.context"},{"line_number":328,"context_line":"        lcmocc \u003d lcmocc_utils.get_lcmocc(context, id)"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"228e5a39_a9595a2d","line":326,"range":{"start_line":325,"start_character":8,"end_line":326,"end_character":25},"updated":"2021-08-16 10:29:27.000000000","message":"Could you emphasize with \"NOTE\"?","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":false,"context_lines":[{"line_number":322,"context_line":"        if not CONF.v2_vnfm.test_enable_lcm_op_occ_delete:"},{"line_number":323,"context_line":"            raise sol_ex.SolHttpError405(method\u003d\u0027DELETE\u0027)"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        # This is for test use since it is inconvenient not to be"},{"line_number":326,"context_line":"        # able to delete."},{"line_number":327,"context_line":"        context \u003d request.context"},{"line_number":328,"context_line":"        lcmocc \u003d lcmocc_utils.get_lcmocc(context, id)"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"6f090da0_4894504b","line":326,"range":{"start_line":325,"start_character":8,"end_line":326,"end_character":25},"in_reply_to":"228e5a39_a9595a2d","updated":"2021-08-17 01:18:05.000000000","message":"Ack","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":164,"context_line":"            operationParams\u003dbody)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        req_param \u003d lcmocc.operationParams"},{"line_number":167,"context_line":"        # if there is partial vimConneiotnInfo check and fulfill here."},{"line_number":168,"context_line":"        if req_param.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":169,"context_line":"            # if accessInfo or interfaceInfo is not specified, get from"},{"line_number":170,"context_line":"            # VIM DB. vimId must be in VIM DB."}],"source_content_type":"text/x-python","patch_set":35,"id":"31161ce1_6153ca14","line":167,"updated":"2021-09-14 09:01:13.000000000","message":"typo: vimConneiotnInfo → vimConnectionInfo","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":164,"context_line":"            operationParams\u003dbody)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        req_param \u003d lcmocc.operationParams"},{"line_number":167,"context_line":"        # if there is partial vimConneiotnInfo check and fulfill here."},{"line_number":168,"context_line":"        if req_param.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":169,"context_line":"            # if accessInfo or interfaceInfo is not specified, get from"},{"line_number":170,"context_line":"            # VIM DB. vimId must be in VIM DB."}],"source_content_type":"text/x-python","patch_set":35,"id":"9fc21091_006b284e","line":167,"in_reply_to":"31161ce1_6153ca14","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            operationParams\u003dbody)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        req_param \u003d lcmocc.operationParams"},{"line_number":167,"context_line":"        # if there is partial vimConneiotnInfo check and fulfill here."},{"line_number":168,"context_line":"        if req_param.obj_attr_is_set(\u0027vimConnectionInfo\u0027):"},{"line_number":169,"context_line":"            # if accessInfo or interfaceInfo is not specified, get from"},{"line_number":170,"context_line":"            # VIM DB. vimId must be in VIM DB."}],"source_content_type":"text/x-python","patch_set":35,"id":"3c835a6c_3b37f4e1","line":167,"in_reply_to":"9fc21091_006b284e","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/sol_refactored/controller/vnflcm_view.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"50ffc86b1adfbd2eda1547606c406b4cc2cdd572","unresolved":true,"context_lines":[{"line_number":131,"context_line":"        for k in excl_fields:"},{"line_number":132,"context_line":"            klist \u003d k.split(\u0027/\u0027)"},{"line_number":133,"context_line":"            if len(klist) \u003e 1:"},{"line_number":134,"context_line":"                # TODO(toshii): check if this nested field is nullable"},{"line_number":135,"context_line":"                pass"},{"line_number":136,"context_line":"            else:"},{"line_number":137,"context_line":"                if not obj.fields[klist[0]].nullable:"}],"source_content_type":"text/x-python","patch_set":31,"id":"fee4d2e4_27d609a1","line":134,"updated":"2021-09-10 07:58:49.000000000","message":"Will this TODO be fixed in Xena?","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"676316cb25039842e2f9eaecd69c59be211ba44b","unresolved":true,"context_lines":[{"line_number":131,"context_line":"        for k in excl_fields:"},{"line_number":132,"context_line":"            klist \u003d k.split(\u0027/\u0027)"},{"line_number":133,"context_line":"            if len(klist) \u003e 1:"},{"line_number":134,"context_line":"                # TODO(toshii): check if this nested field is nullable"},{"line_number":135,"context_line":"                pass"},{"line_number":136,"context_line":"            else:"},{"line_number":137,"context_line":"                if not obj.fields[klist[0]].nullable:"}],"source_content_type":"text/x-python","patch_set":31,"id":"9483a6da_3a8770d5","line":134,"in_reply_to":"0dfddab8_ad286564","updated":"2021-09-13 02:38:23.000000000","message":"It is a bit complicated to fix this. It may be fixed in Xena if the fix is made and there is a chance to merge the fix but it is not guaranteed and the fix does not hurry.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"3f678eec96c1f97bc9631e7263df3c4024240aa0","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        for k in excl_fields:"},{"line_number":132,"context_line":"            klist \u003d k.split(\u0027/\u0027)"},{"line_number":133,"context_line":"            if len(klist) \u003e 1:"},{"line_number":134,"context_line":"                # TODO(toshii): check if this nested field is nullable"},{"line_number":135,"context_line":"                pass"},{"line_number":136,"context_line":"            else:"},{"line_number":137,"context_line":"                if not obj.fields[klist[0]].nullable:"}],"source_content_type":"text/x-python","patch_set":31,"id":"b64a5c6f_d614504a","line":134,"in_reply_to":"9483a6da_3a8770d5","updated":"2021-09-13 03:00:49.000000000","message":"Ack","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"435b9e0addda4b680335d33f9d1a423926a5841b","unresolved":true,"context_lines":[{"line_number":131,"context_line":"        for k in excl_fields:"},{"line_number":132,"context_line":"            klist \u003d k.split(\u0027/\u0027)"},{"line_number":133,"context_line":"            if len(klist) \u003e 1:"},{"line_number":134,"context_line":"                # TODO(toshii): check if this nested field is nullable"},{"line_number":135,"context_line":"                pass"},{"line_number":136,"context_line":"            else:"},{"line_number":137,"context_line":"                if not obj.fields[klist[0]].nullable:"}],"source_content_type":"text/x-python","patch_set":31,"id":"0dfddab8_ad286564","line":134,"in_reply_to":"fee4d2e4_27d609a1","updated":"2021-09-12 23:06:46.000000000","message":"No.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"50ffc86b1adfbd2eda1547606c406b4cc2cdd572","unresolved":true,"context_lines":[{"line_number":237,"context_line":"                          \u0027cont\u0027, \u0027ncont\u0027]:"},{"line_number":238,"context_line":"                raise sol_ex.InvalidAttributeFilter("},{"line_number":239,"context_line":"                    sol_detail\u003d(\"Invalid op %s\" % op))"},{"line_number":240,"context_line":"            # TODO(toshii): validate simpleFilterExprOne has only one value"},{"line_number":241,"context_line":"            res.append(FilterExpr(op, self.parse_attr(m.group(2)),"},{"line_number":242,"context_line":"                self.parse_values(filter[(loc + m.end(2)):(loc + m.end(3))])))"},{"line_number":243,"context_line":"            loc +\u003d m.end()"}],"source_content_type":"text/x-python","patch_set":31,"id":"e384d6d3_ba789c4b","line":240,"updated":"2021-09-10 07:58:49.000000000","message":"Will this TODO be fixed in Xena?","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"3f678eec96c1f97bc9631e7263df3c4024240aa0","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                          \u0027cont\u0027, \u0027ncont\u0027]:"},{"line_number":238,"context_line":"                raise sol_ex.InvalidAttributeFilter("},{"line_number":239,"context_line":"                    sol_detail\u003d(\"Invalid op %s\" % op))"},{"line_number":240,"context_line":"            # TODO(toshii): validate simpleFilterExprOne has only one value"},{"line_number":241,"context_line":"            res.append(FilterExpr(op, self.parse_attr(m.group(2)),"},{"line_number":242,"context_line":"                self.parse_values(filter[(loc + m.end(2)):(loc + m.end(3))])))"},{"line_number":243,"context_line":"            loc +\u003d m.end()"}],"source_content_type":"text/x-python","patch_set":31,"id":"f7c7578b_962f941e","line":240,"in_reply_to":"67e553e1_edcabba4","updated":"2021-09-13 03:00:49.000000000","message":"Done","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"676316cb25039842e2f9eaecd69c59be211ba44b","unresolved":true,"context_lines":[{"line_number":237,"context_line":"                          \u0027cont\u0027, \u0027ncont\u0027]:"},{"line_number":238,"context_line":"                raise sol_ex.InvalidAttributeFilter("},{"line_number":239,"context_line":"                    sol_detail\u003d(\"Invalid op %s\" % op))"},{"line_number":240,"context_line":"            # TODO(toshii): validate simpleFilterExprOne has only one value"},{"line_number":241,"context_line":"            res.append(FilterExpr(op, self.parse_attr(m.group(2)),"},{"line_number":242,"context_line":"                self.parse_values(filter[(loc + m.end(2)):(loc + m.end(3))])))"},{"line_number":243,"context_line":"            loc +\u003d m.end()"}],"source_content_type":"text/x-python","patch_set":31,"id":"67e553e1_edcabba4","line":240,"in_reply_to":"7f588bef_f8ae54d1","updated":"2021-09-13 02:38:23.000000000","message":"It is fixed in the patchset 34.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"435b9e0addda4b680335d33f9d1a423926a5841b","unresolved":true,"context_lines":[{"line_number":237,"context_line":"                          \u0027cont\u0027, \u0027ncont\u0027]:"},{"line_number":238,"context_line":"                raise sol_ex.InvalidAttributeFilter("},{"line_number":239,"context_line":"                    sol_detail\u003d(\"Invalid op %s\" % op))"},{"line_number":240,"context_line":"            # TODO(toshii): validate simpleFilterExprOne has only one value"},{"line_number":241,"context_line":"            res.append(FilterExpr(op, self.parse_attr(m.group(2)),"},{"line_number":242,"context_line":"                self.parse_values(filter[(loc + m.end(2)):(loc + m.end(3))])))"},{"line_number":243,"context_line":"            loc +\u003d m.end()"}],"source_content_type":"text/x-python","patch_set":31,"id":"7f588bef_f8ae54d1","line":240,"in_reply_to":"e384d6d3_ba789c4b","updated":"2021-09-12 23:06:46.000000000","message":"No.","commit_id":"97c3351dfa36d5d58022ddd969cf0a6b923cdd27"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":"        resp \u003d subsc.to_dict()"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        # NOTE: authetication is not included in LccnSubscription"},{"line_number":359,"context_line":"        resp.pop(\u0027authentication\u0027, None)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        if selector is not None:"}],"source_content_type":"text/x-python","patch_set":35,"id":"c2403095_1dcc58b9","line":358,"updated":"2021-09-14 09:01:13.000000000","message":"typo: authetication → authentication","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":"        resp \u003d subsc.to_dict()"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        # NOTE: authetication is not included in LccnSubscription"},{"line_number":359,"context_line":"        resp.pop(\u0027authentication\u0027, None)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        if selector is not None:"}],"source_content_type":"text/x-python","patch_set":35,"id":"497370ae_62883068","line":358,"in_reply_to":"73076844_4996fdf2","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":"        resp \u003d subsc.to_dict()"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        # NOTE: authetication is not included in LccnSubscription"},{"line_number":359,"context_line":"        resp.pop(\u0027authentication\u0027, None)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        if selector is not None:"}],"source_content_type":"text/x-python","patch_set":35,"id":"73076844_4996fdf2","line":358,"in_reply_to":"c2403095_1dcc58b9","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/sol_refactored/infra_drivers/openstack/heat_utils.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"f427ebc9e85511cd36b938912075af3109351451","unresolved":true,"context_lines":[{"line_number":59,"context_line":"                body[\"stack\"][\"stack_status_reason\"])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def get_resources(self, stack_name):"},{"line_number":62,"context_line":"        path \u003d \"stacks/{}/resources?nested_depth\u003d2\".format(stack_name)"},{"line_number":63,"context_line":"        resp, body \u003d self.client.do_request(path, \"GET\","},{"line_number":64,"context_line":"                expected_status\u003d[200])"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"80beb510_eabe40cb","line":62,"range":{"start_line":62,"start_character":35,"end_line":62,"end_character":50},"updated":"2021-08-27 07:21:26.000000000","message":"I think it\u0027s better to write in \"NOTE\" that this query parameter is set with the intention of getting the information of the child-stack as well.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"59d02b86ce9d5b750bdcae7f208e8f8e4380c320","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                body[\"stack\"][\"stack_status_reason\"])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def get_resources(self, stack_name):"},{"line_number":62,"context_line":"        path \u003d \"stacks/{}/resources?nested_depth\u003d2\".format(stack_name)"},{"line_number":63,"context_line":"        resp, body \u003d self.client.do_request(path, \"GET\","},{"line_number":64,"context_line":"                expected_status\u003d[200])"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"2b912510_883a7118","line":62,"range":{"start_line":62,"start_character":35,"end_line":62,"end_character":50},"in_reply_to":"7828728d_8aeac634","updated":"2021-08-30 07:27:11.000000000","message":"Done","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"c7fa1c28da554a24dd419c9cb64c1af3c0c35f47","unresolved":true,"context_lines":[{"line_number":59,"context_line":"                body[\"stack\"][\"stack_status_reason\"])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def get_resources(self, stack_name):"},{"line_number":62,"context_line":"        path \u003d \"stacks/{}/resources?nested_depth\u003d2\".format(stack_name)"},{"line_number":63,"context_line":"        resp, body \u003d self.client.do_request(path, \"GET\","},{"line_number":64,"context_line":"                expected_status\u003d[200])"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"7828728d_8aeac634","line":62,"range":{"start_line":62,"start_character":35,"end_line":62,"end_character":50},"in_reply_to":"80beb510_eabe40cb","updated":"2021-08-30 00:47:13.000000000","message":"I see. I will add a note.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"f427ebc9e85511cd36b938912075af3109351451","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        return body[\u0027resources\u0027]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def wait_stack_create(self, stack_name):"},{"line_number":69,"context_line":"        # NOTE: timeout_mins is specified when creating stack,"},{"line_number":70,"context_line":"        #       so it is not forever loop."},{"line_number":71,"context_line":"        def _wait_create():"}],"source_content_type":"text/x-python","patch_set":20,"id":"440b92fa_43f8e686","line":68,"range":{"start_line":68,"start_character":8,"end_line":68,"end_character":25},"updated":"2021-08-27 07:21:26.000000000","message":"I think \"wait_stack_create()\" and \"wait_stack_delete()\" are almost the same function.\nAnd that \"wait_update_create()\" may be implemented in the future, so can you commonize these functions using \"str.upper()\" or \"str.lower()\", etc?\nHowever, if the disadvantage of poor readability of the code is greater than the advantage of commonality, you don\u0027t have to do this action.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"59d02b86ce9d5b750bdcae7f208e8f8e4380c320","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        return body[\u0027resources\u0027]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def wait_stack_create(self, stack_name):"},{"line_number":69,"context_line":"        # NOTE: timeout_mins is specified when creating stack,"},{"line_number":70,"context_line":"        #       so it is not forever loop."},{"line_number":71,"context_line":"        def _wait_create():"}],"source_content_type":"text/x-python","patch_set":20,"id":"4a3d98b0_676421b9","line":68,"range":{"start_line":68,"start_character":8,"end_line":68,"end_character":25},"in_reply_to":"0efcdcdb_bfb4ffa8","updated":"2021-08-30 07:27:11.000000000","message":"Thanks! I\u0027ve confirmed.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"c7fa1c28da554a24dd419c9cb64c1af3c0c35f47","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        return body[\u0027resources\u0027]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def wait_stack_create(self, stack_name):"},{"line_number":69,"context_line":"        # NOTE: timeout_mins is specified when creating stack,"},{"line_number":70,"context_line":"        #       so it is not forever loop."},{"line_number":71,"context_line":"        def _wait_create():"}],"source_content_type":"text/x-python","patch_set":20,"id":"0efcdcdb_bfb4ffa8","line":68,"range":{"start_line":68,"start_character":8,"end_line":68,"end_character":25},"in_reply_to":"440b92fa_43f8e686","updated":"2021-08-30 00:47:13.000000000","message":"It is redundant certainly. I will refactor.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"f427ebc9e85511cd36b938912075af3109351451","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                      stack_name)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        timer \u003d loopingcall.FixedIntervalLoopingCall(_wait_create)"},{"line_number":87,"context_line":"        timer.start(interval\u003d5).wait()"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def wait_stack_delete(self, stack_name):"},{"line_number":90,"context_line":"        def _wait_delete():"}],"source_content_type":"text/x-python","patch_set":20,"id":"84d852b4_570aab7a","line":87,"range":{"start_line":87,"start_character":29,"end_line":87,"end_character":30},"updated":"2021-08-27 07:21:26.000000000","message":"It\u0027s better to define \"INTERVAL\u003d5\" and use it.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"59d02b86ce9d5b750bdcae7f208e8f8e4380c320","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                      stack_name)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        timer \u003d loopingcall.FixedIntervalLoopingCall(_wait_create)"},{"line_number":87,"context_line":"        timer.start(interval\u003d5).wait()"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def wait_stack_delete(self, stack_name):"},{"line_number":90,"context_line":"        def _wait_delete():"}],"source_content_type":"text/x-python","patch_set":20,"id":"988b5dbc_b235ef35","line":87,"range":{"start_line":87,"start_character":29,"end_line":87,"end_character":30},"in_reply_to":"384a7c60_21a310de","updated":"2021-08-30 07:27:11.000000000","message":"Done","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"c7fa1c28da554a24dd419c9cb64c1af3c0c35f47","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                      stack_name)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        timer \u003d loopingcall.FixedIntervalLoopingCall(_wait_create)"},{"line_number":87,"context_line":"        timer.start(interval\u003d5).wait()"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def wait_stack_delete(self, stack_name):"},{"line_number":90,"context_line":"        def _wait_delete():"}],"source_content_type":"text/x-python","patch_set":20,"id":"384a7c60_21a310de","line":87,"range":{"start_line":87,"start_character":29,"end_line":87,"end_character":30},"in_reply_to":"84d852b4_570aab7a","updated":"2021-08-30 00:47:13.000000000","message":"I see. I will fix.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"f427ebc9e85511cd36b938912075af3109351451","unresolved":true,"context_lines":[{"line_number":101,"context_line":"                raise sol_ex.StackDeleteFailed(sol_detail\u003d\u0027Unknown error\u0027)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        timer \u003d loopingcall.FixedIntervalLoopingCall(_wait_delete)"},{"line_number":104,"context_line":"        timer.start(interval\u003d5).wait()"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def get_reses_by_types(heat_reses, types):"}],"source_content_type":"text/x-python","patch_set":20,"id":"564b040d_c8f08508","line":104,"range":{"start_line":104,"start_character":29,"end_line":104,"end_character":30},"updated":"2021-08-27 07:21:26.000000000","message":"ditto","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"c7fa1c28da554a24dd419c9cb64c1af3c0c35f47","unresolved":true,"context_lines":[{"line_number":101,"context_line":"                raise sol_ex.StackDeleteFailed(sol_detail\u003d\u0027Unknown error\u0027)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        timer \u003d loopingcall.FixedIntervalLoopingCall(_wait_delete)"},{"line_number":104,"context_line":"        timer.start(interval\u003d5).wait()"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def get_reses_by_types(heat_reses, types):"}],"source_content_type":"text/x-python","patch_set":20,"id":"e93d0185_86a16ea2","line":104,"range":{"start_line":104,"start_character":29,"end_line":104,"end_character":30},"in_reply_to":"564b040d_c8f08508","updated":"2021-08-30 00:47:13.000000000","message":"ditto","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"59d02b86ce9d5b750bdcae7f208e8f8e4380c320","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                raise sol_ex.StackDeleteFailed(sol_detail\u003d\u0027Unknown error\u0027)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        timer \u003d loopingcall.FixedIntervalLoopingCall(_wait_delete)"},{"line_number":104,"context_line":"        timer.start(interval\u003d5).wait()"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def get_reses_by_types(heat_reses, types):"}],"source_content_type":"text/x-python","patch_set":20,"id":"f5e52129_8ab49db4","line":104,"range":{"start_line":104,"start_character":29,"end_line":104,"end_character":30},"in_reply_to":"e93d0185_86a16ea2","updated":"2021-08-30 07:27:11.000000000","message":"Done","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"}],"tacker/sol_refactored/infra_drivers/openstack/openstack.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":143,"context_line":"        storages \u003d vnfd.get_storage_nodes(flavour_id)"},{"line_number":144,"context_line":"        reses \u003d heat_utils.get_storage_reses(heat_reses)"},{"line_number":145,"context_line":"        storage_infos \u003d []"},{"line_number":146,"context_line":"        storage_info_to_heat_res \u003d {}  # memo"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        for res in reses:"},{"line_number":149,"context_line":"            storage_name \u003d res[\u0027resource_name\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"72d09089_1333168f","line":146,"range":{"start_line":146,"start_character":39,"end_line":146,"end_character":45},"updated":"2021-08-16 10:29:27.000000000","message":"Does this comment mean that TODO remains?","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"51ab4c2c636b878471ad0a5912161dcab1599cfd","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        storages \u003d vnfd.get_storage_nodes(flavour_id)"},{"line_number":144,"context_line":"        reses \u003d heat_utils.get_storage_reses(heat_reses)"},{"line_number":145,"context_line":"        storage_infos \u003d []"},{"line_number":146,"context_line":"        storage_info_to_heat_res \u003d {}  # memo"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        for res in reses:"},{"line_number":149,"context_line":"            storage_name \u003d res[\u0027resource_name\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"b2f316f3_ea7cc828","line":146,"range":{"start_line":146,"start_character":39,"end_line":146,"end_character":45},"in_reply_to":"51b813da_7ff24f1d","updated":"2021-08-17 08:32:07.000000000","message":"Done","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a8c9aaaac33012e3009049f46daa86eddbba7ed0","unresolved":true,"context_lines":[{"line_number":143,"context_line":"        storages \u003d vnfd.get_storage_nodes(flavour_id)"},{"line_number":144,"context_line":"        reses \u003d heat_utils.get_storage_reses(heat_reses)"},{"line_number":145,"context_line":"        storage_infos \u003d []"},{"line_number":146,"context_line":"        storage_info_to_heat_res \u003d {}  # memo"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        for res in reses:"},{"line_number":149,"context_line":"            storage_name \u003d res[\u0027resource_name\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"51b813da_7ff24f1d","line":146,"range":{"start_line":146,"start_character":39,"end_line":146,"end_character":45},"in_reply_to":"72d09089_1333168f","updated":"2021-08-17 01:18:05.000000000","message":"It means this variable usage. I will remove this comment since it is not useful.\nL.173, L.222 too.","commit_id":"52b1410562cadc19b989f115a40c318b0fa794bd"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"f427ebc9e85511cd36b938912075af3109351451","unresolved":true,"context_lines":[{"line_number":78,"context_line":"            # NOTE: objects used here are dict compat."},{"line_number":79,"context_line":"            fields \u003d userdata_default.DefaultUserData.instantiate("},{"line_number":80,"context_line":"                req, inst, grant_req, grant, vnfd.csar_dir)"},{"line_number":81,"context_line":"        else:"},{"line_number":82,"context_line":"            if userdata is None or userdata_class is None:"},{"line_number":83,"context_line":"                raise sol_ex.UserdataMissing()"},{"line_number":84,"context_line":"            LOG.debug(\"Processing %s %s instantiate\", userdata, userdata_class)"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"3ffc8908_d5758651","line":82,"range":{"start_line":81,"start_character":0,"end_line":82,"end_character":58},"updated":"2021-08-27 07:21:26.000000000","message":"Can this if branch be changed to the following?\n---\nelif userdata is None or userdata_class is None:\n    raise sol_ex.UserdataMissing()\nelse:\n    ...","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"59d02b86ce9d5b750bdcae7f208e8f8e4380c320","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            # NOTE: objects used here are dict compat."},{"line_number":79,"context_line":"            fields \u003d userdata_default.DefaultUserData.instantiate("},{"line_number":80,"context_line":"                req, inst, grant_req, grant, vnfd.csar_dir)"},{"line_number":81,"context_line":"        else:"},{"line_number":82,"context_line":"            if userdata is None or userdata_class is None:"},{"line_number":83,"context_line":"                raise sol_ex.UserdataMissing()"},{"line_number":84,"context_line":"            LOG.debug(\"Processing %s %s instantiate\", userdata, userdata_class)"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"cfb5f467_94c2cbc0","line":82,"range":{"start_line":81,"start_character":0,"end_line":82,"end_character":58},"in_reply_to":"1872693c_e78a4805","updated":"2021-08-30 07:27:11.000000000","message":"Done","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"c7fa1c28da554a24dd419c9cb64c1af3c0c35f47","unresolved":true,"context_lines":[{"line_number":78,"context_line":"            # NOTE: objects used here are dict compat."},{"line_number":79,"context_line":"            fields \u003d userdata_default.DefaultUserData.instantiate("},{"line_number":80,"context_line":"                req, inst, grant_req, grant, vnfd.csar_dir)"},{"line_number":81,"context_line":"        else:"},{"line_number":82,"context_line":"            if userdata is None or userdata_class is None:"},{"line_number":83,"context_line":"                raise sol_ex.UserdataMissing()"},{"line_number":84,"context_line":"            LOG.debug(\"Processing %s %s instantiate\", userdata, userdata_class)"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1872693c_e78a4805","line":82,"range":{"start_line":81,"start_character":0,"end_line":82,"end_character":58},"in_reply_to":"3ffc8908_d5758651","updated":"2021-08-30 00:47:13.000000000","message":"I see, it is better. I will fix.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d4b9c19d2187c00d13c8269c64631c54cf7c2261","unresolved":true,"context_lines":[{"line_number":521,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def terminate(self, req, inst, grant_req, grant, vnfd):"},{"line_number":524,"context_line":"        if req.terminationType \u003d\u003d \u0027GRACEFUL\u0027:"},{"line_number":525,"context_line":"            timeout \u003d CONF.v2_vnfm.default_graceful_termination_timeout"},{"line_number":526,"context_line":"            if req.obj_attr_is_set(\u0027gracefulTerminationTimeout\u0027):"},{"line_number":527,"context_line":"                timeout \u003d req.gracefulTerminationTimeout"}],"source_content_type":"text/x-python","patch_set":36,"id":"4b9aeb5f_62e8aa61","line":524,"updated":"2021-09-15 02:18:01.000000000","message":"ditto\n\n```\nif req.terminationType \u003d\u003d CancelModeType.GRACEFUL\n```","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6f7357e014856294ea8a37a4e1c637cf2453c76b","unresolved":true,"context_lines":[{"line_number":521,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def terminate(self, req, inst, grant_req, grant, vnfd):"},{"line_number":524,"context_line":"        if req.terminationType \u003d\u003d \u0027GRACEFUL\u0027:"},{"line_number":525,"context_line":"            timeout \u003d CONF.v2_vnfm.default_graceful_termination_timeout"},{"line_number":526,"context_line":"            if req.obj_attr_is_set(\u0027gracefulTerminationTimeout\u0027):"},{"line_number":527,"context_line":"                timeout \u003d req.gracefulTerminationTimeout"}],"source_content_type":"text/x-python","patch_set":36,"id":"7a69eecf_a2476032","line":524,"in_reply_to":"4b9aeb5f_62e8aa61","updated":"2021-09-15 02:56:54.000000000","message":"There is no suitable type defined. CancelModeType is for SOL003 5.4.17 Cancel operation task.\nStopType is for 5.5.2.10 OperateVnfRequest.\nAccording to 5.5.2.8 TerminateVnfRequest, terminationType is just Enum.","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8362d3532daf07c5ea4aaf069849e0d098a7f7db","unresolved":false,"context_lines":[{"line_number":521,"context_line":"        inst.instantiatedVnfInfo \u003d inst_vnf_info"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def terminate(self, req, inst, grant_req, grant, vnfd):"},{"line_number":524,"context_line":"        if req.terminationType \u003d\u003d \u0027GRACEFUL\u0027:"},{"line_number":525,"context_line":"            timeout \u003d CONF.v2_vnfm.default_graceful_termination_timeout"},{"line_number":526,"context_line":"            if req.obj_attr_is_set(\u0027gracefulTerminationTimeout\u0027):"},{"line_number":527,"context_line":"                timeout \u003d req.gracefulTerminationTimeout"}],"source_content_type":"text/x-python","patch_set":36,"id":"77535899_5fa4cc24","line":524,"in_reply_to":"7a69eecf_a2476032","updated":"2021-09-15 04:12:05.000000000","message":"Ack","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"}],"tacker/sol_refactored/infra_drivers/openstack/userdata_default.py":[{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"6ee13a1c635c1e81226e56c50ad8a7a6f159ab7a","unresolved":true,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        userdata_utils.apply_ext_managed_vls(top_hot, req, grant)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        if \u0027nfv\u0027 in req.get(\u0027additionalParams\u0027, {}):"},{"line_number":72,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":73,"context_line":"                    req[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":74,"context_line":"        if \u0027nfv\u0027 in grant.get(\u0027additionalParams\u0027, {}):"}],"source_content_type":"text/x-python","patch_set":22,"id":"3b31b6e3_823925d4","line":71,"updated":"2021-09-02 10:58:38.000000000","message":"IMO. It would be more flexible for users if the parameters outside the nfv structure were also merged.\nThe following spec mentions it. \nhttps://specs.openstack.org/openstack/tacker-specs/specs/xena/support-hot-according-to-nfv-sol014.html","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"3a3d0a58bbf7b57bdb3c7eca4689b8955cd91bd1","unresolved":true,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        userdata_utils.apply_ext_managed_vls(top_hot, req, grant)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        if \u0027nfv\u0027 in req.get(\u0027additionalParams\u0027, {}):"},{"line_number":72,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":73,"context_line":"                    req[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":74,"context_line":"        if \u0027nfv\u0027 in grant.get(\u0027additionalParams\u0027, {}):"}],"source_content_type":"text/x-python","patch_set":22,"id":"fd2cf164_a3f65b01","line":71,"in_reply_to":"3b31b6e3_823925d4","updated":"2021-09-03 00:23:11.000000000","message":"I don\u0027t think it is better to support parameters outside of \u0027nfv\u0027. \nThis code support only \u0027Set parameters obtained from additionalParams within the nfv data structure.\u0027 pattern of the spec mentioned above. But it is enough flexible.\n\u0027additionalParams\u0027 may have parameters used for other than heat stack parameter. It is available to distinguish a parameter is for heat stack or not. But I think it is not worth the trouble.","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"895cec581f9b95975f3b39211d6eaf3ca5f73409","unresolved":true,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        userdata_utils.apply_ext_managed_vls(top_hot, req, grant)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        if \u0027nfv\u0027 in req.get(\u0027additionalParams\u0027, {}):"},{"line_number":72,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":73,"context_line":"                    req[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":74,"context_line":"        if \u0027nfv\u0027 in grant.get(\u0027additionalParams\u0027, {}):"}],"source_content_type":"text/x-python","patch_set":22,"id":"54eaad7c_0bdb206a","line":71,"in_reply_to":"3b31b6e3_823925d4","updated":"2021-09-03 00:12:20.000000000","message":"I withdraw my comment. Since there are parameters other than the Heat input parameter in the additionalParams　(e.g. \"lcm-operation-user-data\", \"lcm-operation-user-data-class\") , Tacker cannot determine which one should be merged. \nIn this case, users should use their Userdata script instead of the this default process.","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"d2abaf44d3de022f586c8460a54859618b606e8c","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        userdata_utils.apply_ext_managed_vls(top_hot, req, grant)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        if \u0027nfv\u0027 in req.get(\u0027additionalParams\u0027, {}):"},{"line_number":72,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":73,"context_line":"                    req[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":74,"context_line":"        if \u0027nfv\u0027 in grant.get(\u0027additionalParams\u0027, {}):"}],"source_content_type":"text/x-python","patch_set":22,"id":"0e0320c5_22cdffee","line":71,"in_reply_to":"fd2cf164_a3f65b01","updated":"2021-09-06 01:04:55.000000000","message":"I agree with your idea. No modification is required here.","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"6ee13a1c635c1e81226e56c50ad8a7a6f159ab7a","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        if \u0027nfv\u0027 in req.get(\u0027additionalParams\u0027, {}):"},{"line_number":72,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":73,"context_line":"                    req[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":74,"context_line":"        if \u0027nfv\u0027 in grant.get(\u0027additionalParams\u0027, {}):"},{"line_number":75,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":76,"context_line":"                    grant[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"cd7f4f23_9956b43f","line":74,"updated":"2021-09-02 10:58:38.000000000","message":"ditt","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"d2abaf44d3de022f586c8460a54859618b606e8c","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        if \u0027nfv\u0027 in req.get(\u0027additionalParams\u0027, {}):"},{"line_number":72,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":73,"context_line":"                    req[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":74,"context_line":"        if \u0027nfv\u0027 in grant.get(\u0027additionalParams\u0027, {}):"},{"line_number":75,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":76,"context_line":"                    grant[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"266ce1fa_fddbf73a","line":74,"in_reply_to":"6acfc5ce_d2f4e1d0","updated":"2021-09-06 01:04:55.000000000","message":"ditto","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":32581,"name":"Hirofumi Noguchi","email":"hirofumi.noguchi.rs@hco.ntt.co.jp","username":"hirofumi-noguchi"},"change_message_id":"895cec581f9b95975f3b39211d6eaf3ca5f73409","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        if \u0027nfv\u0027 in req.get(\u0027additionalParams\u0027, {}):"},{"line_number":72,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":73,"context_line":"                    req[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":74,"context_line":"        if \u0027nfv\u0027 in grant.get(\u0027additionalParams\u0027, {}):"},{"line_number":75,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":76,"context_line":"                    grant[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"322a68e7_0eb25c10","line":74,"in_reply_to":"cd7f4f23_9956b43f","updated":"2021-09-03 00:12:20.000000000","message":"ditto","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"3a3d0a58bbf7b57bdb3c7eca4689b8955cd91bd1","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        if \u0027nfv\u0027 in req.get(\u0027additionalParams\u0027, {}):"},{"line_number":72,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":73,"context_line":"                    req[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":74,"context_line":"        if \u0027nfv\u0027 in grant.get(\u0027additionalParams\u0027, {}):"},{"line_number":75,"context_line":"            inst_utils.json_merge_patch(nfv_dict,"},{"line_number":76,"context_line":"                    grant[\u0027additionalParams\u0027][\u0027nfv\u0027])"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"6acfc5ce_d2f4e1d0","line":74,"in_reply_to":"cd7f4f23_9956b43f","updated":"2021-09-03 00:23:11.000000000","message":"ditto","commit_id":"8a87de0bba983b1c31378faf155071cca7e01cfc"}],"tacker/sol_refactored/infra_drivers/openstack/userdata_utils.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":76,"context_line":"        parent[param[-1]] \u003d None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    # TODO(oda-g): enhance to handle list"},{"line_number":79,"context_line":"    # NOTE: List is not considerd here and only \u0027fixed_ips\u0027 is treated as"},{"line_number":80,"context_line":"    # list in userdata_default.py at the moment."},{"line_number":81,"context_line":"    # Note that if handling list is enchanced, userdata_default.py is"},{"line_number":82,"context_line":"    # necessary to modify."}],"source_content_type":"text/x-python","patch_set":35,"id":"fe14f8c8_6fd6555f","line":79,"updated":"2021-09-14 09:01:13.000000000","message":"typo: considerd → considered","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        parent[param[-1]] \u003d None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    # TODO(oda-g): enhance to handle list"},{"line_number":79,"context_line":"    # NOTE: List is not considerd here and only \u0027fixed_ips\u0027 is treated as"},{"line_number":80,"context_line":"    # list in userdata_default.py at the moment."},{"line_number":81,"context_line":"    # Note that if handling list is enchanced, userdata_default.py is"},{"line_number":82,"context_line":"    # necessary to modify."}],"source_content_type":"text/x-python","patch_set":35,"id":"4bd4e1a9_1a982bd2","line":79,"in_reply_to":"3135963a_8ef0e880","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":76,"context_line":"        parent[param[-1]] \u003d None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    # TODO(oda-g): enhance to handle list"},{"line_number":79,"context_line":"    # NOTE: List is not considerd here and only \u0027fixed_ips\u0027 is treated as"},{"line_number":80,"context_line":"    # list in userdata_default.py at the moment."},{"line_number":81,"context_line":"    # Note that if handling list is enchanced, userdata_default.py is"},{"line_number":82,"context_line":"    # necessary to modify."}],"source_content_type":"text/x-python","patch_set":35,"id":"3135963a_8ef0e880","line":79,"in_reply_to":"fe14f8c8_6fd6555f","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":78,"context_line":"    # TODO(oda-g): enhance to handle list"},{"line_number":79,"context_line":"    # NOTE: List is not considerd here and only \u0027fixed_ips\u0027 is treated as"},{"line_number":80,"context_line":"    # list in userdata_default.py at the moment."},{"line_number":81,"context_line":"    # Note that if handling list is enchanced, userdata_default.py is"},{"line_number":82,"context_line":"    # necessary to modify."},{"line_number":83,"context_line":"    return nfv"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"9f55acf3_a3ee3010","line":81,"updated":"2021-09-14 09:01:13.000000000","message":"typo: enchanced → enhanced","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":78,"context_line":"    # TODO(oda-g): enhance to handle list"},{"line_number":79,"context_line":"    # NOTE: List is not considerd here and only \u0027fixed_ips\u0027 is treated as"},{"line_number":80,"context_line":"    # list in userdata_default.py at the moment."},{"line_number":81,"context_line":"    # Note that if handling list is enchanced, userdata_default.py is"},{"line_number":82,"context_line":"    # necessary to modify."},{"line_number":83,"context_line":"    return nfv"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"b0a72b7b_da3c3602","line":81,"in_reply_to":"9f55acf3_a3ee3010","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    # TODO(oda-g): enhance to handle list"},{"line_number":79,"context_line":"    # NOTE: List is not considerd here and only \u0027fixed_ips\u0027 is treated as"},{"line_number":80,"context_line":"    # list in userdata_default.py at the moment."},{"line_number":81,"context_line":"    # Note that if handling list is enchanced, userdata_default.py is"},{"line_number":82,"context_line":"    # necessary to modify."},{"line_number":83,"context_line":"    return nfv"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"404a1b72_be826c57","line":81,"in_reply_to":"b0a72b7b_da3c3602","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/sol_refactored/nfvo/local_nfvo.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"abb5605a069eb35eaee74561ec87db14f710ce88","unresolved":true,"context_lines":[{"line_number":173,"context_line":"                # get vim_info to access glance"},{"line_number":174,"context_line":"                lcmocc \u003d lcmocc_utils.get_lcmocc(context,"},{"line_number":175,"context_line":"                        grant_req.vnfLcmOpOccId)"},{"line_number":176,"context_line":"                vim_info \u003d lcmocc.operationParams.vimConnectionInfo[0]"},{"line_number":177,"context_line":"                image \u003d self._glance_create_image(vim_info, vnfd, sw_data,"},{"line_number":178,"context_line":"                        grant_req.vnfInstanceId)"},{"line_number":179,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":20,"id":"5ff2b0f6_e44c36a0","line":176,"range":{"start_line":176,"start_character":50,"end_line":176,"end_character":70},"updated":"2021-08-27 09:35:53.000000000","message":"Since vimConnectionInfo in InstantiateVnfRequest is \"Cardinality: 0..N\", so NotImplementedError will occur if vimConnectionInfo is omitted.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"c7fa1c28da554a24dd419c9cb64c1af3c0c35f47","unresolved":true,"context_lines":[{"line_number":173,"context_line":"                # get vim_info to access glance"},{"line_number":174,"context_line":"                lcmocc \u003d lcmocc_utils.get_lcmocc(context,"},{"line_number":175,"context_line":"                        grant_req.vnfLcmOpOccId)"},{"line_number":176,"context_line":"                vim_info \u003d lcmocc.operationParams.vimConnectionInfo[0]"},{"line_number":177,"context_line":"                image \u003d self._glance_create_image(vim_info, vnfd, sw_data,"},{"line_number":178,"context_line":"                        grant_req.vnfInstanceId)"},{"line_number":179,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":20,"id":"b5734131_59031446","line":176,"range":{"start_line":176,"start_character":50,"end_line":176,"end_character":70},"in_reply_to":"5ff2b0f6_e44c36a0","updated":"2021-08-30 00:47:13.000000000","message":"I notice existence of vimConnectionInfo is not guaranteed. I will fix.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"59d02b86ce9d5b750bdcae7f208e8f8e4380c320","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                # get vim_info to access glance"},{"line_number":174,"context_line":"                lcmocc \u003d lcmocc_utils.get_lcmocc(context,"},{"line_number":175,"context_line":"                        grant_req.vnfLcmOpOccId)"},{"line_number":176,"context_line":"                vim_info \u003d lcmocc.operationParams.vimConnectionInfo[0]"},{"line_number":177,"context_line":"                image \u003d self._glance_create_image(vim_info, vnfd, sw_data,"},{"line_number":178,"context_line":"                        grant_req.vnfInstanceId)"},{"line_number":179,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":20,"id":"bc641018_f795199c","line":176,"range":{"start_line":176,"start_character":50,"end_line":176,"end_character":70},"in_reply_to":"b5734131_59031446","updated":"2021-08-30 07:27:11.000000000","message":"Done","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d4b9c19d2187c00d13c8269c64631c54cf7c2261","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        # NOTE: considered instantiate only at the moment."},{"line_number":219,"context_line":"        # terminate is granted with no grant_res constructed."},{"line_number":220,"context_line":"        if grant_req.operation \u003d\u003d \u0027INSTANTIATE\u0027:"},{"line_number":221,"context_line":"            self.instantiate_grant(context, grant_req, grant_res)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        endpoint \u003d config.CONF.v2_vnfm.endpoint"}],"source_content_type":"text/x-python","patch_set":36,"id":"93d42fa6_80ae3cb9","line":220,"updated":"2021-09-15 02:18:01.000000000","message":"ditto\n\n```\nif grant_req.operation \u003d\u003d fields.LcmOperationType.INSTANTIATE\n```","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6f7357e014856294ea8a37a4e1c637cf2453c76b","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        # NOTE: considered instantiate only at the moment."},{"line_number":219,"context_line":"        # terminate is granted with no grant_res constructed."},{"line_number":220,"context_line":"        if grant_req.operation \u003d\u003d \u0027INSTANTIATE\u0027:"},{"line_number":221,"context_line":"            self.instantiate_grant(context, grant_req, grant_res)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        endpoint \u003d config.CONF.v2_vnfm.endpoint"}],"source_content_type":"text/x-python","patch_set":36,"id":"f131750d_4a159e81","line":220,"in_reply_to":"93d42fa6_80ae3cb9","updated":"2021-09-15 02:56:54.000000000","message":"I will fix.","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8362d3532daf07c5ea4aaf069849e0d098a7f7db","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        # NOTE: considered instantiate only at the moment."},{"line_number":219,"context_line":"        # terminate is granted with no grant_res constructed."},{"line_number":220,"context_line":"        if grant_req.operation \u003d\u003d \u0027INSTANTIATE\u0027:"},{"line_number":221,"context_line":"            self.instantiate_grant(context, grant_req, grant_res)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        endpoint \u003d config.CONF.v2_vnfm.endpoint"}],"source_content_type":"text/x-python","patch_set":36,"id":"f659aaa6_a1a57c56","line":220,"in_reply_to":"f131750d_4a159e81","updated":"2021-09-15 04:12:05.000000000","message":"Done","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d4b9c19d2187c00d13c8269c64631c54cf7c2261","unresolved":true,"context_lines":[{"line_number":285,"context_line":"                LOG.error(\"image delete %s failed.\", image.id)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def recv_lcmocc_notification(self, context, lcmocc, inst):"},{"line_number":288,"context_line":"        if lcmocc.operation \u003d\u003d \u0027TERMINATE\u0027:"},{"line_number":289,"context_line":"            if lcmocc.operationState \u003d\u003d \u0027PROCESSING\u0027:"},{"line_number":290,"context_line":"                # register vim_info of vnf instance so that"},{"line_number":291,"context_line":"                # it is used later to delete glance image."}],"source_content_type":"text/x-python","patch_set":36,"id":"a554b1bc_299de472","line":288,"updated":"2021-09-15 02:18:01.000000000","message":"ditto\n\n```\n        if lcmocc.operation \u003d\u003d LcmOperationType.TERMINATE:\n            if lcmocc.operationState \u003d\u003d LcmOperationStateType.PROCESSING:\n```","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8362d3532daf07c5ea4aaf069849e0d098a7f7db","unresolved":false,"context_lines":[{"line_number":285,"context_line":"                LOG.error(\"image delete %s failed.\", image.id)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def recv_lcmocc_notification(self, context, lcmocc, inst):"},{"line_number":288,"context_line":"        if lcmocc.operation \u003d\u003d \u0027TERMINATE\u0027:"},{"line_number":289,"context_line":"            if lcmocc.operationState \u003d\u003d \u0027PROCESSING\u0027:"},{"line_number":290,"context_line":"                # register vim_info of vnf instance so that"},{"line_number":291,"context_line":"                # it is used later to delete glance image."}],"source_content_type":"text/x-python","patch_set":36,"id":"84b2a4c8_dabbe856","line":288,"in_reply_to":"0bed85ee_7f7bbf90","updated":"2021-09-15 04:12:05.000000000","message":"Done","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6f7357e014856294ea8a37a4e1c637cf2453c76b","unresolved":true,"context_lines":[{"line_number":285,"context_line":"                LOG.error(\"image delete %s failed.\", image.id)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def recv_lcmocc_notification(self, context, lcmocc, inst):"},{"line_number":288,"context_line":"        if lcmocc.operation \u003d\u003d \u0027TERMINATE\u0027:"},{"line_number":289,"context_line":"            if lcmocc.operationState \u003d\u003d \u0027PROCESSING\u0027:"},{"line_number":290,"context_line":"                # register vim_info of vnf instance so that"},{"line_number":291,"context_line":"                # it is used later to delete glance image."}],"source_content_type":"text/x-python","patch_set":36,"id":"0bed85ee_7f7bbf90","line":288,"in_reply_to":"a554b1bc_299de472","updated":"2021-09-15 02:56:54.000000000","message":"I will fix.","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d4b9c19d2187c00d13c8269c64631c54cf7c2261","unresolved":true,"context_lines":[{"line_number":291,"context_line":"                # it is used later to delete glance image."},{"line_number":292,"context_line":"                vim_info \u003d inst_utils.select_vim_info(inst.vimConnectionInfo)"},{"line_number":293,"context_line":"                self.inst_vim_info[inst.id] \u003d vim_info"},{"line_number":294,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027FAILED_TEMP\u0027:"},{"line_number":295,"context_line":"                self.inst_vim_info.pop(inst.id, None)"},{"line_number":296,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027COMPLETED\u0027:"},{"line_number":297,"context_line":"                vim_info \u003d self.inst_vim_info.pop(inst.id, None)"}],"source_content_type":"text/x-python","patch_set":36,"id":"aa85da95_6a722903","line":294,"updated":"2021-09-15 02:18:01.000000000","message":"ditto\n```\nelif lcmocc.operationState \u003d\u003d LcmOperationStateType.FAILED_TEMP\n```","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6f7357e014856294ea8a37a4e1c637cf2453c76b","unresolved":true,"context_lines":[{"line_number":291,"context_line":"                # it is used later to delete glance image."},{"line_number":292,"context_line":"                vim_info \u003d inst_utils.select_vim_info(inst.vimConnectionInfo)"},{"line_number":293,"context_line":"                self.inst_vim_info[inst.id] \u003d vim_info"},{"line_number":294,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027FAILED_TEMP\u0027:"},{"line_number":295,"context_line":"                self.inst_vim_info.pop(inst.id, None)"},{"line_number":296,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027COMPLETED\u0027:"},{"line_number":297,"context_line":"                vim_info \u003d self.inst_vim_info.pop(inst.id, None)"}],"source_content_type":"text/x-python","patch_set":36,"id":"e30c13ba_74a76bd0","line":294,"in_reply_to":"aa85da95_6a722903","updated":"2021-09-15 02:56:54.000000000","message":"I will fix.","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8362d3532daf07c5ea4aaf069849e0d098a7f7db","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                # it is used later to delete glance image."},{"line_number":292,"context_line":"                vim_info \u003d inst_utils.select_vim_info(inst.vimConnectionInfo)"},{"line_number":293,"context_line":"                self.inst_vim_info[inst.id] \u003d vim_info"},{"line_number":294,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027FAILED_TEMP\u0027:"},{"line_number":295,"context_line":"                self.inst_vim_info.pop(inst.id, None)"},{"line_number":296,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027COMPLETED\u0027:"},{"line_number":297,"context_line":"                vim_info \u003d self.inst_vim_info.pop(inst.id, None)"}],"source_content_type":"text/x-python","patch_set":36,"id":"fd1877d8_bd211202","line":294,"in_reply_to":"e30c13ba_74a76bd0","updated":"2021-09-15 04:12:05.000000000","message":"Done","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"d4b9c19d2187c00d13c8269c64631c54cf7c2261","unresolved":true,"context_lines":[{"line_number":293,"context_line":"                self.inst_vim_info[inst.id] \u003d vim_info"},{"line_number":294,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027FAILED_TEMP\u0027:"},{"line_number":295,"context_line":"                self.inst_vim_info.pop(inst.id, None)"},{"line_number":296,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027COMPLETED\u0027:"},{"line_number":297,"context_line":"                vim_info \u003d self.inst_vim_info.pop(inst.id, None)"},{"line_number":298,"context_line":"                if vim_info is None:"},{"line_number":299,"context_line":"                    # never happen. just for code consistency."}],"source_content_type":"text/x-python","patch_set":36,"id":"88e1ce49_8ded16ca","line":296,"updated":"2021-09-15 02:18:01.000000000","message":"ditto\n\n```\nelif lcmocc.operationState \u003d\u003d LcmOperationStateType.COMPLETED:\n```","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"8362d3532daf07c5ea4aaf069849e0d098a7f7db","unresolved":false,"context_lines":[{"line_number":293,"context_line":"                self.inst_vim_info[inst.id] \u003d vim_info"},{"line_number":294,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027FAILED_TEMP\u0027:"},{"line_number":295,"context_line":"                self.inst_vim_info.pop(inst.id, None)"},{"line_number":296,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027COMPLETED\u0027:"},{"line_number":297,"context_line":"                vim_info \u003d self.inst_vim_info.pop(inst.id, None)"},{"line_number":298,"context_line":"                if vim_info is None:"},{"line_number":299,"context_line":"                    # never happen. just for code consistency."}],"source_content_type":"text/x-python","patch_set":36,"id":"68902fb2_3f24e3bd","line":296,"in_reply_to":"664681b1_bb55693d","updated":"2021-09-15 04:12:05.000000000","message":"Done","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6f7357e014856294ea8a37a4e1c637cf2453c76b","unresolved":true,"context_lines":[{"line_number":293,"context_line":"                self.inst_vim_info[inst.id] \u003d vim_info"},{"line_number":294,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027FAILED_TEMP\u0027:"},{"line_number":295,"context_line":"                self.inst_vim_info.pop(inst.id, None)"},{"line_number":296,"context_line":"            elif lcmocc.operationState \u003d\u003d \u0027COMPLETED\u0027:"},{"line_number":297,"context_line":"                vim_info \u003d self.inst_vim_info.pop(inst.id, None)"},{"line_number":298,"context_line":"                if vim_info is None:"},{"line_number":299,"context_line":"                    # never happen. just for code consistency."}],"source_content_type":"text/x-python","patch_set":36,"id":"664681b1_bb55693d","line":296,"in_reply_to":"88e1ce49_8ded16ca","updated":"2021-09-15 02:56:54.000000000","message":"I will fix.","commit_id":"5a6f919ff5cafbde8a4367f4ddda32b136368638"}],"tacker/sol_refactored/objects/__init__.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"52cf4c4b0c58f987fec8ffef9ae3524fab889f28","unresolved":true,"context_lines":[{"line_number":16,"context_line":"from tacker.sol_refactored.db import api as db_api"},{"line_number":17,"context_line":"from tacker.sol_refactored.objects.common import fields  # noqa"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# NOTE(bhagyashris): You may scratch your head as you see code that imports"},{"line_number":20,"context_line":"# this module and then accesses attributes for objects such as Instance,"},{"line_number":21,"context_line":"# etc, yet you do not see these attributes in here. Never fear, there is"},{"line_number":22,"context_line":"# a little bit of magic. When objects are registered, an attribute is set"}],"source_content_type":"text/x-python","patch_set":11,"id":"2574e3f5_ed94f4be","line":19,"range":{"start_line":19,"start_character":7,"end_line":19,"end_character":18},"updated":"2021-08-11 01:00:58.000000000","message":"I think the code is diverted from \"tacker/objects/__init__.py\".\nShould you put your name in this NOTE?","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cb7207aaf69f122c9d00cff2057ed2fb32e5ff29","unresolved":true,"context_lines":[{"line_number":16,"context_line":"from tacker.sol_refactored.db import api as db_api"},{"line_number":17,"context_line":"from tacker.sol_refactored.objects.common import fields  # noqa"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# NOTE(bhagyashris): You may scratch your head as you see code that imports"},{"line_number":20,"context_line":"# this module and then accesses attributes for objects such as Instance,"},{"line_number":21,"context_line":"# etc, yet you do not see these attributes in here. Never fear, there is"},{"line_number":22,"context_line":"# a little bit of magic. When objects are registered, an attribute is set"}],"source_content_type":"text/x-python","patch_set":11,"id":"6245b4fd_8f38d2e6","line":19,"range":{"start_line":19,"start_character":7,"end_line":19,"end_character":18},"in_reply_to":"2574e3f5_ed94f4be","updated":"2021-08-11 01:48:41.000000000","message":"I will remove name merely because it is not necessary to add name to NOTE.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"278b2144ab92542ef43246552c450e54a3a54be6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from tacker.sol_refactored.db import api as db_api"},{"line_number":17,"context_line":"from tacker.sol_refactored.objects.common import fields  # noqa"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# NOTE(bhagyashris): You may scratch your head as you see code that imports"},{"line_number":20,"context_line":"# this module and then accesses attributes for objects such as Instance,"},{"line_number":21,"context_line":"# etc, yet you do not see these attributes in here. Never fear, there is"},{"line_number":22,"context_line":"# a little bit of magic. When objects are registered, an attribute is set"}],"source_content_type":"text/x-python","patch_set":11,"id":"5410c064_968cca3e","line":19,"range":{"start_line":19,"start_character":7,"end_line":19,"end_character":18},"in_reply_to":"6245b4fd_8f38d2e6","updated":"2021-08-11 05:45:21.000000000","message":"Done","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"52cf4c4b0c58f987fec8ffef9ae3524fab889f28","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def register_all(init_db\u003dTrue):"},{"line_number":28,"context_line":"    # NOTE(bhagyashris): You must make sure your object gets imported in this"},{"line_number":29,"context_line":"    # function in order for it to be registered by services that may"},{"line_number":30,"context_line":"    # need to receive it via RPC."},{"line_number":31,"context_line":"    objects_root \u003d \u0027tacker.sol_refactored.objects\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"99f09ce8_c44ca48b","line":28,"range":{"start_line":28,"start_character":11,"end_line":28,"end_character":22},"updated":"2021-08-11 01:00:58.000000000","message":"ditto","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"278b2144ab92542ef43246552c450e54a3a54be6","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def register_all(init_db\u003dTrue):"},{"line_number":28,"context_line":"    # NOTE(bhagyashris): You must make sure your object gets imported in this"},{"line_number":29,"context_line":"    # function in order for it to be registered by services that may"},{"line_number":30,"context_line":"    # need to receive it via RPC."},{"line_number":31,"context_line":"    objects_root \u003d \u0027tacker.sol_refactored.objects\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"70e86858_e1d99ef9","line":28,"range":{"start_line":28,"start_character":11,"end_line":28,"end_character":22},"in_reply_to":"67705097_007f6007","updated":"2021-08-11 05:45:21.000000000","message":"Done","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cb7207aaf69f122c9d00cff2057ed2fb32e5ff29","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def register_all(init_db\u003dTrue):"},{"line_number":28,"context_line":"    # NOTE(bhagyashris): You must make sure your object gets imported in this"},{"line_number":29,"context_line":"    # function in order for it to be registered by services that may"},{"line_number":30,"context_line":"    # need to receive it via RPC."},{"line_number":31,"context_line":"    objects_root \u003d \u0027tacker.sol_refactored.objects\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"67705097_007f6007","line":28,"range":{"start_line":28,"start_character":11,"end_line":28,"end_character":22},"in_reply_to":"99f09ce8_c44ca48b","updated":"2021-08-11 01:48:41.000000000","message":"ditto","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"}],"tacker/sol_refactored/objects/base.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"52cf4c4b0c58f987fec8ffef9ae3524fab889f28","unresolved":true,"context_lines":[{"line_number":93,"context_line":"        return self"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def registration_hook(self, cls, index):"},{"line_number":96,"context_line":"        # NOTE(bhagyashris): This is called when an object is registered,"},{"line_number":97,"context_line":"        # and is responsible for maintaining tacker.objects.$OBJECT"},{"line_number":98,"context_line":"        # as the highest-versioned implementation of a given object."},{"line_number":99,"context_line":"        version \u003d versionutils.convert_version_to_tuple(cls.VERSION)"}],"source_content_type":"text/x-python","patch_set":11,"id":"19b30487_8c98d0b2","line":96,"range":{"start_line":96,"start_character":15,"end_line":96,"end_character":26},"updated":"2021-08-11 01:00:58.000000000","message":"I think the code is diverted from \"tacker/objects/base.py\".\nShould you put your name in this NOTE?","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cb7207aaf69f122c9d00cff2057ed2fb32e5ff29","unresolved":true,"context_lines":[{"line_number":93,"context_line":"        return self"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def registration_hook(self, cls, index):"},{"line_number":96,"context_line":"        # NOTE(bhagyashris): This is called when an object is registered,"},{"line_number":97,"context_line":"        # and is responsible for maintaining tacker.objects.$OBJECT"},{"line_number":98,"context_line":"        # as the highest-versioned implementation of a given object."},{"line_number":99,"context_line":"        version \u003d versionutils.convert_version_to_tuple(cls.VERSION)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bc194a83_4231bd70","line":96,"range":{"start_line":96,"start_character":15,"end_line":96,"end_character":26},"in_reply_to":"19b30487_8c98d0b2","updated":"2021-08-11 01:48:41.000000000","message":"I will remove name merely because it is not necessary to add name to NOTE.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"278b2144ab92542ef43246552c450e54a3a54be6","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        return self"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def registration_hook(self, cls, index):"},{"line_number":96,"context_line":"        # NOTE(bhagyashris): This is called when an object is registered,"},{"line_number":97,"context_line":"        # and is responsible for maintaining tacker.objects.$OBJECT"},{"line_number":98,"context_line":"        # as the highest-versioned implementation of a given object."},{"line_number":99,"context_line":"        version \u003d versionutils.convert_version_to_tuple(cls.VERSION)"}],"source_content_type":"text/x-python","patch_set":11,"id":"8eac34da_efa33522","line":96,"range":{"start_line":96,"start_character":15,"end_line":96,"end_character":26},"in_reply_to":"bc194a83_4231bd70","updated":"2021-08-11 05:45:21.000000000","message":"Done","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"52cf4c4b0c58f987fec8ffef9ae3524fab889f28","unresolved":true,"context_lines":[{"line_number":287,"context_line":"            return iterable(**{k: action_fn(context, v)"},{"line_number":288,"context_line":"                               for k, v in values.items()})"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"        # NOTE(nirajsingh) A set can\u0027t have an unhashable value inside,"},{"line_number":291,"context_line":"        # such as a dict. Convert the set to list, which is fine, since we"},{"line_number":292,"context_line":"        # can\u0027t send them over RPC anyway. We convert it to list as this"},{"line_number":293,"context_line":"        # way there will be no semantic change between the fake rpc driver"}],"source_content_type":"text/x-python","patch_set":11,"id":"ecd80130_3f5818d5","line":290,"range":{"start_line":290,"start_character":15,"end_line":290,"end_character":25},"updated":"2021-08-11 01:00:58.000000000","message":"ditto","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"278b2144ab92542ef43246552c450e54a3a54be6","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            return iterable(**{k: action_fn(context, v)"},{"line_number":288,"context_line":"                               for k, v in values.items()})"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"        # NOTE(nirajsingh) A set can\u0027t have an unhashable value inside,"},{"line_number":291,"context_line":"        # such as a dict. Convert the set to list, which is fine, since we"},{"line_number":292,"context_line":"        # can\u0027t send them over RPC anyway. We convert it to list as this"},{"line_number":293,"context_line":"        # way there will be no semantic change between the fake rpc driver"}],"source_content_type":"text/x-python","patch_set":11,"id":"bfbe1b75_9808ce2e","line":290,"range":{"start_line":290,"start_character":15,"end_line":290,"end_character":25},"in_reply_to":"20c2c682_fad79cc7","updated":"2021-08-11 05:45:21.000000000","message":"Done","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cb7207aaf69f122c9d00cff2057ed2fb32e5ff29","unresolved":true,"context_lines":[{"line_number":287,"context_line":"            return iterable(**{k: action_fn(context, v)"},{"line_number":288,"context_line":"                               for k, v in values.items()})"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"        # NOTE(nirajsingh) A set can\u0027t have an unhashable value inside,"},{"line_number":291,"context_line":"        # such as a dict. Convert the set to list, which is fine, since we"},{"line_number":292,"context_line":"        # can\u0027t send them over RPC anyway. We convert it to list as this"},{"line_number":293,"context_line":"        # way there will be no semantic change between the fake rpc driver"}],"source_content_type":"text/x-python","patch_set":11,"id":"20c2c682_fad79cc7","line":290,"range":{"start_line":290,"start_character":15,"end_line":290,"end_character":25},"in_reply_to":"ecd80130_3f5818d5","updated":"2021-08-11 01:48:41.000000000","message":"ditto","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"4c93840d88d37e50037b581cbd49b27133d9b090","unresolved":true,"context_lines":[{"line_number":255,"context_line":"                      \u0027%(objtype)s\u0027), dict(objtype\u003dobjname)"},{"line_number":256,"context_line":"            raise ovoo_exc.UnsupportedObjectError(objtype\u003dobjname)"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"        # NOTE: only the newest version is registerd by registration_hook."},{"line_number":259,"context_line":"        # omit version check."},{"line_number":260,"context_line":"        return TackerObjectRegistry.obj_classes()[objname][0]"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"6c4fd1e3_d171cd7e","line":258,"updated":"2021-09-14 09:01:13.000000000","message":"typo: registerd → registered","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0259929b688efb9b518fe21282fc8500ee56fa7a","unresolved":true,"context_lines":[{"line_number":255,"context_line":"                      \u0027%(objtype)s\u0027), dict(objtype\u003dobjname)"},{"line_number":256,"context_line":"            raise ovoo_exc.UnsupportedObjectError(objtype\u003dobjname)"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"        # NOTE: only the newest version is registerd by registration_hook."},{"line_number":259,"context_line":"        # omit version check."},{"line_number":260,"context_line":"        return TackerObjectRegistry.obj_classes()[objname][0]"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"ae20cda8_1d387087","line":258,"in_reply_to":"6c4fd1e3_d171cd7e","updated":"2021-09-14 22:33:23.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                      \u0027%(objtype)s\u0027), dict(objtype\u003dobjname)"},{"line_number":256,"context_line":"            raise ovoo_exc.UnsupportedObjectError(objtype\u003dobjname)"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"        # NOTE: only the newest version is registerd by registration_hook."},{"line_number":259,"context_line":"        # omit version check."},{"line_number":260,"context_line":"        return TackerObjectRegistry.obj_classes()[objname][0]"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"8c0cd6cc_0326ec94","line":258,"in_reply_to":"ae20cda8_1d387087","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/sol_refactored/test-tools/cli.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"52cf4c4b0c58f987fec8ffef9ae3524fab889f28","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"df7cd6e3_7096c25e","line":1,"updated":"2021-08-11 01:00:58.000000000","message":"This code will be removed in \"some cleanups\" in the commit message, is it right?\nIf so, it seems better to include TODO.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"c5101de75ad22c48d42faf58aaf022b49e14ddb4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"e04aa7e2_a2f576f0","line":1,"in_reply_to":"37f5cb16_8a85fa4d","updated":"2021-08-11 23:20:19.000000000","message":"I think that it has value to leave this. I will add the comment that it is a debugging tool for  the development.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"278b2144ab92542ef43246552c450e54a3a54be6","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"37f5cb16_8a85fa4d","line":1,"in_reply_to":"aa7d694e_e5538de5","updated":"2021-08-11 05:45:21.000000000","message":"I think it is useful as a debugging tool for developers.\nOn the other hand, I was worried about the dual management with python-tackerclient(\u003dpublic CLI), but is it still better to leave this tool?","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cb7207aaf69f122c9d00cff2057ed2fb32e5ff29","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"aa7d694e_e5538de5","line":1,"in_reply_to":"df7cd6e3_7096c25e","updated":"2021-08-11 01:48:41.000000000","message":"I don\u0027t think it will be removed because this is convenient than public CLI.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"51ab4c2c636b878471ad0a5912161dcab1599cfd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"9b63a442_b570196a","line":1,"in_reply_to":"e04aa7e2_a2f576f0","updated":"2021-08-17 08:32:07.000000000","message":"Done","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#         http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":8,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import json"},{"line_number":14,"context_line":"import os"}],"source_content_type":"text/x-python","patch_set":11,"id":"e5b2a5bf_12437a0c","line":11,"range":{"start_line":1,"start_character":0,"end_line":11,"end_character":23},"updated":"2021-08-16 10:29:27.000000000","message":"NIT: The copyright description of this file is different from other files, so could you unify it unless you have a special intention?","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"51ab4c2c636b878471ad0a5912161dcab1599cfd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#         http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":8,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import json"},{"line_number":14,"context_line":"import os"}],"source_content_type":"text/x-python","patch_set":11,"id":"8fb51e8f_0e24934b","line":11,"range":{"start_line":1,"start_character":0,"end_line":11,"end_character":23},"in_reply_to":"e5b2a5bf_12437a0c","updated":"2021-08-17 08:32:07.000000000","message":"Done","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"}],"tacker/sol_refactored/test-tools/fake_nfvo.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"52cf4c4b0c58f987fec8ffef9ae3524fab889f28","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"409ce2b7_ff156766","line":1,"updated":"2021-08-11 01:00:58.000000000","message":"This code will be removed in \"some cleanups\" in the commit message, is it right?\nIf so, it seems better to include TODO.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"cb7207aaf69f122c9d00cff2057ed2fb32e5ff29","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"a3cb4a3d_2d7b90ba","line":1,"in_reply_to":"409ce2b7_ff156766","updated":"2021-08-11 01:48:41.000000000","message":"I don\u0027t think it will be removed. It is convenient to check notifications under development environment.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"278b2144ab92542ef43246552c450e54a3a54be6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"642a1029_457ee4c0","line":1,"in_reply_to":"a3cb4a3d_2d7b90ba","updated":"2021-08-11 05:45:21.000000000","message":"I see.","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"d4deb00d148cf4191df714efbc5ff4c0e8746a92","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#         http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":8,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import json"},{"line_number":14,"context_line":"from wsgiref.simple_server import make_server"}],"source_content_type":"text/x-python","patch_set":11,"id":"38a61568_e0bb0101","line":11,"range":{"start_line":1,"start_character":0,"end_line":11,"end_character":23},"updated":"2021-08-16 10:29:27.000000000","message":"NIT: The copyright description of this file is different from other files, so could you unify it unless you have a special intention?","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"51ab4c2c636b878471ad0a5912161dcab1599cfd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#    a copy of the License at"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#         http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":8,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import json"},{"line_number":14,"context_line":"from wsgiref.simple_server import make_server"}],"source_content_type":"text/x-python","patch_set":11,"id":"c80e6607_2b0ba33d","line":11,"range":{"start_line":1,"start_character":0,"end_line":11,"end_character":23},"in_reply_to":"38a61568_e0bb0101","updated":"2021-08-17 08:32:07.000000000","message":"Done","commit_id":"bb5d1afca131d13173111c5fa592aee0a53bdb29"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4e11f6f6465828b4c07da6d05d9cb7999c97a90d","unresolved":true,"context_lines":[{"line_number":91,"context_line":"    return [body.encode(\u0027utf-8\u0027)]"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def nfvo_app(environ, start_response):"},{"line_number":95,"context_line":"    path \u003d environ[\u0027PATH_INFO\u0027]"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    if path \u003d\u003d \"/notification\":"}],"source_content_type":"text/x-python","patch_set":28,"id":"aa2d7ea0_f094ca1d","line":94,"range":{"start_line":94,"start_character":4,"end_line":94,"end_character":12},"updated":"2021-09-09 08:10:06.000000000","message":"I think this is not an NFVO function such as grant or vnfpkgm, but a function that provides an endpoint of notification, so for example, \u0027notif_endpoint_app\u0027 is better.\nThe file name too.","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0e7cd82972571fcb00eae1fabf7983c7f465b52a","unresolved":true,"context_lines":[{"line_number":91,"context_line":"    return [body.encode(\u0027utf-8\u0027)]"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def nfvo_app(environ, start_response):"},{"line_number":95,"context_line":"    path \u003d environ[\u0027PATH_INFO\u0027]"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    if path \u003d\u003d \"/notification\":"}],"source_content_type":"text/x-python","patch_set":28,"id":"8570102b_e2db2cc1","line":94,"range":{"start_line":94,"start_character":4,"end_line":94,"end_character":12},"in_reply_to":"aa2d7ea0_f094ca1d","updated":"2021-09-09 23:18:39.000000000","message":"I see. I will change.","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"}],"tacker/sol_refactored/test-tools/notif_endpoint_app.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"af4be7db1edd7535ca629511cb869c0145b88a49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"86b68e7c_83ac2489","line":94,"range":{"start_line":94,"start_character":4,"end_line":94,"end_character":12},"in_reply_to":"8570102b_e2db2cc1","updated":"2021-09-10 09:04:32.000000000","message":"Done","commit_id":"591c4ffb38c23b1a726baf11e97ae305fc99e6a8"}],"tacker/tests/functional/sol_v2/paramgen.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a8455ae40c0f71f61f6ac2a5a8f07b721411f4c9","unresolved":true,"context_lines":[{"line_number":55,"context_line":"                            \"ipAddresses\": [{"},{"line_number":56,"context_line":"                                \"type\": \"IPV4\","},{"line_number":57,"context_line":"                                \"fixedAddresses\": [\"10.10.0.101\"],"},{"line_number":58,"context_line":"                                \"subnetId\": subnet_ids[\u0027subnet0\u0027]}]}}]}]"},{"line_number":59,"context_line":"            }"},{"line_number":60,"context_line":"        ],"},{"line_number":61,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":20,"id":"4095fed5_8927f8ab","line":58,"updated":"2021-08-30 02:17:32.000000000","message":"https://review.opendev.org/c/openstack/tacker/+/803693/20/tacker/tests/functional/sol_v2/samples/sample1/contents/BaseHOT/simple/sample1.yaml#61\n---\nLooking at the comments above, is this subnet_id definition unnecessary?","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a22e780fc1d341f858de5de8c60893842cd79e19","unresolved":true,"context_lines":[{"line_number":55,"context_line":"                            \"ipAddresses\": [{"},{"line_number":56,"context_line":"                                \"type\": \"IPV4\","},{"line_number":57,"context_line":"                                \"fixedAddresses\": [\"10.10.0.101\"],"},{"line_number":58,"context_line":"                                \"subnetId\": subnet_ids[\u0027subnet0\u0027]}]}}]}]"},{"line_number":59,"context_line":"            }"},{"line_number":60,"context_line":"        ],"},{"line_number":61,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":20,"id":"ebf02b45_b7fc1b19","line":58,"in_reply_to":"4095fed5_8927f8ab","updated":"2021-08-30 05:24:02.000000000","message":"According to BaseHOT subnetId is not necessary for VDU1_CP1 and VDU2_CP1. I will remove them,\n(sample2 too)","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"c5ad32adeb692476140e2e8411bf757d821065ba","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                            \"ipAddresses\": [{"},{"line_number":56,"context_line":"                                \"type\": \"IPV4\","},{"line_number":57,"context_line":"                                \"fixedAddresses\": [\"10.10.0.101\"],"},{"line_number":58,"context_line":"                                \"subnetId\": subnet_ids[\u0027subnet0\u0027]}]}}]}]"},{"line_number":59,"context_line":"            }"},{"line_number":60,"context_line":"        ],"},{"line_number":61,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":20,"id":"60e9e7cc_0c73b9e4","line":58,"in_reply_to":"ebf02b45_b7fc1b19","updated":"2021-08-31 09:07:35.000000000","message":"Done","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"}],"tacker/tests/functional/sol_v2/samples/sample1/contents/BaseHOT/simple/sample1.yaml":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a8455ae40c0f71f61f6ac2a5a8f07b721411f4c9","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"c0ea3f4b_e9a40b1d","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":22},"updated":"2021-08-30 02:17:32.000000000","message":"I think it follows the V1-API sample, however since it\u0027s redundant, can it be modified to \"VDU1_scale_out\"?","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"c5ad32adeb692476140e2e8411bf757d821065ba","unresolved":false,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"43b318f4_ea133f8f","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":22},"in_reply_to":"32f9ac27_7f3f0012","updated":"2021-08-31 09:07:35.000000000","message":"Done","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a22e780fc1d341f858de5de8c60893842cd79e19","unresolved":true,"context_lines":[{"line_number":25,"context_line":"          net4: { get_resource: internalVL2 }"},{"line_number":26,"context_line":"          net5: { get_resource: internalVL3 }"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  VDU1_scale_scale_out:"},{"line_number":29,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":30,"context_line":"    properties:"},{"line_number":31,"context_line":"      scaling_adjustment: 1"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"32f9ac27_7f3f0012","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":22},"in_reply_to":"c0ea3f4b_e9a40b1d","updated":"2021-08-30 05:24:02.000000000","message":"I see. I will fix. (sample2 too)","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a8455ae40c0f71f61f6ac2a5a8f07b721411f4c9","unresolved":true,"context_lines":[{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"4b413fa3_6a615685","line":35,"range":{"start_line":35,"start_character":2,"end_line":35,"end_character":21},"updated":"2021-08-30 02:17:32.000000000","message":"ditto","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a22e780fc1d341f858de5de8c60893842cd79e19","unresolved":true,"context_lines":[{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"96f52d86_1d6b8aca","line":35,"range":{"start_line":35,"start_character":2,"end_line":35,"end_character":21},"in_reply_to":"4b413fa3_6a615685","updated":"2021-08-30 05:24:02.000000000","message":"ditto","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"c5ad32adeb692476140e2e8411bf757d821065ba","unresolved":false,"context_lines":[{"line_number":32,"context_line":"      auto_scaling_group_id:"},{"line_number":33,"context_line":"        get_resource: VDU1_scale_group"},{"line_number":34,"context_line":"      adjustment_type: change_in_capacity"},{"line_number":35,"context_line":"  VDU1_scale_scale_in:"},{"line_number":36,"context_line":"    type: OS::Heat::ScalingPolicy"},{"line_number":37,"context_line":"    properties:"},{"line_number":38,"context_line":"      scaling_adjustment: -1"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"5982cd26_f1dbdbc1","line":35,"range":{"start_line":35,"start_character":2,"end_line":35,"end_character":21},"in_reply_to":"96f52d86_1d6b8aca","updated":"2021-08-31 09:07:35.000000000","message":"Done","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":66,"context_line":"      fixed_ips:"},{"line_number":67,"context_line":"      - ip_address: { get_param: [nfv, CP, VDU2_CP1, fixed_ips, 0, ip_address]}"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"# extvVL with FixedIP and Subnet"},{"line_number":70,"context_line":"  VDU2_CP2:"},{"line_number":71,"context_line":"    type: OS::Neutron::Port"},{"line_number":72,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"62a0d17c_dd49f5f9","line":69,"updated":"2021-09-14 13:38:39.000000000","message":"typo: extvVL → extVL","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":66,"context_line":"      fixed_ips:"},{"line_number":67,"context_line":"      - ip_address: { get_param: [nfv, CP, VDU2_CP1, fixed_ips, 0, ip_address]}"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"# extvVL with FixedIP and Subnet"},{"line_number":70,"context_line":"  VDU2_CP2:"},{"line_number":71,"context_line":"    type: OS::Neutron::Port"},{"line_number":72,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"55616a24_dd03ed4b","line":69,"in_reply_to":"5c111657_7cf3cbf9","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":66,"context_line":"      fixed_ips:"},{"line_number":67,"context_line":"      - ip_address: { get_param: [nfv, CP, VDU2_CP1, fixed_ips, 0, ip_address]}"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"# extvVL with FixedIP and Subnet"},{"line_number":70,"context_line":"  VDU2_CP2:"},{"line_number":71,"context_line":"    type: OS::Neutron::Port"},{"line_number":72,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"5c111657_7cf3cbf9","line":69,"in_reply_to":"62a0d17c_dd49f5f9","updated":"2021-09-14 23:36:03.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/tests/functional/sol_v2/samples/sample1/contents/Definitions/etsi_nfv_sol001_common_types.yaml":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":8,"context_line":"data_types:"},{"line_number":9,"context_line":"  tosca.datatypes.nfv.L2AddressData:"},{"line_number":10,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":11,"context_line":"    description: Describes the information on the MAC addresses to be assigned to a connection point. "},{"line_number":12,"context_line":"    properties:"},{"line_number":13,"context_line":"      mac_address_assignment:"},{"line_number":14,"context_line":"        type: boolean"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"2e71ee9e_10c2971d","line":11,"updated":"2021-09-14 13:38:39.000000000","message":"Unnecessary whitespace\n\nThis file contains many unnecessary spaces at the end of the sentence, so delete all of them after that.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":8,"context_line":"data_types:"},{"line_number":9,"context_line":"  tosca.datatypes.nfv.L2AddressData:"},{"line_number":10,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":11,"context_line":"    description: Describes the information on the MAC addresses to be assigned to a connection point. "},{"line_number":12,"context_line":"    properties:"},{"line_number":13,"context_line":"      mac_address_assignment:"},{"line_number":14,"context_line":"        type: boolean"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"ea2efab7_cd0733cf","line":11,"in_reply_to":"2e71ee9e_10c2971d","updated":"2021-09-14 23:36:03.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":8,"context_line":"data_types:"},{"line_number":9,"context_line":"  tosca.datatypes.nfv.L2AddressData:"},{"line_number":10,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":11,"context_line":"    description: Describes the information on the MAC addresses to be assigned to a connection point. "},{"line_number":12,"context_line":"    properties:"},{"line_number":13,"context_line":"      mac_address_assignment:"},{"line_number":14,"context_line":"        type: boolean"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"423d0d71_61a9d584","line":11,"in_reply_to":"ea2efab7_cd0733cf","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/tests/functional/sol_v2/samples/sample1/contents/Definitions/etsi_nfv_sol001_vnfd_types.yaml":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"imports:"},{"line_number":9,"context_line":"  - ./etsi_nfv_sol001_common_types.yaml"},{"line_number":10,"context_line":"    "},{"line_number":11,"context_line":"data_types:"},{"line_number":12,"context_line":"  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:"},{"line_number":13,"context_line":"    derived_from: tosca.datatypes.Root"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"22504991_e6630fe0","line":10,"updated":"2021-09-14 13:38:39.000000000","message":"Unnecessary whitespace","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"imports:"},{"line_number":9,"context_line":"  - ./etsi_nfv_sol001_common_types.yaml"},{"line_number":10,"context_line":"    "},{"line_number":11,"context_line":"data_types:"},{"line_number":12,"context_line":"  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:"},{"line_number":13,"context_line":"    derived_from: tosca.datatypes.Root"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"860d1b2a_276e9111","line":10,"in_reply_to":"22504991_e6630fe0","updated":"2021-09-14 23:36:03.000000000","message":"I will fix all of unnecessary white space.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"imports:"},{"line_number":9,"context_line":"  - ./etsi_nfv_sol001_common_types.yaml"},{"line_number":10,"context_line":"    "},{"line_number":11,"context_line":"data_types:"},{"line_number":12,"context_line":"  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:"},{"line_number":13,"context_line":"    derived_from: tosca.datatypes.Root"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"dc18c292_ae043a72","line":10,"in_reply_to":"860d1b2a_276e9111","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":11,"context_line":"data_types:"},{"line_number":12,"context_line":"  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:"},{"line_number":13,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":14,"context_line":"    description: Describes requirements on a virtual network interface "},{"line_number":15,"context_line":"    properties:"},{"line_number":16,"context_line":"      name:"},{"line_number":17,"context_line":"        type: string"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"1a166453_80abfa04","line":14,"updated":"2021-09-14 13:38:39.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"data_types:"},{"line_number":12,"context_line":"  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:"},{"line_number":13,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":14,"context_line":"    description: Describes requirements on a virtual network interface "},{"line_number":15,"context_line":"    properties:"},{"line_number":16,"context_line":"      name:"},{"line_number":17,"context_line":"        type: string"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"dc4492b3_c52c01ee","line":14,"in_reply_to":"1a166453_80abfa04","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":15,"context_line":"    properties:"},{"line_number":16,"context_line":"      name:"},{"line_number":17,"context_line":"        type: string"},{"line_number":18,"context_line":"        description: Provides a human readable name for the requirement.    "},{"line_number":19,"context_line":"        required: false"},{"line_number":20,"context_line":"      description:"},{"line_number":21,"context_line":"        type: string"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"7360cd4f_25b357e4","line":18,"updated":"2021-09-14 13:38:39.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    properties:"},{"line_number":16,"context_line":"      name:"},{"line_number":17,"context_line":"        type: string"},{"line_number":18,"context_line":"        description: Provides a human readable name for the requirement.    "},{"line_number":19,"context_line":"        required: false"},{"line_number":20,"context_line":"      description:"},{"line_number":21,"context_line":"        type: string"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"37a0d623_03fc1d43","line":18,"in_reply_to":"7360cd4f_25b357e4","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":30,"context_line":"        description: The network interface requirements. A map of strings that contain a set of key-value pairs that describes the hardware platform specific  network interface deployment requirements."},{"line_number":31,"context_line":"        required: true"},{"line_number":32,"context_line":"        entry_schema:"},{"line_number":33,"context_line":"          type: string "},{"line_number":34,"context_line":"      nic_io_requirements:"},{"line_number":35,"context_line":"        type: tosca.datatypes.nfv.LogicalNodeData"},{"line_number":36,"context_line":"        description: references (couples) the CP with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CP."}],"source_content_type":"text/x-yaml","patch_set":35,"id":"c29dd8e8_f74d4460","line":33,"updated":"2021-09-14 13:38:39.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        description: The network interface requirements. A map of strings that contain a set of key-value pairs that describes the hardware platform specific  network interface deployment requirements."},{"line_number":31,"context_line":"        required: true"},{"line_number":32,"context_line":"        entry_schema:"},{"line_number":33,"context_line":"          type: string "},{"line_number":34,"context_line":"      nic_io_requirements:"},{"line_number":35,"context_line":"        type: tosca.datatypes.nfv.LogicalNodeData"},{"line_number":36,"context_line":"        description: references (couples) the CP with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CP."}],"source_content_type":"text/x-yaml","patch_set":35,"id":"272d7a6f_0835e500","line":33,"in_reply_to":"c29dd8e8_f74d4460","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":68,"context_line":"    description: supports the specification of requirements related to virtual memory of a virtual compute resource"},{"line_number":69,"context_line":"    properties:"},{"line_number":70,"context_line":"      virtual_mem_size:"},{"line_number":71,"context_line":"        type: scalar-unit.size "},{"line_number":72,"context_line":"        description: Amount of virtual memory."},{"line_number":73,"context_line":"        required: true"},{"line_number":74,"context_line":"      virtual_mem_oversubscription_policy:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"f5b5c4bc_29f4e773","line":71,"updated":"2021-09-14 13:38:39.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    description: supports the specification of requirements related to virtual memory of a virtual compute resource"},{"line_number":69,"context_line":"    properties:"},{"line_number":70,"context_line":"      virtual_mem_size:"},{"line_number":71,"context_line":"        type: scalar-unit.size "},{"line_number":72,"context_line":"        description: Amount of virtual memory."},{"line_number":73,"context_line":"        required: true"},{"line_number":74,"context_line":"      virtual_mem_oversubscription_policy:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"7a5d4721_ef23f20e","line":71,"in_reply_to":"f5b5c4bc_29f4e773","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":80,"context_line":"        description: The hardware platform specific VDU memory requirements. A map of strings that contains a set of key-value pairs that describes hardware platform specific VDU memory requirements."},{"line_number":81,"context_line":"        required: false"},{"line_number":82,"context_line":"        entry_schema:"},{"line_number":83,"context_line":"          type: string "},{"line_number":84,"context_line":"      numa_enabled:"},{"line_number":85,"context_line":"        type: boolean"},{"line_number":86,"context_line":"        description: It specifies the memory allocation to be cognisant of the relevant process/core allocation."}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3e5f91f7_2866fb1b","line":83,"updated":"2021-09-14 13:38:39.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        description: The hardware platform specific VDU memory requirements. A map of strings that contains a set of key-value pairs that describes hardware platform specific VDU memory requirements."},{"line_number":81,"context_line":"        required: false"},{"line_number":82,"context_line":"        entry_schema:"},{"line_number":83,"context_line":"          type: string "},{"line_number":84,"context_line":"      numa_enabled:"},{"line_number":85,"context_line":"        type: boolean"},{"line_number":86,"context_line":"        description: It specifies the memory allocation to be cognisant of the relevant process/core allocation."}],"source_content_type":"text/x-yaml","patch_set":35,"id":"28ff8b1f_438aa59a","line":83,"in_reply_to":"3e5f91f7_2866fb1b","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":114,"context_line":"        description: The hardware platform specific VDU CPU requirements. A map of strings that contains a set of key-value pairs describing VDU CPU specific hardware platform requirements."},{"line_number":115,"context_line":"        required: false"},{"line_number":116,"context_line":"        entry_schema:"},{"line_number":117,"context_line":"          type: string "},{"line_number":118,"context_line":"      virtual_cpu_pinning:"},{"line_number":119,"context_line":"        type: tosca.datatypes.nfv.VirtualCpuPinning"},{"line_number":120,"context_line":"        description: The virtual CPU pinning configuration for the virtualised compute resource."}],"source_content_type":"text/x-yaml","patch_set":35,"id":"a34be105_d3d836de","line":117,"updated":"2021-09-14 13:38:39.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        description: The hardware platform specific VDU CPU requirements. A map of strings that contains a set of key-value pairs describing VDU CPU specific hardware platform requirements."},{"line_number":115,"context_line":"        required: false"},{"line_number":116,"context_line":"        entry_schema:"},{"line_number":117,"context_line":"          type: string "},{"line_number":118,"context_line":"      virtual_cpu_pinning:"},{"line_number":119,"context_line":"        type: tosca.datatypes.nfv.VirtualCpuPinning"},{"line_number":120,"context_line":"        description: The virtual CPU pinning configuration for the virtualised compute resource."}],"source_content_type":"text/x-yaml","patch_set":35,"id":"f158558d_e6609147","line":117,"in_reply_to":"a34be105_d3d836de","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"  tosca.datatypes.nfv.VnfcConfigurableProperties:"},{"line_number":141,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":142,"context_line":"    description: Defines the configurable properties of a VNFC "},{"line_number":143,"context_line":"    # properties:"},{"line_number":144,"context_line":"      # additional_vnfc_configurable_properties:"},{"line_number":145,"context_line":"      #   type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties  "}],"source_content_type":"text/x-yaml","patch_set":35,"id":"fc56b531_5cd93aa8","line":142,"updated":"2021-09-14 13:38:39.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"  tosca.datatypes.nfv.VnfcConfigurableProperties:"},{"line_number":141,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":142,"context_line":"    description: Defines the configurable properties of a VNFC "},{"line_number":143,"context_line":"    # properties:"},{"line_number":144,"context_line":"      # additional_vnfc_configurable_properties:"},{"line_number":145,"context_line":"      #   type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties  "}],"source_content_type":"text/x-yaml","patch_set":35,"id":"4a0a2a97_888d88fd","line":142,"in_reply_to":"fc56b531_5cd93aa8","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":142,"context_line":"    description: Defines the configurable properties of a VNFC "},{"line_number":143,"context_line":"    # properties:"},{"line_number":144,"context_line":"      # additional_vnfc_configurable_properties:"},{"line_number":145,"context_line":"      #   type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties  "},{"line_number":146,"context_line":"      #   description: Describes additional configuration for VNFC that"},{"line_number":147,"context_line":"      #   can be modified using the ModifyVnfInfo operation "},{"line_number":148,"context_line":"      #   required: false"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"e89c5349_d95a32f9","line":145,"updated":"2021-09-14 13:38:39.000000000","message":"Ditto","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    description: Defines the configurable properties of a VNFC "},{"line_number":143,"context_line":"    # properties:"},{"line_number":144,"context_line":"      # additional_vnfc_configurable_properties:"},{"line_number":145,"context_line":"      #   type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties  "},{"line_number":146,"context_line":"      #   description: Describes additional configuration for VNFC that"},{"line_number":147,"context_line":"      #   can be modified using the ModifyVnfInfo operation "},{"line_number":148,"context_line":"      #   required: false"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"c375f8db_b6ed207c","line":145,"in_reply_to":"e89c5349_d95a32f9","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":144,"context_line":"      # additional_vnfc_configurable_properties:"},{"line_number":145,"context_line":"      #   type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties  "},{"line_number":146,"context_line":"      #   description: Describes additional configuration for VNFC that"},{"line_number":147,"context_line":"      #   can be modified using the ModifyVnfInfo operation "},{"line_number":148,"context_line":"      #   required: false"},{"line_number":149,"context_line":"      # derived types are expected to introduce"},{"line_number":150,"context_line":"      # additional_vnfc_configurable_properties with its type derived from"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"63d50b48_85ac5f00","line":147,"updated":"2021-09-14 13:38:39.000000000","message":"This file contains many unnecessary whitespaces at the end of the sentence, so delete all of them after that.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":144,"context_line":"      # additional_vnfc_configurable_properties:"},{"line_number":145,"context_line":"      #   type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties  "},{"line_number":146,"context_line":"      #   description: Describes additional configuration for VNFC that"},{"line_number":147,"context_line":"      #   can be modified using the ModifyVnfInfo operation "},{"line_number":148,"context_line":"      #   required: false"},{"line_number":149,"context_line":"      # derived types are expected to introduce"},{"line_number":150,"context_line":"      # additional_vnfc_configurable_properties with its type derived from"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"14bc367f_f3609b67","line":147,"in_reply_to":"63d50b48_85ac5f00","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"  tosca.datatypes.nfv.VirtualLinkBitrateLevel:"},{"line_number":615,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":616,"context_line":"    description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink "},{"line_number":617,"context_line":"    properties:"},{"line_number":618,"context_line":"      bitrate_requirements:"},{"line_number":619,"context_line":"        type: tosca.datatypes.nfv.LinkBitrateRequirements"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"67ec6e9f_111f1388","line":616,"updated":"2021-09-14 13:38:39.000000000","message":"typo: particicular → particular","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"  tosca.datatypes.nfv.VirtualLinkBitrateLevel:"},{"line_number":615,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":616,"context_line":"    description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink "},{"line_number":617,"context_line":"    properties:"},{"line_number":618,"context_line":"      bitrate_requirements:"},{"line_number":619,"context_line":"        type: tosca.datatypes.nfv.LinkBitrateRequirements"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"81e6809f_dd54b260","line":616,"in_reply_to":"67ec6e9f_111f1388","updated":"2021-09-14 23:36:03.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"  tosca.datatypes.nfv.VirtualLinkBitrateLevel:"},{"line_number":615,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":616,"context_line":"    description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink "},{"line_number":617,"context_line":"    properties:"},{"line_number":618,"context_line":"      bitrate_requirements:"},{"line_number":619,"context_line":"        type: tosca.datatypes.nfv.LinkBitrateRequirements"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"f1b46172_b72a8bb5","line":616,"in_reply_to":"81e6809f_dd54b260","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":705,"context_line":"    properties:"},{"line_number":706,"context_line":"      uri_components:"},{"line_number":707,"context_line":"        type: tosca.datatypes.nfv.UriComponents"},{"line_number":708,"context_line":"        description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point."},{"line_number":709,"context_line":"        required: false"},{"line_number":710,"context_line":"      interface_specific_data:"},{"line_number":711,"context_line":"        type: map"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"dbd349ba_f8bb83cd","line":708,"updated":"2021-09-14 13:38:39.000000000","message":"typo: Ressource → Resource","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":705,"context_line":"    properties:"},{"line_number":706,"context_line":"      uri_components:"},{"line_number":707,"context_line":"        type: tosca.datatypes.nfv.UriComponents"},{"line_number":708,"context_line":"        description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point."},{"line_number":709,"context_line":"        required: false"},{"line_number":710,"context_line":"      interface_specific_data:"},{"line_number":711,"context_line":"        type: map"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"2ae2873d_e3d73761","line":708,"in_reply_to":"760d55c0_9856170f","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":705,"context_line":"    properties:"},{"line_number":706,"context_line":"      uri_components:"},{"line_number":707,"context_line":"        type: tosca.datatypes.nfv.UriComponents"},{"line_number":708,"context_line":"        description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point."},{"line_number":709,"context_line":"        required: false"},{"line_number":710,"context_line":"      interface_specific_data:"},{"line_number":711,"context_line":"        type: map"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"760d55c0_9856170f","line":708,"in_reply_to":"dbd349ba_f8bb83cd","updated":"2021-09-14 23:36:03.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/tests/functional/sol_v2/samples/sample1/pkggen.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a8455ae40c0f71f61f6ac2a5a8f07b721411f4c9","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2021 Nippon Telegraph and Telephone Corporation"},{"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":20,"id":"79dd467b_5a4dfc0b","line":1,"updated":"2021-08-30 02:17:32.000000000","message":"This code has similarity to \"tacker/tests/functional/sol_v2/samples/sample2/pkggen.py\", so could you commonize logics to generate like \"tacker/tests/functional/sol_v2/pkggen_base.py\".","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"204cfaba4a9d482d3905f783c2860ebf37e13e4a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2021 Nippon Telegraph and Telephone Corporation"},{"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":20,"id":"8f8fc79a_5c06c50b","line":1,"in_reply_to":"4c5961ef_5f6b856c","updated":"2021-09-05 23:22:53.000000000","message":"I\u0027d like to drop a priority of the fix of this because this script is used by developers only and there are two samples at the moment.\nI will fix when the number of samples increases in the future.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a22e780fc1d341f858de5de8c60893842cd79e19","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2021 Nippon Telegraph and Telephone Corporation"},{"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":20,"id":"4c5961ef_5f6b856c","line":1,"in_reply_to":"79dd467b_5a4dfc0b","updated":"2021-08-30 05:24:02.000000000","message":"certainly. I will consider.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"af4be7db1edd7535ca629511cb869c0145b88a49","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2021 Nippon Telegraph and Telephone Corporation"},{"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":20,"id":"fd168455_b3c46afd","line":1,"in_reply_to":"8f8fc79a_5c06c50b","updated":"2021-09-10 09:04:32.000000000","message":"I see. I agree with your priority setting.","commit_id":"cd04ce4c1c5d9f763cfc1ee366ca3b99b3c86633"}],"tacker/tests/functional/sol_v2/samples/sample2/contents/BaseHOT/simple/nested/VDU1.yaml":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":72,"context_line":"      fixed_ips:"},{"line_number":73,"context_line":"      - subnet: { get_param: subnet}"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"# CPs ofinternal VLs are deleted when extmangaedVLs and port are specified in instantiatevnfrequest"},{"line_number":76,"context_line":"  VDU1_CP3:"},{"line_number":77,"context_line":"    type: OS::Neutron::Port"},{"line_number":78,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"57bf7d49_0593285c","line":75,"updated":"2021-09-14 13:38:39.000000000","message":"typo: ofinternal → of internal","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":72,"context_line":"      fixed_ips:"},{"line_number":73,"context_line":"      - subnet: { get_param: subnet}"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"# CPs ofinternal VLs are deleted when extmangaedVLs and port are specified in instantiatevnfrequest"},{"line_number":76,"context_line":"  VDU1_CP3:"},{"line_number":77,"context_line":"    type: OS::Neutron::Port"},{"line_number":78,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"ccf20256_6cb5fc04","line":75,"in_reply_to":"57bf7d49_0593285c","updated":"2021-09-14 23:36:03.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":72,"context_line":"      fixed_ips:"},{"line_number":73,"context_line":"      - subnet: { get_param: subnet}"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"# CPs ofinternal VLs are deleted when extmangaedVLs and port are specified in instantiatevnfrequest"},{"line_number":76,"context_line":"  VDU1_CP3:"},{"line_number":77,"context_line":"    type: OS::Neutron::Port"},{"line_number":78,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"6bf4c018_e85632d3","line":75,"in_reply_to":"ccf20256_6cb5fc04","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/tests/functional/sol_v2/samples/sample2/contents/BaseHOT/simple/sample2.yaml":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":68,"context_line":"      fixed_ips:"},{"line_number":69,"context_line":"      - ip_address: { get_param: [nfv, CP, VDU2_CP1, fixed_ips, 0, ip_address]}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"# extvVL with FixedIP and Subnet"},{"line_number":72,"context_line":"  VDU2_CP2:"},{"line_number":73,"context_line":"    type: OS::Neutron::Port"},{"line_number":74,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"9603a6c8_487cb83f","line":71,"updated":"2021-09-14 13:38:39.000000000","message":"typo: extvVL → extVL","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"      fixed_ips:"},{"line_number":69,"context_line":"      - ip_address: { get_param: [nfv, CP, VDU2_CP1, fixed_ips, 0, ip_address]}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"# extvVL with FixedIP and Subnet"},{"line_number":72,"context_line":"  VDU2_CP2:"},{"line_number":73,"context_line":"    type: OS::Neutron::Port"},{"line_number":74,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"ae399934_390d0580","line":71,"in_reply_to":"8f19180f_ab355b20","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":68,"context_line":"      fixed_ips:"},{"line_number":69,"context_line":"      - ip_address: { get_param: [nfv, CP, VDU2_CP1, fixed_ips, 0, ip_address]}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"# extvVL with FixedIP and Subnet"},{"line_number":72,"context_line":"  VDU2_CP2:"},{"line_number":73,"context_line":"    type: OS::Neutron::Port"},{"line_number":74,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"8f19180f_ab355b20","line":71,"in_reply_to":"9603a6c8_487cb83f","updated":"2021-09-14 23:36:03.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/tests/functional/sol_v2/samples/sample2/contents/Definitions/etsi_nfv_sol001_common_types.yaml":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":8,"context_line":"data_types:"},{"line_number":9,"context_line":"  tosca.datatypes.nfv.L2AddressData:"},{"line_number":10,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":11,"context_line":"    description: Describes the information on the MAC addresses to be assigned to a connection point. "},{"line_number":12,"context_line":"    properties:"},{"line_number":13,"context_line":"      mac_address_assignment:"},{"line_number":14,"context_line":"        type: boolean"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"7fa88cc2_a18f0a43","line":11,"updated":"2021-09-14 13:38:39.000000000","message":"Unnecessary whitespace\n\nThis file contains many unnecessary spaces at the end of the sentence, so delete all of them after that.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":8,"context_line":"data_types:"},{"line_number":9,"context_line":"  tosca.datatypes.nfv.L2AddressData:"},{"line_number":10,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":11,"context_line":"    description: Describes the information on the MAC addresses to be assigned to a connection point. "},{"line_number":12,"context_line":"    properties:"},{"line_number":13,"context_line":"      mac_address_assignment:"},{"line_number":14,"context_line":"        type: boolean"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"b978009a_c3add291","line":11,"in_reply_to":"4cde019f_a7e87187","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":8,"context_line":"data_types:"},{"line_number":9,"context_line":"  tosca.datatypes.nfv.L2AddressData:"},{"line_number":10,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":11,"context_line":"    description: Describes the information on the MAC addresses to be assigned to a connection point. "},{"line_number":12,"context_line":"    properties:"},{"line_number":13,"context_line":"      mac_address_assignment:"},{"line_number":14,"context_line":"        type: boolean"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"4cde019f_a7e87187","line":11,"in_reply_to":"7fa88cc2_a18f0a43","updated":"2021-09-14 23:36:03.000000000","message":"I will fix. Note that this is same as sample1. fixed file for sample1 will be copied.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/tests/functional/sol_v2/samples/sample2/contents/Definitions/etsi_nfv_sol001_vnfd_types.yaml":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"imports:"},{"line_number":9,"context_line":"  - ./etsi_nfv_sol001_common_types.yaml"},{"line_number":10,"context_line":"    "},{"line_number":11,"context_line":"data_types:"},{"line_number":12,"context_line":"  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:"},{"line_number":13,"context_line":"    derived_from: tosca.datatypes.Root"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"0f9d3a30_b8aa0038","line":10,"updated":"2021-09-14 13:38:39.000000000","message":"Unnecessary whitespace\n\nThis file contains many unnecessary spaces at the end of the sentence, so delete all of them after that.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"imports:"},{"line_number":9,"context_line":"  - ./etsi_nfv_sol001_common_types.yaml"},{"line_number":10,"context_line":"    "},{"line_number":11,"context_line":"data_types:"},{"line_number":12,"context_line":"  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:"},{"line_number":13,"context_line":"    derived_from: tosca.datatypes.Root"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"fd2499f8_d584ea23","line":10,"in_reply_to":"0f9d3a30_b8aa0038","updated":"2021-09-14 23:36:03.000000000","message":"I will fix. Note that this is same as sample1. fixed file for sample1 will be copied.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"imports:"},{"line_number":9,"context_line":"  - ./etsi_nfv_sol001_common_types.yaml"},{"line_number":10,"context_line":"    "},{"line_number":11,"context_line":"data_types:"},{"line_number":12,"context_line":"  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:"},{"line_number":13,"context_line":"    derived_from: tosca.datatypes.Root"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"9a617af7_704f69ab","line":10,"in_reply_to":"fd2499f8_d584ea23","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"  tosca.datatypes.nfv.VirtualLinkBitrateLevel:"},{"line_number":615,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":616,"context_line":"    description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink "},{"line_number":617,"context_line":"    properties:"},{"line_number":618,"context_line":"      bitrate_requirements:"},{"line_number":619,"context_line":"        type: tosca.datatypes.nfv.LinkBitrateRequirements"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"e07b69a3_82c627b3","line":616,"updated":"2021-09-14 13:38:39.000000000","message":"typo: particicular → particular","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"  tosca.datatypes.nfv.VirtualLinkBitrateLevel:"},{"line_number":615,"context_line":"    derived_from: tosca.datatypes.Root"},{"line_number":616,"context_line":"    description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink "},{"line_number":617,"context_line":"    properties:"},{"line_number":618,"context_line":"      bitrate_requirements:"},{"line_number":619,"context_line":"        type: tosca.datatypes.nfv.LinkBitrateRequirements"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"e5693ae6_a94a476a","line":616,"in_reply_to":"e07b69a3_82c627b3","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":705,"context_line":"    properties:"},{"line_number":706,"context_line":"      uri_components:"},{"line_number":707,"context_line":"        type: tosca.datatypes.nfv.UriComponents"},{"line_number":708,"context_line":"        description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point."},{"line_number":709,"context_line":"        required: false"},{"line_number":710,"context_line":"      interface_specific_data:"},{"line_number":711,"context_line":"        type: map"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"5a9cf6b8_ab355014","line":708,"updated":"2021-09-14 13:38:39.000000000","message":"typo: Ressource → Resource","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"26c7867537f99ff041508006452451ad70aea329","unresolved":false,"context_lines":[{"line_number":705,"context_line":"    properties:"},{"line_number":706,"context_line":"      uri_components:"},{"line_number":707,"context_line":"        type: tosca.datatypes.nfv.UriComponents"},{"line_number":708,"context_line":"        description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point."},{"line_number":709,"context_line":"        required: false"},{"line_number":710,"context_line":"      interface_specific_data:"},{"line_number":711,"context_line":"        type: map"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"fe759ac8_36f36a3f","line":708,"in_reply_to":"5a9cf6b8_ab355014","updated":"2021-09-15 00:19:02.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/tests/unit/sol_refactored/common/test_coordinate.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @coordinate.lock_vnf_instance(\u0027{inst_id}\u0027)"},{"line_number":35,"context_line":"    def _work_thread_1(self, inst_id, sleep_time):"},{"line_number":36,"context_line":"        # notifiy to parent"},{"line_number":37,"context_line":"        self.sem_1.release()"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # wait to notify from parent"}],"source_content_type":"text/x-python","patch_set":35,"id":"31b82cf6_e4813528","line":36,"updated":"2021-09-14 13:38:39.000000000","message":"typo: notifiy → notify","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @coordinate.lock_vnf_instance(\u0027{inst_id}\u0027)"},{"line_number":35,"context_line":"    def _work_thread_1(self, inst_id, sleep_time):"},{"line_number":36,"context_line":"        # notifiy to parent"},{"line_number":37,"context_line":"        self.sem_1.release()"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # wait to notify from parent"}],"source_content_type":"text/x-python","patch_set":35,"id":"419c4292_4b0aae51","line":36,"in_reply_to":"31b82cf6_e4813528","updated":"2021-09-14 23:36:03.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @coordinate.lock_vnf_instance(\u0027{inst_id}\u0027)"},{"line_number":35,"context_line":"    def _work_thread_1(self, inst_id, sleep_time):"},{"line_number":36,"context_line":"        # notifiy to parent"},{"line_number":37,"context_line":"        self.sem_1.release()"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # wait to notify from parent"}],"source_content_type":"text/x-python","patch_set":35,"id":"515c2b68_61de3b4b","line":36,"in_reply_to":"419c4292_4b0aae51","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}],"tacker/tests/unit/sol_refactored/common/test_vnfd_utils.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"97494750be7d611bbc874bf75e892165a6345e05","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def test_get_sw_image(self):"},{"line_number":37,"context_line":"        expected_result \u003d {"},{"line_number":38,"context_line":"            \u0027VDU2\u0027: \u0027VDU2-image\u0027,"},{"line_number":39,"context_line":"            \u0027VirtualStorage\u0027: \u0027cirros-0.4.0-x86_64-disk\u0027"},{"line_number":40,"context_line":"        }"},{"line_number":41,"context_line":"        result \u003d self.vnfd_1.get_sw_image(SAMPLE_FLAVOUR_ID)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"f6f1c270_92eea018","line":39,"range":{"start_line":39,"start_character":31,"end_line":39,"end_character":55},"updated":"2021-09-15 18:26:47.000000000","message":"Could I confirm using 0.4.0 is intended or just a mistake?","commit_id":"c49fb43bcbefe07570dc68e7bdd4c6a3e0581aaa"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"397bde7f119ef4d4c8866ab32ba51c26ceea6a27","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def test_get_sw_image(self):"},{"line_number":37,"context_line":"        expected_result \u003d {"},{"line_number":38,"context_line":"            \u0027VDU2\u0027: \u0027VDU2-image\u0027,"},{"line_number":39,"context_line":"            \u0027VirtualStorage\u0027: \u0027cirros-0.4.0-x86_64-disk\u0027"},{"line_number":40,"context_line":"        }"},{"line_number":41,"context_line":"        result \u003d self.vnfd_1.get_sw_image(SAMPLE_FLAVOUR_ID)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"b539d62e_060553df","line":39,"range":{"start_line":39,"start_character":31,"end_line":39,"end_character":55},"in_reply_to":"61358108_86fa7566","updated":"2021-09-16 00:39:16.000000000","message":"What do you think to update it for code consistency?","commit_id":"c49fb43bcbefe07570dc68e7bdd4c6a3e0581aaa"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"d82103fda963e9b8592b611fc9aff21dbeee8dc1","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def test_get_sw_image(self):"},{"line_number":37,"context_line":"        expected_result \u003d {"},{"line_number":38,"context_line":"            \u0027VDU2\u0027: \u0027VDU2-image\u0027,"},{"line_number":39,"context_line":"            \u0027VirtualStorage\u0027: \u0027cirros-0.4.0-x86_64-disk\u0027"},{"line_number":40,"context_line":"        }"},{"line_number":41,"context_line":"        result \u003d self.vnfd_1.get_sw_image(SAMPLE_FLAVOUR_ID)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"43a92137_799d1cba","line":39,"range":{"start_line":39,"start_character":31,"end_line":39,"end_character":55},"in_reply_to":"b0b8480d_345be458","updated":"2021-09-16 01:09:09.000000000","message":"It is just data. I will change the value to be not confused.","commit_id":"c49fb43bcbefe07570dc68e7bdd4c6a3e0581aaa"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"7153bf1b49a6976b93c5948ea322984e07848a0d","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def test_get_sw_image(self):"},{"line_number":37,"context_line":"        expected_result \u003d {"},{"line_number":38,"context_line":"            \u0027VDU2\u0027: \u0027VDU2-image\u0027,"},{"line_number":39,"context_line":"            \u0027VirtualStorage\u0027: \u0027cirros-0.4.0-x86_64-disk\u0027"},{"line_number":40,"context_line":"        }"},{"line_number":41,"context_line":"        result \u003d self.vnfd_1.get_sw_image(SAMPLE_FLAVOUR_ID)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"b0b8480d_345be458","line":39,"range":{"start_line":39,"start_character":31,"end_line":39,"end_character":55},"in_reply_to":"b539d62e_060553df","updated":"2021-09-16 00:55:47.000000000","message":"I don\u0027t think it is related to code consistency.","commit_id":"c49fb43bcbefe07570dc68e7bdd4c6a3e0581aaa"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"0e3d3188369523e356d71b7d73c81e49910833ee","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def test_get_sw_image(self):"},{"line_number":37,"context_line":"        expected_result \u003d {"},{"line_number":38,"context_line":"            \u0027VDU2\u0027: \u0027VDU2-image\u0027,"},{"line_number":39,"context_line":"            \u0027VirtualStorage\u0027: \u0027cirros-0.4.0-x86_64-disk\u0027"},{"line_number":40,"context_line":"        }"},{"line_number":41,"context_line":"        result \u003d self.vnfd_1.get_sw_image(SAMPLE_FLAVOUR_ID)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"61358108_86fa7566","line":39,"range":{"start_line":39,"start_character":31,"end_line":39,"end_character":55},"in_reply_to":"f6f1c270_92eea018","updated":"2021-09-15 22:03:43.000000000","message":"It is correct. Test data of UT is not changed. I think it is not necessary to change 0.4.0 to 0.5.2 because it is just data.","commit_id":"c49fb43bcbefe07570dc68e7bdd4c6a3e0581aaa"}],"tacker/tests/unit/sol_refactored/samples/sample1/BaseHOT/simple/nested/VDU1.yaml":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"2d18891699e89d86ad0a30c500d28f177a4a40be","unresolved":true,"context_lines":[{"line_number":70,"context_line":"      fixed_ips:"},{"line_number":71,"context_line":"      - subnet: { get_param: subnet}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"# CPs ofinternal VLs are deleted when extmangaedVLs and port are specified in instantiatevnfrequest"},{"line_number":74,"context_line":"  VDU1_CP3:"},{"line_number":75,"context_line":"    type: OS::Neutron::Port"},{"line_number":76,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"6269076f_54707de1","line":73,"updated":"2021-09-14 13:38:39.000000000","message":"typo: ofinternal → of internal","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"24f1bdea8744c16d2d11b89604f0d821568e095f","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      fixed_ips:"},{"line_number":71,"context_line":"      - subnet: { get_param: subnet}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"# CPs ofinternal VLs are deleted when extmangaedVLs and port are specified in instantiatevnfrequest"},{"line_number":74,"context_line":"  VDU1_CP3:"},{"line_number":75,"context_line":"    type: OS::Neutron::Port"},{"line_number":76,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"5225eae9_4742e6c2","line":73,"in_reply_to":"0d1f2728_6debeafb","updated":"2021-09-15 00:13:41.000000000","message":"Done","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"6d20d3e2e5538d4213848a4c6921230b9875e97b","unresolved":true,"context_lines":[{"line_number":70,"context_line":"      fixed_ips:"},{"line_number":71,"context_line":"      - subnet: { get_param: subnet}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"# CPs ofinternal VLs are deleted when extmangaedVLs and port are specified in instantiatevnfrequest"},{"line_number":74,"context_line":"  VDU1_CP3:"},{"line_number":75,"context_line":"    type: OS::Neutron::Port"},{"line_number":76,"context_line":"    properties:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"0d1f2728_6debeafb","line":73,"in_reply_to":"6269076f_54707de1","updated":"2021-09-14 23:36:03.000000000","message":"I will fix.","commit_id":"a5b0a106b68481dab3b44076988aecc564ac3261"}]}
