)]}'
{"lower-constraints.txt":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"b80f6c0e5fcc197f5818ba31b6a1d8a8ff8c1813","unresolved":true,"context_lines":[{"line_number":94,"context_line":"pycparser\u003d\u003d2.18"},{"line_number":95,"context_line":"Pygments\u003d\u003d2.2.0"},{"line_number":96,"context_line":"pyinotify\u003d\u003d0.9.6"},{"line_number":97,"context_line":"PyMySQL\u003d\u003d0.10.1"},{"line_number":98,"context_line":"PyNaCl\u003d\u003d1.2.1"},{"line_number":99,"context_line":"pyOpenSSL\u003d\u003d17.5.0"},{"line_number":100,"context_line":"pyparsing\u003d\u003d2.2.0"}],"source_content_type":"text/plain","patch_set":17,"id":"2c3e60d1_f5bd6fe2","line":97,"updated":"2021-02-19 17:59:23.000000000","message":"Should it be required?","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"c047f74865aa7fde55ad615ddceefe7198b353c4","unresolved":true,"context_lines":[{"line_number":94,"context_line":"pycparser\u003d\u003d2.18"},{"line_number":95,"context_line":"Pygments\u003d\u003d2.2.0"},{"line_number":96,"context_line":"pyinotify\u003d\u003d0.9.6"},{"line_number":97,"context_line":"PyMySQL\u003d\u003d0.10.1"},{"line_number":98,"context_line":"PyNaCl\u003d\u003d1.2.1"},{"line_number":99,"context_line":"pyOpenSSL\u003d\u003d17.5.0"},{"line_number":100,"context_line":"pyparsing\u003d\u003d2.2.0"}],"source_content_type":"text/plain","patch_set":17,"id":"4c012dc8_629c54b6","line":97,"in_reply_to":"2c3e60d1_f5bd6fe2","updated":"2021-02-24 08:31:35.000000000","message":"Yes it is required when requirements-check on Zuul.\nI added this in Patchset 13 because when I added PyMySQL to test-requirements.txt in patchset 12, I got an error saying that it should also be added to lower-constraints.txt.\nI\u0027m sorry I don\u0027t have any logs left on Zuul.\n\nAnd this change is included in other patch [1] that is already merged.\n[1] https://review.opendev.org/c/openstack/tacker/+/768091","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"}],"releasenotes/notes/support-cnf-scale-with-sol003-99ad0c79f205e745.yaml":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"b80f6c0e5fcc197f5818ba31b6a1d8a8ff8c1813","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds Container based VNF scale operation support with ETSI NFV-SOL003"},{"line_number":5,"context_line":"    v2.6.1 VNF Lifecycle Management. Users can scale the number of pod replicas"},{"line_number":6,"context_line":"    managed by controller resources such as Kubernetes Deployment, StatefulSet,"},{"line_number":7,"context_line":"    and ReplicaSet."}],"source_content_type":"text/x-yaml","patch_set":17,"id":"6ed2bb02_7bf3d3a1","line":4,"range":{"start_line":4,"start_character":7,"end_line":4,"end_character":8},"updated":"2021-02-19 17:59:23.000000000","message":"No need \u0027s\u0027 in grammar.","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"c047f74865aa7fde55ad615ddceefe7198b353c4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds Container based VNF scale operation support with ETSI NFV-SOL003"},{"line_number":5,"context_line":"    v2.6.1 VNF Lifecycle Management. Users can scale the number of pod replicas"},{"line_number":6,"context_line":"    managed by controller resources such as Kubernetes Deployment, StatefulSet,"},{"line_number":7,"context_line":"    and ReplicaSet."}],"source_content_type":"text/x-yaml","patch_set":17,"id":"90066208_df4b2faf","line":4,"range":{"start_line":4,"start_character":7,"end_line":4,"end_character":8},"in_reply_to":"6ed2bb02_7bf3d3a1","updated":"2021-02-24 08:31:35.000000000","message":"Done","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"}],"tacker/api/vnflcm/v1/controller.py":[{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":980,"context_line":"            return self._make_problem_detail("},{"line_number":981,"context_line":"                str(e), 500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"    def _get_scale_max_level_from_vnfd(self, context, vnf_instance, vnf_info,"},{"line_number":984,"context_line":"                                       aspect_id):"},{"line_number":985,"context_line":"        vnfd_dict \u003d vnflcm_utils._get_vnfd_dict(context,"},{"line_number":986,"context_line":"            vnf_instance.vnfd_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a808498_d71026c7","line":983,"range":{"start_line":983,"start_character":68,"end_line":983,"end_character":76},"updated":"2021-01-14 23:39:16.000000000","message":"This is not required.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":980,"context_line":"            return self._make_problem_detail("},{"line_number":981,"context_line":"                str(e), 500, title\u003d\u0027Internal Server Error\u0027)"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"    def _get_scale_max_level_from_vnfd(self, context, vnf_instance, vnf_info,"},{"line_number":984,"context_line":"                                       aspect_id):"},{"line_number":985,"context_line":"        vnfd_dict \u003d vnflcm_utils._get_vnfd_dict(context,"},{"line_number":986,"context_line":"            vnf_instance.vnfd_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"493681d0_a1247232","line":983,"range":{"start_line":983,"start_character":68,"end_line":983,"end_character":76},"in_reply_to":"1a808498_d71026c7","updated":"2021-01-21 08:03:03.000000000","message":"Done. I deleted vnf_info from the argument and also changed the caller\u0027s arguments.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"b80f6c0e5fcc197f5818ba31b6a1d8a8ff8c1813","unresolved":true,"context_lines":[{"line_number":988,"context_line":"                                             yaml_dict_tpl\u003dvnfd_dict)"},{"line_number":989,"context_line":"        tosca_policies \u003d tosca.topology_template.policies"},{"line_number":990,"context_line":""},{"line_number":991,"context_line":"        aspect_delta_dict \u003d {}"},{"line_number":992,"context_line":"        aspect_vdu_dict \u003d {}"},{"line_number":993,"context_line":"        inst_level_dict \u003d {}"},{"line_number":994,"context_line":"        aspect_id_dict \u003d {}"},{"line_number":995,"context_line":"        vdu_delta_dict \u003d {}"},{"line_number":996,"context_line":"        aspect_max_level_dict \u003d {}"},{"line_number":997,"context_line":"        toscautils._extract_policy_info("},{"line_number":998,"context_line":"            tosca_policies, inst_level_dict,"},{"line_number":999,"context_line":"            aspect_delta_dict, aspect_id_dict,"},{"line_number":1000,"context_line":"            aspect_vdu_dict, vdu_delta_dict,"},{"line_number":1001,"context_line":"            aspect_max_level_dict)"},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"        return aspect_max_level_dict.get(aspect_id)"},{"line_number":1004,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5e35307c_1783fdec","line":1001,"range":{"start_line":991,"start_character":0,"end_line":1001,"end_character":34},"updated":"2021-02-19 17:59:23.000000000","message":"I understand your thinking of args be clarified the names, but it\u0027s better not to make variables for empty dicts. We should take care only for `tosca_policies` and no need for others. So, it is enough.\n\n```\ntoscautils._extract_policy_info(tosca_policies, {}, {}, {}, {}, {}, {})\n```","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"c047f74865aa7fde55ad615ddceefe7198b353c4","unresolved":true,"context_lines":[{"line_number":988,"context_line":"                                             yaml_dict_tpl\u003dvnfd_dict)"},{"line_number":989,"context_line":"        tosca_policies \u003d tosca.topology_template.policies"},{"line_number":990,"context_line":""},{"line_number":991,"context_line":"        aspect_delta_dict \u003d {}"},{"line_number":992,"context_line":"        aspect_vdu_dict \u003d {}"},{"line_number":993,"context_line":"        inst_level_dict \u003d {}"},{"line_number":994,"context_line":"        aspect_id_dict \u003d {}"},{"line_number":995,"context_line":"        vdu_delta_dict \u003d {}"},{"line_number":996,"context_line":"        aspect_max_level_dict \u003d {}"},{"line_number":997,"context_line":"        toscautils._extract_policy_info("},{"line_number":998,"context_line":"            tosca_policies, inst_level_dict,"},{"line_number":999,"context_line":"            aspect_delta_dict, aspect_id_dict,"},{"line_number":1000,"context_line":"            aspect_vdu_dict, vdu_delta_dict,"},{"line_number":1001,"context_line":"            aspect_max_level_dict)"},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"        return aspect_max_level_dict.get(aspect_id)"},{"line_number":1004,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"e381008f_d50134c7","line":1001,"range":{"start_line":991,"start_character":0,"end_line":1001,"end_character":34},"in_reply_to":"5e35307c_1783fdec","updated":"2021-02-24 08:31:35.000000000","message":"Done.\nThanks for your suggestion.","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},"change_message_id":"0657ff4df9eb29623c71b6ec76b51793a3801873","unresolved":true,"context_lines":[{"line_number":1031,"context_line":"               current_level \u003c scale_vnf_request.number_of_steps:"},{"line_number":1032,"context_line":"                return self._make_problem_detail("},{"line_number":1033,"context_line":"                    \u0027can not scale_in\u0027, 400, title\u003d\u0027can not scale_in\u0027)"},{"line_number":1034,"context_line":"            if vim_type \u003d\u003d \"kubernetes\" and\\"},{"line_number":1035,"context_line":"               scale_vnf_request.additional_params[\u0027is_reverse\u0027] \u003d\u003d \"True\":"},{"line_number":1036,"context_line":"                return self._make_problem_detail("},{"line_number":1037,"context_line":"                    \u0027is_reverse option is not supported when Kubernetes \u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"73579605_4f4a6e96","line":1034,"range":{"start_line":1034,"start_character":15,"end_line":1034,"end_character":39},"updated":"2021-03-15 02:00:53.000000000","message":"Should we expect this value to be SOL compliant, for example, \"ETSINFV.KUBERNETES\"?\n\nhttps://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.06.01_60/gs_NFV-SOL003v020601p.pdf\n\u0027C.3 Structure of the vimType identifier\u0027","commit_id":"8a8948e6168daf16971d347c1b301f3b2a1b1ff7"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"66612b7e374f327d835bc91fdb1e4c28a62c9186","unresolved":true,"context_lines":[{"line_number":1031,"context_line":"               current_level \u003c scale_vnf_request.number_of_steps:"},{"line_number":1032,"context_line":"                return self._make_problem_detail("},{"line_number":1033,"context_line":"                    \u0027can not scale_in\u0027, 400, title\u003d\u0027can not scale_in\u0027)"},{"line_number":1034,"context_line":"            if vim_type \u003d\u003d \"kubernetes\" and\\"},{"line_number":1035,"context_line":"               scale_vnf_request.additional_params[\u0027is_reverse\u0027] \u003d\u003d \"True\":"},{"line_number":1036,"context_line":"                return self._make_problem_detail("},{"line_number":1037,"context_line":"                    \u0027is_reverse option is not supported when Kubernetes \u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"8b72ad0a_e07b6438","line":1034,"range":{"start_line":1034,"start_character":15,"end_line":1034,"end_character":39},"in_reply_to":"73579605_4f4a6e96","updated":"2021-03-15 05:51:12.000000000","message":"If it\u0027s defined in SOL, I think we should expect it.\nBut in the current procedure [1], type is written as \"kubernetes\", so we have to revise various parts.\n[1] https://docs.openstack.org/tacker/latest/user/etsi_containerized_vnf_usage_guide.html#prepare-kubernetes-vim\n\nDo you know that in case of openstack vimType works in a SOL compliant?","commit_id":"8a8948e6168daf16971d347c1b301f3b2a1b1ff7"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"bb9c0b13c11d0cafee7e7f9864b96bdada024e54","unresolved":true,"context_lines":[{"line_number":1031,"context_line":"               current_level \u003c scale_vnf_request.number_of_steps:"},{"line_number":1032,"context_line":"                return self._make_problem_detail("},{"line_number":1033,"context_line":"                    \u0027can not scale_in\u0027, 400, title\u003d\u0027can not scale_in\u0027)"},{"line_number":1034,"context_line":"            if vim_type \u003d\u003d \"kubernetes\" and\\"},{"line_number":1035,"context_line":"               scale_vnf_request.additional_params[\u0027is_reverse\u0027] \u003d\u003d \"True\":"},{"line_number":1036,"context_line":"                return self._make_problem_detail("},{"line_number":1037,"context_line":"                    \u0027is_reverse option is not supported when Kubernetes \u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"349a5022_7a37acad","line":1034,"range":{"start_line":1034,"start_character":15,"end_line":1034,"end_character":39},"in_reply_to":"871feac3_42e894ae","updated":"2021-03-15 23:27:07.000000000","message":"Thank you for the information on the openstack VIM Type side.\n\n\u003e I think it is OK to merge if it is difficult to revise all related parts. What do you think about it.\n\nYes, I think difficult to revise all related part in this patch. Thus, I think revising for SOL complient vimType (for openstack and kubernetes) in code and procedure documentations is future work.","commit_id":"8a8948e6168daf16971d347c1b301f3b2a1b1ff7"},{"author":{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},"change_message_id":"9b6e4d4b7474d31aac88a1e2c5e92199c22c5ca0","unresolved":true,"context_lines":[{"line_number":1031,"context_line":"               current_level \u003c scale_vnf_request.number_of_steps:"},{"line_number":1032,"context_line":"                return self._make_problem_detail("},{"line_number":1033,"context_line":"                    \u0027can not scale_in\u0027, 400, title\u003d\u0027can not scale_in\u0027)"},{"line_number":1034,"context_line":"            if vim_type \u003d\u003d \"kubernetes\" and\\"},{"line_number":1035,"context_line":"               scale_vnf_request.additional_params[\u0027is_reverse\u0027] \u003d\u003d \"True\":"},{"line_number":1036,"context_line":"                return self._make_problem_detail("},{"line_number":1037,"context_line":"                    \u0027is_reverse option is not supported when Kubernetes \u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"871feac3_42e894ae","line":1034,"range":{"start_line":1034,"start_character":15,"end_line":1034,"end_character":39},"in_reply_to":"8b72ad0a_e07b6438","updated":"2021-03-15 13:13:28.000000000","message":"Thank you for your reply. In my understanding, some FTs are using a SOL compliant vimType.\nhttps://opendev.org/openstack/tacker/src/branch/master/tacker/tests/functional/sol/vnflcm/test_vnf_instance.py#L202\n\nProbably, Tacker works with OpenStack VIM by default. There seems to be no statement which check if vim_type is \"openstack\" in VNFM.\n\nI think it is OK to merge if it is difficult to revise all related parts. What do you think about it.","commit_id":"8a8948e6168daf16971d347c1b301f3b2a1b1ff7"}],"tacker/extensions/vnfm.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"b80f6c0e5fcc197f5818ba31b6a1d8a8ff8c1813","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class CNFScaleFailed(exceptions.TackerException):"},{"line_number":113,"context_line":"    message \u003d _(\u0027%(reason)s\u0027)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"class CNFScaleWaitFailed(exceptions.TackerException):"}],"source_content_type":"text/x-python","patch_set":17,"id":"7e13042b_6ea420a3","line":113,"range":{"start_line":113,"start_character":16,"end_line":113,"end_character":28},"updated":"2021-02-19 17:59:23.000000000","message":"Can you give some more info as same as other messages?","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"c047f74865aa7fde55ad615ddceefe7198b353c4","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class CNFScaleFailed(exceptions.TackerException):"},{"line_number":113,"context_line":"    message \u003d _(\u0027%(reason)s\u0027)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"class CNFScaleWaitFailed(exceptions.TackerException):"}],"source_content_type":"text/x-python","patch_set":17,"id":"b6901937_bd337f0a","line":113,"range":{"start_line":113,"start_character":16,"end_line":113,"end_character":28},"in_reply_to":"7e13042b_6ea420a3","updated":"2021-02-24 08:31:35.000000000","message":"Done","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"b80f6c0e5fcc197f5818ba31b6a1d8a8ff8c1813","unresolved":true,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"class CNFScaleWaitFailed(exceptions.TackerException):"},{"line_number":117,"context_line":"    message \u003d _(\u0027%(reason)s\u0027)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"class ServiceTypeNotFound(exceptions.NotFound):"}],"source_content_type":"text/x-python","patch_set":17,"id":"eb1116cc_801b2c96","line":117,"range":{"start_line":117,"start_character":16,"end_line":117,"end_character":28},"updated":"2021-02-19 17:59:23.000000000","message":"ditto","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"c047f74865aa7fde55ad615ddceefe7198b353c4","unresolved":true,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"class CNFScaleWaitFailed(exceptions.TackerException):"},{"line_number":117,"context_line":"    message \u003d _(\u0027%(reason)s\u0027)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"class ServiceTypeNotFound(exceptions.NotFound):"}],"source_content_type":"text/x-python","patch_set":17,"id":"6b848b22_4dfb3560","line":117,"range":{"start_line":117,"start_character":16,"end_line":117,"end_character":28},"in_reply_to":"eb1116cc_801b2c96","updated":"2021-02-24 08:31:35.000000000","message":"Done","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"}],"tacker/tests/functional/vnflcm/test_kubernetes_scale.py":[{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":431,"context_line":"        previous_level \u003d self._test_scale_cnf("},{"line_number":432,"context_line":"            vnf_instance[\u0027id\u0027], \u0027SCALE_IN\u0027, aspect_id, previous_level)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    def test_scale_cnf_deployment_with_steps_gt_one(self):"},{"line_number":435,"context_line":"        inst_additional_param \u003d {"},{"line_number":436,"context_line":"            \"lcm-kubernetes-def-files\": ["},{"line_number":437,"context_line":"                \"Files/kubernetes/deployment_scale.yaml\"]}"}],"source_content_type":"text/x-python","patch_set":5,"id":"06231c23_b7b55e89","line":434,"range":{"start_line":434,"start_character":8,"end_line":434,"end_character":51},"updated":"2021-01-14 23:39:16.000000000","message":"How about to make this method named \"test_scale_cnf_deployment_with_scaling_and_delta_two\"? Or it\u0027s good to put a note that this test is for delta_num\u003d2 and number_of_steps\u003d2 with deployment.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":431,"context_line":"        previous_level \u003d self._test_scale_cnf("},{"line_number":432,"context_line":"            vnf_instance[\u0027id\u0027], \u0027SCALE_IN\u0027, aspect_id, previous_level)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    def test_scale_cnf_deployment_with_steps_gt_one(self):"},{"line_number":435,"context_line":"        inst_additional_param \u003d {"},{"line_number":436,"context_line":"            \"lcm-kubernetes-def-files\": ["},{"line_number":437,"context_line":"                \"Files/kubernetes/deployment_scale.yaml\"]}"}],"source_content_type":"text/x-python","patch_set":5,"id":"631e5b07_dac00d10","line":434,"range":{"start_line":434,"start_character":8,"end_line":434,"end_character":51},"in_reply_to":"06231c23_b7b55e89","updated":"2021-01-21 08:03:03.000000000","message":"Thanks for your suggestion, I changed method name and add comments to explain that this test using `flavour_id \u003d scalingsteps (delta_num\u003d2)` and `number_of_steps\u003d2`.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"}],"tacker/tests/unit/nfvo/test_nfvo_plugin.py":[{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":213,"context_line":"                \u0027name\u0027: \u0027dummy_vnf_update\u0027,"},{"line_number":214,"context_line":"                \u0027attributes\u0027: {}}"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    def _update_vnf_scaling(self, *args, **kwargs):"},{"line_number":217,"context_line":"        pass"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"598e8b4c_50cf5d30","line":216,"range":{"start_line":216,"start_character":8,"end_line":216,"end_character":27},"updated":"2021-01-14 23:39:16.000000000","message":"Why is this method added?","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":213,"context_line":"                \u0027name\u0027: \u0027dummy_vnf_update\u0027,"},{"line_number":214,"context_line":"                \u0027attributes\u0027: {}}"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    def _update_vnf_scaling(self, *args, **kwargs):"},{"line_number":217,"context_line":"        pass"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"d186c047_f99914e8","line":216,"range":{"start_line":216,"start_character":8,"end_line":216,"end_character":27},"in_reply_to":"598e8b4c_50cf5d30","updated":"2021-01-21 08:03:03.000000000","message":"Done. Thank you for your advice.\nThis method is not necessary. The following test I wrote in `tacker/tests/unit/vnflcm/test_vnflcm_driver.py` was incorrect.\n* test_scale_in_cnf\n* test_scale_out_cnf\n* test_rollback_vnf_scale_cnf\n\nModify the test and remove this method.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"a5d5aef6c14a0be1fc57b0288e12d9a898ab0bb1","unresolved":true,"context_lines":[{"line_number":213,"context_line":"                \u0027name\u0027: \u0027dummy_vnf_update\u0027,"},{"line_number":214,"context_line":"                \u0027attributes\u0027: {}}"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    def _update_vnf_scaling(self, *args, **kwargs):"},{"line_number":217,"context_line":"        pass"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1d1ecafc_7e5fe56e","line":216,"range":{"start_line":216,"start_character":8,"end_line":216,"end_character":27},"in_reply_to":"d186c047_f99914e8","updated":"2021-01-26 10:14:39.000000000","message":"Sorry, I was wrong.\nThis method is needed for the following reasons:\n\n* `tacker/tests/unit/vnflcm/test_vnflcm_driver.py` uses FakeVNFMPlugin defined in this file (test_nfvo_plugin.py) as mock, and I wrote test method for scaling cnf based on other method.\n* In scale operation in VnfLcmDriver, `VNFMPlugin._update_vnf_scaling()` method is called in:\n  * VnfLcmDriver._vnf_scale_pre()\n  * VnfLcmDriver._vnf_scale_post()\n\nIf I don\u0027t add `_update_vnf_scaling` to FakeVNFMPlugin, there will be no method to call, so I added `_update_vnf_scaling()` to FakeVNFMPlugin in this file.\nI think using the FakeVNFMPlugin in `test_nfvo_plugin.py` is subtle, but refactoring this has a big impact and I think it\u0027s a future work.\n\nTherefore, I reverted to patch set 5 about those changes.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"}],"tacker/tests/unit/vnflcm/fakes.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"b80f6c0e5fcc197f5818ba31b6a1d8a8ff8c1813","unresolved":true,"context_lines":[{"line_number":842,"context_line":""},{"line_number":843,"context_line":"def vnflcm_scale_in_cnf():"},{"line_number":844,"context_line":"    return objects.VnfLcmOpOcc("},{"line_number":845,"context_line":"        state_entered_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":846,"context_line":"                                             tzinfo\u003diso8601.UTC),"},{"line_number":847,"context_line":"        start_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":848,"context_line":"                                     tzinfo\u003diso8601.UTC),"},{"line_number":849,"context_line":"        vnf_instance_id\u003duuidsentinel.vnf_instance_id,"}],"source_content_type":"text/x-python","patch_set":17,"id":"a7358bad_17ab69e5","line":846,"range":{"start_line":845,"start_character":27,"end_line":846,"end_character":64},"updated":"2021-02-19 17:59:23.000000000","message":"It appears several times in your change. It\u0027s better to define such as `dt \u003d datetime.datetime(2000, 1, 1, 1, 1, 1, tzinfo\u003diso8601.UTC)` before `return`, and use it in the instantiation of VnfLcmOpOcc instead.","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"c047f74865aa7fde55ad615ddceefe7198b353c4","unresolved":true,"context_lines":[{"line_number":842,"context_line":""},{"line_number":843,"context_line":"def vnflcm_scale_in_cnf():"},{"line_number":844,"context_line":"    return objects.VnfLcmOpOcc("},{"line_number":845,"context_line":"        state_entered_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":846,"context_line":"                                             tzinfo\u003diso8601.UTC),"},{"line_number":847,"context_line":"        start_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":848,"context_line":"                                     tzinfo\u003diso8601.UTC),"},{"line_number":849,"context_line":"        vnf_instance_id\u003duuidsentinel.vnf_instance_id,"}],"source_content_type":"text/x-python","patch_set":17,"id":"214eec45_0a404849","line":846,"range":{"start_line":845,"start_character":27,"end_line":846,"end_character":64},"in_reply_to":"a7358bad_17ab69e5","updated":"2021-02-24 08:31:35.000000000","message":"Done.\nAlso, the same part was corrected in the same way.","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"b80f6c0e5fcc197f5818ba31b6a1d8a8ff8c1813","unresolved":true,"context_lines":[{"line_number":859,"context_line":""},{"line_number":860,"context_line":"def vnflcm_scale_out_cnf():"},{"line_number":861,"context_line":"    return objects.VnfLcmOpOcc("},{"line_number":862,"context_line":"        state_entered_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":863,"context_line":"                                             tzinfo\u003diso8601.UTC),"},{"line_number":864,"context_line":"        start_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":865,"context_line":"                                     tzinfo\u003diso8601.UTC),"},{"line_number":866,"context_line":"        vnf_instance_id\u003duuidsentinel.vnf_instance_id,"}],"source_content_type":"text/x-python","patch_set":17,"id":"78c57b44_8091c057","line":863,"range":{"start_line":862,"start_character":27,"end_line":863,"end_character":64},"updated":"2021-02-19 17:59:23.000000000","message":"ditto","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"c047f74865aa7fde55ad615ddceefe7198b353c4","unresolved":true,"context_lines":[{"line_number":859,"context_line":""},{"line_number":860,"context_line":"def vnflcm_scale_out_cnf():"},{"line_number":861,"context_line":"    return objects.VnfLcmOpOcc("},{"line_number":862,"context_line":"        state_entered_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":863,"context_line":"                                             tzinfo\u003diso8601.UTC),"},{"line_number":864,"context_line":"        start_time\u003ddatetime.datetime(2000, 1, 1, 1, 1, 1,"},{"line_number":865,"context_line":"                                     tzinfo\u003diso8601.UTC),"},{"line_number":866,"context_line":"        vnf_instance_id\u003duuidsentinel.vnf_instance_id,"}],"source_content_type":"text/x-python","patch_set":17,"id":"727a7f9f_89c65e17","line":863,"range":{"start_line":862,"start_character":27,"end_line":863,"end_character":64},"in_reply_to":"78c57b44_8091c057","updated":"2021-02-24 08:31:35.000000000","message":"Done","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"b80f6c0e5fcc197f5818ba31b6a1d8a8ff8c1813","unresolved":true,"context_lines":[{"line_number":1123,"context_line":"def vnf_dict_cnf():"},{"line_number":1124,"context_line":"    tacker_dir \u003d os.getcwd()"},{"line_number":1125,"context_line":"    def_dir \u003d tacker_dir + \u0027/samples/vnf_packages/Definitions/\u0027"},{"line_number":1126,"context_line":"    vnfd \u003d \u0027tosca_definitions_version: \u0027 + \\"},{"line_number":1127,"context_line":"           \u0027tosca_simple_yaml_1_2\\n\\ndescription: Sample VNF\u0027 + \\"},{"line_number":1128,"context_line":"           \u0027 flavour for Sample VNF\\n\\n\u0027 + \\"},{"line_number":1129,"context_line":"           \u0027imports:\\n\u0027 + \\"},{"line_number":1130,"context_line":"           \u0027  - \u0027 + def_dir + \u0027etsi_nfv_sol001_common_types.yaml\\n\u0027 + \\"},{"line_number":1131,"context_line":"           \u0027  - \u0027 + def_dir + \u0027etsi_nfv_sol001_vnfd_types.yaml\\n\\n\u0027 + \\"},{"line_number":1132,"context_line":"           \u0027  - \u0027 + def_dir + \u0027helloworld3_types.yaml\\n\\n\u0027 + \\"},{"line_number":1133,"context_line":"           \u0027topology_template:\\n\u0027 +\\"},{"line_number":1134,"context_line":"           \u0027  node_templates:\\n\u0027 + \\"},{"line_number":1135,"context_line":"           \u0027    VNF:\\n      type: company.provider.VNF\\n\u0027 + \\"},{"line_number":1136,"context_line":"           \u0027      properties:\\n\u0027 + \\"},{"line_number":1137,"context_line":"           \u0027        flavour_description: A simple flavour\\n\u0027 + \\"},{"line_number":1138,"context_line":"           \u0027    VDU1:\\n      type: tosca.nodes.nfv.Vdu.Compute\\n\u0027 + \\"},{"line_number":1139,"context_line":"           \u0027      properties:\\n        name: vdu1\\n\u0027 + \\"},{"line_number":1140,"context_line":"           \u0027        description: vdu1 compute node\\n\u0027 + \\"},{"line_number":1141,"context_line":"           \u0027        vdu_profile:\\n\u0027 + \\"},{"line_number":1142,"context_line":"           \u0027          min_number_of_instances: 1\\n\u0027 + \\"},{"line_number":1143,"context_line":"           \u0027          max_number_of_instances: 3\\n\\n\u0027 + \\"},{"line_number":1144,"context_line":"           \u0027  policies:\\n\u0027 + \\"},{"line_number":1145,"context_line":"           \u0027    - scaling_aspects:\\n\u0027 + \\"},{"line_number":1146,"context_line":"           \u0027        type: tosca.policies.nfv.ScalingAspects\\n\u0027 + \\"},{"line_number":1147,"context_line":"           \u0027        properties:\\n          aspects:\\n\u0027 + \\"},{"line_number":1148,"context_line":"           \u0027            vdu1_aspect:\\n              name: vdu1_aspect\\n\u0027 + \\"},{"line_number":1149,"context_line":"           \u0027              description: vdu1 scaling aspect\\n\u0027 + \\"},{"line_number":1150,"context_line":"           \u0027              max_scale_level: 2\\n\u0027 + \\"},{"line_number":1151,"context_line":"           \u0027              step_deltas:\\n\u0027 + \\"},{"line_number":1152,"context_line":"           \u0027                - delta_1\\n\\n\u0027 + \\"},{"line_number":1153,"context_line":"           \u0027    - vdu1_initial_delta:\\n\u0027 + \\"},{"line_number":1154,"context_line":"           \u0027        type: tosca.policies.nfv.VduInitialDelta\\n\u0027 + \\"},{"line_number":1155,"context_line":"           \u0027        properties:\\n          initial_delta:\\n\u0027 + \\"},{"line_number":1156,"context_line":"           \u0027            number_of_instances: 0\\n\u0027 + \\"},{"line_number":1157,"context_line":"           \u0027        targets: [ VDU1 ]\\n\\n\u0027 + \\"},{"line_number":1158,"context_line":"           \u0027    - vdu1_scaling_aspect_deltas:\\n\u0027 + \\"},{"line_number":1159,"context_line":"           \u0027        type: tosca.policies.nfv.VduScalingAspectDeltas\\n\u0027 + \\"},{"line_number":1160,"context_line":"           \u0027        properties:\\n          aspect: vdu1_aspect\\n\u0027 + \\"},{"line_number":1161,"context_line":"           \u0027          deltas:\\n            delta_1:\\n\u0027 + \\"},{"line_number":1162,"context_line":"           \u0027              number_of_instances: 1\\n\u0027 + \\"},{"line_number":1163,"context_line":"           \u0027        targets: [ VDU1 ]\\n\\n\u0027 + \\"},{"line_number":1164,"context_line":"           \u0027    - instantiation_levels:\\n\u0027 + \\"},{"line_number":1165,"context_line":"           \u0027        type: tosca.policies.nfv.InstantiationLevels\\n\u0027 + \\"},{"line_number":1166,"context_line":"           \u0027        properties:\\n          levels:\\n\u0027 + \\"},{"line_number":1167,"context_line":"           \u0027            instantiation_level_1:\\n\u0027 + \\"},{"line_number":1168,"context_line":"           \u0027              description: Smallest size\\n\u0027 + \\"},{"line_number":1169,"context_line":"           \u0027              scale_info:\\n                vdu1_aspect:\\n\u0027 + \\"},{"line_number":1170,"context_line":"           \u0027                  scale_level: 0\\n\u0027 + \\"},{"line_number":1171,"context_line":"           \u0027            instantiation_level_2:\\n\u0027 + \\"},{"line_number":1172,"context_line":"           \u0027              description: Largest size\\n\u0027 + \\"},{"line_number":1173,"context_line":"           \u0027              scale_info:\\n                vdu1_aspect:\\n\u0027 + \\"},{"line_number":1174,"context_line":"           \u0027                  scale_level: 2\\n\u0027 + \\"},{"line_number":1175,"context_line":"           \u0027          default_level: instantiation_level_1\\n\\n\u0027 + \\"},{"line_number":1176,"context_line":"           \u0027    - vdu1_instantiation_levels:\\n\u0027 + \\"},{"line_number":1177,"context_line":"           \u0027        type: tosca.policies.nfv.VduInstantiationLevels\\n\u0027 + \\"},{"line_number":1178,"context_line":"           \u0027        properties:\\n          levels:\\n\u0027 + \\"},{"line_number":1179,"context_line":"           \u0027            instantiation_level_1:\\n\u0027 + \\"},{"line_number":1180,"context_line":"           \u0027              number_of_instances: 0\\n\u0027 + \\"},{"line_number":1181,"context_line":"           \u0027            instantiation_level_2:\\n\u0027 + \\"},{"line_number":1182,"context_line":"           \u0027              number_of_instances: 2\\n\u0027 + \\"},{"line_number":1183,"context_line":"           \u0027        targets: [ VDU1 ]\\n\u0027"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    vnf_dict \u003d {"},{"line_number":1186,"context_line":"        \u0027attributes\u0027: {},"}],"source_content_type":"text/x-python","patch_set":17,"id":"38d879c7_d2a05a59","line":1183,"range":{"start_line":1126,"start_character":0,"end_line":1183,"end_character":40},"updated":"2021-02-19 17:59:23.000000000","message":"Can we avoid such a raw description?","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"c047f74865aa7fde55ad615ddceefe7198b353c4","unresolved":true,"context_lines":[{"line_number":1123,"context_line":"def vnf_dict_cnf():"},{"line_number":1124,"context_line":"    tacker_dir \u003d os.getcwd()"},{"line_number":1125,"context_line":"    def_dir \u003d tacker_dir + \u0027/samples/vnf_packages/Definitions/\u0027"},{"line_number":1126,"context_line":"    vnfd \u003d \u0027tosca_definitions_version: \u0027 + \\"},{"line_number":1127,"context_line":"           \u0027tosca_simple_yaml_1_2\\n\\ndescription: Sample VNF\u0027 + \\"},{"line_number":1128,"context_line":"           \u0027 flavour for Sample VNF\\n\\n\u0027 + \\"},{"line_number":1129,"context_line":"           \u0027imports:\\n\u0027 + \\"},{"line_number":1130,"context_line":"           \u0027  - \u0027 + def_dir + \u0027etsi_nfv_sol001_common_types.yaml\\n\u0027 + \\"},{"line_number":1131,"context_line":"           \u0027  - \u0027 + def_dir + \u0027etsi_nfv_sol001_vnfd_types.yaml\\n\\n\u0027 + \\"},{"line_number":1132,"context_line":"           \u0027  - \u0027 + def_dir + \u0027helloworld3_types.yaml\\n\\n\u0027 + \\"},{"line_number":1133,"context_line":"           \u0027topology_template:\\n\u0027 +\\"},{"line_number":1134,"context_line":"           \u0027  node_templates:\\n\u0027 + \\"},{"line_number":1135,"context_line":"           \u0027    VNF:\\n      type: company.provider.VNF\\n\u0027 + \\"},{"line_number":1136,"context_line":"           \u0027      properties:\\n\u0027 + \\"},{"line_number":1137,"context_line":"           \u0027        flavour_description: A simple flavour\\n\u0027 + \\"},{"line_number":1138,"context_line":"           \u0027    VDU1:\\n      type: tosca.nodes.nfv.Vdu.Compute\\n\u0027 + \\"},{"line_number":1139,"context_line":"           \u0027      properties:\\n        name: vdu1\\n\u0027 + \\"},{"line_number":1140,"context_line":"           \u0027        description: vdu1 compute node\\n\u0027 + \\"},{"line_number":1141,"context_line":"           \u0027        vdu_profile:\\n\u0027 + \\"},{"line_number":1142,"context_line":"           \u0027          min_number_of_instances: 1\\n\u0027 + \\"},{"line_number":1143,"context_line":"           \u0027          max_number_of_instances: 3\\n\\n\u0027 + \\"},{"line_number":1144,"context_line":"           \u0027  policies:\\n\u0027 + \\"},{"line_number":1145,"context_line":"           \u0027    - scaling_aspects:\\n\u0027 + \\"},{"line_number":1146,"context_line":"           \u0027        type: tosca.policies.nfv.ScalingAspects\\n\u0027 + \\"},{"line_number":1147,"context_line":"           \u0027        properties:\\n          aspects:\\n\u0027 + \\"},{"line_number":1148,"context_line":"           \u0027            vdu1_aspect:\\n              name: vdu1_aspect\\n\u0027 + \\"},{"line_number":1149,"context_line":"           \u0027              description: vdu1 scaling aspect\\n\u0027 + \\"},{"line_number":1150,"context_line":"           \u0027              max_scale_level: 2\\n\u0027 + \\"},{"line_number":1151,"context_line":"           \u0027              step_deltas:\\n\u0027 + \\"},{"line_number":1152,"context_line":"           \u0027                - delta_1\\n\\n\u0027 + \\"},{"line_number":1153,"context_line":"           \u0027    - vdu1_initial_delta:\\n\u0027 + \\"},{"line_number":1154,"context_line":"           \u0027        type: tosca.policies.nfv.VduInitialDelta\\n\u0027 + \\"},{"line_number":1155,"context_line":"           \u0027        properties:\\n          initial_delta:\\n\u0027 + \\"},{"line_number":1156,"context_line":"           \u0027            number_of_instances: 0\\n\u0027 + \\"},{"line_number":1157,"context_line":"           \u0027        targets: [ VDU1 ]\\n\\n\u0027 + \\"},{"line_number":1158,"context_line":"           \u0027    - vdu1_scaling_aspect_deltas:\\n\u0027 + \\"},{"line_number":1159,"context_line":"           \u0027        type: tosca.policies.nfv.VduScalingAspectDeltas\\n\u0027 + \\"},{"line_number":1160,"context_line":"           \u0027        properties:\\n          aspect: vdu1_aspect\\n\u0027 + \\"},{"line_number":1161,"context_line":"           \u0027          deltas:\\n            delta_1:\\n\u0027 + \\"},{"line_number":1162,"context_line":"           \u0027              number_of_instances: 1\\n\u0027 + \\"},{"line_number":1163,"context_line":"           \u0027        targets: [ VDU1 ]\\n\\n\u0027 + \\"},{"line_number":1164,"context_line":"           \u0027    - instantiation_levels:\\n\u0027 + \\"},{"line_number":1165,"context_line":"           \u0027        type: tosca.policies.nfv.InstantiationLevels\\n\u0027 + \\"},{"line_number":1166,"context_line":"           \u0027        properties:\\n          levels:\\n\u0027 + \\"},{"line_number":1167,"context_line":"           \u0027            instantiation_level_1:\\n\u0027 + \\"},{"line_number":1168,"context_line":"           \u0027              description: Smallest size\\n\u0027 + \\"},{"line_number":1169,"context_line":"           \u0027              scale_info:\\n                vdu1_aspect:\\n\u0027 + \\"},{"line_number":1170,"context_line":"           \u0027                  scale_level: 0\\n\u0027 + \\"},{"line_number":1171,"context_line":"           \u0027            instantiation_level_2:\\n\u0027 + \\"},{"line_number":1172,"context_line":"           \u0027              description: Largest size\\n\u0027 + \\"},{"line_number":1173,"context_line":"           \u0027              scale_info:\\n                vdu1_aspect:\\n\u0027 + \\"},{"line_number":1174,"context_line":"           \u0027                  scale_level: 2\\n\u0027 + \\"},{"line_number":1175,"context_line":"           \u0027          default_level: instantiation_level_1\\n\\n\u0027 + \\"},{"line_number":1176,"context_line":"           \u0027    - vdu1_instantiation_levels:\\n\u0027 + \\"},{"line_number":1177,"context_line":"           \u0027        type: tosca.policies.nfv.VduInstantiationLevels\\n\u0027 + \\"},{"line_number":1178,"context_line":"           \u0027        properties:\\n          levels:\\n\u0027 + \\"},{"line_number":1179,"context_line":"           \u0027            instantiation_level_1:\\n\u0027 + \\"},{"line_number":1180,"context_line":"           \u0027              number_of_instances: 0\\n\u0027 + \\"},{"line_number":1181,"context_line":"           \u0027            instantiation_level_2:\\n\u0027 + \\"},{"line_number":1182,"context_line":"           \u0027              number_of_instances: 2\\n\u0027 + \\"},{"line_number":1183,"context_line":"           \u0027        targets: [ VDU1 ]\\n\u0027"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    vnf_dict \u003d {"},{"line_number":1186,"context_line":"        \u0027attributes\u0027: {},"}],"source_content_type":"text/x-python","patch_set":17,"id":"55f095ed_7558d8cc","line":1183,"range":{"start_line":1126,"start_character":0,"end_line":1183,"end_character":40},"in_reply_to":"38d879c7_d2a05a59","updated":"2021-02-24 08:31:35.000000000","message":"Done.\nI changed to dict definition instead of raw description, and I fixed the test method that was using it.","commit_id":"fcd0ff5e6a4398448eff15a1a32df8fc443b1b0c"}],"tacker/tests/unit/vnflcm/test_controller.py":[{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":2672,"context_line":"            \"additionalParams\": {}}"},{"line_number":2673,"context_line":"        req \u003d fake_request.HTTPRequest.blank("},{"line_number":2674,"context_line":"            \u0027/vnf_instances/%s/scale\u0027 %"},{"line_number":2675,"context_line":"            \u0027436aaa6e-2db6-4d6e-a3fc-e728b2f0ac56\u0027)"},{"line_number":2676,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":2677,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2678,"context_line":"        req.method \u003d \u0027POST\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"8b34af7e_bec388db","line":2675,"range":{"start_line":2675,"start_character":13,"end_line":2675,"end_character":49},"updated":"2021-01-14 23:39:16.000000000","message":"Can we use ``FakeVNFMPlugin.vnf_for_cnf_vnf_id`` or a fixed variable instead?","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":2672,"context_line":"            \"additionalParams\": {}}"},{"line_number":2673,"context_line":"        req \u003d fake_request.HTTPRequest.blank("},{"line_number":2674,"context_line":"            \u0027/vnf_instances/%s/scale\u0027 %"},{"line_number":2675,"context_line":"            \u0027436aaa6e-2db6-4d6e-a3fc-e728b2f0ac56\u0027)"},{"line_number":2676,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":2677,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2678,"context_line":"        req.method \u003d \u0027POST\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"862b0c5a_b469573e","line":2675,"range":{"start_line":2675,"start_character":13,"end_line":2675,"end_character":49},"in_reply_to":"8b34af7e_bec388db","updated":"2021-01-21 08:03:03.000000000","message":"Done. I changed to FakeVNFMPlugin().vnf_for_cnf_vnf_id.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":2730,"context_line":"            \"additionalParams\": {}}"},{"line_number":2731,"context_line":"        req \u003d fake_request.HTTPRequest.blank("},{"line_number":2732,"context_line":"            \u0027/vnf_instances/%s/scale\u0027 %"},{"line_number":2733,"context_line":"            \u0027436aaa6e-2db6-4d6e-a3fc-e728b2f0ac56\u0027)"},{"line_number":2734,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":2735,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2736,"context_line":"        req.method \u003d \u0027POST\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"f6d3ad94_518faaf6","line":2733,"range":{"start_line":2733,"start_character":13,"end_line":2733,"end_character":49},"updated":"2021-01-14 23:39:16.000000000","message":"ditto","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":false,"context_lines":[{"line_number":2730,"context_line":"            \"additionalParams\": {}}"},{"line_number":2731,"context_line":"        req \u003d fake_request.HTTPRequest.blank("},{"line_number":2732,"context_line":"            \u0027/vnf_instances/%s/scale\u0027 %"},{"line_number":2733,"context_line":"            \u0027436aaa6e-2db6-4d6e-a3fc-e728b2f0ac56\u0027)"},{"line_number":2734,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":2735,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2736,"context_line":"        req.method \u003d \u0027POST\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"1d9a99ff_5fef13c2","line":2733,"range":{"start_line":2733,"start_character":13,"end_line":2733,"end_character":49},"in_reply_to":"f6d3ad94_518faaf6","updated":"2021-01-21 08:03:03.000000000","message":"Done. ditto.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":2781,"context_line":"                \"is_reverse\": \"True\"}}"},{"line_number":2782,"context_line":"        req \u003d fake_request.HTTPRequest.blank("},{"line_number":2783,"context_line":"            \u0027/vnf_instances/%s/scale\u0027 %"},{"line_number":2784,"context_line":"            \u0027436aaa6e-2db6-4d6e-a3fc-e728b2f0ac56\u0027)"},{"line_number":2785,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":2786,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2787,"context_line":"        req.method \u003d \u0027POST\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"1b672814_cb6da6fa","line":2784,"range":{"start_line":2784,"start_character":13,"end_line":2784,"end_character":49},"updated":"2021-01-14 23:39:16.000000000","message":"ditto","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":false,"context_lines":[{"line_number":2781,"context_line":"                \"is_reverse\": \"True\"}}"},{"line_number":2782,"context_line":"        req \u003d fake_request.HTTPRequest.blank("},{"line_number":2783,"context_line":"            \u0027/vnf_instances/%s/scale\u0027 %"},{"line_number":2784,"context_line":"            \u0027436aaa6e-2db6-4d6e-a3fc-e728b2f0ac56\u0027)"},{"line_number":2785,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":2786,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2787,"context_line":"        req.method \u003d \u0027POST\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3b08b9ee_af6b5ec9","line":2784,"range":{"start_line":2784,"start_character":13,"end_line":2784,"end_character":49},"in_reply_to":"1b672814_cb6da6fa","updated":"2021-01-21 08:03:03.000000000","message":"Done. ditto.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":2843,"context_line":"            \"additionalParams\": {}}"},{"line_number":2844,"context_line":"        req \u003d fake_request.HTTPRequest.blank("},{"line_number":2845,"context_line":"            \u0027/vnf_instances/%s/scale\u0027 %"},{"line_number":2846,"context_line":"            \u0027436aaa6e-2db6-4d6e-a3fc-e728b2f0ac56\u0027)"},{"line_number":2847,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":2848,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2849,"context_line":"        req.method \u003d \u0027POST\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"d22894a2_dd41e275","line":2846,"range":{"start_line":2846,"start_character":13,"end_line":2846,"end_character":49},"updated":"2021-01-14 23:39:16.000000000","message":"ditto","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":false,"context_lines":[{"line_number":2843,"context_line":"            \"additionalParams\": {}}"},{"line_number":2844,"context_line":"        req \u003d fake_request.HTTPRequest.blank("},{"line_number":2845,"context_line":"            \u0027/vnf_instances/%s/scale\u0027 %"},{"line_number":2846,"context_line":"            \u0027436aaa6e-2db6-4d6e-a3fc-e728b2f0ac56\u0027)"},{"line_number":2847,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":2848,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2849,"context_line":"        req.method \u003d \u0027POST\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"f25650cc_d597558d","line":2846,"range":{"start_line":2846,"start_character":13,"end_line":2846,"end_character":49},"in_reply_to":"d22894a2_dd41e275","updated":"2021-01-21 08:03:03.000000000","message":"Done. ditto.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"}],"tacker/tests/unit/vnflcm/test_vnflcm_driver.py":[{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":199,"context_line":"                instantiate_vnf_req_dict, self.context)"},{"line_number":200,"context_line":"        vnf_instance_obj \u003d fakes.return_vnf_instance()"},{"line_number":201,"context_line":"        level \u003d instantiate_vnf_req_obj.instantiation_level_id"},{"line_number":202,"context_line":"        vnf_instance_obj.instantiated_vnf_info \u003d objects.InstantiatedVnfInfo("},{"line_number":203,"context_line":"            flavour_id\u003dinstantiate_vnf_req_obj.flavour_id,"},{"line_number":204,"context_line":"            instantiation_level_id\u003dlevel,"},{"line_number":205,"context_line":"            vnf_instance_id\u003dvnf_instance_obj.id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"d98e67c7_6a77cabe","line":202,"range":{"start_line":202,"start_character":8,"end_line":202,"end_character":46},"updated":"2021-01-14 23:39:16.000000000","message":"Just a question. Is this change mandatory for UT? or a fix for correctness? I understand ``vnf_instance_obj.instantiated_vnf_info`` is generated in ``Conductor._instantiate_grant()`` and it\u0027s better to add this as the actual logic does.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":199,"context_line":"                instantiate_vnf_req_dict, self.context)"},{"line_number":200,"context_line":"        vnf_instance_obj \u003d fakes.return_vnf_instance()"},{"line_number":201,"context_line":"        level \u003d instantiate_vnf_req_obj.instantiation_level_id"},{"line_number":202,"context_line":"        vnf_instance_obj.instantiated_vnf_info \u003d objects.InstantiatedVnfInfo("},{"line_number":203,"context_line":"            flavour_id\u003dinstantiate_vnf_req_obj.flavour_id,"},{"line_number":204,"context_line":"            instantiation_level_id\u003dlevel,"},{"line_number":205,"context_line":"            vnf_instance_id\u003dvnf_instance_obj.id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fc6345d3_3d2b3530","line":202,"range":{"start_line":202,"start_character":8,"end_line":202,"end_character":46},"in_reply_to":"d98e67c7_6a77cabe","updated":"2021-01-21 08:03:03.000000000","message":"This change is not necessary.\n\nI was adding it in an attempt to pass the test before a patch was released to fix multiple VNFLCM failures.\nI deleted it because I was able to confirm that it works normally without it.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"}],"tacker/vnflcm/vnflcm_driver.py":[{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":733,"context_line":"        vnf_lcm_op_occ.error_point \u003d 7"},{"line_number":734,"context_line":"        vnf_instance.instantiated_vnf_info.scale_level \u003d\\"},{"line_number":735,"context_line":"            vnf_info[\u0027after_scale_level\u0027]"},{"line_number":736,"context_line":"        if vim_connection_info.vim_type !\u003d \u0027kubernetes\u0027:"},{"line_number":737,"context_line":"            scaleGroupDict \u003d \\"},{"line_number":738,"context_line":"                jsonutils.loads(vnf_info[\u0027attributes\u0027][\u0027scale_group\u0027])"},{"line_number":739,"context_line":"            (scaleGroupDict"}],"source_content_type":"text/x-python","patch_set":5,"id":"6510e07a_b7c37fb4","line":736,"range":{"start_line":736,"start_character":8,"end_line":736,"end_character":56},"updated":"2021-01-14 23:39:16.000000000","message":"Please add a note to say why this is required:\nThe logic of Scale for OpenStack VIM is widely hard coded with ``vnf_info``. This dependency is to be refactored in future.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":733,"context_line":"        vnf_lcm_op_occ.error_point \u003d 7"},{"line_number":734,"context_line":"        vnf_instance.instantiated_vnf_info.scale_level \u003d\\"},{"line_number":735,"context_line":"            vnf_info[\u0027after_scale_level\u0027]"},{"line_number":736,"context_line":"        if vim_connection_info.vim_type !\u003d \u0027kubernetes\u0027:"},{"line_number":737,"context_line":"            scaleGroupDict \u003d \\"},{"line_number":738,"context_line":"                jsonutils.loads(vnf_info[\u0027attributes\u0027][\u0027scale_group\u0027])"},{"line_number":739,"context_line":"            (scaleGroupDict"}],"source_content_type":"text/x-python","patch_set":5,"id":"ce9fe67a_a743b210","line":736,"range":{"start_line":736,"start_character":8,"end_line":736,"end_character":56},"in_reply_to":"6510e07a_b7c37fb4","updated":"2021-01-21 08:03:03.000000000","message":"Done. I wrote notes where I added such a branch.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"}],"tacker/vnfm/infra_drivers/kubernetes/kubernetes_driver.py":[{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":1065,"context_line":"                name\u003ddeployment_name,"},{"line_number":1066,"context_line":"                body\u003ddeployment_info)"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    def _select_read_scale_api(self, app_v1_api_client, namespace, name, kind):"},{"line_number":1069,"context_line":"        \"\"\"select kubernetes read scale api and call\"\"\""},{"line_number":1070,"context_line":"        def convert(name):"},{"line_number":1071,"context_line":"            name_with_underscores \u003d re.sub("}],"source_content_type":"text/x-python","patch_set":5,"id":"127e9f4f_76994c3d","line":1068,"range":{"start_line":1068,"start_character":8,"end_line":1068,"end_character":30},"updated":"2021-01-14 23:39:16.000000000","message":"Why don\u0027t you name this method to be \"_call_read_scale_api()\" as described in the comment?","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":1065,"context_line":"                name\u003ddeployment_name,"},{"line_number":1066,"context_line":"                body\u003ddeployment_info)"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    def _select_read_scale_api(self, app_v1_api_client, namespace, name, kind):"},{"line_number":1069,"context_line":"        \"\"\"select kubernetes read scale api and call\"\"\""},{"line_number":1070,"context_line":"        def convert(name):"},{"line_number":1071,"context_line":"            name_with_underscores \u003d re.sub("}],"source_content_type":"text/x-python","patch_set":5,"id":"36d2ed54_6a8f527f","line":1068,"range":{"start_line":1068,"start_character":8,"end_line":1068,"end_character":30},"in_reply_to":"127e9f4f_76994c3d","updated":"2021-01-21 08:03:03.000000000","message":"Done. I change this method name to `_call_read_scale_api()` and also changed the caller\u0027s method name.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"        return response"},{"line_number":1088,"context_line":""},{"line_number":1089,"context_line":"    def _select_patch_scale_api(self, app_v1_api_client, namespace, name,"},{"line_number":1090,"context_line":"                                kind, body):"},{"line_number":1091,"context_line":"        \"\"\"select kubernetes patch scale api and call\"\"\""},{"line_number":1092,"context_line":"        def convert(name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"77210e4c_2879083e","line":1089,"range":{"start_line":1089,"start_character":8,"end_line":1089,"end_character":31},"updated":"2021-01-14 23:39:16.000000000","message":"ditto","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"        return response"},{"line_number":1088,"context_line":""},{"line_number":1089,"context_line":"    def _select_patch_scale_api(self, app_v1_api_client, namespace, name,"},{"line_number":1090,"context_line":"                                kind, body):"},{"line_number":1091,"context_line":"        \"\"\"select kubernetes patch scale api and call\"\"\""},{"line_number":1092,"context_line":"        def convert(name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"273b9cc0_62572775","line":1089,"range":{"start_line":1089,"start_character":8,"end_line":1089,"end_character":31},"in_reply_to":"77210e4c_2879083e","updated":"2021-01-21 08:03:03.000000000","message":"Done. I change this method name to `_call_patch_scale_api()` and also changed the caller\u0027s method name.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":1117,"context_line":"        The min_replicas and max_replicas is limited by the number of replicas"},{"line_number":1118,"context_line":"        of policy scaling when user define VNF descriptor."},{"line_number":1119,"context_line":"        \"\"\""},{"line_number":1120,"context_line":"        LOG.debug(\"VNF are scaled by updating instance of deployment\")"},{"line_number":1121,"context_line":"        # initialize Kubernetes APIs"},{"line_number":1122,"context_line":"        auth_cred, file_descriptor \u003d self._get_auth_creds(auth_attr)"},{"line_number":1123,"context_line":"        vnf_resources \u003d objects.VnfResourceList.get_by_vnf_instance_id("}],"source_content_type":"text/x-python","patch_set":5,"id":"60dc2348_b7a75bdc","line":1120,"range":{"start_line":1120,"start_character":8,"end_line":1120,"end_character":70},"updated":"2021-01-14 23:39:16.000000000","message":"This debug log seems wrong for the new patch and better to move to _scale_legacy().","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":1117,"context_line":"        The min_replicas and max_replicas is limited by the number of replicas"},{"line_number":1118,"context_line":"        of policy scaling when user define VNF descriptor."},{"line_number":1119,"context_line":"        \"\"\""},{"line_number":1120,"context_line":"        LOG.debug(\"VNF are scaled by updating instance of deployment\")"},{"line_number":1121,"context_line":"        # initialize Kubernetes APIs"},{"line_number":1122,"context_line":"        auth_cred, file_descriptor \u003d self._get_auth_creds(auth_attr)"},{"line_number":1123,"context_line":"        vnf_resources \u003d objects.VnfResourceList.get_by_vnf_instance_id("}],"source_content_type":"text/x-python","patch_set":5,"id":"6816f6a9_a3ccffb9","line":1120,"range":{"start_line":1120,"start_character":8,"end_line":1120,"end_character":70},"in_reply_to":"60dc2348_b7a75bdc","updated":"2021-01-21 08:03:03.000000000","message":"Done, I moved this comment to `_scale_legacy()`.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":1134,"context_line":"                is_found \u003d False"},{"line_number":1135,"context_line":"                error_reason \u003d None"},{"line_number":1136,"context_line":"                for vnf_resource in vnf_resources:"},{"line_number":1137,"context_line":"                    name \u003d vnf_resource.resource_name.\\"},{"line_number":1138,"context_line":"                        split(COMMA_CHARACTER)[1]"},{"line_number":1139,"context_line":"                    for vdu_id, vdu_def in vdu_defs.items():"},{"line_number":1140,"context_line":"                        vdu_properties \u003d vdu_def.get(\u0027properties\u0027)"},{"line_number":1141,"context_line":"                        if name \u003d\u003d vdu_properties.get(\u0027name\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"e2bbd1e0_584afd03","line":1138,"range":{"start_line":1137,"start_character":20,"end_line":1138,"end_character":49},"updated":"2021-01-14 23:39:16.000000000","message":"It\u0027s better to add note of naming rule for VNF instance on K8s VIM.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":1134,"context_line":"                is_found \u003d False"},{"line_number":1135,"context_line":"                error_reason \u003d None"},{"line_number":1136,"context_line":"                for vnf_resource in vnf_resources:"},{"line_number":1137,"context_line":"                    name \u003d vnf_resource.resource_name.\\"},{"line_number":1138,"context_line":"                        split(COMMA_CHARACTER)[1]"},{"line_number":1139,"context_line":"                    for vdu_id, vdu_def in vdu_defs.items():"},{"line_number":1140,"context_line":"                        vdu_properties \u003d vdu_def.get(\u0027properties\u0027)"},{"line_number":1141,"context_line":"                        if name \u003d\u003d vdu_properties.get(\u0027name\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"2142b632_3c04a672","line":1138,"range":{"start_line":1137,"start_character":20,"end_line":1138,"end_character":49},"in_reply_to":"e2bbd1e0_584afd03","updated":"2021-01-21 08:03:03.000000000","message":"Done. I added a comment explaining the processing being performed in this part.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":1139,"context_line":"                    for vdu_id, vdu_def in vdu_defs.items():"},{"line_number":1140,"context_line":"                        vdu_properties \u003d vdu_def.get(\u0027properties\u0027)"},{"line_number":1141,"context_line":"                        if name \u003d\u003d vdu_properties.get(\u0027name\u0027):"},{"line_number":1142,"context_line":"                            namespace \u003d vnf_resource.resource_name.\\"},{"line_number":1143,"context_line":"                                split(COMMA_CHARACTER)[0]"},{"line_number":1144,"context_line":"                            kind \u003d vnf_resource.resource_type.\\"},{"line_number":1145,"context_line":"                                split(COMMA_CHARACTER)[1]"},{"line_number":1146,"context_line":"                            is_found \u003d True"}],"source_content_type":"text/x-python","patch_set":5,"id":"7020ced3_bd59b43b","line":1143,"range":{"start_line":1142,"start_character":28,"end_line":1143,"end_character":57},"updated":"2021-01-14 23:39:16.000000000","message":"ditto","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":1139,"context_line":"                    for vdu_id, vdu_def in vdu_defs.items():"},{"line_number":1140,"context_line":"                        vdu_properties \u003d vdu_def.get(\u0027properties\u0027)"},{"line_number":1141,"context_line":"                        if name \u003d\u003d vdu_properties.get(\u0027name\u0027):"},{"line_number":1142,"context_line":"                            namespace \u003d vnf_resource.resource_name.\\"},{"line_number":1143,"context_line":"                                split(COMMA_CHARACTER)[0]"},{"line_number":1144,"context_line":"                            kind \u003d vnf_resource.resource_type.\\"},{"line_number":1145,"context_line":"                                split(COMMA_CHARACTER)[1]"},{"line_number":1146,"context_line":"                            is_found \u003d True"}],"source_content_type":"text/x-python","patch_set":5,"id":"8f3263d0_f77e2089","line":1143,"range":{"start_line":1142,"start_character":28,"end_line":1143,"end_character":57},"in_reply_to":"7020ced3_bd59b43b","updated":"2021-01-21 08:03:03.000000000","message":"I think namespace has no naming rules.\nWhat kind of description do you need?","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":1297,"context_line":"                        namespace\u003dnamespace)"},{"line_number":1298,"context_line":"                    for item in respone.items:"},{"line_number":1299,"context_line":"                        match_result \u003d None"},{"line_number":1300,"context_line":"                        if kind \u003d\u003d \u0027Deployment\u0027:"},{"line_number":1301,"context_line":"                            match_result \u003d re.match("},{"line_number":1302,"context_line":"                                name + \u0027-([0-9a-f]{10})-([0-9a-z]{5})+$\u0027,"},{"line_number":1303,"context_line":"                                item.metadata.name)"},{"line_number":1304,"context_line":"                        elif kind \u003d\u003d \u0027ReplicaSet\u0027:"},{"line_number":1305,"context_line":"                            match_result \u003d re.match("},{"line_number":1306,"context_line":"                                name + \u0027-([0-9a-z]{5})+$\u0027,"},{"line_number":1307,"context_line":"                                item.metadata.name)"},{"line_number":1308,"context_line":"                        elif kind \u003d\u003d \u0027StatefulSet\u0027:"},{"line_number":1309,"context_line":"                            match_result \u003d re.match("},{"line_number":1310,"context_line":"                                name + \u0027-[0-9]+$\u0027,"},{"line_number":1311,"context_line":"                                item.metadata.name)"},{"line_number":1312,"context_line":"                        if match_result:"},{"line_number":1313,"context_line":"                            pods_information.append(item)"},{"line_number":1314,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"10ce8558_e344299a","line":1311,"range":{"start_line":1300,"start_character":0,"end_line":1311,"end_character":51},"updated":"2021-01-14 23:39:16.000000000","message":"Can you add some examples for these naming rules?","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":1297,"context_line":"                        namespace\u003dnamespace)"},{"line_number":1298,"context_line":"                    for item in respone.items:"},{"line_number":1299,"context_line":"                        match_result \u003d None"},{"line_number":1300,"context_line":"                        if kind \u003d\u003d \u0027Deployment\u0027:"},{"line_number":1301,"context_line":"                            match_result \u003d re.match("},{"line_number":1302,"context_line":"                                name + \u0027-([0-9a-f]{10})-([0-9a-z]{5})+$\u0027,"},{"line_number":1303,"context_line":"                                item.metadata.name)"},{"line_number":1304,"context_line":"                        elif kind \u003d\u003d \u0027ReplicaSet\u0027:"},{"line_number":1305,"context_line":"                            match_result \u003d re.match("},{"line_number":1306,"context_line":"                                name + \u0027-([0-9a-z]{5})+$\u0027,"},{"line_number":1307,"context_line":"                                item.metadata.name)"},{"line_number":1308,"context_line":"                        elif kind \u003d\u003d \u0027StatefulSet\u0027:"},{"line_number":1309,"context_line":"                            match_result \u003d re.match("},{"line_number":1310,"context_line":"                                name + \u0027-[0-9]+$\u0027,"},{"line_number":1311,"context_line":"                                item.metadata.name)"},{"line_number":1312,"context_line":"                        if match_result:"},{"line_number":1313,"context_line":"                            pods_information.append(item)"},{"line_number":1314,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"4dd5b93f_f9de4498","line":1311,"range":{"start_line":1300,"start_character":0,"end_line":1311,"end_character":51},"in_reply_to":"10ce8558_e344299a","updated":"2021-01-21 08:03:03.000000000","message":"Done. I added an example of the expected name for each type in the comments.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"3f0a8456422b65c2f506de6b61030f56be4e76e2","unresolved":true,"context_lines":[{"line_number":1554,"context_line":"                              vim_connection_info):"},{"line_number":1555,"context_line":"        pass"},{"line_number":1556,"context_line":""},{"line_number":1557,"context_line":"    def scale_in_reverse(self,"},{"line_number":1558,"context_line":"              context,"},{"line_number":1559,"context_line":"              plugin,"},{"line_number":1560,"context_line":"              auth_attr,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1d90d63a_b5543b9d","line":1557,"range":{"start_line":1557,"start_character":4,"end_line":1557,"end_character":24},"updated":"2021-01-14 23:39:16.000000000","message":"It\u0027s better to add note why we need this implementation while is_reverse option is not supported for K8s VIM and validated at VnfLcmController. I believe that this is required for rollback operation.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8962ef16a94fb76a6de32e3f45c9432e05cdf70e","unresolved":true,"context_lines":[{"line_number":1554,"context_line":"                              vim_connection_info):"},{"line_number":1555,"context_line":"        pass"},{"line_number":1556,"context_line":""},{"line_number":1557,"context_line":"    def scale_in_reverse(self,"},{"line_number":1558,"context_line":"              context,"},{"line_number":1559,"context_line":"              plugin,"},{"line_number":1560,"context_line":"              auth_attr,"}],"source_content_type":"text/x-python","patch_set":5,"id":"d4820649_f8c16227","line":1557,"range":{"start_line":1557,"start_character":4,"end_line":1557,"end_character":24},"in_reply_to":"1d90d63a_b5543b9d","updated":"2021-01-21 08:03:03.000000000","message":"Done. I added NOTE.","commit_id":"b1ecb4af82298a3c2cf366e86e2e0741ba25bb97"}]}
