Skip to content

Commit e08e971

Browse files
committed
make NFR test outputs more verbose
1 parent 73be707 commit e08e971

File tree

3 files changed

+250
-191
lines changed

3 files changed

+250
-191
lines changed

tests/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ stop-longevity-test: nfr-test ## Stop the longevity test and collects results
122122
.PHONY: .vm-nfr-test
123123
.vm-nfr-test: ## Runs the NFR tests on the GCP VM (called by `nfr-test`)
124124
CGO_ENABLED=1 go run github.com/onsi/ginkgo/v2/ginkgo --race --randomize-all --randomize-suites --keep-going --fail-on-pending \
125-
--trace -r -v --buildvcs --force-newlines $(GITHUB_OUTPUT) --flake-attempts=2 \
125+
--trace -r -v --buildvcs --force-newlines $(GITHUB_OUTPUT) --flake-attempts=1 --show-node-events --output-interceptor-mode=none \
126126
--label-filter "nfr" $(GINKGO_FLAGS) --timeout 5h ./suite -- --gateway-api-version=$(GW_API_VERSION) \
127127
--gateway-api-prev-version=$(GW_API_PREV_VERSION) --image-tag=$(TAG) --version-under-test=$(NGF_VERSION) \
128128
--ngf-image-repo=$(PREFIX) --nginx-image-repo=$(NGINX_PREFIX) --nginx-plus-image-repo=$(NGINX_PLUS_PREFIX) \

tests/framework/generate_manifests.go

Lines changed: 84 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"errors"
66
"fmt"
77
"io"
8+
"log"
89
"text/template"
910

1011
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
@@ -150,13 +151,17 @@ func decodeObjects(reader io.Reader) ([]client.Object, error) {
150151
}
151152

152153
// GenerateScaleListenerObjects generates objects for a given number of listeners for the scale test.
154+
// Modified to create all services and gateways first, then scale routes.
153155
func GenerateScaleListenerObjects(numListeners int, tls bool) (ScaleObjects, error) {
156+
log.Printf("GenerateScaleListenerObjects: Starting generation for %d listeners, TLS=%v", numListeners, tls)
154157
var result ScaleObjects
155158

156159
listeners := make([]listener, 0)
157160
backends := make([]string, 0)
158161
secrets := make([]string, 0)
162+
routes := make([]route, 0)
159163

164+
// Generate all listeners, backends, and routes
160165
for i := range numListeners {
161166
listenerName := fmt.Sprintf("listener-%d", i)
162167
hostnamePrefix := fmt.Sprintf("%d", i)
@@ -181,39 +186,65 @@ func GenerateScaleListenerObjects(numListeners int, tls bool) (ScaleObjects, err
181186
BackendName: backendName,
182187
}
183188

189+
routes = append(routes, r)
184190
backends = append(backends, backendName)
191+
}
185192

186-
objects, err := generateManifests(listeners, []route{r})
187-
if err != nil {
188-
return ScaleObjects{}, err
189-
}
193+
log.Printf("GenerateScaleListenerObjects: Generated %d listeners, %d backends, %d secrets", len(listeners), len(backends), len(secrets))
190194

191-
result.ScaleIterationGroups = append(result.ScaleIterationGroups, objects)
195+
// Generate gateway with all listeners
196+
log.Printf("GenerateScaleListenerObjects: Generating gateway with %d listeners", len(listeners))
197+
gatewayObjects, err := generateManifests(listeners, []route{})
198+
if err != nil {
199+
return ScaleObjects{}, err
192200
}
201+
log.Printf("GenerateScaleListenerObjects: Generated %d gateway objects", len(gatewayObjects))
193202

203+
// Generate secrets if TLS is enabled
194204
secretObjects, err := generateSecrets(secrets)
195205
if err != nil {
196206
return ScaleObjects{}, err
197207
}
208+
log.Printf("GenerateScaleListenerObjects: Generated %d secret objects", len(secretObjects))
198209

199-
result.BaseObjects = append(result.BaseObjects, secretObjects...)
200-
210+
// Generate backend app objects (services, deployments)
211+
log.Printf("GenerateScaleListenerObjects: Generating backend objects for %d backends", len(backends))
201212
backendObjects, err := generateBackendAppObjects(backends)
202213
if err != nil {
203214
return ScaleObjects{}, err
204215
}
216+
log.Printf("GenerateScaleListenerObjects: Generated %d backend objects", len(backendObjects))
205217

218+
// BaseObjects includes services, secrets, and gateway with all listeners
219+
result.BaseObjects = append(result.BaseObjects, secretObjects...)
206220
result.BaseObjects = append(result.BaseObjects, backendObjects...)
221+
result.BaseObjects = append(result.BaseObjects, gatewayObjects...)
222+
log.Printf("GenerateScaleListenerObjects: BaseObjects contains %d total objects", len(result.BaseObjects))
207223

224+
// Each iteration creates one route
225+
for i := range numListeners {
226+
log.Printf("GenerateScaleListenerObjects: Generating route %d: %s", i, routes[i].Name)
227+
objects, err := generateManifests([]listener{}, []route{routes[i]})
228+
if err != nil {
229+
return ScaleObjects{}, err
230+
}
231+
232+
result.ScaleIterationGroups = append(result.ScaleIterationGroups, objects)
233+
log.Printf("GenerateScaleListenerObjects: Route %d generated %d objects", i, len(objects))
234+
}
235+
236+
log.Printf("GenerateScaleListenerObjects: Completed. BaseObjects: %d, ScaleIterationGroups: %d", len(result.BaseObjects), len(result.ScaleIterationGroups))
208237
return result, nil
209238
}
210239

211240
func generateSecrets(secrets []string) ([]client.Object, error) {
241+
log.Printf("generateSecrets: Generating %d secrets: %v", len(secrets), secrets)
212242
objects := make([]client.Object, 0, len(secrets))
213243

214-
for _, secret := range secrets {
244+
for i, secret := range secrets {
215245
var buf bytes.Buffer
216246

247+
log.Printf("generateSecrets: Executing secret template for secret %d: %s", i, secret)
217248
if err := secretTmpl.Execute(&buf, secret); err != nil {
218249
return nil, err
219250
}
@@ -223,14 +254,18 @@ func generateSecrets(secrets []string) ([]client.Object, error) {
223254
return nil, err
224255
}
225256

257+
log.Printf("generateSecrets: Secret %s generated %d objects", secret, len(objs))
226258
objects = append(objects, objs...)
227259
}
228260

261+
log.Printf("generateSecrets: Total secret objects generated: %d", len(objects))
229262
return objects, nil
230263
}
231264

232265
// GenerateScaleHTTPRouteObjects generates objects for a given number of routes for the scale test.
266+
// Modified to create all services and gateways first, then scale routes.
233267
func GenerateScaleHTTPRouteObjects(numRoutes int) (ScaleObjects, error) {
268+
log.Printf("GenerateScaleHTTPRouteObjects: Starting generation for %d routes", numRoutes)
234269
var result ScaleObjects
235270

236271
l := listener{
@@ -240,6 +275,27 @@ func GenerateScaleHTTPRouteObjects(numRoutes int) (ScaleObjects, error) {
240275

241276
backendName := "backend"
242277

278+
// Generate the Gateway once and add it to BaseObjects
279+
log.Printf("GenerateScaleHTTPRouteObjects: Generating gateway with single listener")
280+
gatewayObjects, err := generateManifests([]listener{l}, []route{})
281+
if err != nil {
282+
return ScaleObjects{}, err
283+
}
284+
log.Printf("GenerateScaleHTTPRouteObjects: Generated %d gateway objects", len(gatewayObjects))
285+
286+
// Generate backend app objects (services, deployments)
287+
log.Printf("GenerateScaleHTTPRouteObjects: Generating backend objects for backend: %s", backendName)
288+
backendObjects, err := generateBackendAppObjects([]string{backendName})
289+
if err != nil {
290+
return ScaleObjects{}, err
291+
}
292+
log.Printf("GenerateScaleHTTPRouteObjects: Generated %d backend objects", len(backendObjects))
293+
294+
// BaseObjects now includes services and gateway
295+
result.BaseObjects = append(backendObjects, gatewayObjects...)
296+
log.Printf("GenerateScaleHTTPRouteObjects: BaseObjects contains %d total objects", len(result.BaseObjects))
297+
298+
// Each iteration only creates one route
243299
for i := range numRoutes {
244300
r := route{
245301
Name: fmt.Sprintf("route-%d", i),
@@ -248,58 +304,59 @@ func GenerateScaleHTTPRouteObjects(numRoutes int) (ScaleObjects, error) {
248304
BackendName: backendName,
249305
}
250306

251-
var listeners []listener
252-
if i == 0 {
253-
// only generate a Gateway on the first iteration
254-
listeners = []listener{l}
255-
}
256-
257-
objects, err := generateManifests(listeners, []route{r})
307+
log.Printf("GenerateScaleHTTPRouteObjects: Generating route %d: %s with hostname %s", i, r.Name, r.HostnamePrefix)
308+
// Generate only the route (no gateway, no listeners)
309+
objects, err := generateManifests([]listener{}, []route{r})
258310
if err != nil {
259311
return ScaleObjects{}, err
260312
}
261313

262314
result.ScaleIterationGroups = append(result.ScaleIterationGroups, objects)
315+
log.Printf("GenerateScaleHTTPRouteObjects: Route %d generated %d objects", i, len(objects))
263316
}
264317

265-
backendObjects, err := generateBackendAppObjects([]string{backendName})
266-
if err != nil {
267-
return ScaleObjects{}, err
268-
}
269-
270-
result.BaseObjects = backendObjects
271-
318+
log.Printf("GenerateScaleHTTPRouteObjects: Completed. BaseObjects: %d, ScaleIterationGroups: %d", len(result.BaseObjects), len(result.ScaleIterationGroups))
272319
return result, nil
273320
}
274321

275322
func generateManifests(listeners []listener, routes []route) ([]client.Object, error) {
323+
log.Printf("generateManifests: Called with %d listeners, %d routes", len(listeners), len(routes))
276324
var buf bytes.Buffer
277325

278326
if len(listeners) > 0 {
327+
log.Printf("generateManifests: Executing gateway template with %d listeners", len(listeners))
279328
if err := gwTmpl.Execute(&buf, listeners); err != nil {
280329
return nil, err
281330
}
282331
}
283332

284-
for _, r := range routes {
333+
for i, r := range routes {
285334
if buf.Len() > 0 {
286335
buf.WriteString("\n---\n")
287336
}
288337

338+
log.Printf("generateManifests: Executing route template for route %d: %s", i, r.Name)
289339
if err := hrTmpl.Execute(&buf, r); err != nil {
290340
return nil, err
291341
}
292342
}
293343

294-
return decodeObjects(&buf)
344+
objects, err := decodeObjects(&buf)
345+
if err != nil {
346+
return nil, err
347+
}
348+
log.Printf("generateManifests: Decoded %d objects from templates", len(objects))
349+
return objects, nil
295350
}
296351

297352
func generateBackendAppObjects(backends []string) ([]client.Object, error) {
353+
log.Printf("generateBackendAppObjects: Generating objects for %d backends: %v", len(backends), backends)
298354
objects := make([]client.Object, 0, 2*len(backends))
299355

300-
for _, backend := range backends {
356+
for i, backend := range backends {
301357
var buf bytes.Buffer
302358

359+
log.Printf("generateBackendAppObjects: Executing app template for backend %d: %s", i, backend)
303360
if err := appTmpl.Execute(&buf, backend); err != nil {
304361
return nil, err
305362
}
@@ -309,8 +366,10 @@ func generateBackendAppObjects(backends []string) ([]client.Object, error) {
309366
return nil, err
310367
}
311368

369+
log.Printf("generateBackendAppObjects: Backend %s generated %d objects", backend, len(objs))
312370
objects = append(objects, objs...)
313371
}
314372

373+
log.Printf("generateBackendAppObjects: Total objects generated: %d", len(objects))
315374
return objects, nil
316375
}

0 commit comments

Comments
 (0)