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 のコンピュートクォータとリソースプールを照会する読み取り専用スキルです。Domain とワークスペース単位のクォータ、プールの絞り込み、ノード詳細を確認できます。

主な機能

  1. 01Domain とワークスペースのクォータ照会
  2. 02CCE と ModelArts のクォータ分離表示
  3. 03属性によるリソースプールの絞り込み
  4. 04プールのノードと状態の確認
  5. 05照会結果のページネーション

活用シーン

  1. 01ワークロード開始前の空き容量確認
  2. 02CCE と 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 で実行するには:

  • \ による行継続を1行にまとめるか、各行の末尾にバッククォートを付けます。
  • export NAME="value" の代わりに $env:NAME="value" で環境変数を設定します。
  • シングルクォートで囲んだ JSON '{"a":"b"}' はそのまま使用できます。

概要

cloudrobo-resource スキルは、CloudRobo のコンピューティングリソースを照会する機能を提供します。 中心となる機能は、リソースクォータの照会(ドメインレベルでの集計、および CCE/ModelArts の分離)と、 リソースプールの照会(複数条件でのフィルタリングを使用した一覧表示、ノードレベルの詳細を含む表示)の2つです。このスキルは読み取り専用であり、書き込み操作は含まれません。

対象となるシナリオ:

  • クォータの照会 — ワークスペースレベルおよびドメインレベルのリソースクォータを確認します。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 バックエンドを対象とします。リソース操作は ドメインレベルで行われます。クォータ一覧とプール一覧には 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 コマンド形式の標準

cloudrobo resource <command> [OPTIONS]
機能説明例
コマンドグループresourcecloudrobo resource
サブコマンドkebab-caselist-quotas、list-pools、show-pool
出力形式標準出力に JSON を出力out(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(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(resource_id、resource_name、resource_type、 resource_sub_type、nodes、config、status、description、usages、pool_type、create_at を含む ResourceVo のリスト)、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 をそのまま指定します。加工する必要はありません(プレフィックスを取り除く必要はありません)。

返される内容:nodes(名前、ステータス、リソース、利用可能なリソース、ラベル)、config、status(AVAILABLE/UNAVAILABLE)を含む完全な ResourceVo

参考ドキュメント 参考文档

エッジケース 境界情况

シナリオ対応
workspace_id がないクォータ一覧にはすべてのドメインのクォータが返されます。ワークスペースで絞り込むには --workspace-id を使用します
ABAC 権限が拒否された(403)クォータ一覧とプール一覧には 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 が、CCE の npu=0 と ModelArts の cpu/memory/gpu=0 を含む domain_quotas を返すことを確認します
  • 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 レベルの容量の概要は domain_quotas[].available_spec で確認します
  • ページネーション(--limit、--offset)を使用して、大きな結果セットを効率的に処理します

コメント