)]}'
{"tacker/tests/etc/samples/etsi/nfv/vnflcm1/TOSCA-Metadata/TOSCA.meta":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"TOSCA-Meta-File-Version: 1.0"},{"line_number":2,"context_line":"Created-by: Hiroyuki JO"},{"line_number":3,"context_line":"CSAR-Version: 1.1"},{"line_number":4,"context_line":"Entry-Definitions: Definitions/helloworld3_top.vnfd.yaml"},{"line_number":5,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":34,"id":"1f493fa4_06f5ce57","line":2,"updated":"2020-04-22 19:04:37.000000000","message":"It seems better to avoid using name of actual person if possible.","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"}],"tacker/tests/etc/samples/etsi/nfv/vnflcm2/TOSCA-Metadata/TOSCA.meta":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"TOSCA-Meta-File-Version: 1.0"},{"line_number":2,"context_line":"Created-by: Hiroyuki JO"},{"line_number":3,"context_line":"CSAR-Version: 1.1"},{"line_number":4,"context_line":"Entry-Definitions: Definitions/helloworld3_top.vnfd.yaml"},{"line_number":5,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":34,"id":"1f493fa4_a6033a42","line":2,"updated":"2020-04-22 19:04:37.000000000","message":"It seems better to avoid using name of actual person if possible.","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"}],"tacker/tests/etc/samples/etsi/nfv/vnflcm3/TOSCA-Metadata/TOSCA.meta":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"TOSCA-Meta-File-Version: 1.0"},{"line_number":2,"context_line":"Created-by: Hiroyuki JO"},{"line_number":3,"context_line":"CSAR-Version: 1.1"},{"line_number":4,"context_line":"Entry-Definitions: Definitions/helloworld3.vnfd.tosca.yaml"},{"line_number":5,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":34,"id":"1f493fa4_8600be36","line":2,"updated":"2020-04-22 19:04:37.000000000","message":"It seems better to avoid using name of actual person if possible.","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"}],"tacker/tests/functional/vnflcm/test_vnf_instance.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a6a7bf2bac8049f56fe80d8d5af22c8050b8a799","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from tacker.vnfm.infra_drivers.openstack import constants as infra_cnst"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"vNF_PACKAGE_DELETE_TIMEOUT \u003d 120"},{"line_number":32,"context_line":"VNF_PACKAGE_UPLOAD_TIMEOUT \u003d 300"},{"line_number":33,"context_line":"VNF_INSTANTIATE_TIMEOUT \u003d 600"},{"line_number":34,"context_line":"VNF_TERMINATE_TIMEOUT \u003d 600"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_899edd51","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":32},"updated":"2020-03-27 00:35:35.000000000","message":"It doesn\u0027t seem to be used.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"2a3cc42b828b7018d727d98ea2c7a32b0bcaa3f5","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from tacker.vnfm.infra_drivers.openstack import constants as infra_cnst"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"vNF_PACKAGE_DELETE_TIMEOUT \u003d 120"},{"line_number":32,"context_line":"VNF_PACKAGE_UPLOAD_TIMEOUT \u003d 300"},{"line_number":33,"context_line":"VNF_INSTANTIATE_TIMEOUT \u003d 600"},{"line_number":34,"context_line":"VNF_TERMINATE_TIMEOUT \u003d 600"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_32135e68","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":32},"in_reply_to":"df33271e_899edd51","updated":"2020-04-01 09:56:59.000000000","message":"Done","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a6a7bf2bac8049f56fe80d8d5af22c8050b8a799","unresolved":false,"context_lines":[{"line_number":206,"context_line":"    def setUpClass(cls):"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        cls.tacker_client \u003d base.BaseTackerTest.tacker_http_client()"},{"line_number":209,"context_line":"        vnf_package_id, vnfd_id \u003d _create_and_upload_vnf_package("},{"line_number":210,"context_line":"            cls.tacker_client, \"sample1\", {\"key\": \"sample_1_functional\"})"},{"line_number":211,"context_line":"        cls.vnf_package_1 \u003d vnf_package_id"},{"line_number":212,"context_line":"        cls.vnfd_id_1 \u003d vnfd_id"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        vnf_package_id, vnfd_id \u003d _create_and_upload_vnf_package("},{"line_number":215,"context_line":"            cls.tacker_client, \"sample2\", {\"key\": \"sample_2_functional\"})"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_69b399eb","line":212,"range":{"start_line":209,"start_character":0,"end_line":212,"end_character":31},"updated":"2020-03-27 00:35:35.000000000","message":"Can you fix it below?\n        cls.vnf_package_1, cls.vnfd_id_1 \u003d _create_and_upload_vnf_package(\n            cls.tacker_client, \"sample1\", {\"key\": \"sample_1_functional\"})","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"2a3cc42b828b7018d727d98ea2c7a32b0bcaa3f5","unresolved":false,"context_lines":[{"line_number":206,"context_line":"    def setUpClass(cls):"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        cls.tacker_client \u003d base.BaseTackerTest.tacker_http_client()"},{"line_number":209,"context_line":"        vnf_package_id, vnfd_id \u003d _create_and_upload_vnf_package("},{"line_number":210,"context_line":"            cls.tacker_client, \"sample1\", {\"key\": \"sample_1_functional\"})"},{"line_number":211,"context_line":"        cls.vnf_package_1 \u003d vnf_package_id"},{"line_number":212,"context_line":"        cls.vnfd_id_1 \u003d vnfd_id"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        vnf_package_id, vnfd_id \u003d _create_and_upload_vnf_package("},{"line_number":215,"context_line":"            cls.tacker_client, \"sample2\", {\"key\": \"sample_2_functional\"})"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_b2064e1f","line":212,"range":{"start_line":209,"start_character":0,"end_line":212,"end_character":31},"in_reply_to":"df33271e_69b399eb","updated":"2020-04-01 09:56:59.000000000","message":"Done","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a6a7bf2bac8049f56fe80d8d5af22c8050b8a799","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        url \u003d os.path.join(self.base_url, id)"},{"line_number":280,"context_line":"        resp, body \u003d self.http_client.do_request(url, \"DELETE\")"},{"line_number":281,"context_line":"        self.assertEqual(204, resp.status_code)"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        # verify vnf instance is deleted"},{"line_number":284,"context_line":"        url \u003d os.path.join(self.base_url, id)"},{"line_number":285,"context_line":"        resp, body \u003d self.http_client.do_request(url, \"GET\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_a9d121fe","line":282,"updated":"2020-03-27 00:35:35.000000000","message":"Deletion is expected to be completed immediately, but I think it is safer to put a little sleep.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"2a3cc42b828b7018d727d98ea2c7a32b0bcaa3f5","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        url \u003d os.path.join(self.base_url, id)"},{"line_number":280,"context_line":"        resp, body \u003d self.http_client.do_request(url, \"DELETE\")"},{"line_number":281,"context_line":"        self.assertEqual(204, resp.status_code)"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        # verify vnf instance is deleted"},{"line_number":284,"context_line":"        url \u003d os.path.join(self.base_url, id)"},{"line_number":285,"context_line":"        resp, body \u003d self.http_client.do_request(url, \"GET\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_e9c62e9a","line":282,"in_reply_to":"df33271e_a9d121fe","updated":"2020-04-01 09:56:59.000000000","message":"No need as delete vnf instance simply deletes the vnf instance record from the db and returns 204 to client.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a6a7bf2bac8049f56fe80d8d5af22c8050b8a799","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                self.fail(error % {\"id\": stack_id, \"current\": stack.status,"},{"line_number":315,"context_line":"                    \"expected\": expected_status})"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"            time.sleep(5)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def _vnf_instance_wait(self, id,"},{"line_number":320,"context_line":"            instantiation_state\u003dfields.VnfInstanceStatus.INSTANTIATED,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_c9d625f2","line":317,"range":{"start_line":317,"start_character":23,"end_line":317,"end_character":24},"updated":"2020-03-27 00:35:35.000000000","message":"I think It\u0027s better to define variable.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"2a3cc42b828b7018d727d98ea2c7a32b0bcaa3f5","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                self.fail(error % {\"id\": stack_id, \"current\": stack.status,"},{"line_number":315,"context_line":"                    \"expected\": expected_status})"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"            time.sleep(5)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def _vnf_instance_wait(self, id,"},{"line_number":320,"context_line":"            instantiation_state\u003dfields.VnfInstanceStatus.INSTANTIATED,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_7d15b73f","line":317,"range":{"start_line":317,"start_character":23,"end_line":317,"end_character":24},"in_reply_to":"df33271e_c9d625f2","updated":"2020-04-01 09:56:59.000000000","message":"Add RETRY_WAIT_TIME in PS 13.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a6a7bf2bac8049f56fe80d8d5af22c8050b8a799","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        # in the heal request"},{"line_number":399,"context_line":"        self._stack_update_wait(stack.id, expected_stack_status)"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"    def _heal_003_vnf_instance(self, vnf_instance, request_body):"},{"line_number":402,"context_line":"        url \u003d os.path.join(self.base_url, vnf_instance[\u0027id\u0027], \"heal\")"},{"line_number":403,"context_line":"        resp, body \u003d self.http_client.do_request(url, \"POST\","},{"line_number":404,"context_line":"                body\u003djsonutils.dumps(request_body))"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_2915119d","line":401,"range":{"start_line":401,"start_character":8,"end_line":401,"end_character":30},"updated":"2020-03-27 00:35:35.000000000","message":"I think It\u0027s better to rename below.\ndef _heal_sol_003_vnf_instance","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"2a3cc42b828b7018d727d98ea2c7a32b0bcaa3f5","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        # in the heal request"},{"line_number":399,"context_line":"        self._stack_update_wait(stack.id, expected_stack_status)"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"    def _heal_003_vnf_instance(self, vnf_instance, request_body):"},{"line_number":402,"context_line":"        url \u003d os.path.join(self.base_url, vnf_instance[\u0027id\u0027], \"heal\")"},{"line_number":403,"context_line":"        resp, body \u003d self.http_client.do_request(url, \"POST\","},{"line_number":404,"context_line":"                body\u003djsonutils.dumps(request_body))"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_bd1bbf70","line":401,"range":{"start_line":401,"start_character":8,"end_line":401,"end_character":30},"in_reply_to":"df33271e_2915119d","updated":"2020-04-01 09:56:59.000000000","message":"Done","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a6a7bf2bac8049f56fe80d8d5af22c8050b8a799","unresolved":false,"context_lines":[{"line_number":492,"context_line":"        self.assertIsNotNone(vnf_instance_1[\u0027id\u0027])"},{"line_number":493,"context_line":"        self.assertEqual(201, resp.status_code)"},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"        vim_list \u003d self.client.list_vims()"},{"line_number":496,"context_line":"        vim \u003d self.get_vim(vim_list, \u0027VIM0\u0027)"},{"line_number":497,"context_line":"        if not vim:"},{"line_number":498,"context_line":"            assert False, \"vim_list is Empty: Default VIM is missing\""},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"        request_body \u003d self._instantiate_vnf_request(\"simple\","},{"line_number":501,"context_line":"            vim_id\u003dvim[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_4987b5d8","line":498,"range":{"start_line":495,"start_character":0,"end_line":498,"end_character":69},"updated":"2020-03-27 00:35:35.000000000","message":"I think these process can be moved to setUpClass.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"2a3cc42b828b7018d727d98ea2c7a32b0bcaa3f5","unresolved":false,"context_lines":[{"line_number":492,"context_line":"        self.assertIsNotNone(vnf_instance_1[\u0027id\u0027])"},{"line_number":493,"context_line":"        self.assertEqual(201, resp.status_code)"},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"        vim_list \u003d self.client.list_vims()"},{"line_number":496,"context_line":"        vim \u003d self.get_vim(vim_list, \u0027VIM0\u0027)"},{"line_number":497,"context_line":"        if not vim:"},{"line_number":498,"context_line":"            assert False, \"vim_list is Empty: Default VIM is missing\""},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"        request_body \u003d self._instantiate_vnf_request(\"simple\","},{"line_number":501,"context_line":"            vim_id\u003dvim[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_09727249","line":498,"range":{"start_line":495,"start_character":0,"end_line":498,"end_character":69},"in_reply_to":"df33271e_4987b5d8","updated":"2020-04-01 09:56:59.000000000","message":"I have moved it to setup method so that we can skip the test if the default vim is not available.\n\nI cannot move it to the setUpClass as I cannot use self.skipTest statement.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"a6a7bf2bac8049f56fe80d8d5af22c8050b8a799","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        for network in net[\u0027networks\u0027]:"},{"line_number":687,"context_line":"            networks[network[\u0027name\u0027]] \u003d network[\u0027id\u0027]"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"        net1_id \u003d networks.get(\u0027net1\u0027)"},{"line_number":690,"context_line":"        if not net1_id:"},{"line_number":691,"context_line":"            self.fail(\"net1 network is not available\")"},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"        net0_id \u003d networks.get(\u0027net0\u0027)"},{"line_number":694,"context_line":"        if not net0_id:"},{"line_number":695,"context_line":"            self.fail(\"net0 network is not available\")"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"        net_mgmt_id \u003d networks.get(\u0027net_mgmt\u0027)"},{"line_number":698,"context_line":"        if not net_mgmt_id:"},{"line_number":699,"context_line":"            self.fail(\"net_mgmt network is not available\")"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        ext_managed_vl \u003d get_ext_managed_virtual_link(\"net1\", \"VL3\","},{"line_number":702,"context_line":"            net1_id)"},{"line_number":703,"context_line":""},{"line_number":704,"context_line":"        network_uuid \u003d self._create_network(neutron_client,"},{"line_number":705,"context_line":"                                            \"external_network\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_e977a901","line":702,"range":{"start_line":689,"start_character":8,"end_line":702,"end_character":20},"updated":"2020-03-27 00:35:35.000000000","message":"I think these process can be moved to setUpClass.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"2a3cc42b828b7018d727d98ea2c7a32b0bcaa3f5","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        for network in net[\u0027networks\u0027]:"},{"line_number":687,"context_line":"            networks[network[\u0027name\u0027]] \u003d network[\u0027id\u0027]"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"        net1_id \u003d networks.get(\u0027net1\u0027)"},{"line_number":690,"context_line":"        if not net1_id:"},{"line_number":691,"context_line":"            self.fail(\"net1 network is not available\")"},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"        net0_id \u003d networks.get(\u0027net0\u0027)"},{"line_number":694,"context_line":"        if not net0_id:"},{"line_number":695,"context_line":"            self.fail(\"net0 network is not available\")"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"        net_mgmt_id \u003d networks.get(\u0027net_mgmt\u0027)"},{"line_number":698,"context_line":"        if not net_mgmt_id:"},{"line_number":699,"context_line":"            self.fail(\"net_mgmt network is not available\")"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        ext_managed_vl \u003d get_ext_managed_virtual_link(\"net1\", \"VL3\","},{"line_number":702,"context_line":"            net1_id)"},{"line_number":703,"context_line":""},{"line_number":704,"context_line":"        network_uuid \u003d self._create_network(neutron_client,"},{"line_number":705,"context_line":"                                            \"external_network\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_49d91a55","line":702,"range":{"start_line":689,"start_character":8,"end_line":702,"end_character":20},"in_reply_to":"df33271e_e977a901","updated":"2020-04-01 09:56:59.000000000","message":"If we move it to the setUpclass, and if the networks are not present, do you want to  fail the entire test written in this class?\n\nBTW, we cannot call skipTest from setUpClass.\n\nSince it\u0027s used only in two tests, I would prefer to keep it in the individual tests.","commit_id":"fe63a19459ef01a673d1fe6b701dab4e4ede2fff"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"632d2298152651c817eeb1a3688ba607ca7ac4e2","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    @classmethod"},{"line_number":227,"context_line":"    def tearDownClass(cls):"},{"line_number":228,"context_line":"        url \u003d \u0027/vnfpkgm/v1/vnf_packages/%s\u0027 % cls.vnf_package_1"},{"line_number":229,"context_line":"        cls.tacker_client.do_request(url, \"DELETE\")"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        url \u003d \u0027/vnfpkgm/v1/vnf_packages/%s\u0027 % cls.vnf_package_2"},{"line_number":232,"context_line":"        cls.tacker_client.do_request(url, \"DELETE\")"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        url \u003d \u0027/vnfpkgm/v1/vnf_packages/%s\u0027 % cls.vnf_package_3"},{"line_number":235,"context_line":"        cls.tacker_client.do_request(url, \"DELETE\")"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        super(VnfLcmTest, cls).tearDownClass()"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_523f2786","line":235,"range":{"start_line":228,"start_character":0,"end_line":235,"end_character":51},"updated":"2020-03-31 00:20:27.000000000","message":"I think it\u0027s necessary to update VNF-PKG before deleting VNF-PKG by including the following patches in related.\nhttps://review.opendev.org/#/c/705891/\nBecause the VNF-PKG which operational_state is ENABLED fails to delete.","commit_id":"4c51bf5dc9ca27949eec964028ba988416afcdf9"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":513,"context_line":""},{"line_number":514,"context_line":"        self._heal_vnf_instance(vnf_instance, heal_request_body)"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        # NOTE(tpatil) Wait for sometime as it takes a while to update"},{"line_number":517,"context_line":"        # vnfcResourceInfo after the stack status becomes UPDATE_COMPLETE."},{"line_number":518,"context_line":"        # There is no intermediate status set to VNF which can be used here"},{"line_number":519,"context_line":"        # to confirm healing action is completed successfully."}],"source_content_type":"text/x-python","patch_set":34,"id":"1f493fa4_463a3636","line":516,"updated":"2020-04-22 19:04:37.000000000","message":"There are several same NOTEs as this one. If you move this confirmation time at the top of this file, and describe this NOTE here, we can remove duplicated NOTEs. What do you think?","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":517,"context_line":"        # vnfcResourceInfo after the stack status becomes UPDATE_COMPLETE."},{"line_number":518,"context_line":"        # There is no intermediate status set to VNF which can be used here"},{"line_number":519,"context_line":"        # to confirm healing action is completed successfully."},{"line_number":520,"context_line":"        time.sleep(20)"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"        vnf_instance_current \u003d self._show_vnf_instance(vnf_instance[\u0027id\u0027])"},{"line_number":523,"context_line":"        self._verify_vnfc_resource_info(vnf_instance, vnf_instance_current, 1)"}],"source_content_type":"text/x-python","patch_set":34,"id":"1f493fa4_462d1642","line":520,"updated":"2020-04-22 19:04:37.000000000","message":"It looks better to make it as a variable for the confirmation time as similar to RETRY_WAIT_TIME.","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":580,"context_line":"        # vnfcResourceInfo after the stack status becomes UPDATE_COMPLETE."},{"line_number":581,"context_line":"        # There is no intermediate status set to VNF which can be used here"},{"line_number":582,"context_line":"        # to confirm healing action is completed successfully."},{"line_number":583,"context_line":"        time.sleep(20)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"        vnf_instance_current \u003d self._show_vnf_instance(vnf_instance[\u0027id\u0027])"},{"line_number":586,"context_line":"        self._verify_vnfc_resource_info(vnf_instance, vnf_instance_current, 3)"}],"source_content_type":"text/x-python","patch_set":34,"id":"1f493fa4_c618061f","line":583,"updated":"2020-04-22 19:04:37.000000000","message":"same as line 520","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":670,"context_line":"        # vnfcResourceInfo after the stack status becomes UPDATE_COMPLETE."},{"line_number":671,"context_line":"        # There is no intermediate status set to VNF which can be used here"},{"line_number":672,"context_line":"        # to confirm healing action is completed successfully."},{"line_number":673,"context_line":"        time.sleep(20)"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"        vnf_instance_current \u003d self._show_vnf_instance(vnf_instance[\u0027id\u0027])"},{"line_number":676,"context_line":"        self._verify_vnfc_resource_info(vnf_instance, vnf_instance_current, 1)"}],"source_content_type":"text/x-python","patch_set":34,"id":"1f493fa4_26d3aa3a","line":673,"updated":"2020-04-22 19:04:37.000000000","message":"same as line 520.","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":725,"context_line":"        # vnfcResourceInfo after the stack status becomes UPDATE_COMPLETE."},{"line_number":726,"context_line":"        # There is no intermediate status set to VNF which can be used here"},{"line_number":727,"context_line":"        # to confirm healing action is completed successfully."},{"line_number":728,"context_line":"        time.sleep(20)"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"        vnf_instance_current \u003d self._show_vnf_instance(vnf_instance[\u0027id\u0027])"},{"line_number":731,"context_line":"        self._verify_vnfc_resource_info(vnf_instance, vnf_instance_current, 1)"}],"source_content_type":"text/x-python","patch_set":34,"id":"1f493fa4_a6e69a15","line":728,"updated":"2020-04-22 19:04:37.000000000","message":"same as line 520.","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":782,"context_line":"        # vnfcResourceInfo after the stack status becomes UPDATE_COMPLETE."},{"line_number":783,"context_line":"        # There is no intermediate status set to VNF which can be used here"},{"line_number":784,"context_line":"        # to confirm healing action is completed successfully."},{"line_number":785,"context_line":"        time.sleep(20)"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"        vnf_instance_current \u003d self._show_vnf_instance(vnf_instance[\u0027id\u0027])"},{"line_number":788,"context_line":"        self._verify_vnfc_resource_info(vnf_instance, vnf_instance_current, 3)"}],"source_content_type":"text/x-python","patch_set":34,"id":"1f493fa4_66b652fd","line":785,"updated":"2020-04-22 19:04:37.000000000","message":"same as line 520.","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"18d175a580980f3356fd460a92ea70b0db27c3d0","unresolved":false,"context_lines":[{"line_number":867,"context_line":"        # vnfcResourceInfo after the stack status becomes UPDATE_COMPLETE."},{"line_number":868,"context_line":"        # There is no intermediate status set to VNF which can be used here"},{"line_number":869,"context_line":"        # to confirm healing action is completed successfully."},{"line_number":870,"context_line":"        time.sleep(20)"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"        vnf_instance_current \u003d self._show_vnf_instance(vnf_instance[\u0027id\u0027])"},{"line_number":873,"context_line":"        self._verify_vnfc_resource_info(vnf_instance, vnf_instance_current, 1)"}],"source_content_type":"text/x-python","patch_set":34,"id":"1f493fa4_c6c64668","line":870,"updated":"2020-04-22 19:04:37.000000000","message":"same as line 520.","commit_id":"13ca17367dbbda2bf8b782c04f8c300e7d8424a4"}]}
