NPD needs an integration test tier that contributors can run locally
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ó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- gcp, go, kubernetes
- Lĩnh vực
- devops, testing-qa
Hướng nghiên cứu
Bắt đầu với entry point hiện có make e2e-test và lần theo các yêu cầu về GCP, image, zone và SSH key của nó. Đọc cách --apiserver-override được xử lý, sau đó lập kế hoạch cho các bài kiểm thử ở cấp độ process bằng các tệp log cố định và một fake apiserver, tiếp theo là coverage bằng KIND cho vòng đời của DaemonSet và các chuyển đổi của NodeCondition. Được xem là hoàn tất khi cả hai tầng đều chạy được cục bộ và assert các event, condition và cleanup đã mô tả.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
We should add a test tier between unit tests and the GCE suite that can be run locally.
NPD currently has two test tiers:
- Unit tests
- GCE e2e tests (Prow)
The e2e suite today only asserts against a local metrics endpoint on a GCE VM; yet, we cannot easily run the same functionality locally. This is because make e2e-test requires a GCP project, a zone, an image, and SSH keys. Not all important behaviors are unit-testable, and having the ability to run e2e tests locally will help author better improvements to NPD.
We should have two additional forms of testing to enable local e2e testing:
| Form | What it covers | Sketch |
|---|---|---|
| Process-level | log parsing through condition/event | run NPD against fixed log files and assert emitted events against a local fake apiserver ( via --apiserver-override) |
| KIND | DaemonSet lifecycle, NodeCondition transitions | run NPD as a DaemonSet in a KIND cluster and inject faults, assert conditions and cleanup on shutdown |
This pattern is the standard in other Kubernetes repositories. Kubernetes has an integration test tier and only merges PRs when unit, integration, and e2e tests all pass (https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/testing.md). Furthermore, cert-manager and cilium run KIND-based e2e locally as well.
Together with #1328, this allows extensive coverage of NPD behavior before reaching a VM.
/sig node
/kind cleanup
- Ngôn ngữ chính
- Go
- Star
- 3.5k
- Fork
- 703
- Merge trung bình
- 1 ngày 49 phút
- Pull request đã merge (30 ngày)
- 23
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không 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 kubernetes/node-problem-detector
-
Flag --enable-k8s-exporter=false causes loss of /healthz, /conditions, and /debug/pprof endpointsCó thể đã có người làm @tobiasgiese đã nhận 91 ngày trước. Đang mởlifecycle/stale
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 56/100
kubernetes/node-problem-detector#1332 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
NPD needs significant unit test coverageCó thể làm lại được @DigitalVeer đã nhận 98 ngày trước và không có pull request nào đang mở. Đang mởkind/cleanup sig/node
kubernetes/node-problem-detector#1328 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/bug lifecycle/stale
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
kubernetes/node-problem-detector#1176 · 8 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/feature lifecycle/frozen
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
kubernetes/node-problem-detector#1112 · 8 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Networking probesĐang mởlifecycle/stale
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 32/100
kubernetes/node-problem-detector#991 · 24 bình luận · 5 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của kubernetes/node-problem-detector
Issue tương tự
-
bug good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
[mesheryctl] design delete fails when passing file or URL as positional argumentCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởcomponent/mesheryctl kind/bug language/go
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
meshery/meshery#22772 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backend security size:S
Độ 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 72/100
limitlessprojects/Go-Hybrid#3342 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
status/ready type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
buildpacks/pack#2733 ·
Maintainer thường phản hồi trong vòng 1 ngày