docs: default RuntimeClass needs the resource admission labels
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 1/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- docker, helm, kubernetes, rust
- Lĩnh vực
- documentation
Hướng nghiên cứu
Bắt đầu từ chú thích trong file values của Helm chart cho server.defaultRuntimeClassName và phần tài liệu cấu hình gateway về kiểm soát tiếp nhận tài nguyên (admission), vì theo issue, cả hai đều không nói về yêu cầu nhãn. Kiểm tra trong mã của driver Kubernetes xem RuntimeClass mặc định được đối chiếu với các nhãn admission ở đâu, và ghi nhận rằng supervisor_runtime_class_name không được kiểm tra. Hoàn thành khi cả hai vị trí tài liệu đều nêu yêu cầu nhãn và trường hợp ngoại lệ, đồng thời cách diễn đạt khớp với các bước tái hiện.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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"
- Ngôn ngữ chính
- Rust
- Star
- 21.5k
- Fork
- 2.1k
- Merge trung bình
- 2 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 250
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NVIDIA/OpenShell
-
state:triage-needed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug(python): OIDC refresh drops the gateway's oidc_scopesCó thể làm lại được @jyotir07 đã nhận 19 ngày trước và không có pull request nào đang mở. Đang mởstate:triage-needed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
NVIDIA/OpenShell#4919 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug: workspace access hint suggests a --subject command that fails for hyphen-leading OIDC subjectsCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của NVIDIA/OpenShell
Issue tương tự
-
comp-formats
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 64/100
ClickHouse/ClickHouse#131694 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Copperpour/Copperpour#500 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
storytold/photocraft#14822 ·
Maintainer thường phản hồi trong vòng 1 ngày