Skip to content

Commit fe688a8

Browse files
committed
Adding logging to framework methodes
1 parent 2649f89 commit fe688a8

15 files changed

+643
-85
lines changed

tests/framework/generate_manifests.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"io"
88
"text/template"
99

10+
. "github.com/onsi/ginkgo/v2"
1011
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
1112
"k8s.io/apimachinery/pkg/util/yaml"
1213
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -183,8 +184,11 @@ func GenerateScaleListenerObjects(numListeners int, tls bool) (ScaleObjects, err
183184

184185
backends = append(backends, backendName)
185186

187+
GinkgoWriter.Printf("Generating manifests for listeners %v and route %v\n", listeners, r)
186188
objects, err := generateManifests(listeners, []route{r})
187189
if err != nil {
190+
GinkgoWriter.Printf("Error generating manifests: %v\n", err)
191+
188192
return ScaleObjects{}, err
189193
}
190194

@@ -209,6 +213,7 @@ func GenerateScaleListenerObjects(numListeners int, tls bool) (ScaleObjects, err
209213
}
210214

211215
func generateSecrets(secrets []string) ([]client.Object, error) {
216+
GinkgoWriter.Printf("Generating secrets\n")
212217
objects := make([]client.Object, 0, len(secrets))
213218

214219
for _, secret := range secrets {
@@ -225,6 +230,7 @@ func generateSecrets(secrets []string) ([]client.Object, error) {
225230

226231
objects = append(objects, objs...)
227232
}
233+
GinkgoWriter.Printf("Generated %d secrets\n", len(objects))
228234

229235
return objects, nil
230236
}

tests/framework/ngf.go

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,27 +41,35 @@ type InstallationConfig struct {
4141
// InstallGatewayAPI installs the specified version of the Gateway API resources.
4242
func InstallGatewayAPI(apiVersion string) ([]byte, error) {
4343
apiPath := fmt.Sprintf("%s/v%s/standard-install.yaml", gwInstallBasePath, apiVersion)
44+
GinkgoWriter.Printf("Installing Gateway API version %q at API path %q\n", apiVersion, apiPath)
4445

4546
cmd := exec.CommandContext(
4647
context.Background(),
4748
"kubectl", "apply", "-f", apiPath,
4849
)
4950
output, err := cmd.CombinedOutput()
5051
if err != nil {
52+
GinkgoWriter.Printf("Error installing Gateway API version %q: %v\n", apiVersion, err)
53+
5154
return output, err
5255
}
56+
GinkgoWriter.Printf("Successfully installed Gateway API version %q\n", apiVersion)
5357

5458
return nil, nil
5559
}
5660

5761
// UninstallGatewayAPI uninstalls the specified version of the Gateway API resources.
5862
func UninstallGatewayAPI(apiVersion string) ([]byte, error) {
5963
apiPath := fmt.Sprintf("%s/v%s/standard-install.yaml", gwInstallBasePath, apiVersion)
64+
GinkgoWriter.Printf("Uninstalling Gateway API version %q at API path %q\n", apiVersion, apiPath)
6065

6166
output, err := exec.CommandContext(context.Background(), "kubectl", "delete", "-f", apiPath).CombinedOutput()
6267
if err != nil && !strings.Contains(string(output), "not found") {
68+
GinkgoWriter.Printf("Error uninstalling Gateway API version %q: %v\n", apiVersion, err)
69+
6370
return output, err
6471
}
72+
GinkgoWriter.Printf("Successfully uninstalled Gateway API version %q\n", apiVersion)
6573

6674
return nil, nil
6775
}
@@ -94,9 +102,14 @@ func InstallNGF(cfg InstallationConfig, extraArgs ...string) ([]byte, error) {
94102

95103
// CreateLicenseSecret creates the NGINX Plus JWT secret.
96104
func CreateLicenseSecret(k8sClient client.Client, namespace, filename string) error {
105+
GinkgoWriter.Printf("Creating NGINX Plus license secret in namespace %q from file %q\n", namespace, filename)
106+
97107
conf, err := os.ReadFile(filename)
98108
if err != nil {
99-
return fmt.Errorf("error reading file %q: %w", filename, err)
109+
readFileErr := fmt.Errorf("error reading file %q: %w", filename, err)
110+
GinkgoWriter.Printf("ERROR: %v\n", readFileErr)
111+
112+
return readFileErr
100113
}
101114

102115
ctx, cancel := context.WithTimeout(context.Background(), DefaultTimeoutConfig().CreateTimeout)
@@ -109,7 +122,10 @@ func CreateLicenseSecret(k8sClient client.Client, namespace, filename string) er
109122
}
110123

111124
if err := k8sClient.Create(ctx, ns); err != nil && !apierrors.IsAlreadyExists(err) {
112-
return fmt.Errorf("error creating namespace: %w", err)
125+
createNSErr := fmt.Errorf("error creating namespace: %w", err)
126+
GinkgoWriter.Printf("ERROR: %v\n", createNSErr)
127+
128+
return createNSErr
113129
}
114130

115131
secret := &core.Secret{
@@ -123,7 +139,10 @@ func CreateLicenseSecret(k8sClient client.Client, namespace, filename string) er
123139
}
124140

125141
if err := k8sClient.Create(ctx, secret); err != nil && !apierrors.IsAlreadyExists(err) {
126-
return fmt.Errorf("error creating secret: %w", err)
142+
createSecretErr := fmt.Errorf("error creating secret: %w", err)
143+
GinkgoWriter.Printf("ERROR: %v\n", createSecretErr)
144+
145+
return createSecretErr
127146
}
128147

129148
return nil
@@ -170,6 +189,7 @@ func UninstallNGF(cfg InstallationConfig, k8sClient client.Client) ([]byte, erro
170189
args := []string{
171190
"uninstall", cfg.ReleaseName, "--namespace", cfg.Namespace,
172191
}
192+
GinkgoWriter.Printf("Uninstalling NGF with command: helm %v\n", strings.Join(args, " "))
173193

174194
output, err := exec.CommandContext(context.Background(), "helm", args...).CombinedOutput()
175195
if err != nil && !strings.Contains(string(output), "release: not found") {
@@ -204,6 +224,7 @@ func UninstallNGF(cfg InstallationConfig, k8sClient client.Client) ([]byte, erro
204224
func setTelemetryArgs(cfg InstallationConfig) []string {
205225
var args []string
206226

227+
GinkgoWriter.Printf("Setting telemetry to %v\n", cfg.Telemetry)
207228
if cfg.Telemetry {
208229
args = append(args, formatValueSet("nginxGateway.productTelemetry.enable", "true")...)
209230
} else {

tests/framework/portforward.go

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"sync"
1212
"time"
1313

14+
. "github.com/onsi/ginkgo/v2"
1415
"k8s.io/client-go/rest"
1516
"k8s.io/client-go/tools/portforward"
1617
"k8s.io/client-go/transport/spdy"
@@ -20,12 +21,18 @@ import (
2021
func PortForward(config *rest.Config, namespace, podName string, ports []string, stopCh <-chan struct{}) error {
2122
roundTripper, upgrader, err := spdy.RoundTripperFor(config)
2223
if err != nil {
23-
return fmt.Errorf("error creating roundtripper: %w", err)
24+
roundTripperErr := fmt.Errorf("error creating roundtripper: %w", err)
25+
GinkgoWriter.Printf("ERROR: %v\n", roundTripperErr)
26+
27+
return roundTripperErr
2428
}
2529

2630
serverURL, err := url.Parse(config.Host)
2731
if err != nil {
28-
return fmt.Errorf("error parsing rest config host: %w", err)
32+
parseConfigErr := fmt.Errorf("error parsing rest config host: %w", err)
33+
GinkgoWriter.Printf("ERROR: %v\n", parseConfigErr)
34+
35+
return parseConfigErr
2936
}
3037

3138
serverURL.Path = path.Join(
@@ -35,14 +42,24 @@ func PortForward(config *rest.Config, namespace, podName string, ports []string,
3542
"portforward",
3643
)
3744

45+
GinkgoWriter.Printf("Creating new dialer for serverURL: %q\n", serverURL)
3846
dialer := spdy.NewDialer(upgrader, &http.Client{Transport: roundTripper}, http.MethodPost, serverURL)
3947

4048
forward := func() error {
4149
readyCh := make(chan struct{}, 1)
4250

51+
GinkgoWriter.Printf(
52+
"Starting port-forward to pod %q in namespace %q for ports %v\n",
53+
podName,
54+
namespace,
55+
ports,
56+
)
4357
forwarder, err := portforward.New(dialer, ports, stopCh, readyCh, newSafeBuffer(), newSafeBuffer())
4458
if err != nil {
45-
return fmt.Errorf("error creating port forwarder: %w", err)
59+
createPortForwardErr := fmt.Errorf("error creating port forwarder: %w", err)
60+
GinkgoWriter.Printf("ERROR: %v\n", createPortForwardErr)
61+
62+
return createPortForwardErr
4663
}
4764

4865
return forwarder.ForwardPorts()

tests/framework/prometheus.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@ func CreateEndTimeFinder(
458458
// CreateResponseChecker returns a function that checks if there is a successful response from a url.
459459
func CreateResponseChecker(url, address string, requestTimeout time.Duration) func() error {
460460
return func() error {
461-
status, _, err := Get(url, address, requestTimeout, nil, nil)
461+
status, _, err := Get(url, address, requestTimeout, nil, nil, true)
462462
if err != nil {
463463
return fmt.Errorf("bad response: %w", err)
464464
}

tests/framework/request.go

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111
"net/http"
1212
"strings"
1313
"time"
14+
15+
. "github.com/onsi/ginkgo/v2"
1416
)
1517

1618
// Get sends a GET request to the specified url.
@@ -20,18 +22,30 @@ func Get(
2022
url, address string,
2123
timeout time.Duration,
2224
headers, queryParams map[string]string,
25+
logging bool,
2326
) (int, string, error) {
24-
resp, err := makeRequest(http.MethodGet, url, address, nil, timeout, headers, queryParams)
27+
resp, err := makeRequest(http.MethodGet, url, address, nil, timeout, headers, queryParams, logging)
2528
if err != nil {
29+
if logging {
30+
GinkgoWriter.Printf(
31+
"ERROR occurred during getting response, error: %s\nReturning status: 0, body: ''\n",
32+
err,
33+
)
34+
}
35+
2636
return 0, "", err
2737
}
2838
defer resp.Body.Close()
2939

3040
body := new(bytes.Buffer)
3141
_, err = body.ReadFrom(resp.Body)
3242
if err != nil {
43+
GinkgoWriter.Printf("ERROR in Body content: %v returning body: ''\n", err)
3344
return resp.StatusCode, "", err
3445
}
46+
if logging {
47+
GinkgoWriter.Printf("Successfully received response and parsed body: %s\n", body.String())
48+
}
3549

3650
return resp.StatusCode, body.String(), nil
3751
}
@@ -44,14 +58,20 @@ func Post(
4458
timeout time.Duration,
4559
headers, queryParams map[string]string,
4660
) (*http.Response, error) {
47-
return makeRequest(http.MethodPost, url, address, body, timeout, headers, queryParams)
61+
response, err := makeRequest(http.MethodPost, url, address, body, timeout, headers, queryParams, true)
62+
if err != nil {
63+
GinkgoWriter.Printf("ERROR occurred during getting response, error: %s\n", err)
64+
}
65+
66+
return response, err
4867
}
4968

5069
func makeRequest(
5170
method, url, address string,
5271
body io.Reader,
5372
timeout time.Duration,
5473
headers, queryParams map[string]string,
74+
logging bool,
5575
) (*http.Response, error) {
5676
dialer := &net.Dialer{}
5777

@@ -74,6 +94,18 @@ func makeRequest(
7494
ctx, cancel := context.WithTimeout(context.Background(), timeout)
7595
defer cancel()
7696

97+
if logging {
98+
requestDetails := fmt.Sprintf(
99+
"Method: %s, URL: %s, Address: %s, Headers: %v, QueryParams: %v\n",
100+
strings.ToUpper(method),
101+
url,
102+
address,
103+
headers,
104+
queryParams,
105+
)
106+
GinkgoWriter.Printf("Sending request: %s", requestDetails)
107+
}
108+
77109
req, err := http.NewRequestWithContext(ctx, method, url, body)
78110
if err != nil {
79111
return nil, err

0 commit comments

Comments
 (0)