kubernetes / kubernetes/perf-tests

Refactor wait_for_{pods, pvcs, pvc} and {pods, pvcs, pvs} files

Open
#734 4 comments 0 reactions 0 assignees View on GitHub
area/clusterloader lifecycle/frozen
Dominant language
Go
Stars
989
Forks
654
Avg merge
3d 12h
Merged PRs (30d)
56

Description

We're accumulating a lot of code duplication for different types:
- pods:
https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/pkg/measurement/util/pods.go
https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/pkg/measurement/common/wait_for_pods.go
- pvcs
https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/pkg/measurement/util/pvcs.go
https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/pkg/measurement/common/wait_for_pvcs.go
- pvs
https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/pkg/measurement/util/pvs.go
https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/pkg/measurement/common/wait_for_pvs.go

Those should be refactor to share as much code as possible

Contributor guide

Open the contributing guide

Research direction

Start by comparing the duplicated implementations in clusterloader2/pkg/measurement/util/pods.go, pvcs.go, and pvs.go with the corresponding common/wait_for_pods.go, wait_for_pvcs.go, and wait_for_pvs.go files. Identify the shared behavior and verify that the pod, PVC, and PV wait paths remain covered after consolidation. Done means the duplicated code is substantially shared without changing these measurement behaviors.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
testing
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.