Support HTTP boot client identification after metal-operator discovery removal
Maintainer thường phản hồi trong vòng 3 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
- 22/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
- backend, networking
Hướng nghiên cứu
Start with the current HTTP boot client identification path in boot-operator, which the source comment says matches clients by IP, and list where it depends on discovery-derived Server IPs. Then design the lookup against the comma-separated metal.ironcore.dev/ips annotation on Server resources, checking how changes and removals propagate. Done when tests cover a successful match, a missing mapping, an ambiguous mapping and IP change or removal, and an ambiguous or missing lookup fails without serving another Server's configuration. Coordinate the contract with metal-operator PR #1152 and the FeDHCP follow-up first.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Update boot-operator's HTTP boot client identification to support the removal of metal-operator's built-in discovery flow and probe-reported server IPs.
Context and rationale
metal-operator PR #1152 removes metalprobe and Server.status.networkInterfaces. The replacement source for metaldata's IP index is the comma-separated metal.ironcore.dev/ips annotation on Server resources.
The source comment notes that boot-operator currently identifies HTTP boot clients by IP address. This path must remain functional without the removed discovery flow. The IP publication mechanism and boot-operator's client lookup must use a compatible contract.
Required changes
Affected areas: HTTP boot request handling, IP-based client identification, Server lookup or metaldata integration, deployment configuration, tests, and documentation.
- Inspect the current HTTP boot client identification path and identify dependencies on discovery-derived server IPs.
- Define and implement the supported client-to-Server lookup contract after discovery removal. Use the annotation-backed IP source where IP-based identification remains required.
- Coordinate with the FeDHCP follow-up so published in-band IPs can identify the correct Server for HTTP boot.
- Ensure address changes and removals cannot leave a stale client-to-Server mapping.
- Define safe behavior when an IP is missing, invalid, or maps to multiple Servers. Do not serve another Server's boot configuration.
- Document the IP publication prerequisite, deployment changes, and any ordering constraints for an initial HTTP boot.
Acceptance criteria
- An HTTP boot request from a client with a published in-band IP resolves to the correct Server and boot configuration without metalprobe or
Server.status.networkInterfaces. - Changes and removal of published IPs are reflected in client identification.
- Missing or ambiguous mappings fail safely and produce actionable diagnostics.
- Tests cover successful identification, missing mappings, ambiguous mappings, and IP changes or removal.
- Documentation explains how an IP publisher such as FeDHCP supports the HTTP boot flow.
References
- PR: https://github.com/ironcore-dev/metal-operator/pull/1152
- Source comment: https://github.com/ironcore-dev/metal-operator/pull/1152#issuecomment-5867206814
- Requested by: @afritzler
This is follow-up work for the discovery removal in metal-operator PR #1152.
- Ngôn ngữ chính
- Go
- Star
- 6
- Fork
- 9
- Merge trung bình
- 3 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 11
Chuẩn bị môi trường
- Có Dockerfile hoặc 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 ironcore-dev/boot-operator
-
area/metal-automation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
ironcore-dev/boot-operator#308 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
area/metal-automation
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
ironcore-dev/boot-operator#315 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 3 ngày
-
area/metal-automation
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
ironcore-dev/boot-operator#274 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Add optional TFP endpoint to `boot-operator`Có thể làm lại được @damyan đã nhận 339 ngày trước và không có pull request nào đang mở. Đang mởarea/metal-automation
ironcore-dev/boot-operator#231 · 1 reaction · 2 người được giao ·
Maintainer thường phản hồi trong vòng 3 ngày
-
area/metal-automation
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
ironcore-dev/boot-operator#227 ·
Maintainer thường phản hồi trong vòng 3 ngày
Tất cả issue của ironcore-dev/boot-operator
Issue tương tự
-
bug
Độ khó 2/5 Nửa ngày 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
-
kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
kubernetes-sigs/external-dns#6816 ·
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
Maintainer thường phản hồi trong vòng 1 ngày
-
ANSI translator ignores SGR 22/24 (and other attribute-off codes): bold and underline never turn offĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Named Tuple element with a space in its name fails to parseCó thể đã có người làm @spicysharkco đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ClickHouse/clickhouse-go#2073 ·
Maintainer thường phản hồi trong vòng 1 ngày