@@ -1041,13 +1041,8 @@ var _ = Describe("Zero downtime scale test", Ordered, Label("nfr", "zero-downtim
10411041 return fmt .Errorf ("failed to get gateway: %w" , err )
10421042 }
10431043
1044- currentListeners := len (gw .Status .Listeners )
1045- currentGen := gw .Status
1046- specGen := gw .Generation
1047-
1048- if currentListeners != num {
1049- return fmt .Errorf ("gateway listeners: got %d, want %d (observedGen: %v, specGen: %v)" ,
1050- currentListeners , num , currentGen , specGen )
1044+ if len (gw .Status .Listeners ) != num {
1045+ return fmt .Errorf ("gateway listeners not updated to %d entries" , num )
10511046 }
10521047
10531048 return nil
@@ -1058,6 +1053,38 @@ var _ = Describe("Zero downtime scale test", Ordered, Label("nfr", "zero-downtim
10581053 Should (Succeed ())
10591054 }
10601055
1056+ It ("scales up abruptly without downtime" , func () {
1057+ _ , err := fmt .Fprint (outFile , "\n ### Scale Up Abruptly\n " )
1058+ Expect (err ).ToNot (HaveOccurred ())
1059+
1060+ testFileNamePrefix := formatTestFileNamePrefix ("abrupt-scale-up" , test .valuesFile )
1061+
1062+ var wg sync.WaitGroup
1063+ for _ , test := range trafficConfigs {
1064+ wg .Add (1 )
1065+ go func (cfg trafficCfg ) {
1066+ defer GinkgoRecover ()
1067+ defer wg .Done ()
1068+
1069+ sendTraffic (cfg , testFileNamePrefix , 2 * time .Minute )
1070+ }(test )
1071+ }
1072+
1073+ // allow traffic flow to start
1074+ time .Sleep (2 * time .Second )
1075+
1076+ Expect (resourceManager .ScaleNginxDeployment (ngfNamespace , releaseName , int32 (test .numReplicas ))).To (Succeed ())
1077+ Expect (resourceManager .ApplyFromFiles ([]string {"scale/zero-downtime/gateway-2.yaml" }, ns .Name )).To (Succeed ())
1078+ checkGatewayListeners (3 )
1079+
1080+ wg .Wait ()
1081+ close (metricsCh )
1082+
1083+ for res := range metricsCh {
1084+ writeResults (testFileNamePrefix , res )
1085+ }
1086+ })
1087+
10611088 It ("scales down abruptly without downtime" , func () {
10621089 _ , err := fmt .Fprint (outFile , "\n ### Scale Down Abruptly\n " )
10631090 Expect (err ).ToNot (HaveOccurred ())
0 commit comments