Fix bug with scheduler throughput variable pass-by-value

This commit is contained in:
Shyam Jeedigunta 2018-05-28 13:23:37 +02:00
parent 9f280b6739
commit 9ea33c604c

View File

@ -227,7 +227,7 @@ func logPodStartupStatus(
expectedPods int, expectedPods int,
observedLabels map[string]string, observedLabels map[string]string,
period time.Duration, period time.Duration,
scheduleThroughputs []float64, scheduleThroughputs *[]float64,
stopCh chan struct{}) { stopCh chan struct{}) {
label := labels.SelectorFromSet(labels.Set(observedLabels)) label := labels.SelectorFromSet(labels.Set(observedLabels))
@ -250,14 +250,14 @@ func logPodStartupStatus(
framework.Logf(startupStatus.String("Density")) framework.Logf(startupStatus.String("Density"))
// Compute scheduling throughput for the latest time period. // Compute scheduling throughput for the latest time period.
throughput := float64(startupStatus.Scheduled-lastScheduledCount) / float64(period/time.Second) throughput := float64(startupStatus.Scheduled-lastScheduledCount) / float64(period/time.Second)
scheduleThroughputs = append(scheduleThroughputs, throughput) *scheduleThroughputs = append(*scheduleThroughputs, throughput)
lastScheduledCount = startupStatus.Scheduled lastScheduledCount = startupStatus.Scheduled
} }
} }
// runDensityTest will perform a density test and return the time it took for // runDensityTest will perform a density test and return the time it took for
// all pods to start // all pods to start
func runDensityTest(dtc DensityTestConfig, testPhaseDurations *timer.TestPhaseTimer, scheduleThroughputs []float64) time.Duration { func runDensityTest(dtc DensityTestConfig, testPhaseDurations *timer.TestPhaseTimer, scheduleThroughputs *[]float64) time.Duration {
defer GinkgoRecover() defer GinkgoRecover()
// Create all secrets, configmaps and daemons. // Create all secrets, configmaps and daemons.
@ -647,7 +647,7 @@ var _ = SIGDescribe("Density", func() {
LogFunc: framework.Logf, LogFunc: framework.Logf,
}) })
} }
e2eStartupTime = runDensityTest(dConfig, testPhaseDurations, scheduleThroughputs) e2eStartupTime = runDensityTest(dConfig, testPhaseDurations, &scheduleThroughputs)
if itArg.runLatencyTest { if itArg.runLatencyTest {
By("Scheduling additional Pods to measure startup latencies") By("Scheduling additional Pods to measure startup latencies")