# 从算力池分配节点到集群 (算力单元分配) # params: # pool_id - 算力池 ID (必填) # cluster_id - 目标集群 ID # role - 节点角色: control/compute (默认 compute) # count - 分配数量 (默认 1) # cpu - 每节点 CPU 核数要求 (可选,0 表示不限制) # memory - 每节点内存 GB 要求 (可选) # gpu - 每节点 GPU 数量要求 (可选) # return: {status, allocated_nodes: [node_id, ...]} result = await allocate_nodes(request, params_kw) if isinstance(result, dict) and result.get('status') == 'ok': return { 'widgettype': 'Message', 'options': { 'title': '分配成功', 'message': '已分配 {} 个节点:\n{}'.format( len(result.get('allocated_nodes', [])), ', '.join(result.get('allocated_nodes', [])) ), 'type': 'success', 'timeout': 5 } } return result if isinstance(result, dict) else { 'widgettype': 'Error', 'options': {'title': '分配失败', 'message': str(result), 'cwidth': 16, 'cheight': 9, 'timeout': 3} }