diff --git a/api-tests/server/helpers.go b/api-tests/server/helpers.go index 381ebb77da..969a90786e 100644 --- a/api-tests/server/helpers.go +++ b/api-tests/server/helpers.go @@ -37,7 +37,7 @@ func RestoreSettingsDefaults(t *testing.T) { res, err := serverClient.Default.ServerService.ChangeSettings(&server.ChangeSettingsParams{ Body: server.ChangeSettingsBody{ EnableAdvisor: new(true), - EnableTelemetry: new(true), + EnableTelemetry: new(false), EnableAlerting: new(true), EnableUpdates: new(true), MetricsResolutions: &server.ChangeSettingsParamsBodyMetricsResolutions{ @@ -58,7 +58,7 @@ func RestoreSettingsDefaults(t *testing.T) { Context: pmmapitests.Context, }) require.NoError(t, err) - assert.True(t, res.Payload.Settings.TelemetryEnabled) + assert.False(t, res.Payload.Settings.TelemetryEnabled) assert.True(t, res.Payload.Settings.AdvisorEnabled) expectedResolutions := &server.ChangeSettingsOKBodySettingsMetricsResolutions{ Hr: "5s", diff --git a/api-tests/server/settings/settings_test.go b/api-tests/server/settings/settings_test.go index e4ef24f9cb..facce7c76d 100644 --- a/api-tests/server/settings/settings_test.go +++ b/api-tests/server/settings/settings_test.go @@ -41,7 +41,7 @@ func TestSettings(t *testing.T) { t.Run("GetSettings", func(t *testing.T) { res, err := serverClient.Default.ServerService.GetSettings(nil) require.NoError(t, err) - assert.True(t, res.Payload.Settings.TelemetryEnabled) + assert.False(t, res.Payload.Settings.TelemetryEnabled) assert.True(t, res.Payload.Settings.AdvisorEnabled) expected := &server.GetSettingsOKBodySettingsMetricsResolutions{ Hr: "5s", @@ -224,7 +224,7 @@ func TestSettings(t *testing.T) { resg, err := serverClient.Default.ServerService.GetSettings(nil) require.NoError(t, err) - assert.True(t, resg.Payload.Settings.TelemetryEnabled) + assert.False(t, resg.Payload.Settings.TelemetryEnabled) assert.False(t, resg.Payload.Settings.AdvisorEnabled) }) @@ -243,7 +243,7 @@ func TestSettings(t *testing.T) { resg, err := serverClient.Default.ServerService.GetSettings(nil) require.NoError(t, err) - assert.True(t, resg.Payload.Settings.TelemetryEnabled) + assert.False(t, resg.Payload.Settings.TelemetryEnabled) assert.True(t, resg.Payload.Settings.AdvisorEnabled) t.Run("EnableAdvisorsWhileItIsEnabled", func(t *testing.T) { @@ -258,7 +258,7 @@ func TestSettings(t *testing.T) { resg, err := serverClient.Default.ServerService.GetSettings(nil) require.NoError(t, err) - assert.True(t, resg.Payload.Settings.TelemetryEnabled) + assert.False(t, resg.Payload.Settings.TelemetryEnabled) assert.True(t, resg.Payload.Settings.AdvisorEnabled) }) diff --git a/build/docker/server/Dockerfile.el9 b/build/docker/server/Dockerfile.el9 index 57e0b95940..9b52ce2c3f 100644 --- a/build/docker/server/Dockerfile.el9 +++ b/build/docker/server/Dockerfile.el9 @@ -2,10 +2,12 @@ FROM oraclelinux:9-slim ARG VERSION ARG BUILD_DATE +ARG PMM_ENABLE_TELEMETRY=0 ENV LANG=en_US.utf8 ENV GF_PLUGIN_DIR=/srv/grafana/plugins ENV PERCONA_TELEMETRY_DISABLE=1 +ENV PMM_ENABLE_TELEMETRY=${PMM_ENABLE_TELEMETRY} ENV PS1="[\u@\h \W] # " WORKDIR /opt diff --git a/build/scripts/build-server-docker b/build/scripts/build-server-docker index 221e5067f1..370b5b132a 100755 --- a/build/scripts/build-server-docker +++ b/build/scripts/build-server-docker @@ -35,6 +35,7 @@ GO_VERSION=$(grep '^go ' ${root_dir}/tmp/source/pmm/go.mod | awk '{print $2}') docker build --build-arg BUILD_DATE="`date --rfc-3339=seconds`" \ --build-arg VERSION="$IMAGE_VERSION" \ --build-arg GO_VERSION="$GO_VERSION" \ + --build-arg PMM_ENABLE_TELEMETRY="${PMM_ENABLE_TELEMETRY:-0}" \ -f ${docker_root}/${docker_file} \ -t ${DOCKER_TAG} \ ${docker_root}/ diff --git a/dev/api/run-tests.sh b/dev/api/run-tests.sh index 73f4aa86f1..afdabd3dbd 100755 --- a/dev/api/run-tests.sh +++ b/dev/api/run-tests.sh @@ -28,7 +28,6 @@ pmm-api() { -e AWS_ACCESS_KEY \ -e AWS_SECRET_KEY \ -e PMM_ENABLE_ACCESS_CONTROL=1 \ - -e PMM_ENABLE_TELEMETRY=0 \ -v pmm-data:/srv \ "${PMM_SERVER_IMAGE:-perconalab/pmm-server:3-dev-latest}" diff --git a/managed/models/settings.go b/managed/models/settings.go index be03684d78..3e7b37b52d 100644 --- a/managed/models/settings.go +++ b/managed/models/settings.go @@ -26,7 +26,7 @@ import ( const ( AdvisorsEnabledDefault = true AlertingEnabledDefault = true - TelemetryEnabledDefault = true + TelemetryEnabledDefault = false UpdatesEnabledDefault = true BackupManagementEnabledDefault = true VictoriaMetricsCacheEnabledDefault = false diff --git a/managed/services/telemetry/telemetry_test.go b/managed/services/telemetry/telemetry_test.go index 293e3d6085..718159a32a 100644 --- a/managed/services/telemetry/telemetry_test.go +++ b/managed/services/telemetry/telemetry_test.go @@ -155,6 +155,11 @@ func TestRunTelemetryService(t *testing.T) { }) db := reform.NewDB(sqlDB, postgresql.Dialect, nil) + _, err := models.UpdateSettings(db, &models.ChangeSettingsParams{ + EnableTelemetry: new(true), + }) + require.NoError(t, err) + for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { t.Parallel() @@ -194,7 +199,7 @@ func TestRunSkipsNonReleaseVersion(t *testing.T) { logEntry := logrus.NewEntry(logger) // Settings JSON with a pre-existing UUID so makeMetric won't attempt an UPDATE. - settingsJSON := []byte(`{"telemetry":{"uuid":"00000000-0000-0000-0000-000000000001"}}`) + settingsJSON := []byte(`{"telemetry":{"enabled":true,"uuid":"00000000-0000-0000-0000-000000000001"}}`) tests := []struct { version string