예제 #1
0
    def compose_data(self, instance_info, inst_status_info, cluster_env_map, cluster_id, ns_id, ns_name_id):
        """组装数据
        """
        # need_delete_id_list = []
        update_create_error_id_list = []
        for key, val in inst_status_info.items():
            if key in instance_info:
                if instance_info[key].get("backend_status") in ["BackendError"]:
                    instance_info[key]["backend_status"] = "BackendNormal"
                    update_create_error_id_list.append(instance_info[key]["id"])
                val.pop("version", None)
                # 针对模板集创建的应用更新时间以数据库为准,否则,从api中直接获取
                val.pop('update_at', None)
                instance_info[key].update(val)
            else:
                val['namespace_id'] = ns_name_id.get(val.get('namespace'))
                val["id"] = 0
                val["from_platform"] = False
                val["oper_type"] = "create"
                instance_info[key] = val
            cluster_name_env_map = cluster_env_map.get(cluster_id) or {}
            instance_info[key].update({
                "namespace_id": ns_id,
                "cluster_id": cluster_id,
                "cluster_name": cluster_name_env_map.get("cluster_name"),
                "cluster_env": cluster_name_env_map.get("cluster_env"),
                "environment": cluster_name_env_map.get("cluster_env_str")
            })
        if update_create_error_id_list:
            update_create_error_record.delay(update_create_error_id_list)

        utils.delete_instance_records(inst_status_info, instance_info)
예제 #2
0
 def compose_data(self, request, instance_info, all_status, cluster_id, ns_id, cluster_env_map, ns_name_id):
     """组装返回数据
     """
     update_create_error_id_list = []
     for key, val in all_status.items():
         if key in instance_info:
             if instance_info[key].get("backend_status") in ["BackendError"]:
                 instance_info[key]["backend_status"] = "BackendNormal"
                 update_create_error_id_list.append(instance_info[key]["id"])
             val.pop("version", None)
             instance_info[key].update(val)
         else:
             val['namespace_id'] = ns_name_id.get(val.get('namespace'))
             val["id"] = 0
             val["from_platform"] = False
             val["oper_type"] = "create"
             instance_info[key] = val
             val["create_at"] = val["create_time"]
             val["update_at"] = val["update_time"]
         cluster_name_env_map = cluster_env_map.get(cluster_id) or {}
         instance_info[key].update({
             "namespace_id": ns_id,
             "cluster_id": cluster_id,
             "cluster_name": cluster_name_env_map.get("cluster_name"),
             "cluster_env": cluster_name_env_map.get("cluster_env"),
             "environment": cluster_name_env_map.get("cluster_env_str")
         })
         val.pop("create_time", None)
         val.pop("update_time", None)
     if update_create_error_id_list:
         update_create_error_record.delay(update_create_error_id_list)
예제 #3
0
 def compose_data(self, instance_info, inst_status_info):
     """组装数据"""
     need_delete_id_list = []
     update_create_error_id_list = []
     for key, val in instance_info.items():
         if key in inst_status_info:
             if val.get("backend_status") in ["BackendError"]:
                 val["backend_status"] = "BackendNormal"
                 update_create_error_id_list.append(val["id"])
             val.update(inst_status_info[key])
         else:
             if val["oper_type"] == app_constants.DELETE_INSTANCE:
                 need_delete_id_list.append(val["id"])
     if update_create_error_id_list:
         update_create_error_record.delay(update_create_error_id_list)
     InstanceConfig.objects.filter(id__in=need_delete_id_list).update(is_deleted=True, deleted_time=datetime.now())
예제 #4
0
 def compose_data(self, request, instance_info, all_status, cluster_id,
                  ns_id, cluster_env_map, ns_name_id):
     """组装返回数据"""
     # 默认时间
     default_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
     update_create_error_id_list = []
     for key, val in all_status.items():
         if key in instance_info:
             if instance_info[key].get("backend_status") in [
                     "BackendError"
             ]:
                 instance_info[key]["backend_status"] = "BackendNormal"
                 update_create_error_id_list.append(
                     instance_info[key]["id"])
             val.pop("version", None)
             instance_info[key].update(val)
         else:
             val['namespace_id'] = ns_name_id.get(val.get('namespace'))
             val["id"] = 0
             val["from_platform"] = False
             val["oper_type"] = "create"
             instance_info[key] = val
             # NOTE: 兼容通过storage查询不到数据的情况,默认取当前时间
             val["create_at"] = val.get("create_time") or default_time
             val["update_at"] = val.get("update_time") or default_time
         cluster_name_env_map = cluster_env_map.get(cluster_id) or {}
         instance_info[key].update({
             "namespace_id":
             ns_id,
             "cluster_id":
             cluster_id,
             "cluster_name":
             cluster_name_env_map.get("cluster_name"),
             "cluster_env":
             cluster_name_env_map.get("cluster_env"),
             "environment":
             cluster_name_env_map.get("cluster_env_str"),
         })
         val.pop("create_time", None)
         val.pop("update_time", None)
     if update_create_error_id_list:
         update_create_error_record.delay(update_create_error_id_list)