docs: default RuntimeClass needs the resource admission labels
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 1/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Dokumentation
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- docker, helm, kubernetes, rust
- Bereich
- documentation
Rechercherichtung
Beginne mit dem Kommentar in den Helm-Chart-Values für server.defaultRuntimeClassName und mit dem Abschnitt zur Ressourcenzulassung in der Dokumentation zur Gateway-Konfiguration. Laut Issue fehlt in beiden Stellen der Hinweis auf die Label-Anforderung. Prüfe im Code des Kubernetes-Treibers, wo die Default-RuntimeClass gegen die Admission-Labels geprüft wird, und notiere, dass supervisor_runtime_class_name nicht geprüft wird. Fertig ist es, wenn beide Dokumentationsstellen die Label-Anforderung und die Ausnahme benennen und der Wortlaut zu den Reproduktionsschritten passt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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_namestates 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_nameis not checked.
Reproduction Steps
- Create a RuntimeClass with no labels, for example one named
my-runtimewhose handler exists on the nodes. - Install the chart with
server.defaultRuntimeClassName=my-runtime. - Run
openshell sandbox create --name t1 --no-tty -- true. - The command fails with
RuntimeClass 'my-runtime': external resource not admitted by required labels. - Run
kubectl label runtimeclass my-runtime openshell.ai/sandbox-attachable=trueand 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"
- Vorherrschende Sprache
- Rust
- Sterne
- 21.5k
- Forks
- 2.1k
- Ø Merge
- 2 T. 21 Std.
- Gemergte PRs (30 T.)
- 250
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus NVIDIA/OpenShell
-
state:triage-needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug(python): OIDC refresh drops the gateway's oidc_scopesEvtl. wieder frei @jyotir07 hat das vor 19 Tagen übernommen, und es ist kein Pull Request offen. Offenstate:triage-needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
NVIDIA/OpenShell#4919 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug: workspace access hint suggests a --subject command that fails for hyphen-leading OIDC subjectsEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in NVIDIA/OpenShell
Ähnliche Issues
-
comp-formats
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 64/100
ClickHouse/ClickHouse#131694 ·
Maintainer antworten meist innerhalb von 1 Tag
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Copperpour/Copperpour#500 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
storytold/photocraft#14822 ·
Maintainer antworten meist innerhalb von 1 Tag