diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d390ca2c42..1292261572 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -180,7 +180,7 @@ jobs: AZURE_STORAGE_KEY: ${{ secrets.AZURE_STORAGE_KEY }} AZURE_BUCKET_NAME: ${{ secrets.AZURE_BUCKET_NAME }} SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_COMMUNITY }} - TELEMETRY_ENDPOINT: oss.edge.df.f5.com:443 + TELEMETRY_ENDPOINT: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/heads/release-') && 'oss-dev.edge.df.f5.com:443' || 'oss.edge.df.f5.com:443' }} TELEMETRY_ENDPOINT_INSECURE: "false" - name: Cache Artifacts diff --git a/tests/framework/ngf.go b/tests/framework/ngf.go index 6c3008d882..f19ea751b7 100644 --- a/tests/framework/ngf.go +++ b/tests/framework/ngf.go @@ -35,6 +35,7 @@ type InstallationConfig struct { ServiceType string IsGKEInternalLB bool Plus bool + Telemetry bool } // InstallGatewayAPI installs the specified version of the Gateway API resources. @@ -70,7 +71,6 @@ func InstallNGF(cfg InstallationConfig, extraArgs ...string) ([]byte, error) { "--create-namespace", "--namespace", cfg.Namespace, "--wait", - "--set", "nginxGateway.productTelemetry.enable=false", "--set", "nginxGateway.snippetsFilters.enable=true", } if cfg.ChartVersion != "" { @@ -78,6 +78,7 @@ func InstallNGF(cfg InstallationConfig, extraArgs ...string) ([]byte, error) { } args = append(args, setImageArgs(cfg)...) + args = append(args, setTelemetryArgs(cfg)...) fullArgs := append(args, extraArgs...) //nolint:gocritic GinkgoWriter.Printf("Installing NGF with command: helm %v\n", strings.Join(fullArgs, " ")) @@ -136,7 +137,6 @@ func UpgradeNGF(cfg InstallationConfig, extraArgs ...string) ([]byte, error) { cfg.ChartPath, "--namespace", cfg.Namespace, "--wait", - "--set", "nginxGateway.productTelemetry.enable=false", "--set", "nginxGateway.config.logging.level=debug", "--set", "nginxGateway.snippetsFilter.enable=true", } @@ -145,6 +145,7 @@ func UpgradeNGF(cfg InstallationConfig, extraArgs ...string) ([]byte, error) { } args = append(args, setImageArgs(cfg)...) + args = append(args, setTelemetryArgs(cfg)...) fullArgs := append(args, extraArgs...) //nolint:gocritic GinkgoWriter.Printf("Upgrading NGF with command: helm %v\n", strings.Join(fullArgs, " ")) @@ -188,6 +189,17 @@ func UninstallNGF(cfg InstallationConfig, k8sClient client.Client) ([]byte, erro return nil, nil } +func setTelemetryArgs(cfg InstallationConfig) []string { + var args []string + + if cfg.Telemetry { + args = append(args, formatValueSet("nginxGateway.productTelemetry.enable", "true")...) + } else { + args = append(args, formatValueSet("nginxGateway.productTelemetry.enable", "false")...) + } + return args +} + func setImageArgs(cfg InstallationConfig) []string { var args []string diff --git a/tests/suite/system_suite_test.go b/tests/suite/system_suite_test.go index 7c51bc8e97..f4bce1b1b9 100644 --- a/tests/suite/system_suite_test.go +++ b/tests/suite/system_suite_test.go @@ -99,6 +99,7 @@ type setupConfig struct { deploy bool nfr bool debugLogLevel bool + telemetry bool } func setup(cfg setupConfig, extraInstallArgs ...string) { @@ -151,6 +152,10 @@ func setup(cfg setupConfig, extraInstallArgs ...string) { Skip("Graceful Recovery test must be run on Kind") } + if clusterInfo.IsGKE && strings.Contains(GinkgoLabelFilter(), "longevity") { + cfg.telemetry = true + } + switch { case *versionUnderTest != "": version = *versionUnderTest @@ -196,6 +201,7 @@ func createNGFInstallConfig(cfg setupConfig, extraInstallArgs ...string) framewo ServiceType: *serviceType, IsGKEInternalLB: *isGKEInternalLB, Plus: *plusEnabled, + Telemetry: cfg.telemetry, } // if we aren't installing from the public charts, then set the custom images