)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"47277431552aa221631ece5f0650ad9340ff3e95","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"when scale vnf , mgmt driver doesn\u0027t work"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If47b8a787bba84b95c29989f8fbdc79a92dcfb86"},{"line_number":10,"context_line":"Closes-bug: #1650426"},{"line_number":11,"context_line":"Closes-bug: #1777556"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7faddb67_fc4fed8e","line":9,"updated":"2019-08-21 08:27:45.000000000","message":"Please mention yourself as co-author","commit_id":"68e9eec5b789f27ec3d1fe73af13ef8a6136f5e1"},{"author":{"_account_id":30198,"name":"Hiroya Nakaya","email":"nakaya.hr@ncos.nec.co.jp","username":"nakkay"},"change_message_id":"f08ba9d8432a4085e623456ab756dc2e12445765","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"when scale vnf , mgmt driver doesn\u0027t work"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If47b8a787bba84b95c29989f8fbdc79a92dcfb86"},{"line_number":10,"context_line":"Closes-bug: #1650426"},{"line_number":11,"context_line":"Closes-bug: #1777556"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7faddb67_e99aca6c","line":9,"in_reply_to":"7faddb67_fc4fed8e","updated":"2019-08-26 01:21:29.000000000","message":"Done","commit_id":"68e9eec5b789f27ec3d1fe73af13ef8a6136f5e1"}],"tacker/vnfm/infra_drivers/openstack/openstack.py":[{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"cdfd3fa1f19408aa6159a8aeedaf2f4370aa9761","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"        return mgmt_ips"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def can_scale(self, auth_attr, policy, region_name):"},{"line_number":290,"context_line":"        heatclient \u003d hc.HeatClient(auth_attr, region_name)"},{"line_number":291,"context_line":"        scale_group_name \u003d get_scaling_groupe_name(policy[\u0027name\u0027])"},{"line_number":292,"context_line":"        metadata \u003d heatclient.resource_metadata(policy[\u0027instance_id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_d8b0dd8e","line":289,"range":{"start_line":289,"start_character":8,"end_line":289,"end_character":17},"updated":"2019-09-16 17:26:51.000000000","message":"Can you add a feature to check if the number of instance already reach the maximum or minimum here?","commit_id":"e927eedfb9028c388acde34fa9564bd0df4fd1db"},{"author":{"_account_id":30198,"name":"Hiroya Nakaya","email":"nakaya.hr@ncos.nec.co.jp","username":"nakkay"},"change_message_id":"8cf82cc72f7cbac2d68b52539f9fd03f42bd6ec3","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"        return mgmt_ips"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def can_scale(self, auth_attr, policy, region_name):"},{"line_number":290,"context_line":"        heatclient \u003d hc.HeatClient(auth_attr, region_name)"},{"line_number":291,"context_line":"        scale_group_name \u003d get_scaling_groupe_name(policy[\u0027name\u0027])"},{"line_number":292,"context_line":"        metadata \u003d heatclient.resource_metadata(policy[\u0027instance_id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_c3613b07","line":289,"range":{"start_line":289,"start_character":8,"end_line":289,"end_character":17},"in_reply_to":"3fa7e38b_d8b0dd8e","updated":"2019-09-25 02:47:46.000000000","message":"Done","commit_id":"e927eedfb9028c388acde34fa9564bd0df4fd1db"}],"tacker/vnfm/plugin.py":[{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"39f021ba74c2084ba749d2204f114a102071c2ca","unresolved":false,"context_lines":[{"line_number":659,"context_line":"                LOG.debug(\"Policy %s action is completed successfully\","},{"line_number":660,"context_line":"                          policy[\u0027name\u0027])"},{"line_number":661,"context_line":"                _handle_vnf_scaling_post(constants.ACTIVE, mgmt_url)"},{"line_number":662,"context_line":"                # TODO(kanagaraj-manickam): Add support for config and mgmt"},{"line_number":663,"context_line":"                vnf_dict \u003d policy[\u0027vnf\u0027]"},{"line_number":664,"context_line":"                vnf_dict[\u0027policy_name\u0027] \u003d policy[\u0027name\u0027]"},{"line_number":665,"context_line":"                vnf_dict[\u0027action\u0027] \u003d policy[\u0027action\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_e33835ef","line":662,"range":{"start_line":662,"start_character":15,"end_line":662,"end_character":75},"updated":"2018-06-20 06:11:00.000000000","message":"This line can be deleted.","commit_id":"0a48ecbb26650fb4619d24f6845ce8b8f7953fa8"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"e59a1b7c7b9ee04cd37ed5dcf9412bdc1c368f86","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                    {\u0027vnf\u0027: vnf_dict},"},{"line_number":705,"context_line":"            }"},{"line_number":706,"context_line":"            try:"},{"line_number":707,"context_line":"                self.mgmt_call(context, vnf_dict, kwargs)"},{"line_number":708,"context_line":"            except exceptions.MgmtDriverException:"},{"line_number":709,"context_line":"                LOG.error(\u0027Scale VNF configuration failed\u0027)"},{"line_number":710,"context_line":"                self.set_vnf_error_status_reason(context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_3539f0f0","line":707,"range":{"start_line":707,"start_character":16,"end_line":707,"end_character":56},"updated":"2018-07-22 06:46:16.000000000","message":"why call it twice at line 707 and line 674?","commit_id":"99683109e4b6dab839c61a7ed49c0bb538c74ec5"},{"author":{"_account_id":27181,"name":"lijiale","email":"lijiale_yewu@cmss.chinamobile.com","username":"lijiale"},"change_message_id":"36a10db3a00fc6ca1fef4ed2d5bab3bc0f84d049","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                    {\u0027vnf\u0027: vnf_dict},"},{"line_number":705,"context_line":"            }"},{"line_number":706,"context_line":"            try:"},{"line_number":707,"context_line":"                self.mgmt_call(context, vnf_dict, kwargs)"},{"line_number":708,"context_line":"            except exceptions.MgmtDriverException:"},{"line_number":709,"context_line":"                LOG.error(\u0027Scale VNF configuration failed\u0027)"},{"line_number":710,"context_line":"                self.set_vnf_error_status_reason(context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_4bad6930","line":707,"range":{"start_line":707,"start_character":16,"end_line":707,"end_character":56},"in_reply_to":"5f7c97a3_3539f0f0","updated":"2018-07-27 08:20:53.000000000","message":"The trigger for mgmt_call is different. Scale in calls mgmt_call before the resource is deleted. Scale out calls mgmt_call after the resource is created.","commit_id":"99683109e4b6dab839c61a7ed49c0bb538c74ec5"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"6832a4ee0f829fefcfc866ff41fd9f21e38ef67f","unresolved":false,"context_lines":[{"line_number":750,"context_line":"                )"},{"line_number":751,"context_line":"                LOG.debug(\"Policy %s action is completed successfully\","},{"line_number":752,"context_line":"                          policy[\u0027name\u0027])"},{"line_number":753,"context_line":"                if policy[\u0027action\u0027] \u003d\u003d constants.ACTION_SCALE_OUT:"},{"line_number":754,"context_line":"                    vnf_dict \u003d policy[\u0027vnf\u0027]"},{"line_number":755,"context_line":"                    vnf_dict[\u0027status\u0027] \u003d vnf[\u0027status\u0027]"},{"line_number":756,"context_line":"                    vnf_dict[\u0027policy_name\u0027] \u003d policy[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_85cb5c70","line":753,"range":{"start_line":753,"start_character":39,"end_line":753,"end_character":66},"updated":"2019-08-30 03:32:51.000000000","message":"IMO, you can add handle both scale_in and scale_out here. You should create other function for flexible handling.","commit_id":"1c5a2709d2d16b9f67071f8fb5d052b7dcb732a2"},{"author":{"_account_id":30198,"name":"Hiroya Nakaya","email":"nakaya.hr@ncos.nec.co.jp","username":"nakkay"},"change_message_id":"7eedd2c7a2b4e91cdb49e70d42a72f3731e553d2","unresolved":false,"context_lines":[{"line_number":750,"context_line":"                )"},{"line_number":751,"context_line":"                LOG.debug(\"Policy %s action is completed successfully\","},{"line_number":752,"context_line":"                          policy[\u0027name\u0027])"},{"line_number":753,"context_line":"                if policy[\u0027action\u0027] \u003d\u003d constants.ACTION_SCALE_OUT:"},{"line_number":754,"context_line":"                    vnf_dict \u003d policy[\u0027vnf\u0027]"},{"line_number":755,"context_line":"                    vnf_dict[\u0027status\u0027] \u003d vnf[\u0027status\u0027]"},{"line_number":756,"context_line":"                    vnf_dict[\u0027policy_name\u0027] \u003d policy[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_04f60b91","line":753,"range":{"start_line":753,"start_character":39,"end_line":753,"end_character":66},"in_reply_to":"7faddb67_85cb5c70","updated":"2019-09-06 09:51:18.000000000","message":"Done","commit_id":"1c5a2709d2d16b9f67071f8fb5d052b7dcb732a2"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"09c72ed0acf8a009cf896f96901f9723bba55df4","unresolved":false,"context_lines":[{"line_number":764,"context_line":"                    }"},{"line_number":765,"context_line":"                    try:"},{"line_number":766,"context_line":"                        self.mgmt_call(context, vnf_dict, kwargs)"},{"line_number":767,"context_line":"                        self.mgmt_scale_post(context, vnf_dict)"},{"line_number":768,"context_line":"                        _handle_vnf_scaling_post(constants.ACTIVE,"},{"line_number":769,"context_line":"                                                 mgmt_ip_address)"},{"line_number":770,"context_line":"                    except exceptions.MgmtDriverException:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_5e441db8","line":767,"range":{"start_line":767,"start_character":24,"end_line":767,"end_character":63},"updated":"2019-09-04 05:06:00.000000000","message":"I think we should call this in case of scale-in too.","commit_id":"1c5a2709d2d16b9f67071f8fb5d052b7dcb732a2"},{"author":{"_account_id":30198,"name":"Hiroya Nakaya","email":"nakaya.hr@ncos.nec.co.jp","username":"nakkay"},"change_message_id":"7eedd2c7a2b4e91cdb49e70d42a72f3731e553d2","unresolved":false,"context_lines":[{"line_number":764,"context_line":"                    }"},{"line_number":765,"context_line":"                    try:"},{"line_number":766,"context_line":"                        self.mgmt_call(context, vnf_dict, kwargs)"},{"line_number":767,"context_line":"                        self.mgmt_scale_post(context, vnf_dict)"},{"line_number":768,"context_line":"                        _handle_vnf_scaling_post(constants.ACTIVE,"},{"line_number":769,"context_line":"                                                 mgmt_ip_address)"},{"line_number":770,"context_line":"                    except exceptions.MgmtDriverException:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_c4ef93ae","line":767,"range":{"start_line":767,"start_character":24,"end_line":767,"end_character":63},"in_reply_to":"7faddb67_5e441db8","updated":"2019-09-06 09:51:18.000000000","message":"Done","commit_id":"1c5a2709d2d16b9f67071f8fb5d052b7dcb732a2"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"cdfd3fa1f19408aa6159a8aeedaf2f4370aa9761","unresolved":false,"context_lines":[{"line_number":787,"context_line":"                )"},{"line_number":788,"context_line":"                LOG.debug(\"Policy %s action is completed successfully\","},{"line_number":789,"context_line":"                          policy[\u0027name\u0027])"},{"line_number":790,"context_line":"                if policy[\u0027action\u0027] \u003d\u003d constants.ACTION_SCALE_OUT:"},{"line_number":791,"context_line":"                    _handle_vnf_scale_mgmt(policy, vnf[\u0027status\u0027],"},{"line_number":792,"context_line":"                                           mgmt_ip_address)"},{"line_number":793,"context_line":"                _handle_vnf_scaling_post(constants.ACTIVE, mgmt_ip_address)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_b8a72150","line":790,"range":{"start_line":790,"start_character":49,"end_line":790,"end_character":65},"updated":"2019-09-16 17:26:51.000000000","message":"I see that you process scale action IN and OUT in different places. For example, you process scale_out inside _vnf_policy_action_wait function but scale_in is outside.  \n\nBecause I see \u0027_handle_vnf_scale_mgmt\u0027 function can process for both cases, so I think you should use \u0027ACTION_SCALE_IN_OUT\u0027 to process 2 cases and put the code on the right position.","commit_id":"e927eedfb9028c388acde34fa9564bd0df4fd1db"},{"author":{"_account_id":30198,"name":"Hiroya Nakaya","email":"nakaya.hr@ncos.nec.co.jp","username":"nakkay"},"change_message_id":"8cf82cc72f7cbac2d68b52539f9fd03f42bd6ec3","unresolved":false,"context_lines":[{"line_number":787,"context_line":"                )"},{"line_number":788,"context_line":"                LOG.debug(\"Policy %s action is completed successfully\","},{"line_number":789,"context_line":"                          policy[\u0027name\u0027])"},{"line_number":790,"context_line":"                if policy[\u0027action\u0027] \u003d\u003d constants.ACTION_SCALE_OUT:"},{"line_number":791,"context_line":"                    _handle_vnf_scale_mgmt(policy, vnf[\u0027status\u0027],"},{"line_number":792,"context_line":"                                           mgmt_ip_address)"},{"line_number":793,"context_line":"                _handle_vnf_scaling_post(constants.ACTIVE, mgmt_ip_address)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_bffce03e","line":790,"range":{"start_line":790,"start_character":49,"end_line":790,"end_character":65},"in_reply_to":"3fa7e38b_b8a72150","updated":"2019-09-25 02:47:46.000000000","message":"IMO, I think mgmt has difference of process and timing between scale action IN and OUT.\n\nSCALE_IN\u0027s mgmt has process to close VDU. It want to be called before execute the SCALE_IN action.\nSCALE_OUTs mgmt has process to start VDU. It want to be called after  execute the SCALE_OUT action.","commit_id":"e927eedfb9028c388acde34fa9564bd0df4fd1db"}]}
