docs: default RuntimeClass needs the resource admission labels

未關閉 適合新手
#5,567 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
1/5
預估耗時
1-3 小時
新手友好度
78/100
Issue 類型
文件
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
docker, helm, kubernetes, rust
領域
documentation

研究方向

從 Helm chart values 檔案中 server.defaultRuntimeClassName 的註解,以及閘道設定文件中關於資源準入(admission)的章節開始。根據 issue 反映,這兩處都沒有提到標籤要求。在 Kubernetes 驅動程式的程式碼中確認預設 RuntimeClass 在何處與準入標籤進行比對,並注意 supervisor_runtime_class_name 未被檢查。當兩處文件都說明了標籤要求與豁免情況,且措辭與重現步驟一致時,即為完成。

由索引模型根據 Issue 內容生成。

描述

state:triage-needed
User Story

I use OpenShell's Kubernetes driver and I am running its sandboxes under Kata Containers for VM-level isolation. I directly hit this while setting default_runtime_class_name to a Kata RuntimeClass on a test cluster. This affects anyone who sets a default RuntimeClass for all sandboxes.

Problem Statement

With server.defaultRuntimeClassName (default_runtime_class_name) set to the name of a RuntimeClass that has no labels, every openshell sandbox create fails with external resource not admitted by required labels. The docs for defaultRuntimeClassName and the resource admission section on the gateway configuration page do not say that the default RuntimeClass has to carry the admission label. The admission section only describes resources that a caller selects. supervisor_runtime_class_name is not subject to the same check, which is also not documented.

Impact / Why This Matters

Operators who configure a default RuntimeClass get a failing sandbox create and nothing in the chart values or the configuration docs points at the cause. The workaround is to find the label requirement in the admission section and label the RuntimeClass (openshell.ai/sandbox-attachable=true by default). Until then no sandbox can be created on that gateway.

Acceptance Criteria
  • The documentation next to defaultRuntimeClassName / default_runtime_class_name states that the RuntimeClass needs the resource admission labels.
  • The resource admission section states that the check covers the default RuntimeClass and that supervisor_runtime_class_name is not checked.
Reproduction Steps
  1. Create a RuntimeClass with no labels, for example one named my-runtime whose handler exists on the nodes.
  2. Install the chart with server.defaultRuntimeClassName=my-runtime.
  3. Run openshell sandbox create --name t1 --no-tty -- true.
  4. The command fails with RuntimeClass 'my-runtime': external resource not admitted by required labels.
  5. Run kubectl label runtimeclass my-runtime openshell.ai/sandbox-attachable=true and repeat step 3. It succeeds.
Suggested UX (if applicable)

Documentation only. No behavior change is requested.

Environment
  • OpenShell: gateway 0.1.9-dev.30+g2e5589b21 (built from main at 2e5589b21), Kubernetes driver, Helm chart from the same commit
  • OS: Fedora, kind v1.36 test cluster
  • Runtime: Kata Containers 4.3.1 (QEMU), RuntimeClass handler kata-qemu
  • The check was run with an AI coding agent (opencode) under my direction. I have not hit this in production.
Logs
Error:   × code: 'The system is not in a state required for the operation's
  │ execution', message: "RuntimeClass 'kata-qemu-unl': external resource not
  │ admitted by required labels"
主要語言
Rust
星號
21.5k
分支
2.1k
平均合併
2 天 21 小時
30 天內合併 PR
250

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

NVIDIA/OpenShell 的其他 Issue

查看 NVIDIA/OpenShell 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。