kubernetes / kubernetes/perf-tests
Refactor wait_for_{pods, pvcs, pvc} and {pods, pvcs, pvs} files
- 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
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