@@ -58,25 +58,6 @@ var _ = Describe("edit autoscaler", func() {
58
58
Equal ("There is no cluster with identifier or name 'cluster'" ))
59
59
})
60
60
61
- It ("Returns an error if the cluster is not classic cluster" , func () {
62
- cluster := MockCluster (func (c * cmv1.ClusterBuilder ) {
63
- b := cmv1.HypershiftBuilder {}
64
- b .Enabled (true )
65
- c .Hypershift (& b )
66
- })
67
-
68
- t .ApiServer .AppendHandlers (
69
- RespondWithJSON (
70
- http .StatusOK , FormatClusterList ([]* cmv1.Cluster {cluster })))
71
- t .SetCluster ("cluster" , nil )
72
-
73
- runner := EditAutoscalerRunner (& clusterautoscaler.AutoscalerArgs {})
74
- err := runner (context .Background (), t .RosaRuntime , nil , nil )
75
- Expect (err ).To (HaveOccurred ())
76
- Expect (err .Error ()).To (
77
- Equal ("Hosted Control Plane clusters do not support cluster-autoscaler configuration" ))
78
- })
79
-
80
61
It ("Returns an error if the cluster is not ready" , func () {
81
62
cluster := MockCluster (func (c * cmv1.ClusterBuilder ) {
82
63
c .State (cmv1 .ClusterStateInstalling )
@@ -186,5 +167,48 @@ var _ = Describe("edit autoscaler", func() {
186
167
err := runner (context .Background (), t .RosaRuntime , cmd , nil )
187
168
Expect (err ).NotTo (HaveOccurred ())
188
169
})
170
+
171
+ It ("Unsupported flags are blocked when using Hosted CP cluster for autoscaler" , func () {
172
+ cmd := NewEditAutoscalerCommand ()
173
+
174
+ cmd .Flags ().Set ("balance-similar-node-groups" , "true" )
175
+ cmd .Flag ("balance-similar-node-groups" ).Changed = true
176
+
177
+ ok , err := clusterautoscaler .ValidateAutoscalerFlagsForHostedCp ("" , cmd )
178
+ Expect (ok ).To (BeFalse ())
179
+ Expect (err ).To (HaveOccurred ())
180
+ Expect (err .Error ()).To (Equal (fmt .Sprintf (clusterautoscaler .HcpError , "balance-similar-node-groups" ,
181
+ "max-nodes-total" , "max-pod-grace-period" , "max-node-provision-time" ,
182
+ "pod-priority-threshold" )))
183
+
184
+ cmd = NewEditAutoscalerCommand ()
185
+
186
+ cmd .Flags ().Set ("max-cores" , "true" )
187
+ cmd .Flag ("max-cores" ).Changed = true
188
+
189
+ ok , err = clusterautoscaler .ValidateAutoscalerFlagsForHostedCp ("" , cmd )
190
+ Expect (ok ).To (BeFalse ())
191
+ Expect (err ).To (HaveOccurred ())
192
+ Expect (err .Error ()).To (Equal (fmt .Sprintf (clusterautoscaler .HcpError , "max-cores" ,
193
+ "max-nodes-total" , "max-pod-grace-period" , "max-node-provision-time" ,
194
+ "pod-priority-threshold" )))
195
+ })
196
+
197
+ It ("Supported flags work for Hosted CP cluster autoscaler" , func () {
198
+ cmd := NewEditAutoscalerCommand ()
199
+
200
+ cmd .Flags ().Set ("max-nodes-total" , "10" )
201
+ cmd .Flag ("max-nodes-total" ).Changed = true
202
+ cmd .Flags ().Set ("max-pod-grace-period" , "800" )
203
+ cmd .Flag ("max-pod-grace-period" ).Changed = true
204
+ cmd .Flags ().Set ("max-node-provision-time" , "10s" )
205
+ cmd .Flag ("max-node-provision-time" ).Changed = true
206
+ cmd .Flags ().Set ("pod-priority-threshold" , "-8" )
207
+ cmd .Flag ("pod-priority-threshold" ).Changed = true
208
+
209
+ ok , err := clusterautoscaler .ValidateAutoscalerFlagsForHostedCp ("" , cmd )
210
+ Expect (ok ).To (BeTrue ())
211
+ Expect (err ).ToNot (HaveOccurred ())
212
+ })
189
213
})
190
214
})
0 commit comments