@@ -40,8 +40,7 @@ const (
40
40
)
41
41
42
42
var (
43
- initialScaleToZeroThreshold string
44
- initialScaleToZeroGracePeriod string
43
+ scaleToZeroThreshold time.Duration
45
44
)
46
45
47
46
func isDeploymentScaledUp () func (d * v1beta1.Deployment ) (bool , error ) {
@@ -118,45 +117,22 @@ func generateTraffic(clients *test.Clients, logger *logging.BaseLogger, concurre
118
117
return nil
119
118
}
120
119
121
- func getAutoscalerConfigMap (clients * test.Clients ) (* v1.ConfigMap , error ) {
122
- return test .GetConfigMap (clients .KubeClient ).Get ("config-autoscaler" , metav1.GetOptions {})
123
- }
124
-
125
- func setScaleToZeroThreshold (clients * test.Clients , threshold string , gracePeriod string ) error {
126
- configMap , err := getAutoscalerConfigMap (clients )
127
- if err != nil {
128
- return err
129
- }
130
- configMap .Data ["scale-to-zero-threshold" ] = threshold
131
- configMap .Data ["scale-to-zero-grace-period" ] = gracePeriod
132
- _ , err = test .GetConfigMap (clients .KubeClient ).Update (configMap )
133
- return err
134
- }
135
-
136
120
func setup (t * testing.T , logger * logging.BaseLogger ) * test.Clients {
137
121
clients := Setup (t )
138
122
139
- configMap , err := getAutoscalerConfigMap (clients )
123
+ configMap , err := test . GetConfigMap (clients . KubeClient ). Get ( "config-autoscaler" , metav1. GetOptions {} )
140
124
if err != nil {
141
- logger .Infof ("Unable to retrieve the autoscale configMap. Assuming a ScaleToZero value of '5m'. %v" , err )
142
- initialScaleToZeroThreshold = "5m"
143
- initialScaleToZeroGracePeriod = "2m"
144
- } else {
145
- initialScaleToZeroThreshold = configMap .Data ["scale-to-zero-threshold" ]
146
- initialScaleToZeroGracePeriod = configMap .Data ["scale-to-zero-grace-period" ]
125
+ t .Fatalf ("Unable to get autoscaler config map: %v" , err )
147
126
}
148
-
149
- err = setScaleToZeroThreshold (clients , "1m" , "30s" )
127
+ scaleToZeroThreshold , err = time .ParseDuration (configMap .Data ["scale-to-zero-threshold" ])
150
128
if err != nil {
151
- t .Fatalf (`Unable to set ScaleToZeroThreshold to '1m'. This will
152
- cause the test to time out. Failing fast instead. %v` , err )
129
+ t .Fatalf ("Unable to parse scale-to-zero-threshold as duration: %v" , err )
153
130
}
154
131
155
132
return clients
156
133
}
157
134
158
135
func tearDown (clients * test.Clients , names test.ResourceNames , logger * logging.BaseLogger ) {
159
- setScaleToZeroThreshold (clients , initialScaleToZeroThreshold , initialScaleToZeroGracePeriod )
160
136
TearDown (clients , names , logger )
161
137
}
162
138
@@ -232,7 +208,8 @@ func TestAutoscaleUpDownUp(t *testing.T) {
232
208
clients .KubeClient ,
233
209
deploymentName ,
234
210
isDeploymentScaledUp (),
235
- "DeploymentIsScaledUp" )
211
+ "DeploymentIsScaledUp" ,
212
+ 2 * time .Minute )
236
213
if err != nil {
237
214
logger .Fatalf (`Unable to observe the Deployment named %s scaling
238
215
up. %s` , deploymentName , err )
@@ -241,15 +218,13 @@ func TestAutoscaleUpDownUp(t *testing.T) {
241
218
logger .Infof (`The autoscaler successfully scales down when devoid of
242
219
traffic.` )
243
220
244
- logger .Infof (`Manually setting ScaleToZeroThreshold to '1m' to facilitate
245
- faster testing.` )
246
-
247
221
logger .Infof ("Waiting for scale to zero" )
248
222
err = test .WaitForDeploymentState (
249
223
clients .KubeClient ,
250
224
deploymentName ,
251
225
isDeploymentScaledToZero (),
252
- "DeploymentScaledToZero" )
226
+ "DeploymentScaledToZero" ,
227
+ scaleToZeroThreshold + 2 * time .Minute )
253
228
if err != nil {
254
229
logger .Fatalf (`Unable to observe the Deployment named %s scaling
255
230
down. %s` , deploymentName , err )
@@ -283,7 +258,8 @@ func TestAutoscaleUpDownUp(t *testing.T) {
283
258
clients .KubeClient ,
284
259
deploymentName ,
285
260
isDeploymentScaledUp (),
286
- "DeploymentScaledUp" )
261
+ "DeploymentScaledUp" ,
262
+ 2 * time .Minute )
287
263
if err != nil {
288
264
logger .Fatalf (`Unable to observe the Deployment named %s scaling
289
265
up. %s` , deploymentName , err )
0 commit comments