)]}'
{"api-ref/source/v1/vnflcm.inc":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":1145,"context_line":"  - 403"},{"line_number":1146,"context_line":"  - 404"},{"line_number":1147,"context_line":"  - 409"},{"line_number":1148,"context_line":"  - 500"},{"line_number":1149,"context_line":""},{"line_number":1150,"context_line":"Request Parameters"},{"line_number":1151,"context_line":"------------------"}],"source_content_type":"text/x-c++src","patch_set":2,"id":"ecac244f_09c61721","line":1148,"range":{"start_line":1148,"start_character":4,"end_line":1148,"end_character":7},"updated":"2021-03-12 10:34:15.000000000","message":"I think you need not a 500 error.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"  - 403"},{"line_number":1146,"context_line":"  - 404"},{"line_number":1147,"context_line":"  - 409"},{"line_number":1148,"context_line":"  - 500"},{"line_number":1149,"context_line":""},{"line_number":1150,"context_line":"Request Parameters"},{"line_number":1151,"context_line":"------------------"}],"source_content_type":"text/x-c++src","patch_set":2,"id":"26c047d1_a4c87add","line":1148,"range":{"start_line":1148,"start_character":4,"end_line":1148,"end_character":7},"in_reply_to":"027ae2a0_9971655f","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1145,"context_line":"  - 403"},{"line_number":1146,"context_line":"  - 404"},{"line_number":1147,"context_line":"  - 409"},{"line_number":1148,"context_line":"  - 500"},{"line_number":1149,"context_line":""},{"line_number":1150,"context_line":"Request Parameters"},{"line_number":1151,"context_line":"------------------"}],"source_content_type":"text/x-c++src","patch_set":2,"id":"027ae2a0_9971655f","line":1148,"range":{"start_line":1148,"start_character":4,"end_line":1148,"end_character":7},"in_reply_to":"ecac244f_09c61721","updated":"2021-03-17 08:49:13.000000000","message":"\u003e I think you need not a 500 error.\n\nRemoved 500 error for Retry in vnflcm.inc file.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1b1884d8b9357c2828377e7475c734e06f0e2fdb","unresolved":true,"context_lines":[{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":".. rest_method::  POST /vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry"},{"line_number":1127,"context_line":""},{"line_number":1128,"context_line":"The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e."},{"line_number":1129,"context_line":"the related \"Individual VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state."},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"In case of success of processing the asynchronous request, the \"operationState\" attribute in the representation of the"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"9dc3c3f5_a0a76e6e","line":1128,"updated":"2021-03-23 13:37:36.000000000","message":"This file is a part of rst docs, so please follow style guides. The number of chars per line in this case.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":".. rest_method::  POST /vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry"},{"line_number":1127,"context_line":""},{"line_number":1128,"context_line":"The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e."},{"line_number":1129,"context_line":"the related \"Individual VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state."},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"In case of success of processing the asynchronous request, the \"operationState\" attribute in the representation of the"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"eb37956d_154f574b","line":1128,"in_reply_to":"9dc3c3f5_a0a76e6e","updated":"2021-03-24 12:32:19.000000000","message":"\u003e This file is a part of rst docs, so please follow style guides. The number of chars per line in this case.\n\nAdded new line.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"53e0a38d206de02c38158b4bae6378ccf2c7fb12","unresolved":false,"context_lines":[{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":".. rest_method::  POST /vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry"},{"line_number":1127,"context_line":""},{"line_number":1128,"context_line":"The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e."},{"line_number":1129,"context_line":"the related \"Individual VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state."},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"In case of success of processing the asynchronous request, the \"operationState\" attribute in the representation of the"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"8424300e_af146610","line":1128,"in_reply_to":"eb37956d_154f574b","updated":"2021-03-25 06:13:34.000000000","message":"Done","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1b1884d8b9357c2828377e7475c734e06f0e2fdb","unresolved":true,"context_lines":[{"line_number":1128,"context_line":"The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e."},{"line_number":1129,"context_line":"the related \"Individual VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state."},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"In case of success of processing the asynchronous request, the \"operationState\" attribute in the representation of the"},{"line_number":1132,"context_line":"parent resource shall be changed to \"PROCESSING\" and the applicable \"start\" notification"},{"line_number":1133,"context_line":"shall be emitted to indicate that the underlying VNF LCM operation occurrence proceeds."},{"line_number":1134,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":9,"id":"11027a14_2de0d71e","line":1131,"updated":"2021-03-23 13:37:36.000000000","message":"ditto","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":1128,"context_line":"The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e."},{"line_number":1129,"context_line":"the related \"Individual VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state."},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"In case of success of processing the asynchronous request, the \"operationState\" attribute in the representation of the"},{"line_number":1132,"context_line":"parent resource shall be changed to \"PROCESSING\" and the applicable \"start\" notification"},{"line_number":1133,"context_line":"shall be emitted to indicate that the underlying VNF LCM operation occurrence proceeds."},{"line_number":1134,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":9,"id":"14b93518_8dc7187c","line":1131,"in_reply_to":"11027a14_2de0d71e","updated":"2021-03-24 12:32:19.000000000","message":"\u003e ditto\n\nSame answer as Line 1128","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"53e0a38d206de02c38158b4bae6378ccf2c7fb12","unresolved":false,"context_lines":[{"line_number":1128,"context_line":"The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e."},{"line_number":1129,"context_line":"the related \"Individual VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state."},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"In case of success of processing the asynchronous request, the \"operationState\" attribute in the representation of the"},{"line_number":1132,"context_line":"parent resource shall be changed to \"PROCESSING\" and the applicable \"start\" notification"},{"line_number":1133,"context_line":"shall be emitted to indicate that the underlying VNF LCM operation occurrence proceeds."},{"line_number":1134,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":9,"id":"611f7cff_59578148","line":1131,"in_reply_to":"14b93518_8dc7187c","updated":"2021-03-25 06:13:34.000000000","message":"Done","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"}],"tacker/api/vnflcm/v1/controller.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"d2f7a7ae4da5e714b51f1ca887873be962a58607","unresolved":true,"context_lines":[{"line_number":132,"context_line":"    it will raise conflict exception."},{"line_number":133,"context_line":"    \"\"\""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    if status is not None and not \\"},{"line_number":136,"context_line":"            isinstance(status, set):"},{"line_number":137,"context_line":"        status \u003d set(status)"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9c1a1f3c_c15a8eed","line":135,"range":{"start_line":135,"start_character":7,"end_line":135,"end_character":25},"updated":"2021-03-14 18:56:37.000000000","message":"Is it required if you check it in `inner` function?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":132,"context_line":"    it will raise conflict exception."},{"line_number":133,"context_line":"    \"\"\""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    if status is not None and not \\"},{"line_number":136,"context_line":"            isinstance(status, set):"},{"line_number":137,"context_line":"        status \u003d set(status)"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"73f59572_d38ebf79","line":135,"range":{"start_line":135,"start_character":7,"end_line":135,"end_character":25},"in_reply_to":"9c1a1f3c_c15a8eed","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Is it required if you check it in `inner` function?\n\nYes, `status is not None` checking in line 135 is necessary because `set(status)` inside the condition raises an error if status is NoneType because of `not isinstance(status, set)`. So it\u0027s possible that line 147 `status is not None` will be called again\nScenario 1:\n  status \u003d None\n  Process:\n  1. Skip line 135 and execute line 147 but it will raise an error 409","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"d2f7a7ae4da5e714b51f1ca887873be962a58607","unresolved":true,"context_lines":[{"line_number":132,"context_line":"    it will raise conflict exception."},{"line_number":133,"context_line":"    \"\"\""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    if status is not None and not \\"},{"line_number":136,"context_line":"            isinstance(status, set):"},{"line_number":137,"context_line":"        status \u003d set(status)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def outer(f):"}],"source_content_type":"text/x-python","patch_set":2,"id":"d2352ff4_bfcbfd75","line":136,"range":{"start_line":135,"start_character":34,"end_line":136,"end_character":36},"updated":"2021-03-14 18:56:37.000000000","message":"No need to use backslash.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":132,"context_line":"    it will raise conflict exception."},{"line_number":133,"context_line":"    \"\"\""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    if status is not None and not \\"},{"line_number":136,"context_line":"            isinstance(status, set):"},{"line_number":137,"context_line":"        status \u003d set(status)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def outer(f):"}],"source_content_type":"text/x-python","patch_set":2,"id":"77c6824d_4f47fd88","line":136,"range":{"start_line":135,"start_character":34,"end_line":136,"end_character":36},"in_reply_to":"d2352ff4_bfcbfd75","updated":"2021-03-17 08:49:13.000000000","message":"\u003e No need to use backslash.\n\nRemoved backslash","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5054c51619af37877fbb5cd481d46cbba76cb0b2","unresolved":true,"context_lines":[{"line_number":139,"context_line":"    def outer(f):"},{"line_number":140,"context_line":"        @functools.wraps(f)"},{"line_number":141,"context_line":"        def inner(self, context, vnf_instance, vnf, *args, **kw):"},{"line_number":142,"context_line":"            error_point \u003d 0"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"            vnf[\u0027current_error_point\u0027] \u003d error_point"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"2e8b7c8f_1192388e","line":142,"updated":"2021-03-15 04:44:53.000000000","message":"The relationship between error_point, vnf[\u0027current_error_point\u0027] and vnf[\u0027before_error_point\u0027] is difficult to understand.\nIf you refactor it as follows, error_point will be unnecessary.\n\n---\n            vnf[\u0027current_error_point\u0027] \u003d 0\n\n            if \u0027before_error_point\u0027 not in vnf:\n                vnf[\u0027before_error_point\u0027] \u003d 0\n\n            if status is not None and \\\n                    vnf[\u0027status\u0027] not in \\\n                    status and vnf[\u0027before_error_point\u0027] \u003d\u003d 0:\n                raise exceptions.VnfConflictStateWithErrorPoint(\n                    attr\u003d\u0027status\u0027,\n                    uuid\u003dvnf[\u0027id\u0027],\n                    state\u003dvnf[\u0027status\u0027],\n                    action\u003daction,\n                    error_point\u003dvnf[\u0027before_error_point\u0027])","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":139,"context_line":"    def outer(f):"},{"line_number":140,"context_line":"        @functools.wraps(f)"},{"line_number":141,"context_line":"        def inner(self, context, vnf_instance, vnf, *args, **kw):"},{"line_number":142,"context_line":"            error_point \u003d 0"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"            vnf[\u0027current_error_point\u0027] \u003d error_point"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"c938a911_55c6ae11","line":142,"in_reply_to":"1358e95d_9d53030f","updated":"2021-03-23 06:21:23.000000000","message":"\u003e I think you don\u0027t need \u0027initial_error_point\u0027, just use \u0027fields.ErrorPoint.INITIAL\u0027 directly.\n\nRemoved \u0027initial_error_point\u0027 and use the \u0027fields.ErrorPoint.INITIAL\u0027 directly","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":139,"context_line":"    def outer(f):"},{"line_number":140,"context_line":"        @functools.wraps(f)"},{"line_number":141,"context_line":"        def inner(self, context, vnf_instance, vnf, *args, **kw):"},{"line_number":142,"context_line":"            error_point \u003d 0"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"            vnf[\u0027current_error_point\u0027] \u003d error_point"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf6de300_62976cf5","line":142,"in_reply_to":"2e8b7c8f_1192388e","updated":"2021-03-17 08:49:13.000000000","message":"\u003e The relationship between error_point, vnf[\u0027current_error_point\u0027] and vnf[\u0027before_error_point\u0027] is difficult to understand.\n\u003e If you refactor it as follows, error_point will be unnecessary.\n\u003e \n\u003e ---\n\u003e             vnf[\u0027current_error_point\u0027] \u003d 0\n\u003e \n\u003e             if \u0027before_error_point\u0027 not in vnf:\n\u003e                 vnf[\u0027before_error_point\u0027] \u003d 0\n\u003e \n\u003e             if status is not None and \\\n\u003e                     vnf[\u0027status\u0027] not in \\\n\u003e                     status and vnf[\u0027before_error_point\u0027] \u003d\u003d 0:\n\u003e                 raise exceptions.VnfConflictStateWithErrorPoint(\n\u003e                     attr\u003d\u0027status\u0027,\n\u003e                     uuid\u003dvnf[\u0027id\u0027],\n\u003e                     state\u003dvnf[\u0027status\u0027],\n\u003e                     action\u003daction,\n\u003e                     error_point\u003dvnf[\u0027before_error_point\u0027])\n\nApplied the fix as suggested.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":true,"context_lines":[{"line_number":139,"context_line":"    def outer(f):"},{"line_number":140,"context_line":"        @functools.wraps(f)"},{"line_number":141,"context_line":"        def inner(self, context, vnf_instance, vnf, *args, **kw):"},{"line_number":142,"context_line":"            error_point \u003d 0"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"            vnf[\u0027current_error_point\u0027] \u003d error_point"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1358e95d_9d53030f","line":142,"in_reply_to":"bf6de300_62976cf5","updated":"2021-03-18 07:42:16.000000000","message":"I think you don\u0027t need \u0027initial_error_point\u0027, just use \u0027fields.ErrorPoint.INITIAL\u0027 directly.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"339a21aaf24aea812b995c6999bf5b64839fe752","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    def outer(f):"},{"line_number":140,"context_line":"        @functools.wraps(f)"},{"line_number":141,"context_line":"        def inner(self, context, vnf_instance, vnf, *args, **kw):"},{"line_number":142,"context_line":"            error_point \u003d 0"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"            vnf[\u0027current_error_point\u0027] \u003d error_point"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"67beae0e_3982712a","line":142,"in_reply_to":"c938a911_55c6ae11","updated":"2021-03-24 06:17:23.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"d2f7a7ae4da5e714b51f1ca887873be962a58607","unresolved":true,"context_lines":[{"line_number":149,"context_line":"                vnf[\u0027before_error_point\u0027] \u003d error_point"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"            if status is not None and \\"},{"line_number":152,"context_line":"                    vnf[\u0027status\u0027] not in \\"},{"line_number":153,"context_line":"                    status and error_point \u003d\u003d 0:"},{"line_number":154,"context_line":"                raise exceptions.VnfConflictStateWithErrorPoint("},{"line_number":155,"context_line":"                    attr\u003d\u0027status\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"945dd6ac_d0331d9c","line":152,"range":{"start_line":152,"start_character":41,"end_line":152,"end_character":42},"updated":"2021-03-14 18:56:37.000000000","message":"No need.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":149,"context_line":"                vnf[\u0027before_error_point\u0027] \u003d error_point"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"            if status is not None and \\"},{"line_number":152,"context_line":"                    vnf[\u0027status\u0027] not in \\"},{"line_number":153,"context_line":"                    status and error_point \u003d\u003d 0:"},{"line_number":154,"context_line":"                raise exceptions.VnfConflictStateWithErrorPoint("},{"line_number":155,"context_line":"                    attr\u003d\u0027status\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"32e95b50_85079b71","line":152,"range":{"start_line":152,"start_character":41,"end_line":152,"end_character":42},"in_reply_to":"945dd6ac_d0331d9c","updated":"2021-03-17 08:49:13.000000000","message":"\u003e No need.\n\nDue to the modifications done for the following comment (below). This comment becomes irrelevant: https://review.opendev.org/c/openstack/tacker/+/778948/2/tacker/api/vnflcm/v1/controller.py#142\n\nThe relationship between error_point, vnf[\u0027current_error_point\u0027] and vnf[\u0027before_error_point\u0027] is difficult to understand. If you refactor it as follows, error_point will be unnecessary. ---\n\nvnf[\u0027current_error_point\u0027] \u003d 0 if \u0027before_error_point\u0027 not in vnf: vnf[\u0027before_error_point\u0027] \u003d 0 if status is not None and \\ vnf[\u0027status\u0027] not in \\ status and vnf[\u0027before_error_point\u0027] \u003d\u003d 0: raise exceptions.VnfConflictStateWithErrorPoint( attr\u003d\u0027status\u0027, uuid\u003dvnf[\u0027id\u0027], state\u003dvnf[\u0027status\u0027], action\u003daction, error_point\u003dvnf[\u0027before_error_point\u0027])","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5054c51619af37877fbb5cd481d46cbba76cb0b2","unresolved":true,"context_lines":[{"line_number":152,"context_line":"                    vnf[\u0027status\u0027] not in \\"},{"line_number":153,"context_line":"                    status and error_point \u003d\u003d 0:"},{"line_number":154,"context_line":"                raise exceptions.VnfConflictStateWithErrorPoint("},{"line_number":155,"context_line":"                    attr\u003d\u0027status\u0027,"},{"line_number":156,"context_line":"                    uuid\u003dvnf[\u0027id\u0027],"},{"line_number":157,"context_line":"                    state\u003dvnf[\u0027status\u0027],"},{"line_number":158,"context_line":"                    action\u003daction,"}],"source_content_type":"text/x-python","patch_set":2,"id":"729c6994_c5ba5822","line":155,"range":{"start_line":155,"start_character":20,"end_line":155,"end_character":33},"updated":"2021-03-15 04:44:53.000000000","message":"This argument seems to be a fixed value, so I think it\u0027s better to modify it so that it is not passed as an argument.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                    vnf[\u0027status\u0027] not in \\"},{"line_number":153,"context_line":"                    status and error_point \u003d\u003d 0:"},{"line_number":154,"context_line":"                raise exceptions.VnfConflictStateWithErrorPoint("},{"line_number":155,"context_line":"                    attr\u003d\u0027status\u0027,"},{"line_number":156,"context_line":"                    uuid\u003dvnf[\u0027id\u0027],"},{"line_number":157,"context_line":"                    state\u003dvnf[\u0027status\u0027],"},{"line_number":158,"context_line":"                    action\u003daction,"}],"source_content_type":"text/x-python","patch_set":2,"id":"b8cb7e33_48d29301","line":155,"range":{"start_line":155,"start_character":20,"end_line":155,"end_character":33},"in_reply_to":"43a47dd2_b49088eb","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":152,"context_line":"                    vnf[\u0027status\u0027] not in \\"},{"line_number":153,"context_line":"                    status and error_point \u003d\u003d 0:"},{"line_number":154,"context_line":"                raise exceptions.VnfConflictStateWithErrorPoint("},{"line_number":155,"context_line":"                    attr\u003d\u0027status\u0027,"},{"line_number":156,"context_line":"                    uuid\u003dvnf[\u0027id\u0027],"},{"line_number":157,"context_line":"                    state\u003dvnf[\u0027status\u0027],"},{"line_number":158,"context_line":"                    action\u003daction,"}],"source_content_type":"text/x-python","patch_set":2,"id":"43a47dd2_b49088eb","line":155,"range":{"start_line":155,"start_character":20,"end_line":155,"end_character":33},"in_reply_to":"729c6994_c5ba5822","updated":"2021-03-17 08:49:13.000000000","message":"\u003e This argument seems to be a fixed value, so I think it\u0027s better to modify it so that it is not passed as an argument.\n\nModified as suggested.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":633,"context_line":"        vnf_instance.save()"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"        # lcm op process"},{"line_number":636,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":637,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":638,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":639,"context_line":"                            fields.LcmOccsOperationType.INSTANTIATE,"},{"line_number":640,"context_line":"                            instantiate_vnf_request, request_body)"},{"line_number":641,"context_line":"        self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":642,"context_line":"                                 instantiate_vnf_request, vnf_lcm_op_occs_id)"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b6b82f5a_02f4a96d","line":640,"range":{"start_line":636,"start_character":8,"end_line":640,"end_character":66},"updated":"2021-03-12 10:34:15.000000000","message":"If it does not enter the if branch of L616 and does not enter this if branch, I think that \u0027vnf_lcm_op_occs_id\u0027 will not be initialized.\nPlease re-concider the if branch for \u0027vnf_lcm_op_occs_id\u0027.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":true,"context_lines":[{"line_number":633,"context_line":"        vnf_instance.save()"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"        # lcm op process"},{"line_number":636,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":637,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":638,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":639,"context_line":"                            fields.LcmOccsOperationType.INSTANTIATE,"},{"line_number":640,"context_line":"                            instantiate_vnf_request, request_body)"},{"line_number":641,"context_line":"        self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":642,"context_line":"                                 instantiate_vnf_request, vnf_lcm_op_occs_id)"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"36df7f1f_6c258fd0","line":640,"range":{"start_line":636,"start_character":8,"end_line":640,"end_character":66},"in_reply_to":"0ac56533_b3ce609a","updated":"2021-03-18 07:42:16.000000000","message":"Itsuro Oda also commented on Patchset3, but I think it is inappropriate that there may be uninitialization when considering this\u0027_instantiate\u0027function alone.\nI think you should initialize vnf_lcm_op_occs_id or check if vnf_lcm_op_occs_id is defined when you run self.rpc_api.instantiate ().","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":633,"context_line":"        vnf_instance.save()"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"        # lcm op process"},{"line_number":636,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":637,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":638,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":639,"context_line":"                            fields.LcmOccsOperationType.INSTANTIATE,"},{"line_number":640,"context_line":"                            instantiate_vnf_request, request_body)"},{"line_number":641,"context_line":"        self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":642,"context_line":"                                 instantiate_vnf_request, vnf_lcm_op_occs_id)"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"49d764e1_3a34218d","line":640,"range":{"start_line":636,"start_character":8,"end_line":640,"end_character":66},"in_reply_to":"36df7f1f_6c258fd0","updated":"2021-03-23 06:21:23.000000000","message":"\u003e Itsuro Oda also commented on Patchset3, but I think it is inappropriate that there may be uninitialization when considering this\u0027_instantiate\u0027function alone.\n\u003e I think you should initialize vnf_lcm_op_occs_id or check if vnf_lcm_op_occs_id is defined when you run self.rpc_api.instantiate ().\n\nModified code below to initialize vnf_lcm_op_occs_id and add checking before calling rpc:\nBefore:\nif \u0027vnf_lcm_op_occs_id\u0027 in vnf:\n           vnf_lcm_op_occs_id \u003d vnf[\u0027vnf_lcm_op_occs_id\u0027]\n\nAfter:\nvnf_lcm_op_occs_id \u003d vnf.get(\u0027vnf_lcm_op_occs_id\u0027)\n\nChecker:\n        if vnf_lcm_op_occs_id:\n            self.rpc_api call","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"3449b8e54ed116c417bd9276446f62c8b74aa8a7","unresolved":false,"context_lines":[{"line_number":633,"context_line":"        vnf_instance.save()"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"        # lcm op process"},{"line_number":636,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":637,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":638,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":639,"context_line":"                            fields.LcmOccsOperationType.INSTANTIATE,"},{"line_number":640,"context_line":"                            instantiate_vnf_request, request_body)"},{"line_number":641,"context_line":"        self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":642,"context_line":"                                 instantiate_vnf_request, vnf_lcm_op_occs_id)"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dce2c364_79f28e6c","line":640,"range":{"start_line":636,"start_character":8,"end_line":640,"end_character":66},"in_reply_to":"49d764e1_3a34218d","updated":"2021-03-25 08:23:26.000000000","message":"Done","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":633,"context_line":"        vnf_instance.save()"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"        # lcm op process"},{"line_number":636,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":637,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":638,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":639,"context_line":"                            fields.LcmOccsOperationType.INSTANTIATE,"},{"line_number":640,"context_line":"                            instantiate_vnf_request, request_body)"},{"line_number":641,"context_line":"        self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":642,"context_line":"                                 instantiate_vnf_request, vnf_lcm_op_occs_id)"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"0ac56533_b3ce609a","line":640,"range":{"start_line":636,"start_character":8,"end_line":640,"end_character":66},"in_reply_to":"b6b82f5a_02f4a96d","updated":"2021-03-17 08:49:13.000000000","message":"\u003e If it does not enter the if branch of L616 and does not enter this if branch, I think that \u0027vnf_lcm_op_occs_id\u0027 will not be initialized.\n\u003e Please re-concider the if branch for \u0027vnf_lcm_op_occs_id\u0027.\n\nBased on investigation, there\u0027s no instance that it will not enter the if branch in L616. the method is expected to have an \u0027vnf_lcm_op_occs_id\u0027 from its parameter \u0027vnf\u0027.\nScenario:\n 1. L616 will always be processed if it\u0027s retry LCM\n 2. L636 will be processed depends on the before_error_point even if it\u0027s retry or normal case(Heal, Insta \u0026 Termi)","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":674,"context_line":"            vnf_lcm_op_occs_id \u003d vnf[\u0027vnf_lcm_op_occs_id\u0027]"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        # lcm op process"},{"line_number":677,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":678,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":679,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":680,"context_line":"                                        fields.LcmOccsOperationType.TERMINATE,"},{"line_number":681,"context_line":"                                        terminate_vnf_req, request_body)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        self.rpc_api.terminate(context, vnf_instance, vnf,"},{"line_number":684,"context_line":"                               terminate_vnf_req, vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"34c524c5_bd780c7b","line":681,"range":{"start_line":677,"start_character":8,"end_line":681,"end_character":72},"updated":"2021-03-12 10:34:15.000000000","message":"Please re-concider the if branch for \u0027vnf_lcm_op_occs_id\u0027, just like \u0027_instantiate\u0027 method.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":674,"context_line":"            vnf_lcm_op_occs_id \u003d vnf[\u0027vnf_lcm_op_occs_id\u0027]"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        # lcm op process"},{"line_number":677,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":678,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":679,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":680,"context_line":"                                        fields.LcmOccsOperationType.TERMINATE,"},{"line_number":681,"context_line":"                                        terminate_vnf_req, request_body)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        self.rpc_api.terminate(context, vnf_instance, vnf,"},{"line_number":684,"context_line":"                               terminate_vnf_req, vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"839f03d3_38b72b7d","line":681,"range":{"start_line":677,"start_character":8,"end_line":681,"end_character":72},"in_reply_to":"34c524c5_bd780c7b","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Please re-concider the if branch for \u0027vnf_lcm_op_occs_id\u0027, just like \u0027_instantiate\u0027 method.\n\nBased on investigation, there\u0027s no instance that it will not enter the if branch in L673. the method is expected to have an \u0027vnf_lcm_op_occs_id\u0027 from its parameter \u0027vnf\u0027.\nScenario:\n 1. L673 will always be processed if it\u0027s retry LCM\n 2. L677 will be processed depends on the before_error_point even if it\u0027s retry or normal case(Heal, Insta \u0026 Termi)","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"3449b8e54ed116c417bd9276446f62c8b74aa8a7","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            vnf_lcm_op_occs_id \u003d vnf[\u0027vnf_lcm_op_occs_id\u0027]"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        # lcm op process"},{"line_number":677,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":678,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":679,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":680,"context_line":"                                        fields.LcmOccsOperationType.TERMINATE,"},{"line_number":681,"context_line":"                                        terminate_vnf_req, request_body)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        self.rpc_api.terminate(context, vnf_instance, vnf,"},{"line_number":684,"context_line":"                               terminate_vnf_req, vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"aec2cc49_33a24f3c","line":681,"range":{"start_line":677,"start_character":8,"end_line":681,"end_character":72},"in_reply_to":"7b0b5e57_d1c63262","updated":"2021-03-25 08:23:26.000000000","message":"Done","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":true,"context_lines":[{"line_number":674,"context_line":"            vnf_lcm_op_occs_id \u003d vnf[\u0027vnf_lcm_op_occs_id\u0027]"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        # lcm op process"},{"line_number":677,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":678,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":679,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":680,"context_line":"                                        fields.LcmOccsOperationType.TERMINATE,"},{"line_number":681,"context_line":"                                        terminate_vnf_req, request_body)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        self.rpc_api.terminate(context, vnf_instance, vnf,"},{"line_number":684,"context_line":"                               terminate_vnf_req, vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"83ff0fa8_9d1058a1","line":681,"range":{"start_line":677,"start_character":8,"end_line":681,"end_character":72},"in_reply_to":"839f03d3_38b72b7d","updated":"2021-03-18 07:42:16.000000000","message":"Same as L636.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":674,"context_line":"            vnf_lcm_op_occs_id \u003d vnf[\u0027vnf_lcm_op_occs_id\u0027]"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        # lcm op process"},{"line_number":677,"context_line":"        if vnf[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":678,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":679,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":680,"context_line":"                                        fields.LcmOccsOperationType.TERMINATE,"},{"line_number":681,"context_line":"                                        terminate_vnf_req, request_body)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        self.rpc_api.terminate(context, vnf_instance, vnf,"},{"line_number":684,"context_line":"                               terminate_vnf_req, vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7b0b5e57_d1c63262","line":681,"range":{"start_line":677,"start_character":8,"end_line":681,"end_character":72},"in_reply_to":"83ff0fa8_9d1058a1","updated":"2021-03-23 06:21:23.000000000","message":"\u003e Same as L636.\n\nsame as the answer given at the same comment in L636.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":724,"context_line":"        vnf_instance.save()"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        # call notification process"},{"line_number":727,"context_line":"        if vnf_dict[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":728,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":729,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":730,"context_line":"                                        fields.LcmOccsOperationType.HEAL,"},{"line_number":731,"context_line":"                                        heal_vnf_request, request_body)"},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"        self.rpc_api.heal(context, vnf_instance, vnf_dict, heal_vnf_request,"},{"line_number":734,"context_line":"                          vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"e6ca3386_592abc22","line":731,"range":{"start_line":727,"start_character":8,"end_line":731,"end_character":71},"updated":"2021-03-12 10:34:15.000000000","message":"ditto","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":true,"context_lines":[{"line_number":724,"context_line":"        vnf_instance.save()"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        # call notification process"},{"line_number":727,"context_line":"        if vnf_dict[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":728,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":729,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":730,"context_line":"                                        fields.LcmOccsOperationType.HEAL,"},{"line_number":731,"context_line":"                                        heal_vnf_request, request_body)"},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"        self.rpc_api.heal(context, vnf_instance, vnf_dict, heal_vnf_request,"},{"line_number":734,"context_line":"                          vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d9e45bb4_beafcbf3","line":731,"range":{"start_line":727,"start_character":8,"end_line":731,"end_character":71},"in_reply_to":"4b22d79c_cd682caf","updated":"2021-03-18 07:42:16.000000000","message":"Same as L636.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"3449b8e54ed116c417bd9276446f62c8b74aa8a7","unresolved":false,"context_lines":[{"line_number":724,"context_line":"        vnf_instance.save()"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        # call notification process"},{"line_number":727,"context_line":"        if vnf_dict[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":728,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":729,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":730,"context_line":"                                        fields.LcmOccsOperationType.HEAL,"},{"line_number":731,"context_line":"                                        heal_vnf_request, request_body)"},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"        self.rpc_api.heal(context, vnf_instance, vnf_dict, heal_vnf_request,"},{"line_number":734,"context_line":"                          vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"6ccb85cd_39a12ce5","line":731,"range":{"start_line":727,"start_character":8,"end_line":731,"end_character":71},"in_reply_to":"5d872cc8_9a7a8428","updated":"2021-03-25 08:23:26.000000000","message":"Done","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":724,"context_line":"        vnf_instance.save()"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        # call notification process"},{"line_number":727,"context_line":"        if vnf_dict[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":728,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":729,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":730,"context_line":"                                        fields.LcmOccsOperationType.HEAL,"},{"line_number":731,"context_line":"                                        heal_vnf_request, request_body)"},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"        self.rpc_api.heal(context, vnf_instance, vnf_dict, heal_vnf_request,"},{"line_number":734,"context_line":"                          vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5d872cc8_9a7a8428","line":731,"range":{"start_line":727,"start_character":8,"end_line":731,"end_character":71},"in_reply_to":"d9e45bb4_beafcbf3","updated":"2021-03-23 06:21:23.000000000","message":"\u003e Same as L636.\n\nsame as the answer given at the same comment in L636.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":724,"context_line":"        vnf_instance.save()"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        # call notification process"},{"line_number":727,"context_line":"        if vnf_dict[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":728,"context_line":"            vnf_lcm_op_occs_id \u003d \\"},{"line_number":729,"context_line":"                self._notification_process(context, vnf_instance,"},{"line_number":730,"context_line":"                                        fields.LcmOccsOperationType.HEAL,"},{"line_number":731,"context_line":"                                        heal_vnf_request, request_body)"},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"        self.rpc_api.heal(context, vnf_instance, vnf_dict, heal_vnf_request,"},{"line_number":734,"context_line":"                          vnf_lcm_op_occs_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4b22d79c_cd682caf","line":731,"range":{"start_line":727,"start_character":8,"end_line":731,"end_character":71},"in_reply_to":"e6ca3386_592abc22","updated":"2021-03-17 08:49:13.000000000","message":"\u003e ditto\n\nsame answer to above.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":1052,"context_line":""},{"line_number":1053,"context_line":"    @check_vnf_status_and_error_point(action\u003d\"scale\","},{"line_number":1054,"context_line":"        status\u003d[constants.ACTIVE])"},{"line_number":1055,"context_line":"    def _scale(self, context, vnf_instance, vnf_info, request_body):"},{"line_number":1056,"context_line":"        req_body \u003d utils.convert_camelcase_to_snakecase(request_body)"},{"line_number":1057,"context_line":"        scale_vnf_request \u003d objects.ScaleVnfRequest.obj_from_primitive("},{"line_number":1058,"context_line":"            req_body, context\u003dcontext)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c81ea876_d36941f2","line":1055,"range":{"start_line":1055,"start_character":30,"end_line":1055,"end_character":52},"updated":"2021-03-12 10:34:15.000000000","message":"Why are you changing the order of these arguments?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1052,"context_line":""},{"line_number":1053,"context_line":"    @check_vnf_status_and_error_point(action\u003d\"scale\","},{"line_number":1054,"context_line":"        status\u003d[constants.ACTIVE])"},{"line_number":1055,"context_line":"    def _scale(self, context, vnf_instance, vnf_info, request_body):"},{"line_number":1056,"context_line":"        req_body \u003d utils.convert_camelcase_to_snakecase(request_body)"},{"line_number":1057,"context_line":"        scale_vnf_request \u003d objects.ScaleVnfRequest.obj_from_primitive("},{"line_number":1058,"context_line":"            req_body, context\u003dcontext)"}],"source_content_type":"text/x-python","patch_set":2,"id":"e3e94e60_69a2680c","line":1055,"range":{"start_line":1055,"start_character":30,"end_line":1055,"end_character":52},"in_reply_to":"c81ea876_d36941f2","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Why are you changing the order of these arguments?\n\nBased on investigation check_vnf_status_and_error_point was used as a decorator for _scale method (code snippet below for reference)\n \ndef check_vnf_status_and_error_point(action, status\u003dNone):\n...\n    def outer(f):\n        @functools.wraps(f)\n        def inner(self, context, vnf_instance, vnf, *args, **kw):\n            initial_error_point \u003d constants.ERR_PT_INITIAL\n            vnf[\u0027current_error_point\u0027] \u003d initial_error_point\n \n            if \u0027before_error_point\u0027 not in vnf:\n                vnf[\u0027before_error_point\u0027] \u003d initial_error_point\n \n            if status is not None and vnf[\u0027status\u0027] not in status and \\\n                    vnf[\u0027before_error_point\u0027] \u003d\u003d initial_error_point:\n                raise exceptions.VnfConflictStateWithErrorPoint(\n                    uuid\u003dvnf[\u0027id\u0027],\n                    state\u003dvnf[\u0027status\u0027],\n                    action\u003daction,\n                    error_point\u003dvnf[\u0027before_error_point\u0027])\n            return f(self, context, vnf_instance, vnf, *args, **kw)\n...\n \nthus it was used as the basis of the sequence of parameters","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":1052,"context_line":""},{"line_number":1053,"context_line":"    @check_vnf_status_and_error_point(action\u003d\"scale\","},{"line_number":1054,"context_line":"        status\u003d[constants.ACTIVE])"},{"line_number":1055,"context_line":"    def _scale(self, context, vnf_instance, vnf_info, request_body):"},{"line_number":1056,"context_line":"        req_body \u003d utils.convert_camelcase_to_snakecase(request_body)"},{"line_number":1057,"context_line":"        scale_vnf_request \u003d objects.ScaleVnfRequest.obj_from_primitive("},{"line_number":1058,"context_line":"            req_body, context\u003dcontext)"}],"source_content_type":"text/x-python","patch_set":2,"id":"75c1105d_def5aae5","line":1055,"range":{"start_line":1055,"start_character":30,"end_line":1055,"end_character":52},"in_reply_to":"e3e94e60_69a2680c","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5054c51619af37877fbb5cd481d46cbba76cb0b2","unresolved":true,"context_lines":[{"line_number":1171,"context_line":"        notification[\u0027_links\u0027][\u0027vnfLcmOpOcc\u0027][\u0027href\u0027] \u003d vnflcm_url"},{"line_number":1172,"context_line":"        vnf_info[\u0027notification\u0027] \u003d notification"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        if vnf_info[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":1175,"context_line":"            self.rpc_api.send_notification(context, notification)"},{"line_number":1176,"context_line":"        self.rpc_api.scale(context, vnf_info, vnf_instance, scale_vnf_request)"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3c738ba4_f2f86a5b","line":1174,"range":{"start_line":1174,"start_character":8,"end_line":1174,"end_character":46},"updated":"2021-03-15 04:44:53.000000000","message":"I think that you can include the notification-dict creation of L1157~1172 in this if branch.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1171,"context_line":"        notification[\u0027_links\u0027][\u0027vnfLcmOpOcc\u0027][\u0027href\u0027] \u003d vnflcm_url"},{"line_number":1172,"context_line":"        vnf_info[\u0027notification\u0027] \u003d notification"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        if vnf_info[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":1175,"context_line":"            self.rpc_api.send_notification(context, notification)"},{"line_number":1176,"context_line":"        self.rpc_api.scale(context, vnf_info, vnf_instance, scale_vnf_request)"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"429893fd_017ab3f4","line":1174,"range":{"start_line":1174,"start_character":8,"end_line":1174,"end_character":46},"in_reply_to":"3c738ba4_f2f86a5b","updated":"2021-03-17 08:49:13.000000000","message":"\u003e I think that you can include the notification-dict creation of L1157~1172 in this if branch.\n\nvnf_info is used after the if branch. Needs addition info if \"vnf_info[\u0027notification\u0027]\" is needed for scale operation","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"        notification[\u0027_links\u0027][\u0027vnfLcmOpOcc\u0027][\u0027href\u0027] \u003d vnflcm_url"},{"line_number":1172,"context_line":"        vnf_info[\u0027notification\u0027] \u003d notification"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        if vnf_info[\u0027before_error_point\u0027] \u003d\u003d 0:"},{"line_number":1175,"context_line":"            self.rpc_api.send_notification(context, notification)"},{"line_number":1176,"context_line":"        self.rpc_api.scale(context, vnf_info, vnf_instance, scale_vnf_request)"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"65933ba0_eebe6d43","line":1174,"range":{"start_line":1174,"start_character":8,"end_line":1174,"end_character":46},"in_reply_to":"429893fd_017ab3f4","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5054c51619af37877fbb5cd481d46cbba76cb0b2","unresolved":true,"context_lines":[{"line_number":1177,"context_line":""},{"line_number":1178,"context_line":"        res \u003d webob.Response()"},{"line_number":1179,"context_line":"        res.status_int \u003d 202"},{"line_number":1180,"context_line":"        if is_vnf_lcm_op_occ_created:"},{"line_number":1181,"context_line":"            location \u003d (\u0027Location\u0027, vnflcm_url)"},{"line_number":1182,"context_line":"            res.headerlist.append(location)"},{"line_number":1183,"context_line":"        return res"}],"source_content_type":"text/x-python","patch_set":2,"id":"a9afa989_e9694412","line":1180,"range":{"start_line":1180,"start_character":8,"end_line":1180,"end_character":36},"updated":"2021-03-15 04:44:53.000000000","message":"Do you need this if branch?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":1177,"context_line":""},{"line_number":1178,"context_line":"        res \u003d webob.Response()"},{"line_number":1179,"context_line":"        res.status_int \u003d 202"},{"line_number":1180,"context_line":"        if is_vnf_lcm_op_occ_created:"},{"line_number":1181,"context_line":"            location \u003d (\u0027Location\u0027, vnflcm_url)"},{"line_number":1182,"context_line":"            res.headerlist.append(location)"},{"line_number":1183,"context_line":"        return res"}],"source_content_type":"text/x-python","patch_set":2,"id":"50c2eac2_c91b2a62","line":1180,"range":{"start_line":1180,"start_character":8,"end_line":1180,"end_character":36},"in_reply_to":"a6c00e42_7253ac4d","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1177,"context_line":""},{"line_number":1178,"context_line":"        res \u003d webob.Response()"},{"line_number":1179,"context_line":"        res.status_int \u003d 202"},{"line_number":1180,"context_line":"        if is_vnf_lcm_op_occ_created:"},{"line_number":1181,"context_line":"            location \u003d (\u0027Location\u0027, vnflcm_url)"},{"line_number":1182,"context_line":"            res.headerlist.append(location)"},{"line_number":1183,"context_line":"        return res"}],"source_content_type":"text/x-python","patch_set":2,"id":"a6c00e42_7253ac4d","line":1180,"range":{"start_line":1180,"start_character":8,"end_line":1180,"end_character":36},"in_reply_to":"a9afa989_e9694412","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Do you need this if branch?\n\nNo, because based on the heal sequence heal and retry heal should have the same response.\nTherefore, we removed condition and variable used in if branch.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f008eef93652ee549f2b580c77dbd6a930ff860","unresolved":true,"context_lines":[{"line_number":1462,"context_line":"            self._heal(context, vnf_instance, vnf, body)"},{"line_number":1463,"context_line":"        elif operation \u003d\u003d fields.LcmOccsOperationType.SCALE:"},{"line_number":1464,"context_line":"            self._scale(context, vnf_instance, vnf, body)"},{"line_number":1465,"context_line":"        else:"},{"line_number":1466,"context_line":"            error_msg \u003d \u0027Operation type %s is inavalid\u0027 % operation"},{"line_number":1467,"context_line":"            return self._make_problem_detail(error_msg,"},{"line_number":1468,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"0ad44936_37108452","line":1465,"range":{"start_line":1465,"start_character":8,"end_line":1465,"end_character":13},"updated":"2021-03-15 09:43:51.000000000","message":"I think it\u0027s better to add a unittest that goes into this else branch.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1462,"context_line":"            self._heal(context, vnf_instance, vnf, body)"},{"line_number":1463,"context_line":"        elif operation \u003d\u003d fields.LcmOccsOperationType.SCALE:"},{"line_number":1464,"context_line":"            self._scale(context, vnf_instance, vnf, body)"},{"line_number":1465,"context_line":"        else:"},{"line_number":1466,"context_line":"            error_msg \u003d \u0027Operation type %s is inavalid\u0027 % operation"},{"line_number":1467,"context_line":"            return self._make_problem_detail(error_msg,"},{"line_number":1468,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f9d9a9cc_f915dfe3","line":1465,"range":{"start_line":1465,"start_character":8,"end_line":1465,"end_character":13},"in_reply_to":"0ad44936_37108452","updated":"2021-03-17 08:49:13.000000000","message":"\u003e I think it\u0027s better to add a unittest that goes into this else branch.\n\nAdded UT codes for invalid operation type","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":1462,"context_line":"            self._heal(context, vnf_instance, vnf, body)"},{"line_number":1463,"context_line":"        elif operation \u003d\u003d fields.LcmOccsOperationType.SCALE:"},{"line_number":1464,"context_line":"            self._scale(context, vnf_instance, vnf, body)"},{"line_number":1465,"context_line":"        else:"},{"line_number":1466,"context_line":"            error_msg \u003d \u0027Operation type %s is inavalid\u0027 % operation"},{"line_number":1467,"context_line":"            return self._make_problem_detail(error_msg,"},{"line_number":1468,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c24a33bf_5d3fcfcd","line":1465,"range":{"start_line":1465,"start_character":8,"end_line":1465,"end_character":13},"in_reply_to":"f9d9a9cc_f915dfe3","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":633,"context_line":"                            fields.LcmOccsOperationType.INSTANTIATE,"},{"line_number":634,"context_line":"                            instantiate_vnf_request, request_body)"},{"line_number":635,"context_line":"        self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":636,"context_line":"                                 instantiate_vnf_request, vnf_lcm_op_occs_id)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":639,"context_line":"    @wsgi.expected_errors((http_client.FORBIDDEN, http_client.NOT_FOUND,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9845482b_49da4bf8","line":636,"updated":"2021-03-18 01:57:07.000000000","message":"There exists the case vnf_lcm_op_occs_id is not defined. Make sure vnf_lcm_op_occs_id existence.","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":633,"context_line":"                            fields.LcmOccsOperationType.INSTANTIATE,"},{"line_number":634,"context_line":"                            instantiate_vnf_request, request_body)"},{"line_number":635,"context_line":"        self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":636,"context_line":"                                 instantiate_vnf_request, vnf_lcm_op_occs_id)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":639,"context_line":"    @wsgi.expected_errors((http_client.FORBIDDEN, http_client.NOT_FOUND,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ea134cc7_17c5d192","line":636,"in_reply_to":"9845482b_49da4bf8","updated":"2021-03-23 06:21:23.000000000","message":"\u003e There exists the case vnf_lcm_op_occs_id is not defined. Make sure vnf_lcm_op_occs_id existence.\n\nModified code below to initialize vnf_lcm_op_occs_id and add checking before calling rpc:\nBefore:\nif \u0027vnf_lcm_op_occs_id\u0027 in vnf:\n           vnf_lcm_op_occs_id \u003d vnf[\u0027vnf_lcm_op_occs_id\u0027]\n\nAfter:\nvnf_lcm_op_occs_id \u003d vnf.get(\u0027vnf_lcm_op_occs_id\u0027)\n\nChecker:\n        if vnf_lcm_op_occs_id:\n            self.rpc_api call","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":675,"context_line":"                                        terminate_vnf_req, request_body)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        self.rpc_api.terminate(context, vnf_instance, vnf,"},{"line_number":678,"context_line":"                               terminate_vnf_req, vnf_lcm_op_occs_id)"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":681,"context_line":"    @wsgi.expected_errors((http_client.BAD_REQUEST, http_client.FORBIDDEN,"}],"source_content_type":"text/x-python","patch_set":3,"id":"4d1becdd_34605559","line":678,"updated":"2021-03-18 01:57:07.000000000","message":"same as L.636 comment.","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":675,"context_line":"                                        terminate_vnf_req, request_body)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        self.rpc_api.terminate(context, vnf_instance, vnf,"},{"line_number":678,"context_line":"                               terminate_vnf_req, vnf_lcm_op_occs_id)"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":681,"context_line":"    @wsgi.expected_errors((http_client.BAD_REQUEST, http_client.FORBIDDEN,"}],"source_content_type":"text/x-python","patch_set":3,"id":"aedbeeed_32713ec0","line":678,"in_reply_to":"4d1becdd_34605559","updated":"2021-03-23 06:21:23.000000000","message":"\u003e same as L.636 comment.\n\nsame as the answer given at the same comment in L636.","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":725,"context_line":"                                        heal_vnf_request, request_body)"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"        self.rpc_api.heal(context, vnf_instance, vnf_dict, heal_vnf_request,"},{"line_number":728,"context_line":"                          vnf_lcm_op_occs_id)"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":731,"context_line":"    @wsgi.expected_errors((http_client.BAD_REQUEST, http_client.FORBIDDEN,"}],"source_content_type":"text/x-python","patch_set":3,"id":"f257533d_3a5161cb","line":728,"updated":"2021-03-18 01:57:07.000000000","message":"same as L.636 comment.","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":725,"context_line":"                                        heal_vnf_request, request_body)"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"        self.rpc_api.heal(context, vnf_instance, vnf_dict, heal_vnf_request,"},{"line_number":728,"context_line":"                          vnf_lcm_op_occs_id)"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":731,"context_line":"    @wsgi.expected_errors((http_client.BAD_REQUEST, http_client.FORBIDDEN,"}],"source_content_type":"text/x-python","patch_set":3,"id":"2075afa9_093fc67b","line":728,"in_reply_to":"f257533d_3a5161cb","updated":"2021-03-23 06:21:23.000000000","message":"\u003e same as L.636 comment.\n\nsame as the answer given at the same comment in L636.","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":1131,"context_line":"                return self._make_problem_detail(str(lcm_e),"},{"line_number":1132,"context_line":"                    404, title\u003d\u0027Not Found\u0027)"},{"line_number":1133,"context_line":"            except (sqlexc.SQLAlchemyError, Exception) as exc:"},{"line_number":1134,"context_line":"                LOG.error(traceback.format_exc())"},{"line_number":1135,"context_line":"                return self._make_problem_detail(str(exc),"},{"line_number":1136,"context_line":"                    500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1137,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"c8f05ab4_6b792e1e","line":1134,"updated":"2021-03-18 01:57:07.000000000","message":"use LOG.exception","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":1131,"context_line":"                return self._make_problem_detail(str(lcm_e),"},{"line_number":1132,"context_line":"                    404, title\u003d\u0027Not Found\u0027)"},{"line_number":1133,"context_line":"            except (sqlexc.SQLAlchemyError, Exception) as exc:"},{"line_number":1134,"context_line":"                LOG.error(traceback.format_exc())"},{"line_number":1135,"context_line":"                return self._make_problem_detail(str(exc),"},{"line_number":1136,"context_line":"                    500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1137,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5df03af6_efac5e35","line":1134,"in_reply_to":"c8f05ab4_6b792e1e","updated":"2021-03-23 06:21:23.000000000","message":"\u003e use LOG.exception\n\nChanged to LOG.exception","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":1398,"context_line":"            return self._make_problem_detail(str(lcm_e),"},{"line_number":1399,"context_line":"                404, title\u003d\u0027Not Found\u0027)"},{"line_number":1400,"context_line":"        except (sqlexc.SQLAlchemyError, Exception) as exc:"},{"line_number":1401,"context_line":"            LOG.error(traceback.format_exc())"},{"line_number":1402,"context_line":"            return self._make_problem_detail(str(exc),"},{"line_number":1403,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1404,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"16063001_39e78e6d","line":1401,"updated":"2021-03-18 01:57:07.000000000","message":"use LOG.exception","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":1398,"context_line":"            return self._make_problem_detail(str(lcm_e),"},{"line_number":1399,"context_line":"                404, title\u003d\u0027Not Found\u0027)"},{"line_number":1400,"context_line":"        except (sqlexc.SQLAlchemyError, Exception) as exc:"},{"line_number":1401,"context_line":"            LOG.error(traceback.format_exc())"},{"line_number":1402,"context_line":"            return self._make_problem_detail(str(exc),"},{"line_number":1403,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1404,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"f404ace6_45aba982","line":1401,"in_reply_to":"16063001_39e78e6d","updated":"2021-03-23 06:21:23.000000000","message":"\u003e use LOG.exception\n\nChanged to LOG.exception","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":1417,"context_line":"            return self._make_problem_detail(str(lcm_e),"},{"line_number":1418,"context_line":"                404, title\u003d\u0027Not Found\u0027)"},{"line_number":1419,"context_line":"        except Exception as exc:"},{"line_number":1420,"context_line":"            LOG.error(traceback.format_exc())"},{"line_number":1421,"context_line":"            return self._make_problem_detail(str(exc),"},{"line_number":1422,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1423,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"02ab584a_77420947","line":1420,"updated":"2021-03-18 01:57:07.000000000","message":"use LOG.exception","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":1417,"context_line":"            return self._make_problem_detail(str(lcm_e),"},{"line_number":1418,"context_line":"                404, title\u003d\u0027Not Found\u0027)"},{"line_number":1419,"context_line":"        except Exception as exc:"},{"line_number":1420,"context_line":"            LOG.error(traceback.format_exc())"},{"line_number":1421,"context_line":"            return self._make_problem_detail(str(exc),"},{"line_number":1422,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1423,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"d1dcb799_14f2b6a0","line":1420,"in_reply_to":"02ab584a_77420947","updated":"2021-03-23 06:21:23.000000000","message":"\u003e use LOG.exception\n\nChanged to LOG.exception","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":1431,"context_line":"            return self._make_problem_detail(msg,"},{"line_number":1432,"context_line":"                404, title\u003d\u0027Not Found\u0027)"},{"line_number":1433,"context_line":"        except Exception as exc:"},{"line_number":1434,"context_line":"            LOG.error(traceback.format_exc())"},{"line_number":1435,"context_line":"            return self._make_problem_detail(str(exc),"},{"line_number":1436,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1437,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"6d53e4e3_0a45b174","line":1434,"updated":"2021-03-18 01:57:07.000000000","message":"use LOG.exeption","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":1431,"context_line":"            return self._make_problem_detail(msg,"},{"line_number":1432,"context_line":"                404, title\u003d\u0027Not Found\u0027)"},{"line_number":1433,"context_line":"        except Exception as exc:"},{"line_number":1434,"context_line":"            LOG.error(traceback.format_exc())"},{"line_number":1435,"context_line":"            return self._make_problem_detail(str(exc),"},{"line_number":1436,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1437,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"f25cab99_e21cc44f","line":1434,"in_reply_to":"6d53e4e3_0a45b174","updated":"2021-03-23 06:21:23.000000000","message":"\u003e use LOG.exeption\n\nChanged to LOG.exception","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"62763bab6322b3e6b1d9d77f6e684d831b24bc7c","unresolved":true,"context_lines":[{"line_number":637,"context_line":"            self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":638,"context_line":"                                    instantiate_vnf_request,"},{"line_number":639,"context_line":"                                    vnf_lcm_op_occs_id)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":642,"context_line":"    @wsgi.expected_errors((http_client.FORBIDDEN, http_client.NOT_FOUND,"},{"line_number":643,"context_line":"                           http_client.CONFLICT, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a573753_5c352813","line":640,"updated":"2021-03-23 22:26:58.000000000","message":"If vnf_lcm_op_occs_id is None, nothing to be done and return no error. Is it right ? What case is vnf_lcm_op_occs_id is None ?","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":637,"context_line":"            self.rpc_api.instantiate(context, vnf_instance, vnf,"},{"line_number":638,"context_line":"                                    instantiate_vnf_request,"},{"line_number":639,"context_line":"                                    vnf_lcm_op_occs_id)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"    @wsgi.response(http_client.ACCEPTED)"},{"line_number":642,"context_line":"    @wsgi.expected_errors((http_client.FORBIDDEN, http_client.NOT_FOUND,"},{"line_number":643,"context_line":"                           http_client.CONFLICT, http_client.BAD_REQUEST))"}],"source_content_type":"text/x-python","patch_set":9,"id":"62096988_50b57dd2","line":640,"in_reply_to":"1a573753_5c352813","updated":"2021-03-24 12:32:19.000000000","message":"\u003e If vnf_lcm_op_occs_id is None, nothing to be done and return no error. Is it right ? What case is vnf_lcm_op_occs_id is None ?\n\nThere is no case when vnf_lcm_op_occs_id is equal to None. There are only 2 cases that _insta/_termi/_heal method will be called(see below).\n\nCase 1(Retry):\nvnf_lcm_op_occs_id will be appended to vnf dictionary(L.1492) -\u003e will call _insta/_termi/_heal\n\nCase 2(Insta/Termi/Heal/Scale):\nvnf_lcm_op_occs_id will be created(Ex: L.630) since initial value for before_error_point is 0 because of `check_vnf_status_and_error_point` decorator","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"62763bab6322b3e6b1d9d77f6e684d831b24bc7c","unresolved":true,"context_lines":[{"line_number":1468,"context_line":"            return self._make_problem_detail(str(lcm_e),"},{"line_number":1469,"context_line":"                404, title\u003d\u0027Not Found\u0027)"},{"line_number":1470,"context_line":"        except Exception as exc:"},{"line_number":1471,"context_line":"            LOG.exception(traceback.format_exc())"},{"line_number":1472,"context_line":"            return self._make_problem_detail(str(exc),"},{"line_number":1473,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1474,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"4f1ee6f1_b9c30082","line":1471,"updated":"2021-03-23 22:26:58.000000000","message":"I mean \u0027traceback.format_exec()\u0027 is not necessary by using LOG.exception. LOG.execption is the method for outputting trace.\nDo the following\n---\nLOG.exception(\"something describing error\")\nor It is OK;\nLOG.exception(exc)\n---\nstack trace is output automatically.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":1468,"context_line":"            return self._make_problem_detail(str(lcm_e),"},{"line_number":1469,"context_line":"                404, title\u003d\u0027Not Found\u0027)"},{"line_number":1470,"context_line":"        except Exception as exc:"},{"line_number":1471,"context_line":"            LOG.exception(traceback.format_exc())"},{"line_number":1472,"context_line":"            return self._make_problem_detail(str(exc),"},{"line_number":1473,"context_line":"                500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":1474,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"b0ea585c_fb119cab","line":1471,"in_reply_to":"4f1ee6f1_b9c30082","updated":"2021-03-24 12:32:19.000000000","message":"\u003e I mean \u0027traceback.format_exec()\u0027 is not necessary by using LOG.exception. LOG.execption is the method for outputting trace.\n\u003e Do the following\n\u003e ---\n\u003e LOG.exception(\"something describing error\")\n\u003e or It is OK;\n\u003e LOG.exception(exc)\n\u003e ---\n\u003e stack trace is output automatically.\n\nRemoved  \u0027traceback.format_exec()\u0027","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"}],"tacker/api/vnflcm/v1/router.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        self._setup_route(mapper, \"/subscriptions/{subscriptionId}\","},{"line_number":134,"context_line":"                methods, controller, default_resource)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        # {apiRoot}/vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry resource"},{"line_number":137,"context_line":"        methods \u003d {\"POST\": \"retry\"}"},{"line_number":138,"context_line":"        self._setup_route(mapper,"},{"line_number":139,"context_line":"                \"/vnf_lcm_op_occs/{id}/retry\","},{"line_number":140,"context_line":"                methods, controller, default_resource)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a3088af_cbb1c6a7","line":140,"range":{"start_line":136,"start_character":8,"end_line":140,"end_character":54},"updated":"2021-03-12 10:34:15.000000000","message":"Since it is error-handling, I think it is better to move to L127.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        self._setup_route(mapper, \"/subscriptions/{subscriptionId}\","},{"line_number":134,"context_line":"                methods, controller, default_resource)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        # {apiRoot}/vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry resource"},{"line_number":137,"context_line":"        methods \u003d {\"POST\": \"retry\"}"},{"line_number":138,"context_line":"        self._setup_route(mapper,"},{"line_number":139,"context_line":"                \"/vnf_lcm_op_occs/{id}/retry\","},{"line_number":140,"context_line":"                methods, controller, default_resource)"}],"source_content_type":"text/x-python","patch_set":2,"id":"481ffc09_5afd8cec","line":140,"range":{"start_line":136,"start_character":8,"end_line":140,"end_character":54},"in_reply_to":"1a3088af_cbb1c6a7","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Since it is error-handling, I think it is better to move to L127.\n\nMoved from line 140 to line 127","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        self._setup_route(mapper, \"/subscriptions/{subscriptionId}\","},{"line_number":134,"context_line":"                methods, controller, default_resource)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        # {apiRoot}/vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry resource"},{"line_number":137,"context_line":"        methods \u003d {\"POST\": \"retry\"}"},{"line_number":138,"context_line":"        self._setup_route(mapper,"},{"line_number":139,"context_line":"                \"/vnf_lcm_op_occs/{id}/retry\","},{"line_number":140,"context_line":"                methods, controller, default_resource)"}],"source_content_type":"text/x-python","patch_set":2,"id":"e6930099_1eab8b5f","line":140,"range":{"start_line":136,"start_character":8,"end_line":140,"end_character":54},"in_reply_to":"481ffc09_5afd8cec","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"}],"tacker/common/exceptions.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5054c51619af37877fbb5cd481d46cbba76cb0b2","unresolved":true,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"class VnfConflictStateWithErrorPoint(Conflict):"},{"line_number":412,"context_line":"    message \u003d _(\"Vnf %(uuid)s in %(attr)s %(state)s. \""},{"line_number":413,"context_line":"                \"Error point %(error_point)s. \""},{"line_number":414,"context_line":"                \"Cannot %(action)s while the vnf is in this state \""},{"line_number":415,"context_line":"                \"with this error point.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"ae43f224_3f550cf8","line":412,"range":{"start_line":412,"start_character":35,"end_line":412,"end_character":40},"updated":"2021-03-15 04:44:53.000000000","message":"tacker/api/vnflcm/v1/controller.py\nAs I commented above, I think a fixed value is fine.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"class VnfConflictStateWithErrorPoint(Conflict):"},{"line_number":412,"context_line":"    message \u003d _(\"Vnf %(uuid)s in %(attr)s %(state)s. \""},{"line_number":413,"context_line":"                \"Error point %(error_point)s. \""},{"line_number":414,"context_line":"                \"Cannot %(action)s while the vnf is in this state \""},{"line_number":415,"context_line":"                \"with this error point.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"8eba4030_a417d943","line":412,"range":{"start_line":412,"start_character":35,"end_line":412,"end_character":40},"in_reply_to":"5e373338_07e58fbd","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"class VnfConflictStateWithErrorPoint(Conflict):"},{"line_number":412,"context_line":"    message \u003d _(\"Vnf %(uuid)s in %(attr)s %(state)s. \""},{"line_number":413,"context_line":"                \"Error point %(error_point)s. \""},{"line_number":414,"context_line":"                \"Cannot %(action)s while the vnf is in this state \""},{"line_number":415,"context_line":"                \"with this error point.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"5e373338_07e58fbd","line":412,"range":{"start_line":412,"start_character":35,"end_line":412,"end_character":40},"in_reply_to":"ae43f224_3f550cf8","updated":"2021-03-17 08:49:13.000000000","message":"\u003e tacker/api/vnflcm/v1/controller.py\n\u003e As I commented above, I think a fixed value is fine.\n\n%(attr)s changed to status","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"}],"tacker/conductor/conductor_server.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"d2f7a7ae4da5e714b51f1ca887873be962a58607","unresolved":true,"context_lines":[{"line_number":1576,"context_line":"                vnf_instance\u003dvnf_instance,"},{"line_number":1577,"context_line":"                request_obj\u003dinstantiate_vnf"},{"line_number":1578,"context_line":"            )"},{"line_number":1579,"context_line":"            vnf_dict[\u0027current_error_point\u0027] \u003d 1"},{"line_number":1580,"context_line":""},{"line_number":1581,"context_line":"            if vnf_dict[\u0027before_error_point\u0027] \u003c\u003d 1:"},{"line_number":1582,"context_line":"                # change vnf_status"},{"line_number":1583,"context_line":"                if vnf_dict[\u0027status\u0027] \u003d\u003d \u0027INACTIVE\u0027:"},{"line_number":1584,"context_line":"                    vnf_dict[\u0027status\u0027] \u003d \u0027PENDING_CREATE\u0027"},{"line_number":1585,"context_line":"                self._change_vnf_status(context, vnf_instance.id,"},{"line_number":1586,"context_line":"                                _INACTIVE_STATUS, \u0027PENDING_CREATE\u0027)"},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":"            if vnf_dict[\u0027before_error_point\u0027] \u003c\u003d 6:"},{"line_number":1589,"context_line":"                self.vnflcm_driver.instantiate_vnf(context, vnf_instance,"},{"line_number":1590,"context_line":"                                                vnf_dict, instantiate_vnf)"},{"line_number":1591,"context_line":""},{"line_number":1592,"context_line":"                self._build_instantiated_vnf_info(context,"},{"line_number":1593,"context_line":"                            vnf_instance,"},{"line_number":1594,"context_line":"                            instantiate_vnf_req\u003dinstantiate_vnf)"},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"                self._update_vnf_attributes(context, vnf_instance, vnf_dict,"},{"line_number":1597,"context_line":"                                            _PENDING_STATUS, _ACTIVE_STATUS)"},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"            vnf_dict[\u0027current_error_point\u0027] \u003d 7"},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"            self.vnflcm_driver._vnf_instance_update(context, vnf_instance,"},{"line_number":1602,"context_line":"                        instantiation_state\u003dfields.VnfInstanceState."}],"source_content_type":"text/x-python","patch_set":2,"id":"e48fc0fa_39525a37","line":1599,"range":{"start_line":1579,"start_character":0,"end_line":1599,"end_character":47},"updated":"2021-03-14 18:56:37.000000000","message":"Please avoid to use magic numbers here and follows, such as 1, 6 or so.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1576,"context_line":"                vnf_instance\u003dvnf_instance,"},{"line_number":1577,"context_line":"                request_obj\u003dinstantiate_vnf"},{"line_number":1578,"context_line":"            )"},{"line_number":1579,"context_line":"            vnf_dict[\u0027current_error_point\u0027] \u003d 1"},{"line_number":1580,"context_line":""},{"line_number":1581,"context_line":"            if vnf_dict[\u0027before_error_point\u0027] \u003c\u003d 1:"},{"line_number":1582,"context_line":"                # change vnf_status"},{"line_number":1583,"context_line":"                if vnf_dict[\u0027status\u0027] \u003d\u003d \u0027INACTIVE\u0027:"},{"line_number":1584,"context_line":"                    vnf_dict[\u0027status\u0027] \u003d \u0027PENDING_CREATE\u0027"},{"line_number":1585,"context_line":"                self._change_vnf_status(context, vnf_instance.id,"},{"line_number":1586,"context_line":"                                _INACTIVE_STATUS, \u0027PENDING_CREATE\u0027)"},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":"            if vnf_dict[\u0027before_error_point\u0027] \u003c\u003d 6:"},{"line_number":1589,"context_line":"                self.vnflcm_driver.instantiate_vnf(context, vnf_instance,"},{"line_number":1590,"context_line":"                                                vnf_dict, instantiate_vnf)"},{"line_number":1591,"context_line":""},{"line_number":1592,"context_line":"                self._build_instantiated_vnf_info(context,"},{"line_number":1593,"context_line":"                            vnf_instance,"},{"line_number":1594,"context_line":"                            instantiate_vnf_req\u003dinstantiate_vnf)"},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"                self._update_vnf_attributes(context, vnf_instance, vnf_dict,"},{"line_number":1597,"context_line":"                                            _PENDING_STATUS, _ACTIVE_STATUS)"},{"line_number":1598,"context_line":""},{"line_number":1599,"context_line":"            vnf_dict[\u0027current_error_point\u0027] \u003d 7"},{"line_number":1600,"context_line":""},{"line_number":1601,"context_line":"            self.vnflcm_driver._vnf_instance_update(context, vnf_instance,"},{"line_number":1602,"context_line":"                        instantiation_state\u003dfields.VnfInstanceState."}],"source_content_type":"text/x-python","patch_set":2,"id":"fa94d362_795ea6c2","line":1599,"range":{"start_line":1579,"start_character":0,"end_line":1599,"end_character":47},"in_reply_to":"e48fc0fa_39525a37","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Please avoid to use magic numbers here and follows, such as 1, 6 or so.\n\nAdded Enum class for error_point 0 ~ 7(see below).\nSnippet:\nclass ErrorPoint(BaseTackerEnum):\n    INITIAL \u003d 0\n    NOTIF_PROCESSING \u003d 1\n    VNF_CONFIG_START \u003d 2\n    PRE_VIM_CONTROL \u003d 3\n    POST_VIM_CONTROL \u003d 4\n    PRE_VNF_CONFIG_END \u003d 5\n    VNF_CONFIG_END \u003d 6\n    NOTIF_COMPLETED \u003d 7","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"5054c51619af37877fbb5cd481d46cbba76cb0b2","unresolved":true,"context_lines":[{"line_number":1697,"context_line":"        except Exception as exc:"},{"line_number":1698,"context_line":"            # set vnf_status to error"},{"line_number":1699,"context_line":"            self._change_vnf_status(context, vnf_instance.id,"},{"line_number":1700,"context_line":"                            None, \u0027ERROR\u0027)"},{"line_number":1701,"context_line":""},{"line_number":1702,"context_line":"            # Update vnf_lcm_op_occs table and send notification \"FAILED_TEMP\""},{"line_number":1703,"context_line":"            self._send_lcm_op_occ_notification("}],"source_content_type":"text/x-python","patch_set":2,"id":"e4238581_18d27bc1","line":1700,"range":{"start_line":1700,"start_character":28,"end_line":1700,"end_character":32},"updated":"2021-03-15 04:44:53.000000000","message":"Why do you need this fix?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":1697,"context_line":"        except Exception as exc:"},{"line_number":1698,"context_line":"            # set vnf_status to error"},{"line_number":1699,"context_line":"            self._change_vnf_status(context, vnf_instance.id,"},{"line_number":1700,"context_line":"                            None, \u0027ERROR\u0027)"},{"line_number":1701,"context_line":""},{"line_number":1702,"context_line":"            # Update vnf_lcm_op_occs table and send notification \"FAILED_TEMP\""},{"line_number":1703,"context_line":"            self._send_lcm_op_occ_notification("}],"source_content_type":"text/x-python","patch_set":2,"id":"6d8f2181_307095d9","line":1700,"range":{"start_line":1700,"start_character":28,"end_line":1700,"end_character":32},"in_reply_to":"b4d4ca3c_3fb621e0","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1697,"context_line":"        except Exception as exc:"},{"line_number":1698,"context_line":"            # set vnf_status to error"},{"line_number":1699,"context_line":"            self._change_vnf_status(context, vnf_instance.id,"},{"line_number":1700,"context_line":"                            None, \u0027ERROR\u0027)"},{"line_number":1701,"context_line":""},{"line_number":1702,"context_line":"            # Update vnf_lcm_op_occs table and send notification \"FAILED_TEMP\""},{"line_number":1703,"context_line":"            self._send_lcm_op_occ_notification("}],"source_content_type":"text/x-python","patch_set":2,"id":"b4d4ca3c_3fb621e0","line":1700,"range":{"start_line":1700,"start_character":28,"end_line":1700,"end_character":32},"in_reply_to":"e4238581_18d27bc1","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Why do you need this fix?\n\nModifications are needed because during retry this line will raise an error because the status of vnf is not in PENDING_STATUS. This is also related to this modifications(https://review.opendev.org/c/openstack/tacker/+/778948/2/tacker/conductor/conductor_server.py#637)","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1b1884d8b9357c2828377e7475c734e06f0e2fdb","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"bb6ba728_cb6e1ed2","line":635,"updated":"2021-03-23 13:37:36.000000000","message":"Could I confirm why you check the `current_statuses` here even though it is already referred at L.625?","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"2f262a23697a458284927890304f78a04e2d8731","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"aa1625c8_8cedea7d","line":635,"in_reply_to":"08e307c7_5fe34a51","updated":"2021-03-26 01:50:08.000000000","message":"Thanks!\nI\u0027ve confirmed.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"1cfe4baa8fe4acd51352f977118685051bd6c2fc","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"e02528b3_286c60ea","line":635,"in_reply_to":"179f60e1_709e5d6d","updated":"2021-03-25 09:20:38.000000000","message":"\u003e Do you mean `current_statuses` is ensured NOT to be None, but it can be updated to None from L.625 to L.635?\n\nThere is a possibility that `current_statuses` is None (when it is passed in the parameter). We want to log the value of `current_statuses` including None so that we will know (for debugging purposes) what the value is before it enters the \"if\" condition.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"53e0a38d206de02c38158b4bae6378ccf2c7fb12","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"a3ed168d_c94efe9f","line":635,"in_reply_to":"662cbcd0_788718d8","updated":"2021-03-25 06:13:34.000000000","message":"I don\u0027t understand why you don\u0027t care for the `current_statuses` for logging.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"caf5f9641380f7e80e72088511ee6476cf5f5359","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"08e307c7_5fe34a51","line":635,"in_reply_to":"83262c15_01a6934f","updated":"2021-03-25 13:31:18.000000000","message":"\u003e Excuse me for cutting in.\n\u003e I think this supposedly simple process has become complicated for reviewers, so is it possible to fix it as follows?\n\u003e Then you should be able to remove this \u0027if current_statuses:\u0027 branch.\n\u003e ---\n\u003e L112:\n\u003e _ALL_STATUSES \u003d (ACTIVE, INACTIVE, PENDING_CREATE, PENDING_HEAL, PENDING_SCALE, ..)\n\u003e \n\u003e L1627:\n\u003e              self._change_vnf_status (context, vnf_instance.id,\n\u003e                              _ALL_STATUSES,\u0027ERROR\u0027)\n\u003e \n\u003e L1708:\n\u003e              self._change_vnf_status (context, vnf_instance.id,\n\u003e                              _ALL_STATUSES,\u0027ERROR\u0027)\n\nwe modified as suggested.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"fa806607f26ac70597ed40bd2b444cbf1e35e66c","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"a77e2aea_affef764","line":635,"in_reply_to":"a3ed168d_c94efe9f","updated":"2021-03-25 07:08:36.000000000","message":"\u003e I don\u0027t understand why you don\u0027t care for the `current_statuses` for logging.\n\nWe would like to explain in detail why we did this in our code:\n\ncurrent_statuses parameter is a required parameter, therefore it should always have a value.\nThe logging we have (L.625) before the \"if\" condition is just for debugging purposes, as to what value was prior to entering the \"if\" condition.\nOur logging will show whether that the values will either be the following:\nNone, STATUSES(ACTIVE, INACTIVE, PENDING_CREATE, PENDING_HEAL, PENDING_SCALE, ..)\n\nFor the specific \"if\" condition (L.635), we are expecting the value is not None. Thus, we have an \"if\" condition specified. If a value other than None is received, there will be a checking for the vnf conflict state. However, if None is received, it will not perform such check.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"d87d0016b1d8c802afcd7d4462e3b5e247533632","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"179f60e1_709e5d6d","line":635,"in_reply_to":"a77e2aea_affef764","updated":"2021-03-25 08:50:44.000000000","message":"Do you mean `current_statuses` is ensured NOT to be None, but it can be updated to None from L.625 to L.635?","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"662cbcd0_788718d8","line":635,"in_reply_to":"bb6ba728_cb6e1ed2","updated":"2021-03-24 12:32:19.000000000","message":"\u003e Could I confirm why you check the `current_statuses` here even though it is already referred at L.625?\n\nL.625 was only logging `current_statuses`, first usage is in L635.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4267dbaeaa6e7931af6b6e0cc9f6b2871d563b1e","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            if not vnf_model:"},{"line_number":633,"context_line":"                raise exceptions.VnfInstanceNotFound("},{"line_number":634,"context_line":"                    message\u003d\"VNF {} not found\".format(vnf_id))"},{"line_number":635,"context_line":"            if current_statuses:"},{"line_number":636,"context_line":"                if vnf_model.status not in current_statuses:"},{"line_number":637,"context_line":"                    raise exceptions.VnfConflictState("},{"line_number":638,"context_line":"                        message\u003d\u0027Cannot change status to {} \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"83262c15_01a6934f","line":635,"in_reply_to":"e02528b3_286c60ea","updated":"2021-03-25 10:12:30.000000000","message":"Excuse me for cutting in.\nI think this supposedly simple process has become complicated for reviewers, so is it possible to fix it as follows?\nThen you should be able to remove this \u0027if current_statuses:\u0027 branch.\n---\nL112:\n_ALL_STATUSES \u003d (ACTIVE, INACTIVE, PENDING_CREATE, PENDING_HEAL, PENDING_SCALE, ..)\n\nL1627:\n             self._change_vnf_status (context, vnf_instance.id,\n                             _ALL_STATUSES,\u0027ERROR\u0027)\n\nL1708:\n             self._change_vnf_status (context, vnf_instance.id,\n                             _ALL_STATUSES,\u0027ERROR\u0027)","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"}],"tacker/objects/fields.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":true,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":"class ErrorPoint(BaseTackerEnum):"},{"line_number":275,"context_line":"    INITIAL \u003d 0"},{"line_number":276,"context_line":"    NOTIF_PROCESSING \u003d 1"},{"line_number":277,"context_line":"    VNF_CONFIG_START \u003d 2"},{"line_number":278,"context_line":"    PRE_VIM_CONTROL \u003d 3"},{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"}],"source_content_type":"text/x-python","patch_set":4,"id":"d05749b7_2b508252","line":276,"range":{"start_line":276,"start_character":4,"end_line":276,"end_character":9},"updated":"2021-03-18 07:42:16.000000000","message":"I think \u0027NOTIFY\u0027 is better because there is only one letter difference.","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"339a21aaf24aea812b995c6999bf5b64839fe752","unresolved":false,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":"class ErrorPoint(BaseTackerEnum):"},{"line_number":275,"context_line":"    INITIAL \u003d 0"},{"line_number":276,"context_line":"    NOTIF_PROCESSING \u003d 1"},{"line_number":277,"context_line":"    VNF_CONFIG_START \u003d 2"},{"line_number":278,"context_line":"    PRE_VIM_CONTROL \u003d 3"},{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"}],"source_content_type":"text/x-python","patch_set":4,"id":"52234575_19cf73a6","line":276,"range":{"start_line":276,"start_character":4,"end_line":276,"end_character":9},"in_reply_to":"7ff4c350_42232d1a","updated":"2021-03-24 06:17:23.000000000","message":"I\u0027ve confirmed.","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":"class ErrorPoint(BaseTackerEnum):"},{"line_number":275,"context_line":"    INITIAL \u003d 0"},{"line_number":276,"context_line":"    NOTIF_PROCESSING \u003d 1"},{"line_number":277,"context_line":"    VNF_CONFIG_START \u003d 2"},{"line_number":278,"context_line":"    PRE_VIM_CONTROL \u003d 3"},{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ff4c350_42232d1a","line":276,"range":{"start_line":276,"start_character":4,"end_line":276,"end_character":9},"in_reply_to":"d05749b7_2b508252","updated":"2021-03-23 06:21:23.000000000","message":"\u003e I think \u0027NOTIFY\u0027 is better because there is only one letter difference.\n\nChanged NOTIF to NOTIFY","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":true,"context_lines":[{"line_number":277,"context_line":"    VNF_CONFIG_START \u003d 2"},{"line_number":278,"context_line":"    PRE_VIM_CONTROL \u003d 3"},{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"},{"line_number":280,"context_line":"    PRE_VNF_CONFIG_END \u003d 5"},{"line_number":281,"context_line":"    VNF_CONFIG_END \u003d 6"},{"line_number":282,"context_line":"    NOTIF_COMPLETED \u003d 7"}],"source_content_type":"text/x-python","patch_set":4,"id":"a1a2eede_c96e5127","line":280,"range":{"start_line":280,"start_character":4,"end_line":280,"end_character":22},"updated":"2021-03-18 07:42:16.000000000","message":"I think this is strange because \u0027PRE_VNF_CONFIG_START\u0027 does not exist.\nCan you change it?","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"339a21aaf24aea812b995c6999bf5b64839fe752","unresolved":false,"context_lines":[{"line_number":277,"context_line":"    VNF_CONFIG_START \u003d 2"},{"line_number":278,"context_line":"    PRE_VIM_CONTROL \u003d 3"},{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"},{"line_number":280,"context_line":"    PRE_VNF_CONFIG_END \u003d 5"},{"line_number":281,"context_line":"    VNF_CONFIG_END \u003d 6"},{"line_number":282,"context_line":"    NOTIF_COMPLETED \u003d 7"}],"source_content_type":"text/x-python","patch_set":4,"id":"18fce7a0_8ad33981","line":280,"range":{"start_line":280,"start_character":4,"end_line":280,"end_character":22},"in_reply_to":"0b34636f_735e2f6e","updated":"2021-03-24 06:17:23.000000000","message":"I\u0027ve confirmed.","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":277,"context_line":"    VNF_CONFIG_START \u003d 2"},{"line_number":278,"context_line":"    PRE_VIM_CONTROL \u003d 3"},{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"},{"line_number":280,"context_line":"    PRE_VNF_CONFIG_END \u003d 5"},{"line_number":281,"context_line":"    VNF_CONFIG_END \u003d 6"},{"line_number":282,"context_line":"    NOTIF_COMPLETED \u003d 7"}],"source_content_type":"text/x-python","patch_set":4,"id":"0b34636f_735e2f6e","line":280,"range":{"start_line":280,"start_character":4,"end_line":280,"end_character":22},"in_reply_to":"a1a2eede_c96e5127","updated":"2021-03-23 06:21:23.000000000","message":"\u003e I think this is strange because \u0027PRE_VNF_CONFIG_START\u0027 does not exist.\n\u003e Can you change it?\n\nRenamed to INTERNAL_PROCESSING","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":true,"context_lines":[{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"},{"line_number":280,"context_line":"    PRE_VNF_CONFIG_END \u003d 5"},{"line_number":281,"context_line":"    VNF_CONFIG_END \u003d 6"},{"line_number":282,"context_line":"    NOTIF_COMPLETED \u003d 7"}],"source_content_type":"text/x-python","patch_set":4,"id":"d9e8b9fd_e4d559b9","line":282,"range":{"start_line":282,"start_character":4,"end_line":282,"end_character":19},"updated":"2021-03-18 07:42:16.000000000","message":"Same as L276.","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"},{"line_number":280,"context_line":"    PRE_VNF_CONFIG_END \u003d 5"},{"line_number":281,"context_line":"    VNF_CONFIG_END \u003d 6"},{"line_number":282,"context_line":"    NOTIF_COMPLETED \u003d 7"}],"source_content_type":"text/x-python","patch_set":4,"id":"f010e54b_fe9eeebb","line":282,"range":{"start_line":282,"start_character":4,"end_line":282,"end_character":19},"in_reply_to":"d9e8b9fd_e4d559b9","updated":"2021-03-23 06:21:23.000000000","message":"\u003e Same as L276.\n\nChanged NOTIF to NOTIFY","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"339a21aaf24aea812b995c6999bf5b64839fe752","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    POST_VIM_CONTROL \u003d 4"},{"line_number":280,"context_line":"    PRE_VNF_CONFIG_END \u003d 5"},{"line_number":281,"context_line":"    VNF_CONFIG_END \u003d 6"},{"line_number":282,"context_line":"    NOTIF_COMPLETED \u003d 7"}],"source_content_type":"text/x-python","patch_set":4,"id":"d5e7226a_1eb33fa4","line":282,"range":{"start_line":282,"start_character":4,"end_line":282,"end_character":19},"in_reply_to":"f010e54b_fe9eeebb","updated":"2021-03-24 06:17:23.000000000","message":"I\u0027ve confirmed.","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"}],"tacker/tests/functional/sol/vnflcm/test_vnf_instance_with_user_data.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f008eef93652ee549f2b580c77dbd6a930ff860","unresolved":true,"context_lines":[{"line_number":845,"context_line":"        self._wait_lcm_done(\u0027FAILED_TEMP\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":846,"context_line":"        self.assert_retry_vnf(resp, vnf_instance_id)"},{"line_number":847,"context_line":""},{"line_number":848,"context_line":"        # rollback"},{"line_number":849,"context_line":"        resp, _ \u003d self._rollback_op_occs(vnflcm_op_occ_id)"},{"line_number":850,"context_line":"        self._wait_lcm_done(\u0027ROLLING_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":851,"context_line":"        self._wait_lcm_done(\u0027ROLLED_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fccf2df6_ecb9e12a","line":848,"range":{"start_line":848,"start_character":10,"end_line":848,"end_character":18},"updated":"2021-03-15 09:43:51.000000000","message":"I understand that the reason why you\u0027re executing rollback that does not exist from the test point of view is that it\u0027s necessary for Delete VNF to execute.\nI think the below comments is better.\n---\n# rollback (Execute because it\u0027s need to delete VNF)","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":845,"context_line":"        self._wait_lcm_done(\u0027FAILED_TEMP\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":846,"context_line":"        self.assert_retry_vnf(resp, vnf_instance_id)"},{"line_number":847,"context_line":""},{"line_number":848,"context_line":"        # rollback"},{"line_number":849,"context_line":"        resp, _ \u003d self._rollback_op_occs(vnflcm_op_occ_id)"},{"line_number":850,"context_line":"        self._wait_lcm_done(\u0027ROLLING_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":851,"context_line":"        self._wait_lcm_done(\u0027ROLLED_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dc4ded7a_990a49a4","line":848,"range":{"start_line":848,"start_character":10,"end_line":848,"end_character":18},"in_reply_to":"e8d78cf2_b5795835","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":845,"context_line":"        self._wait_lcm_done(\u0027FAILED_TEMP\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":846,"context_line":"        self.assert_retry_vnf(resp, vnf_instance_id)"},{"line_number":847,"context_line":""},{"line_number":848,"context_line":"        # rollback"},{"line_number":849,"context_line":"        resp, _ \u003d self._rollback_op_occs(vnflcm_op_occ_id)"},{"line_number":850,"context_line":"        self._wait_lcm_done(\u0027ROLLING_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":851,"context_line":"        self._wait_lcm_done(\u0027ROLLED_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"e8d78cf2_b5795835","line":848,"range":{"start_line":848,"start_character":10,"end_line":848,"end_character":18},"in_reply_to":"fccf2df6_ecb9e12a","updated":"2021-03-17 08:49:13.000000000","message":"\u003e I understand that the reason why you\u0027re executing rollback that does not exist from the test point of view is that it\u0027s necessary for Delete VNF to execute.\n\u003e I think the below comments is better.\n\u003e ---\n\u003e # rollback (Execute because it\u0027s need to delete VNF)\n\nChanged \u0027# rollback\u0027 to \u0027# rollback (Execute because it\u0027s needed to delete VNF)\u0027","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f008eef93652ee549f2b580c77dbd6a930ff860","unresolved":true,"context_lines":[{"line_number":954,"context_line":"        self._wait_lcm_done(\u0027FAILED_TEMP\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":955,"context_line":"        self.assert_retry_vnf(resp, vnf_instance_id)"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"        # rollback"},{"line_number":958,"context_line":"        resp, _ \u003d self._rollback_op_occs(vnflcm_op_occ_id)"},{"line_number":959,"context_line":"        self._wait_lcm_done(\u0027ROLLING_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":960,"context_line":"        self._wait_lcm_done(\u0027ROLLED_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"a88b26e8_d53ba841","line":957,"range":{"start_line":957,"start_character":10,"end_line":957,"end_character":18},"updated":"2021-03-15 09:43:51.000000000","message":"ditto","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":954,"context_line":"        self._wait_lcm_done(\u0027FAILED_TEMP\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":955,"context_line":"        self.assert_retry_vnf(resp, vnf_instance_id)"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"        # rollback"},{"line_number":958,"context_line":"        resp, _ \u003d self._rollback_op_occs(vnflcm_op_occ_id)"},{"line_number":959,"context_line":"        self._wait_lcm_done(\u0027ROLLING_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":960,"context_line":"        self._wait_lcm_done(\u0027ROLLED_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4e7ef483_112846bb","line":957,"range":{"start_line":957,"start_character":10,"end_line":957,"end_character":18},"in_reply_to":"9c189378_5cc9b915","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":954,"context_line":"        self._wait_lcm_done(\u0027FAILED_TEMP\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":955,"context_line":"        self.assert_retry_vnf(resp, vnf_instance_id)"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"        # rollback"},{"line_number":958,"context_line":"        resp, _ \u003d self._rollback_op_occs(vnflcm_op_occ_id)"},{"line_number":959,"context_line":"        self._wait_lcm_done(\u0027ROLLING_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"},{"line_number":960,"context_line":"        self._wait_lcm_done(\u0027ROLLED_BACK\u0027, vnf_instance_id\u003dvnf_instance_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9c189378_5cc9b915","line":957,"range":{"start_line":957,"start_character":10,"end_line":957,"end_character":18},"in_reply_to":"a88b26e8_d53ba841","updated":"2021-03-17 08:49:13.000000000","message":"\u003e ditto\n\nChanged \u0027# rollback\u0027 to \u0027# rollback (Execute because it\u0027s needed to delete VNF)\u0027","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"}],"tacker/tests/unit/conductor/test_conductor_server.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":83,"context_line":"        return self.json_data"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"@ddt.ddt"},{"line_number":87,"context_line":"class TestConductor(SqlTestCase, unit_base.FixturedTestCase):"},{"line_number":88,"context_line":"    client_fixture_class \u003d client.ClientFixture"},{"line_number":89,"context_line":"    sdk_connection_fixure_class \u003d client.SdkConnectionFixture"}],"source_content_type":"text/x-python","patch_set":2,"id":"94b99313_94b3d89e","line":86,"range":{"start_line":86,"start_character":0,"end_line":86,"end_character":8},"updated":"2021-03-12 10:34:15.000000000","message":"It looks like you\u0027re not using ddt, isn\u0027t it unnecessary?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":83,"context_line":"        return self.json_data"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"@ddt.ddt"},{"line_number":87,"context_line":"class TestConductor(SqlTestCase, unit_base.FixturedTestCase):"},{"line_number":88,"context_line":"    client_fixture_class \u003d client.ClientFixture"},{"line_number":89,"context_line":"    sdk_connection_fixure_class \u003d client.SdkConnectionFixture"}],"source_content_type":"text/x-python","patch_set":2,"id":"a95690d3_13037cce","line":86,"range":{"start_line":86,"start_character":0,"end_line":86,"end_character":8},"in_reply_to":"94b99313_94b3d89e","updated":"2021-03-17 08:49:13.000000000","message":"\u003e It looks like you\u0027re not using ddt, isn\u0027t it unnecessary?\n\nRemoved import ddt and @ddt.ddt since it is not used","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        return self.json_data"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"@ddt.ddt"},{"line_number":87,"context_line":"class TestConductor(SqlTestCase, unit_base.FixturedTestCase):"},{"line_number":88,"context_line":"    client_fixture_class \u003d client.ClientFixture"},{"line_number":89,"context_line":"    sdk_connection_fixure_class \u003d client.SdkConnectionFixture"}],"source_content_type":"text/x-python","patch_set":2,"id":"17d25833_f5385bef","line":86,"range":{"start_line":86,"start_character":0,"end_line":86,"end_character":8},"in_reply_to":"a95690d3_13037cce","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1b1884d8b9357c2828377e7475c734e06f0e2fdb","unresolved":true,"context_lines":[{"line_number":344,"context_line":"        vnf_lcm_op_occs_id \u003d uuidsentinel.vnf_lcm_op_occs_id"},{"line_number":345,"context_line":"        vnf_dict \u003d db_utils.get_dummy_vnf_etsi(instance_id\u003dself.instance_uuid,"},{"line_number":346,"context_line":"                                       flavour\u003dinstantiate_vnf_req.flavour_id)"},{"line_number":347,"context_line":"        vnf_dict[\u0027before_error_point\u0027] \u003d 0"},{"line_number":348,"context_line":"        vnfd_key \u003d \u0027vnfd_\u0027 + instantiate_vnf_req.flavour_id"},{"line_number":349,"context_line":"        vnfd_yaml \u003d vnf_dict[\u0027vnfd\u0027][\u0027attributes\u0027].get(vnfd_key, \u0027\u0027)"},{"line_number":350,"context_line":"        mock_vnfd_dict.return_value \u003d yaml.safe_load(vnfd_yaml)"}],"source_content_type":"text/x-python","patch_set":9,"id":"80f390ea_12f13a63","line":347,"range":{"start_line":347,"start_character":41,"end_line":347,"end_character":42},"updated":"2021-03-23 13:37:36.000000000","message":"Why don\u0027t you use member of ErrorPoint class to make appear in meaning? There are similar cases in not only this file but also other files.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":344,"context_line":"        vnf_lcm_op_occs_id \u003d uuidsentinel.vnf_lcm_op_occs_id"},{"line_number":345,"context_line":"        vnf_dict \u003d db_utils.get_dummy_vnf_etsi(instance_id\u003dself.instance_uuid,"},{"line_number":346,"context_line":"                                       flavour\u003dinstantiate_vnf_req.flavour_id)"},{"line_number":347,"context_line":"        vnf_dict[\u0027before_error_point\u0027] \u003d 0"},{"line_number":348,"context_line":"        vnfd_key \u003d \u0027vnfd_\u0027 + instantiate_vnf_req.flavour_id"},{"line_number":349,"context_line":"        vnfd_yaml \u003d vnf_dict[\u0027vnfd\u0027][\u0027attributes\u0027].get(vnfd_key, \u0027\u0027)"},{"line_number":350,"context_line":"        mock_vnfd_dict.return_value \u003d yaml.safe_load(vnfd_yaml)"}],"source_content_type":"text/x-python","patch_set":9,"id":"d193dce5_d10edc87","line":347,"range":{"start_line":347,"start_character":41,"end_line":347,"end_character":42},"in_reply_to":"80f390ea_12f13a63","updated":"2021-03-24 12:32:19.000000000","message":"\u003e Why don\u0027t you use member of ErrorPoint class to make appear in meaning? There are similar cases in not only this file but also other files.\n\nUsed the ErrorPoint Enum class of all `before_error_point` \u0026 `current_error_point` magic number","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"53e0a38d206de02c38158b4bae6378ccf2c7fb12","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        vnf_lcm_op_occs_id \u003d uuidsentinel.vnf_lcm_op_occs_id"},{"line_number":345,"context_line":"        vnf_dict \u003d db_utils.get_dummy_vnf_etsi(instance_id\u003dself.instance_uuid,"},{"line_number":346,"context_line":"                                       flavour\u003dinstantiate_vnf_req.flavour_id)"},{"line_number":347,"context_line":"        vnf_dict[\u0027before_error_point\u0027] \u003d 0"},{"line_number":348,"context_line":"        vnfd_key \u003d \u0027vnfd_\u0027 + instantiate_vnf_req.flavour_id"},{"line_number":349,"context_line":"        vnfd_yaml \u003d vnf_dict[\u0027vnfd\u0027][\u0027attributes\u0027].get(vnfd_key, \u0027\u0027)"},{"line_number":350,"context_line":"        mock_vnfd_dict.return_value \u003d yaml.safe_load(vnfd_yaml)"}],"source_content_type":"text/x-python","patch_set":9,"id":"f18bf7ec_00a8480f","line":347,"range":{"start_line":347,"start_character":41,"end_line":347,"end_character":42},"in_reply_to":"d193dce5_d10edc87","updated":"2021-03-25 06:13:34.000000000","message":"Done","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1b1884d8b9357c2828377e7475c734e06f0e2fdb","unresolved":true,"context_lines":[{"line_number":712,"context_line":"    @mock.patch(\u0027tacker.vnflcm.utils._get_vnfd_dict\u0027)"},{"line_number":713,"context_line":"    @mock.patch(\u0027tacker.vnflcm.utils._convert_desired_capacity\u0027)"},{"line_number":714,"context_line":"    @mock.patch.object(objects.VnfLcmOpOcc, \"get_by_id\")"},{"line_number":715,"context_line":"    def test_instantiate_vnf_instance_error_point_1(self, mock_vnf_by_id,"},{"line_number":716,"context_line":"            mock_des, mock_vnfd_dict,"},{"line_number":717,"context_line":"            mock_get_lock, mock_save,"},{"line_number":718,"context_line":"            mock_build_info, mock_change_vnf_status,"}],"source_content_type":"text/x-python","patch_set":9,"id":"77f42d1f_91080692","line":715,"range":{"start_line":715,"start_character":38,"end_line":715,"end_character":51},"updated":"2021-03-23 13:37:36.000000000","message":"Could you revise the name of function by using terms in ErrorPoint class? It\u0027s not understandable for the code and also logs of tests. There are many similar cases.","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":712,"context_line":"    @mock.patch(\u0027tacker.vnflcm.utils._get_vnfd_dict\u0027)"},{"line_number":713,"context_line":"    @mock.patch(\u0027tacker.vnflcm.utils._convert_desired_capacity\u0027)"},{"line_number":714,"context_line":"    @mock.patch.object(objects.VnfLcmOpOcc, \"get_by_id\")"},{"line_number":715,"context_line":"    def test_instantiate_vnf_instance_error_point_1(self, mock_vnf_by_id,"},{"line_number":716,"context_line":"            mock_des, mock_vnfd_dict,"},{"line_number":717,"context_line":"            mock_get_lock, mock_save,"},{"line_number":718,"context_line":"            mock_build_info, mock_change_vnf_status,"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa0eaf0a_46e2cc04","line":715,"range":{"start_line":715,"start_character":38,"end_line":715,"end_character":51},"in_reply_to":"77f42d1f_91080692","updated":"2021-03-24 12:32:19.000000000","message":"\u003e Could you revise the name of function by using terms in ErrorPoint class? It\u0027s not understandable for the code and also logs of tests. There are many similar cases.\n\nRenamed function using terms in ErrorPoint class","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"53e0a38d206de02c38158b4bae6378ccf2c7fb12","unresolved":false,"context_lines":[{"line_number":712,"context_line":"    @mock.patch(\u0027tacker.vnflcm.utils._get_vnfd_dict\u0027)"},{"line_number":713,"context_line":"    @mock.patch(\u0027tacker.vnflcm.utils._convert_desired_capacity\u0027)"},{"line_number":714,"context_line":"    @mock.patch.object(objects.VnfLcmOpOcc, \"get_by_id\")"},{"line_number":715,"context_line":"    def test_instantiate_vnf_instance_error_point_1(self, mock_vnf_by_id,"},{"line_number":716,"context_line":"            mock_des, mock_vnfd_dict,"},{"line_number":717,"context_line":"            mock_get_lock, mock_save,"},{"line_number":718,"context_line":"            mock_build_info, mock_change_vnf_status,"}],"source_content_type":"text/x-python","patch_set":9,"id":"d7a75d5f_71d59b97","line":715,"range":{"start_line":715,"start_character":38,"end_line":715,"end_character":51},"in_reply_to":"fa0eaf0a_46e2cc04","updated":"2021-03-25 06:13:34.000000000","message":"Done","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"}],"tacker/tests/unit/vnflcm/fakes.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1b1884d8b9357c2828377e7475c734e06f0e2fdb","unresolved":true,"context_lines":[{"line_number":1465,"context_line":"def vnflcm_op_occs_retry_data(error_point\u003d7, operation\u003d\u0027INSTANTIATE\u0027,"},{"line_number":1466,"context_line":"        operation_state\u003d\u0027FAILED_TEMP\u0027):"},{"line_number":1467,"context_line":"    return objects.VnfLcmOpOcc("},{"line_number":1468,"context_line":"        state_entered_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":1469,"context_line":"                                             tzinfo\u003diso8601.UTC),"},{"line_number":1470,"context_line":"        start_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":1471,"context_line":"                                     tzinfo\u003diso8601.UTC),"},{"line_number":1472,"context_line":"        vnf_instance_id\u003duuidsentinel.vnf_instance_id,"},{"line_number":1473,"context_line":"        operation\u003doperation,"},{"line_number":1474,"context_line":"        operation_state\u003doperation_state,"}],"source_content_type":"text/x-python","patch_set":9,"id":"be1ef224_5d513dd2","line":1471,"range":{"start_line":1468,"start_character":0,"end_line":1471,"end_character":57},"updated":"2021-03-23 13:37:36.000000000","message":"I think no need to call `datetime` several times. It\u0027s better to set a variable before `return`.\n\n```\nnow \u003d datetime.datetime(2000, 1, 1, 1, 1, 1, tzinfo\u003diso8601.UTC)\nreturn objects.VnfLcmOpOcc(\n        state_entered_time\u003dnow,\n        start_time\u003dnow,\n        ...\n```","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"53e0a38d206de02c38158b4bae6378ccf2c7fb12","unresolved":false,"context_lines":[{"line_number":1465,"context_line":"def vnflcm_op_occs_retry_data(error_point\u003d7, operation\u003d\u0027INSTANTIATE\u0027,"},{"line_number":1466,"context_line":"        operation_state\u003d\u0027FAILED_TEMP\u0027):"},{"line_number":1467,"context_line":"    return objects.VnfLcmOpOcc("},{"line_number":1468,"context_line":"        state_entered_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":1469,"context_line":"                                             tzinfo\u003diso8601.UTC),"},{"line_number":1470,"context_line":"        start_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":1471,"context_line":"                                     tzinfo\u003diso8601.UTC),"},{"line_number":1472,"context_line":"        vnf_instance_id\u003duuidsentinel.vnf_instance_id,"},{"line_number":1473,"context_line":"        operation\u003doperation,"},{"line_number":1474,"context_line":"        operation_state\u003doperation_state,"}],"source_content_type":"text/x-python","patch_set":9,"id":"f9eb286f_ff9f44e4","line":1471,"range":{"start_line":1468,"start_character":0,"end_line":1471,"end_character":57},"in_reply_to":"393ad75e_3c0107eb","updated":"2021-03-25 06:13:34.000000000","message":"Done","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":1465,"context_line":"def vnflcm_op_occs_retry_data(error_point\u003d7, operation\u003d\u0027INSTANTIATE\u0027,"},{"line_number":1466,"context_line":"        operation_state\u003d\u0027FAILED_TEMP\u0027):"},{"line_number":1467,"context_line":"    return objects.VnfLcmOpOcc("},{"line_number":1468,"context_line":"        state_entered_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":1469,"context_line":"                                             tzinfo\u003diso8601.UTC),"},{"line_number":1470,"context_line":"        start_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":1471,"context_line":"                                     tzinfo\u003diso8601.UTC),"},{"line_number":1472,"context_line":"        vnf_instance_id\u003duuidsentinel.vnf_instance_id,"},{"line_number":1473,"context_line":"        operation\u003doperation,"},{"line_number":1474,"context_line":"        operation_state\u003doperation_state,"}],"source_content_type":"text/x-python","patch_set":9,"id":"393ad75e_3c0107eb","line":1471,"range":{"start_line":1468,"start_character":0,"end_line":1471,"end_character":57},"in_reply_to":"be1ef224_5d513dd2","updated":"2021-03-24 12:32:19.000000000","message":"\u003e I think no need to call `datetime` several times. It\u0027s better to set a variable before `return`.\n\u003e \n\u003e ```\n\u003e now \u003d datetime.datetime(2000, 1, 1, 1, 1, 1, tzinfo\u003diso8601.UTC)\n\u003e return objects.VnfLcmOpOcc(\n\u003e         state_entered_time\u003dnow,\n\u003e         start_time\u003dnow,\n\u003e         ...\n\u003e ```\n\nAdded a variable \"now\" and replaced all instances of \"datetime.datetime(2000, 1, 1, 1, 1, 1, tzinfo\u003diso8601.UTC)\"","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"1b1884d8b9357c2828377e7475c734e06f0e2fdb","unresolved":true,"context_lines":[{"line_number":1476,"context_line":"        operation_params\u003d\u0027{}\u0027,"},{"line_number":1477,"context_line":"        error_point\u003derror_point,"},{"line_number":1478,"context_line":"        id\u003dconstants.UUID,"},{"line_number":1479,"context_line":"        created_at\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":1480,"context_line":"                                     tzinfo\u003diso8601.UTC))"},{"line_number":1481,"context_line":""},{"line_number":1482,"context_line":""},{"line_number":1483,"context_line":"def vnf_data(status\u003d\u0027ACTIVE\u0027):"},{"line_number":1484,"context_line":"    return tacker.db.vnfm.vnfm_db.VNF(id\u003dconstants.UUID,"}],"source_content_type":"text/x-python","patch_set":9,"id":"dce766e6_52b61d85","line":1481,"range":{"start_line":1479,"start_character":0,"end_line":1481,"end_character":0},"updated":"2021-03-23 13:37:36.000000000","message":"ditto","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"b2691f895f7cd8c50dd48c400a85b6361224ba33","unresolved":true,"context_lines":[{"line_number":1476,"context_line":"        operation_params\u003d\u0027{}\u0027,"},{"line_number":1477,"context_line":"        error_point\u003derror_point,"},{"line_number":1478,"context_line":"        id\u003dconstants.UUID,"},{"line_number":1479,"context_line":"        created_at\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":1480,"context_line":"                                     tzinfo\u003diso8601.UTC))"},{"line_number":1481,"context_line":""},{"line_number":1482,"context_line":""},{"line_number":1483,"context_line":"def vnf_data(status\u003d\u0027ACTIVE\u0027):"},{"line_number":1484,"context_line":"    return tacker.db.vnfm.vnfm_db.VNF(id\u003dconstants.UUID,"}],"source_content_type":"text/x-python","patch_set":9,"id":"21d2570f_f515d2ec","line":1481,"range":{"start_line":1479,"start_character":0,"end_line":1481,"end_character":0},"in_reply_to":"dce766e6_52b61d85","updated":"2021-03-24 12:32:19.000000000","message":"\u003e ditto\n\nSame answer as Line 1471","commit_id":"dc9af486e5acee9b759517087e6fcd16d49431bb"}],"tacker/tests/unit/vnflcm/test_controller.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":1361,"context_line":"    @mock.patch(\u0027tacker.api.vnflcm.v1.controller.\u0027"},{"line_number":1362,"context_line":"                \u0027VnfLcmController._get_vnf\u0027)"},{"line_number":1363,"context_line":"    @mock.patch.object(objects.vnf_instance, \"_vnf_instance_get_by_id\")"},{"line_number":1364,"context_line":"    def test_terminate_incorrect_instantiation_state("},{"line_number":1365,"context_line":"            self, mock_vnf_by_id, mock_get_vnf, mock_get_service_plugins):"},{"line_number":1366,"context_line":"        mock_vnf_by_id.return_value \u003d fakes.return_vnf_instance()"},{"line_number":1367,"context_line":"        body \u003d {\"terminationType\": \"FORCEFUL\"}"}],"source_content_type":"text/x-python","patch_set":2,"id":"931e22c8_18f901a5","side":"PARENT","line":1364,"range":{"start_line":1364,"start_character":8,"end_line":1364,"end_character":52},"updated":"2021-03-12 10:34:15.000000000","message":"Why should this terminate test be removed?","commit_id":"bce8a895bb1a7f327a3136dcd65fdca2943991ba"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1361,"context_line":"    @mock.patch(\u0027tacker.api.vnflcm.v1.controller.\u0027"},{"line_number":1362,"context_line":"                \u0027VnfLcmController._get_vnf\u0027)"},{"line_number":1363,"context_line":"    @mock.patch.object(objects.vnf_instance, \"_vnf_instance_get_by_id\")"},{"line_number":1364,"context_line":"    def test_terminate_incorrect_instantiation_state("},{"line_number":1365,"context_line":"            self, mock_vnf_by_id, mock_get_vnf, mock_get_service_plugins):"},{"line_number":1366,"context_line":"        mock_vnf_by_id.return_value \u003d fakes.return_vnf_instance()"},{"line_number":1367,"context_line":"        body \u003d {\"terminationType\": \"FORCEFUL\"}"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab473b5_23cdfa54","side":"PARENT","line":1364,"range":{"start_line":1364,"start_character":8,"end_line":1364,"end_character":52},"in_reply_to":"931e22c8_18f901a5","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Why should this terminate test be removed?\n\nThese UT codes will contradict this fix modification (refer to Mod 1 below).\nMentioned above modifications are needed since when line (refer to Mod 2 below) executed and afterwards it will raise an error so during retry it will raise an error(409 conflict)\n\nMod 1: https://review.opendev.org/c/openstack/tacker/+/778948/2/tacker/api/vnflcm/v1/controller.py#657\nMod 2: https://review.opendev.org/c/openstack/tacker/+/778948/2/tacker/vnflcm/vnflcm_driver.py#612","commit_id":"bce8a895bb1a7f327a3136dcd65fdca2943991ba"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":1361,"context_line":"    @mock.patch(\u0027tacker.api.vnflcm.v1.controller.\u0027"},{"line_number":1362,"context_line":"                \u0027VnfLcmController._get_vnf\u0027)"},{"line_number":1363,"context_line":"    @mock.patch.object(objects.vnf_instance, \"_vnf_instance_get_by_id\")"},{"line_number":1364,"context_line":"    def test_terminate_incorrect_instantiation_state("},{"line_number":1365,"context_line":"            self, mock_vnf_by_id, mock_get_vnf, mock_get_service_plugins):"},{"line_number":1366,"context_line":"        mock_vnf_by_id.return_value \u003d fakes.return_vnf_instance()"},{"line_number":1367,"context_line":"        body \u003d {\"terminationType\": \"FORCEFUL\"}"}],"source_content_type":"text/x-python","patch_set":2,"id":"e41441f0_eb6707fb","side":"PARENT","line":1364,"range":{"start_line":1364,"start_character":8,"end_line":1364,"end_character":52},"in_reply_to":"bab473b5_23cdfa54","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"bce8a895bb1a7f327a3136dcd65fdca2943991ba"}],"tacker/tests/unit/vnflcm/test_vnflcm_driver.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"aaef973241a9213fbdc1145befffed3e4f4e43c1","unresolved":true,"context_lines":[{"line_number":146,"context_line":"    pass"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"@ddt.ddt"},{"line_number":150,"context_line":"class TestVnflcmDriver(db_base.SqlTestCase):"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"c20a5367_e52488bf","line":149,"range":{"start_line":149,"start_character":0,"end_line":149,"end_character":8},"updated":"2021-03-12 10:34:15.000000000","message":"It looks like you\u0027re not using ddt, isn\u0027t it unnecessary?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    pass"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"@ddt.ddt"},{"line_number":150,"context_line":"class TestVnflcmDriver(db_base.SqlTestCase):"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"c716c37d_05c76a74","line":149,"range":{"start_line":149,"start_character":0,"end_line":149,"end_character":8},"in_reply_to":"40ea4afe_9e26ca1e","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"a8b41e853ced70622596a6ef84a53f0dc7f479f3","unresolved":true,"context_lines":[{"line_number":146,"context_line":"    pass"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"@ddt.ddt"},{"line_number":150,"context_line":"class TestVnflcmDriver(db_base.SqlTestCase):"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"40ea4afe_9e26ca1e","line":149,"range":{"start_line":149,"start_character":0,"end_line":149,"end_character":8},"in_reply_to":"c20a5367_e52488bf","updated":"2021-03-17 11:35:55.000000000","message":"\u003e It looks like you\u0027re not using ddt, isn\u0027t it unnecessary?\n\nRemoved import ddt and @ddt.ddt since it is not used","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"}],"tacker/vnflcm/vnflcm_driver.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f008eef93652ee549f2b580c77dbd6a930ff860","unresolved":true,"context_lines":[{"line_number":411,"context_line":"                    raise exceptions.VnfInstantiationWaitFailed("},{"line_number":412,"context_line":"                        id\u003dvnf_instance.id,"},{"line_number":413,"context_line":"                        error\u003dencodeutils.exception_to_unicode(exp))"},{"line_number":414,"context_line":"        else:"},{"line_number":415,"context_line":"            try:"},{"line_number":416,"context_line":"                self._vnf_manager.invoke("},{"line_number":417,"context_line":"                    vim_connection_info.vim_type, \u0027update_stack_wait\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"efe590ad_d7df5c2d","line":414,"range":{"start_line":414,"start_character":8,"end_line":414,"end_character":13},"updated":"2021-03-15 09:43:51.000000000","message":"tacker/vnfm/infra_drivers/openstack/openstack.py\nLike the comment to the code above, Update-stack will also be executed with error_point≥5, but shouldn\u0027t it be executed only when error_point\u003d4?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":411,"context_line":"                    raise exceptions.VnfInstantiationWaitFailed("},{"line_number":412,"context_line":"                        id\u003dvnf_instance.id,"},{"line_number":413,"context_line":"                        error\u003dencodeutils.exception_to_unicode(exp))"},{"line_number":414,"context_line":"        else:"},{"line_number":415,"context_line":"            try:"},{"line_number":416,"context_line":"                self._vnf_manager.invoke("},{"line_number":417,"context_line":"                    vim_connection_info.vim_type, \u0027update_stack_wait\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"10a8cd34_8a0a95dc","line":414,"range":{"start_line":414,"start_character":8,"end_line":414,"end_character":13},"in_reply_to":"49e835cb_038156c8","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":411,"context_line":"                    raise exceptions.VnfInstantiationWaitFailed("},{"line_number":412,"context_line":"                        id\u003dvnf_instance.id,"},{"line_number":413,"context_line":"                        error\u003dencodeutils.exception_to_unicode(exp))"},{"line_number":414,"context_line":"        else:"},{"line_number":415,"context_line":"            try:"},{"line_number":416,"context_line":"                self._vnf_manager.invoke("},{"line_number":417,"context_line":"                    vim_connection_info.vim_type, \u0027update_stack_wait\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"49e835cb_038156c8","line":414,"range":{"start_line":414,"start_character":8,"end_line":414,"end_character":13},"in_reply_to":"efe590ad_d7df5c2d","updated":"2021-03-17 08:49:13.000000000","message":"\u003e tacker/vnfm/infra_drivers/openstack/openstack.py\n\u003e Like the comment to the code above, Update-stack will also be executed with error_point≥5, but shouldn\u0027t it be executed only when error_point\u003d4?\n\nelse branch changed to elif vnf_dict[\u0027before_error_point\u0027] \u003d\u003d 4:","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":true,"context_lines":[{"line_number":38,"context_line":"from tacker.conductor.conductorrpc import vnf_lcm_rpc"},{"line_number":39,"context_line":"from tacker import manager"},{"line_number":40,"context_line":"from tacker import objects"},{"line_number":41,"context_line":"from tacker.objects import fields"},{"line_number":42,"context_line":"from tacker.vnflcm import abstract_driver"},{"line_number":43,"context_line":"from tacker.vnflcm import utils as vnflcm_utils"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"0fa1fb1c_ab77bbda","line":41,"updated":"2021-03-18 07:42:16.000000000","message":"Since the code of the part that uses fields.ErrorPoint becomes long, how about adding import as follows?\n---\nfrom tacker.objects.fields import ErrorPoint as EP","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":38,"context_line":"from tacker.conductor.conductorrpc import vnf_lcm_rpc"},{"line_number":39,"context_line":"from tacker import manager"},{"line_number":40,"context_line":"from tacker import objects"},{"line_number":41,"context_line":"from tacker.objects import fields"},{"line_number":42,"context_line":"from tacker.vnflcm import abstract_driver"},{"line_number":43,"context_line":"from tacker.vnflcm import utils as vnflcm_utils"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dc7986d4_833ebe79","line":41,"in_reply_to":"0fa1fb1c_ab77bbda","updated":"2021-03-23 06:21:23.000000000","message":"\u003e Since the code of the part that uses fields.ErrorPoint becomes long, how about adding import as follows?\n\u003e ---\n\u003e from tacker.objects.fields import ErrorPoint as EP\n\nAdded new import `from tacker.objects.fields import ErrorPoint as EP` and renamed all instances of `fields.ErrorPoint` to `EP`","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"339a21aaf24aea812b995c6999bf5b64839fe752","unresolved":false,"context_lines":[{"line_number":38,"context_line":"from tacker.conductor.conductorrpc import vnf_lcm_rpc"},{"line_number":39,"context_line":"from tacker import manager"},{"line_number":40,"context_line":"from tacker import objects"},{"line_number":41,"context_line":"from tacker.objects import fields"},{"line_number":42,"context_line":"from tacker.vnflcm import abstract_driver"},{"line_number":43,"context_line":"from tacker.vnflcm import utils as vnflcm_utils"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e3f5265e_93e400bc","line":41,"in_reply_to":"dc7986d4_833ebe79","updated":"2021-03-24 06:17:23.000000000","message":"I\u0027ve confirmed.","commit_id":"210dd7cd95e2c3c70d2c3c7b2381dc3cd6a0ccce"}],"tacker/vnfm/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":"6f008eef93652ee549f2b580c77dbd6a930ff860","unresolved":true,"context_lines":[{"line_number":298,"context_line":"                vnf[\u0027attributes\u0027].update({name: self._format_base_hot(value)})"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"            stack \u003d None"},{"line_number":301,"context_line":"            if \u0027before_error_point\u0027 not in vnf or \\"},{"line_number":302,"context_line":"               vnf[\u0027before_error_point\u0027] \u003c\u003d 3:"},{"line_number":303,"context_line":"                # Create heat-stack with BaseHOT and parameters"},{"line_number":304,"context_line":"                stack \u003d self._create_stack_with_user_data("}],"source_content_type":"text/x-python","patch_set":2,"id":"07d5e49a_f2ba1632","line":301,"range":{"start_line":301,"start_character":15,"end_line":301,"end_character":46},"updated":"2021-03-15 09:43:51.000000000","message":"Do you need this condition?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":298,"context_line":"                vnf[\u0027attributes\u0027].update({name: self._format_base_hot(value)})"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"            stack \u003d None"},{"line_number":301,"context_line":"            if \u0027before_error_point\u0027 not in vnf or \\"},{"line_number":302,"context_line":"               vnf[\u0027before_error_point\u0027] \u003c\u003d 3:"},{"line_number":303,"context_line":"                # Create heat-stack with BaseHOT and parameters"},{"line_number":304,"context_line":"                stack \u003d self._create_stack_with_user_data("}],"source_content_type":"text/x-python","patch_set":2,"id":"32955016_10212752","line":301,"range":{"start_line":301,"start_character":15,"end_line":301,"end_character":46},"in_reply_to":"07d5e49a_f2ba1632","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Do you need this condition?\n\nYes because create method is also called in legacy that is why we need this modification for backward compatibility. Since legacy does not have key `before_error_point` in vnf dict.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":298,"context_line":"                vnf[\u0027attributes\u0027].update({name: self._format_base_hot(value)})"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"            stack \u003d None"},{"line_number":301,"context_line":"            if \u0027before_error_point\u0027 not in vnf or \\"},{"line_number":302,"context_line":"               vnf[\u0027before_error_point\u0027] \u003c\u003d 3:"},{"line_number":303,"context_line":"                # Create heat-stack with BaseHOT and parameters"},{"line_number":304,"context_line":"                stack \u003d self._create_stack_with_user_data("}],"source_content_type":"text/x-python","patch_set":2,"id":"a566b51f_5b30c5ed","line":301,"range":{"start_line":301,"start_character":15,"end_line":301,"end_character":46},"in_reply_to":"32955016_10212752","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f008eef93652ee549f2b580c77dbd6a930ff860","unresolved":true,"context_lines":[{"line_number":304,"context_line":"                stack \u003d self._create_stack_with_user_data("},{"line_number":305,"context_line":"                    heatclient, vnf, base_hot_dict,"},{"line_number":306,"context_line":"                    nested_hot_dict, hot_param_dict)"},{"line_number":307,"context_line":"            else:"},{"line_number":308,"context_line":"                stack_found \u003d None"},{"line_number":309,"context_line":"                try:"},{"line_number":310,"context_line":"                    # Find existing stack"}],"source_content_type":"text/x-python","patch_set":2,"id":"d56dafe0_a268b353","line":307,"range":{"start_line":307,"start_character":12,"end_line":307,"end_character":17},"updated":"2021-03-15 09:43:51.000000000","message":"Update-stack will also be executed when error_point≥5, but shouldn\u0027t it be executed only when error_point\u003d4?","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":304,"context_line":"                stack \u003d self._create_stack_with_user_data("},{"line_number":305,"context_line":"                    heatclient, vnf, base_hot_dict,"},{"line_number":306,"context_line":"                    nested_hot_dict, hot_param_dict)"},{"line_number":307,"context_line":"            else:"},{"line_number":308,"context_line":"                stack_found \u003d None"},{"line_number":309,"context_line":"                try:"},{"line_number":310,"context_line":"                    # Find existing stack"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff8cf607_5aa59eee","line":307,"range":{"start_line":307,"start_character":12,"end_line":307,"end_character":17},"in_reply_to":"d56dafe0_a268b353","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Update-stack will also be executed when error_point≥5, but shouldn\u0027t it be executed only when error_point\u003d4?\n\nelse branch changed to elif vnf[\u0027before_error_point\u0027] \u003d\u003d 4:","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":304,"context_line":"                stack \u003d self._create_stack_with_user_data("},{"line_number":305,"context_line":"                    heatclient, vnf, base_hot_dict,"},{"line_number":306,"context_line":"                    nested_hot_dict, hot_param_dict)"},{"line_number":307,"context_line":"            else:"},{"line_number":308,"context_line":"                stack_found \u003d None"},{"line_number":309,"context_line":"                try:"},{"line_number":310,"context_line":"                    # Find existing stack"}],"source_content_type":"text/x-python","patch_set":2,"id":"b8cd768a_3c13b653","line":307,"range":{"start_line":307,"start_character":12,"end_line":307,"end_character":17},"in_reply_to":"ff8cf607_5aa59eee","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f008eef93652ee549f2b580c77dbd6a930ff860","unresolved":true,"context_lines":[{"line_number":331,"context_line":"            if \u0027before_error_point\u0027 not in vnf or \\"},{"line_number":332,"context_line":"               vnf[\u0027before_error_point\u0027] \u003c\u003d 3:"},{"line_number":333,"context_line":"                stack \u003d self._create_stack(heatclient, tth.vnf, tth.fields)"},{"line_number":334,"context_line":"            else:"},{"line_number":335,"context_line":"                stack_found \u003d None"},{"line_number":336,"context_line":"                try:"},{"line_number":337,"context_line":"                    # Find existing stack"}],"source_content_type":"text/x-python","patch_set":2,"id":"4b89b08a_f0bfc7b9","line":334,"range":{"start_line":334,"start_character":12,"end_line":334,"end_character":17},"updated":"2021-03-15 09:43:51.000000000","message":"ditto","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":331,"context_line":"            if \u0027before_error_point\u0027 not in vnf or \\"},{"line_number":332,"context_line":"               vnf[\u0027before_error_point\u0027] \u003c\u003d 3:"},{"line_number":333,"context_line":"                stack \u003d self._create_stack(heatclient, tth.vnf, tth.fields)"},{"line_number":334,"context_line":"            else:"},{"line_number":335,"context_line":"                stack_found \u003d None"},{"line_number":336,"context_line":"                try:"},{"line_number":337,"context_line":"                    # Find existing stack"}],"source_content_type":"text/x-python","patch_set":2,"id":"7df8d17c_2798be73","line":334,"range":{"start_line":334,"start_character":12,"end_line":334,"end_character":17},"in_reply_to":"4b89b08a_f0bfc7b9","updated":"2021-03-17 08:49:13.000000000","message":"\u003e ditto\n\nelse branch changed to elif vnf[\u0027before_error_point\u0027] \u003d\u003d 4:","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":331,"context_line":"            if \u0027before_error_point\u0027 not in vnf or \\"},{"line_number":332,"context_line":"               vnf[\u0027before_error_point\u0027] \u003c\u003d 3:"},{"line_number":333,"context_line":"                stack \u003d self._create_stack(heatclient, tth.vnf, tth.fields)"},{"line_number":334,"context_line":"            else:"},{"line_number":335,"context_line":"                stack_found \u003d None"},{"line_number":336,"context_line":"                try:"},{"line_number":337,"context_line":"                    # Find existing stack"}],"source_content_type":"text/x-python","patch_set":2,"id":"b4a60e46_0145a850","line":334,"range":{"start_line":334,"start_character":12,"end_line":334,"end_character":17},"in_reply_to":"7df8d17c_2798be73","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"6f008eef93652ee549f2b580c77dbd6a930ff860","unresolved":true,"context_lines":[{"line_number":1301,"context_line":"                    \"statuses\": \",\".join(stack_statuses),"},{"line_number":1302,"context_line":"                    \"status\": stack.stack_status})"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"        if vnf_lcm_op_occs.error_point !\u003d 4:"},{"line_number":1305,"context_line":"            _get_stack_status()"},{"line_number":1306,"context_line":"            _resource_mark_unhealthy()"},{"line_number":1307,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"c90a6224_86c2982c","line":1304,"range":{"start_line":1304,"start_character":8,"end_line":1304,"end_character":44},"updated":"2021-03-15 09:43:51.000000000","message":"Are the following conditions correct?\n---\nif vnf_lcm_op_occs.error_point \u003c\u003d 3:","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"440d0d20bcd6deee434bfb3cb9325436b1152fb7","unresolved":true,"context_lines":[{"line_number":1301,"context_line":"                    \"statuses\": \",\".join(stack_statuses),"},{"line_number":1302,"context_line":"                    \"status\": stack.stack_status})"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"        if vnf_lcm_op_occs.error_point !\u003d 4:"},{"line_number":1305,"context_line":"            _get_stack_status()"},{"line_number":1306,"context_line":"            _resource_mark_unhealthy()"},{"line_number":1307,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"e2318121_53c46d90","line":1304,"range":{"start_line":1304,"start_character":8,"end_line":1304,"end_character":44},"in_reply_to":"c90a6224_86c2982c","updated":"2021-03-17 08:49:13.000000000","message":"\u003e Are the following conditions correct?\n\u003e ---\n\u003e if vnf_lcm_op_occs.error_point \u003c\u003d 3:\n\nChanged condition to if vnf_lcm_op_occs.error_point \u003c\u003d 3:","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bb3f94232b744dc336f8397e1cdf739542ace930","unresolved":false,"context_lines":[{"line_number":1301,"context_line":"                    \"statuses\": \",\".join(stack_statuses),"},{"line_number":1302,"context_line":"                    \"status\": stack.stack_status})"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"        if vnf_lcm_op_occs.error_point !\u003d 4:"},{"line_number":1305,"context_line":"            _get_stack_status()"},{"line_number":1306,"context_line":"            _resource_mark_unhealthy()"},{"line_number":1307,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ebd3832f_aa381de4","line":1304,"range":{"start_line":1304,"start_character":8,"end_line":1304,"end_character":44},"in_reply_to":"e2318121_53c46d90","updated":"2021-03-18 07:42:16.000000000","message":"I\u0027ve confirmed.","commit_id":"be78a191b3cf7070a6ca5e06c53d0e6a43ed5e9b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":320,"context_line":"                                                base_hot_dict,"},{"line_number":321,"context_line":"                                                nested_hot_dict,"},{"line_number":322,"context_line":"                                                hot_param_dict,"},{"line_number":323,"context_line":"                                                stack_found.id)"},{"line_number":324,"context_line":"                return stack_found.id"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        elif user_data_path is None and user_data_class is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"8e3114db_18549b5c","line":323,"updated":"2021-03-18 01:57:07.000000000","message":"stack_found may be None or {}. check before using stack_found.id.\n(Also I think it is strange find_stack returns {} if no stack found.)","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":320,"context_line":"                                                base_hot_dict,"},{"line_number":321,"context_line":"                                                nested_hot_dict,"},{"line_number":322,"context_line":"                                                hot_param_dict,"},{"line_number":323,"context_line":"                                                stack_found.id)"},{"line_number":324,"context_line":"                return stack_found.id"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        elif user_data_path is None and user_data_class is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"6e890d18_029827f3","line":323,"in_reply_to":"8e3114db_18549b5c","updated":"2021-03-23 06:21:23.000000000","message":"\u003e stack_found may be None or {}. check before using stack_found.id.\n\u003e (Also I think it is strange find_stack returns {} if no stack found.)\n\nAdded checking before using stack_found.id. Also find_stack returns None if no stack found","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f372d075a027a719fcd2cbd4527ae5b108a91607","unresolved":true,"context_lines":[{"line_number":353,"context_line":"                        name_filter, str(exc))"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"                # Update heat-stack"},{"line_number":356,"context_line":"                self._update_stack(heatclient, stack_found.id, tth.fields)"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"                return stack_found.id"},{"line_number":359,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"45c67f85_f8cc2c4b","line":356,"updated":"2021-03-18 01:57:07.000000000","message":"same as comment of L.323","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"},{"author":{"_account_id":32219,"name":"Aldinson C. Esto","email":"esto.aln@nec.com","username":"esto-aln"},"change_message_id":"54fb4b97df2e4289e08a0d946959d5de35e214ed","unresolved":true,"context_lines":[{"line_number":353,"context_line":"                        name_filter, str(exc))"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"                # Update heat-stack"},{"line_number":356,"context_line":"                self._update_stack(heatclient, stack_found.id, tth.fields)"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"                return stack_found.id"},{"line_number":359,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"667bfbc2_17207d52","line":356,"in_reply_to":"45c67f85_f8cc2c4b","updated":"2021-03-23 06:21:23.000000000","message":"\u003e same as comment of L.323\n\nAdded checking before using stack_found.id","commit_id":"92611461ae50a7102e3b002f8ff1761c2d6c9047"}]}
