)]}'
{"tacker/conductor/conductor_server.py":[{"author":{"_account_id":31821,"name":"LiangLu","email":"lu.liang@jp.fujitsu.com","username":"LiangLu"},"change_message_id":"4dc5194c4feb0e4fa9f73b3d1a288da0857cb347","unresolved":true,"context_lines":[{"line_number":597,"context_line":"        \u0027\u0027\u0027Change vnf status and add error reason if error\u0027\u0027\u0027"},{"line_number":598,"context_line":"        LOG.debug(\"Change status of vnf %s from %s to %s\", vnf_dict[\u0027id\u0027],"},{"line_number":599,"context_line":"            current_statuses, new_status)"},{"line_number":600,"context_line":"        vnf_obj \u003d objects.VnfInfo.obj_from_primitive(vnf_dict, context)"},{"line_number":601,"context_line":"        vnf_obj.update_vnf_lcm(context, current_statuses, new_status)"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":"    @log.log"}],"source_content_type":"text/x-python","patch_set":7,"id":"1e96d040_c2f74c5a","line":600,"range":{"start_line":600,"start_character":18,"end_line":600,"end_character":33},"updated":"2020-12-08 00:49:48.000000000","message":"is VnfInfo here correctly imported?","commit_id":"357482c78b60a3c60db9f29b7fc3c44b54a1a652"}],"tacker/db/db_sqlalchemy/models.py":[{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"2ac922f3c4368d5d175ca84fa7af885238f8114f","unresolved":true,"context_lines":[{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    __tablename__ \u003d \u0027vnf_info\u0027"},{"line_number":340,"context_line":"    mgmt_ip_address \u003d sa.Column(sa.String(255), nullable\u003dTrue)"},{"line_number":341,"context_line":"    status \u003d sa.Column(sa.String(64), nullable\u003dTrue)"},{"line_number":342,"context_line":"    heat_template \u003d sa.Column(sa.Text(), nullable\u003dTrue)"},{"line_number":343,"context_line":"    nested_heat_template \u003d sa.Column(sa.JSON(), nullable\u003dTrue)"},{"line_number":344,"context_line":"    stack_param \u003d sa.Column(sa.Text(), nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":9,"id":"92385668_40cf2bb7","line":341,"updated":"2020-12-16 04:34:12.000000000","message":"Is this field necessary ? It seems it is used with check_vnf_status decorator in VnfLcmController only. But I think it is enough only check_vnf_state (without check_vnf_status). For example, if vnf_instance\u0027s state is NOT_INSTANTIATED, vnf\u0027s status can\u0027t be other than INACTIVE.","commit_id":"6ee0a76ebedf19e6455c5d5bef9cdfcc87f00792"}],"tacker/objects/vnf_info.py":[{"author":{"_account_id":27880,"name":"Yoshito Ito","email":"yoshito.itou.dr@hco.ntt.co.jp","username":"yoshito-ito"},"change_message_id":"12ad2a5400ba1a8ef0c5d59f8c1dcd75f83cda30","unresolved":true,"context_lines":[{"line_number":237,"context_line":"            data[\u0027vnfd\u0027][\u0027attributes\u0027][flavour_key] \u003d yaml.dump(vnfd_dict)"},{"line_number":238,"context_line":"        data[\u0027vnfd\u0027][\u0027id\u0027] \u003d vnf_instances.vnfd_id"},{"line_number":239,"context_line":"        # set attributes"},{"line_number":240,"context_line":"        data[\u0027attributes\u0027] \u003d {}"},{"line_number":241,"context_line":"        if self.heat_template:"},{"line_number":242,"context_line":"            data[\u0027attributes\u0027][\u0027heat_template\u0027] \u003d self.heat_template"},{"line_number":243,"context_line":"        if self.nested_heat_template:"},{"line_number":244,"context_line":"            nested_temp_dict \u003d jsonutils.loads(self.nested_heat_template)"},{"line_number":245,"context_line":"            for key, value in nested_temp_dict.items():"},{"line_number":246,"context_line":"                data[\u0027attributes\u0027][key] \u003d value"},{"line_number":247,"context_line":"        if self.stack_param:"},{"line_number":248,"context_line":"            data[\u0027attributes\u0027][\u0027stack_param\u0027] \u003d self.stack_param"},{"line_number":249,"context_line":"        if \u0027instantiated_vnf_info\u0027 in vnf_instances and\\"},{"line_number":250,"context_line":"           vnf_instances.instantiated_vnf_info and\\"},{"line_number":251,"context_line":"           \u0027scale_status\u0027 in vnf_instances.instantiated_vnf_info and\\"},{"line_number":252,"context_line":"           vnf_instances.instantiated_vnf_info.scale_status:"},{"line_number":253,"context_line":"            data[\u0027attributes\u0027][\u0027scaling_group_names\u0027] \u003d {}"},{"line_number":254,"context_line":"            scale_status \u003d vnf_instances.instantiated_vnf_info.scale_status"},{"line_number":255,"context_line":"            for scale in scale_status:"},{"line_number":256,"context_line":"                data[\u0027attributes\u0027][\u0027scaling_group_names\u0027][scale.aspect_id] \u003d \\"},{"line_number":257,"context_line":"                    \u0027{}_group\u0027.format(scale.aspect_id)"},{"line_number":258,"context_line":"            instantiation_level_id \u003d \\"},{"line_number":259,"context_line":"                vnf_instances.instantiated_vnf_info.instantiation_level_id"},{"line_number":260,"context_line":"            inst_req_info \u003d objects.InstantiateVnfRequest("},{"line_number":261,"context_line":"                instantiation_level_id\u003dinstantiation_level_id)"},{"line_number":262,"context_line":"            scale_group_dict \u003d \\"},{"line_number":263,"context_line":"                tosca_utils.get_scale_group(data, vnfd_dict, inst_req_info,"},{"line_number":264,"context_line":"                                            scale_status)"},{"line_number":265,"context_line":"            data[\u0027attributes\u0027][\u0027scale_group\u0027] \u003d \\"},{"line_number":266,"context_line":"                jsonutils.dump_as_bytes(scale_group_dict)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        return data"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"dd1734e7_4cd8eda2","line":266,"range":{"start_line":240,"start_character":0,"end_line":266,"end_character":57},"updated":"2020-12-23 08:43:36.000000000","message":"It\u0027s hard to understand why this complex data structure is required. How about fixing the logic in Conductor or VnfLcmDriver with the same logic here? It\u0027s better not to use this dict.","commit_id":"6ee0a76ebedf19e6455c5d5bef9cdfcc87f00792"}]}
