Skip to content

Set deterministic node names in AWS scalability tests for consistent perf-dash metrics #18394

Description

@wasimat404

Context

Related to: kubernetes/test-infra#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-<az>-<short-instance-id> (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

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.sig/scalabilityCategorizes an issue or PR as relevant to SIG Scalability.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions