Normalize generated group identities - #175
Conversation
Greptile SummaryThe PR makes generated source-group identifiers and machine-label values share one normalized, 30-byte identity while preserving the existing GPU-label representation.
Confidence Score: 4/5The PR should not merge until generated identities are disambiguated when distinct source groups normalize to the same value. Complete NVIDIA segments are still treated as non-identifying, and discovery assigns the resulting value directly to identifiers and machine labels without collision handling, leaving distinct groups vulnerable to conflated filtering and generated outputs; the previously reported truncation-order defect is fixed. Files Needing Attention: pkg/config/config.go and pkg/networkoperatorplugin/discovery/discover.go Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart LR
A[Discovered machineType and gpuType] --> B[Normalize components]
B --> C[Remove NVIDIA segments and apply aliases]
C --> D[Bound identity to 30 bytes]
D --> E[ClusterConfig identifier]
D --> F[Machine node label]
A --> G[Preserved GPU label normalization]
G --> H[GPU node label]
Reviews (3): Last reviewed commit: "fix: normalize generated group identitie..." | Re-trigger Greptile |
0dfd44c to
051df24
Compare
|
Addressed the review findings and the follow-up identity requirements in amended commit
Verified with |
Use one vendor-free 30-character identity for source groups and their machine labels. Balance long machine and GPU prefixes, retain a compact deterministic hash, and preserve the existing GPU label value. Signed-off-by: Alexander Maslennikov <amaslennikov@nvidia.com>
051df24 to
dff988f
Compare
|
Follow-up requirement added in amended commit
Re-verified with |
Summary
nvidia.kubernetes-launch-kit.machinenode labelNVIDIAsegments and cap generated identities at 30 charactersThinkSystemtotsandPowerEdgetopenvidia.kubernetes-launch-kit.gpulabel value and 63-character limitBehavior
DGX-B200+NVIDIA-H200becomesdgx-b200-h200for both the identifier and machine labelThinkSystem-SR675-V3+NVIDIA-RTX-PRO-6000-Blackwell-Server-Editionbecomests-sr675-v3-rtx-pro-600-46c7a9NVIDIA-RTX-PRO-6000-Blackwell-Server-EditionNVIDIAN-H200remainsnvidian-h200; only complete vendor segments are removedTesting
CGO_ENABLED=0 go test ./...CGO_ENABLED=0 make buildCGO_ENABLED=0 go vet ./...git diff --checkLocal limitations
golangci-lintwas not installed locally