Set deterministic node names in AWS scalability tests for consistent perf-dash metrics
- Dominant language
- Go
- Stars
- 16.7k
- Forks
- 4.7k
- Avg merge
- 17h 21m
- Merged PRs (30d)
- 68
Description
## Context
Related to: https://github.com/kubernetes/test-infra/issues/36508
In kops scalability tests, GCE nodes get well-defined names that include zone info (e.g., `nodes-us-east1-b-jlvv`), making per-node metrics in perf-dash trackable over time. AWS nodes default to EC2 private DNS names (e.g., `ip-10-0-1-123.us-east-2.compute.internal`), which change every run and break metric trend tracking.
### GCE (works well)
- Node names: `nodes-us-east1-b-jlvv`, `control-plane-us-east1-b-smv6`
- perf-dash can compare per-node metrics across days ✅
### AWS (broken)
- Node names: `ip-10-0-1-123.us-east-2.compute.internal` or `i-094de2c600c60d0bb`
- perf-dash metric labels change every run, no trends possible ❌
## Proposed Fix
Add a kops hook in `tests/e2e/scenarios/scalability/run-test.sh` that sets a deterministic, zone-based hostname on AWS nodes before the kubelet starts. The hostname pattern would be `nodes--` (e.g., `nodes-us-east-2a-c60d0bb`), matching the GCE naming convention.
## Impact
This would allow AWS scalability test metrics to have consistent node name labels in perf-dash, enabling day-over-day trend comparison just like GCE tests.
/kind bug
/sig scalability
Contributor guide
Assessment
This issue has not been assessed yet.