mcpField
H
huawei-cloud-cloudrobo-resource

huawei-cloud-cloudrobo-resource

github.com/huaweicloud云与 DevOps5972 次安装2 天前更新
代码仓库

关于 huawei-cloud-cloudrobo-resource

通过 CLI 或 Python SDK 查询 Huawei Cloud CloudRobo 计算配额和资源池的只读 Skill。它提供 Domain 与工作空间级配额、资源池筛选及节点详情,便于核查容量和资源。

主要功能

  1. 01查询 Domain 和工作空间配额
  2. 02区分 CCE 与 ModelArts 配额
  3. 03按属性筛选资源池
  4. 04查看资源池节点和状态
  5. 05对查询结果分页

适用场景

  1. 01在启动工作负载前核查可用容量
  2. 02验证 CCE 与 ModelArts 配额隔离
  3. 03查找适用于训练或推理的资源池
  4. 04分配资源前检查资源池节点

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-cloudrobo-resource

安装后在 Claude Code 中输入/huawei-cloud-cloudrobo-resource确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
acceptance-criteria.md
api-paths.md
cli-installation-guide.md
dataflow-diagram.md
iam-policies.md
resource-config-catalog.md
verification-method.md
scripts/
test-cli-commands.sh
templates/
test-vars.json

详细介绍

**Windows / PowerShell:**示例使用 bash 语法。要在 Windows PowerShell 中运行:

  • 将 \ 续行符展平为单行,或在行尾加上反引号。
  • 使用 $env:NAME="value" 设置环境变量,而不是 export NAME="value"。
  • 单引号括起的 JSON '{"a":"b"}' 可直接使用。

概述 概述

cloudrobo-resource 技能提供 CloudRobo 计算资源查询能力。 它涵盖两个核心领域:资源配额查询(支持 Domain 级聚合,并隔离 CCE/ModelArts)和 资源池查询(支持按多项条件筛选列表,以及查看包含节点级详细信息的资源池)。此技能为只读技能,不包含写入操作。

适用场景:

  • 配额查询 — 查看工作空间级和 Domain 级资源配额;验证 CCE (cpu/memory/gpu)和 ModelArts(npu)配额隔离;在启动工作负载前检查可用容量
  • 资源池查询 — 按类型/子类型/资源池类型/用途列出资源池; 查看节点级详细信息(名称、状态、资源、标签)

架构:

Agent / LLM
    │
    ├── CLI  →  cloudrobo resource <command>
    ├── SDK  →  ResourceClient (Python)
                    │
                    ▼
              cloudrobo-service (REST API)
              /v1/resources/quotas
              /v1/resources/pools
              /v1/resources/pools/{pool_id}

所有操作均面向 cloudrobo-service 后端。资源操作为 Domain 级操作——配额列表和资源池列表需要 ABAC 权限;资源池详情不需要。

前置条件 前置条件

CLI 安装、AK/SK 身份验证和初始配置请参阅 references/cli-installation-guide.md。 cloudrobo-resource 软件包依赖 cloudrobo-core。 使用资源命令前,请确保已运行 cloudrobo workspace use --workspace-id <id>,以设置当前工作空间上下文。

工作流 工作流

配额查询工作流 配额查询工作流
  1. 列出配额 — cloudrobo resource list-quotas(返回 domain_quotas + quotas + page_info)
  2. 按类型筛选 — cloudrobo resource list-quotas --resource-type CCE(CCE:npu=0;MODELARTS:cpu/memory/gpu=0)
  3. 按工作空间筛选 — cloudrobo resource list-quotas --workspace-id <id>(工作空间范围内的配额)
  4. 检查容量 — 查看 domain_quotas[].available_spec,了解可用计算资源
资源池查询工作流 资源池查询工作流
  1. 列出资源池 — cloudrobo resource list-pools(返回 resources + page_info)
  2. 筛选资源池 — cloudrobo resource list-pools --resource-type MODELARTS --resource-sub-type STANDARD
  3. 查看资源池详情 — cloudrobo resource show-pool --pool-id <id>(返回节点信息、状态和配置)

CLI 命令格式标准 CLI命令格式标准

cloudrobo resource <command> [OPTIONS]
特性说明示例
命令组resourcecloudrobo resource
子命令kebab-caselist-quotas、list-pools、show-pool
输出格式JSON 输出到 stdoutout(result)
逗号分隔列表--usages TRAINING,INFERENCE--usages TRAINING,INFERENCE
枚举参数使用 click.Choice 验证`--resource-type CCE
分页--limit 1-50 / --offset N--limit 20 --offset 0

核心命令 核心命令

配额查询 配额查询
列出配额
cloudrobo resource list-quotas [--workspace-id <id>] [--resource-id <id>] [--resource-type CCE|MODELARTS] [--resource-sub-type CPU|GPU|STANDARD|LITE] [--pool-type DEDICATED|SHARED] [--limit <n>] [--offset <n>] [--order ASC|DESC]
  • SDK: client.list_quotas(**params)
  • API: GET /v1/resources/quotas

返回:domain_quotas(Domain 级聚合,包含 total_spec、used_spec、 available_spec)、quotas(工作空间级列表,包含 quota_id、resource_name、specs、 nodes)和 page_info。CCE 类型配额的 npu=0;ModelArts 类型配额的 cpu/memory/gpu=0。

资源池查询 资源池查询
列出资源池
cloudrobo resource list-pools [--resource-type CCE|MODELARTS] [--resource-sub-type CPU|GPU|STANDARD|LITE] [--pool-type DEDICATED|SHARED] [--usages TRAINING,INFERENCE] [--limit <n>] [--offset <n>] [--order ASC|DESC]
  • SDK: client.list_pools(**params)
  • API: GET /v1/resources/pools

返回:resources(由 ResourceVo 组成的列表,包含 resource_id、resource_name、resource_type、 resource_sub_type、nodes、config、status、description、usages、pool_type、create_at)和 page_info。传入 resource_id 可调用 show-pool --pool-id。

显示资源池详情
cloudrobo resource show-pool --pool-id <uuid>
  • SDK: client.show_pool(pool_id)
  • API: GET /v1/resources/pools/{pool_id}

--pool-id 使用 list-pools 返回的资源池 resource_id,原样传入即可(无需去除前缀)。

返回:完整的 ResourceVo,包括 nodes(名称、状态、资源、可用资源、标签)、config、status(AVAILABLE/UNAVAILABLE)。

参考文档 参考文档

边界情况 边界情况

场景处理方式
缺少 workspace_id配额列表会返回所有域配额;使用 --workspace-id 按工作空间筛选
ABAC 权限被拒绝(403)配额列表和资源池列表需要 ABAC;资源池详情不需要 ABAC
分页超出范围(400)limit 必须为 1-50;offset 必须 ≥ 0;服务端会验证并返回 400
未找到资源池(404)使用无效 pool_id 执行 show-pool 会返回 404;请先通过 list-pools 验证
未设置 AK/SK操作会在 HTTP 签名步骤失败;请设置 HUAWEI_CLOUD_AK/HUAWEI_CLOUD_SK
API 路径源自 SDK 源代码(client.py 中的 _url() 调用),并非推断所得
配额计算隔离CCE:仅统计 cpu/memory/gpu(npu=0);ModelArts:仅统计 npu(cpu/memory/gpu=0)

验证方法 验证方法

规范合规验证 规范合规验证
bash scripts/test-cli-commands.sh -s . -e cli
功能测试 功能测试
# CLI / SDK
bash scripts/test-cli-commands.sh -s . -e {cli|sdk}
测试用例 测试用例

完整的测试用例列表见 templates/test-vars.json,其中涵盖配额查询和资源池查询场景。

验证清单 验证清单
  • 验证 list-quotas 返回的 domain_quotas 中,CCE 的 npu=0,ModelArts 的 cpu/memory/gpu=0
  • 验证 list-quotas 支持通过 --workspace-id 和 --resource-type 筛选
  • 验证 list-pools 返回包含 page_info 的 resources
  • 验证 show-pool 返回节点级详情,包括 labels
  • 验证 list-quotas 和 list-pools 支持分页(--limit、--offset)

最佳实践 最佳实践

  • 启动工作负载前运行 list-quotas,验证可用容量
  • 使用 --resource-type 筛选器,验证 CCE/ModelArts 配额隔离
  • 使用带 --usages 筛选器的 list-pools,查找适用于特定工作负载的资源池
  • 分配资源前运行 show-pool,检查节点级详情
  • 查看 domain_quotas[].available_spec,了解域级容量概览
  • 使用分页(--limit、--offset)高效管理大型结果集

评论

支持 Markdown