Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

nomos status --poll-until: follow-ups after #2242

Đang mở
#2,326 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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ó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go, kubernetes
Lĩnh vực
cli, documentation, testing

Hướng nghiên cứu

Start with the nomos status --poll-until implementation and its pollUntilReached unit tests; the issue also names TestNomosStatusPollUntil and the checkConflict constant as entry points. Work through the correctness and cluster failure cases first, then the UX, tests, and design doc checklist. Done means the listed follow-ups are implemented, covered by tests, and the help text and design doc are updated.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement
Checklist
  • I did not find a related open enhancement request.
  • I understand that enhancement requests filed in the GitHub repository are by default low priority.
  • If this request is time-sensitive, I have submitted a corresponding issue with GCP support.
Describe the feature

Follow-up to #2242 (which fixes #2006). These items were deferred to keep the 1.26 change minimal.

Correctness

  • Treat a RootSync/RepoSync whose status.observedGeneration != metadata.generation as not synced. Right after a spec change, the previous SYNCED status can be reported briefly.
  • current: treat Conflict resources like Failed, using a constant shared with checkConflict.
  • current: when resource status is disabled (spec.override.statusMode: disabled, which annotates the ResourceGroup with configsync.gke.io/status: disabled), fail fast with an error that points to --poll-until=synced. Check resourcegroup.IsStatusDisabled(rg) before the ResourceGroup freshness check below. These ResourceGroups have no resourceStatuses and keep status.observedGeneration at 0, so today current passes as soon as the sync is SYNCED, and the freshness check alone would make it poll forever. (Raised by @Camila-B.)
  • current: skip resource checks while the ResourceGroup's status.observedGeneration != metadata.generation.
  • Check clusters in sorted order and report all failures with errors.Join, instead of returning on the first one.

Clusters that can never complete

  • Fail fast on mono-repo clusters (ErrMonoRepoFound).
  • Fail fast on, or retry, clusters that were unreachable at startup. Their clients are never re-created, and --contexts defaults to all contexts.
  • Decide how to handle clusters without Config Sync installed. Today they keep polling until the external timeout.

UX, tests, docs

  • Don't run clear between polls when stdout isn't a terminal, so CI logs stay clean.
  • Merge the pollUntilReached unit tests into one table-driven test.
  • Extend TestNomosStatusPollUntil to cover a Failed resource.
  • Update the --poll help text: "If neither --poll nor --poll-until is set, the command runs only once."
  • Rename the design doc to "Poll until status is current", and document the status lag right after a push or spec change.
Importance

No response

Ngôn ngữ chính
Go
Star
279
Fork
59
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
12

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của GoogleContainerTools/config-sync

Tất cả issue của GoogleContainerTools/config-sync

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.