From 433465ece29b2c2bc953205aa9dc46c99c296121 Mon Sep 17 00:00:00 2001 From: Natalia Marukovich Date: Thu, 19 Feb 2026 12:50:26 +0100 Subject: [PATCH 1/5] K8SPG-737 add path --- .../08-check-mountpoint-expose.yaml | 20 + ... => 09-deleted-from-server-inventory.yaml} | 0 percona/pmm/pmm.go | 621 ++++++++++-------- percona/pmm/pmm_test.go | 124 ++-- 4 files changed, 412 insertions(+), 353 deletions(-) create mode 100644 e2e-tests/tests/monitoring/08-check-mountpoint-expose.yaml rename e2e-tests/tests/monitoring/{08-deleted-from-server-inventory.yaml => 09-deleted-from-server-inventory.yaml} (100%) diff --git a/e2e-tests/tests/monitoring/08-check-mountpoint-expose.yaml b/e2e-tests/tests/monitoring/08-check-mountpoint-expose.yaml new file mode 100644 index 0000000000..79b4962a1d --- /dev/null +++ b/e2e-tests/tests/monitoring/08-check-mountpoint-expose.yaml @@ -0,0 +1,20 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: + - script: |- + set -o errexit + set -o xtrace + + source ../../functions + + series_fetched=$(curl --insecure -G "https://admin:admin@$(get_service_ip monitoring-service)/prometheus/api/v1/query_range" \ + --data-urlencode "query=node_filesystem_free_bytes{mountpoint=\"/pgdata\"}" \ + --data-urlencode "start=$(($(date +%s) - 300))" \ + --data-urlencode "end=$(date +%s)" \ + --data-urlencode "step=5s" | jq -r '.stats.seriesFetched') + + if [[ $series_fetched == 0 ]]; then + echo "seriesFetched is 0" + exit 1 + fi + timeout: 360 \ No newline at end of file diff --git a/e2e-tests/tests/monitoring/08-deleted-from-server-inventory.yaml b/e2e-tests/tests/monitoring/09-deleted-from-server-inventory.yaml similarity index 100% rename from e2e-tests/tests/monitoring/08-deleted-from-server-inventory.yaml rename to e2e-tests/tests/monitoring/09-deleted-from-server-inventory.yaml diff --git a/percona/pmm/pmm.go b/percona/pmm/pmm.go index c6d45b2831..5af9d24258 100644 --- a/percona/pmm/pmm.go +++ b/percona/pmm/pmm.go @@ -7,6 +7,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/intstr" + "github.com/percona/percona-postgresql-operator/v2/internal/postgres" v2 "github.com/percona/percona-postgresql-operator/v2/pkg/apis/pgv2.percona.com/v2" ) @@ -42,6 +43,179 @@ func sidecarContainerV2(pgc *v2.PerconaPGCluster) corev1.Container { pmmSpec := pgc.Spec.PMM + volumeMounts := []corev1.VolumeMount{ + { + Name: "cert-volume", + MountPath: "/pgconf/tls", + ReadOnly: true, + }, + } + if pgc.CompareVersion("2.9.0") >= 0 { + volumeMounts = append(volumeMounts, corev1.VolumeMount{ + Name: postgres.DataVolumeMount().Name, + MountPath: postgres.DataVolumeMount().MountPath, + ReadOnly: true, + }) + } + + env := []corev1.EnvVar{ + { + Name: "POD_NAME", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "metadata.name", + }, + }, + }, + { + Name: "POD_NAMESPACE", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "metadata.namespace", + }, + }, + }, + { + Name: "PMM_USER", + Value: "api_key", + }, + { + Name: "PMM_SERVER", + Value: pmmSpec.ServerHost, + }, + { + Name: "PMM_AGENT_SERVER_ADDRESS", + Value: pmmSpec.ServerHost, + }, + { + Name: "PMM_AGENT_SERVER_USERNAME", + Value: "api_key", + }, + { + Name: "PMM_AGENT_SERVER_PASSWORD", + ValueFrom: &corev1.EnvVarSource{ + SecretKeyRef: &corev1.SecretKeySelector{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: pmmSpec.Secret, + }, + Key: secretKey, + }, + }, + }, + { + Name: "CLIENT_PORT_LISTEN", + Value: "7777", + }, + { + Name: "CLIENT_PORT_MIN", + Value: "30100", + }, + { + Name: "CLIENT_PORT_MAX", + Value: "30105", + }, + { + Name: "PMM_AGENT_LISTEN_PORT", + Value: "7777", + }, + { + Name: "PMM_AGENT_PORTS_MIN", + Value: "30100", + }, + { + Name: "PMM_AGENT_PORTS_MAX", + Value: "30105", + }, + { + Name: "PMM_AGENT_CONFIG_FILE", + Value: "/usr/local/percona/pmm2/config/pmm-agent.yaml", + }, + { + Name: "PMM_AGENT_LOG_LEVEL", + Value: "info", + }, + { + Name: "PMM_AGENT_DEBUG", + Value: "false", + }, + { + Name: "PMM_AGENT_TRACE", + Value: "false", + }, + { + Name: "PMM_AGENT_SERVER_INSECURE_TLS", + Value: "1", + }, + { + Name: "PMM_AGENT_LISTEN_ADDRESS", + Value: "0.0.0.0", + }, + { + Name: "PMM_AGENT_SETUP_NODE_NAME", + Value: "$(POD_NAMESPACE)-$(POD_NAME)", + }, + { + Name: "PMM_AGENT_SETUP_METRICS_MODE", + Value: "push", + }, + { + Name: "PMM_AGENT_SETUP", + Value: "1", + }, + { + Name: "PMM_AGENT_SETUP_FORCE", + Value: "1", + }, + { + Name: "PMM_AGENT_SETUP_NODE_TYPE", + Value: "container", + }, + { + Name: "PMM_AGENT_SIDECAR", + Value: "true", + }, + { + Name: "PMM_AGENT_SIDECAR_SLEEP", + Value: "5", + }, + { + Name: "DB_TYPE", + Value: "postgresql", + }, + { + Name: "DB_USER", + Value: v2.UserMonitoring, + }, + { + Name: "DB_PASS", + ValueFrom: &corev1.EnvVarSource{ + SecretKeyRef: &corev1.SecretKeySelector{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: pgc.UserMonitoring(), + }, + Key: "password", + }, + }, + }, + { + Name: "PMM_AGENT_PRERUN_SCRIPT", + Value: agentPrerunScript(pgc, false), + }, + { + Name: "PMM_AGENT_PATHS_TEMPDIR", + Value: "/tmp", + }, + } + + if pgc.CompareVersion("2.9.0") >= 0 { + env = append(env, corev1.EnvVar{ + Name: "PMM_AGENT_SETUP_MOUNT_INFO_PATH", + Value: "/proc/self/mounts", + }) + } + return corev1.Container{ Name: "pmm-client", Image: pmmSpec.Image, @@ -74,177 +248,175 @@ func sidecarContainerV2(pgc *v2.PerconaPGCluster) corev1.Container { }, }, }, - VolumeMounts: []corev1.VolumeMount{ - { - Name: "cert-volume", - MountPath: "/pgconf/tls", - ReadOnly: true, - }, + VolumeMounts: volumeMounts, + Env: env, + } +} + +// sidecarContainerV3 refers to the construction of the PMM3 container. +func sidecarContainerV3(pgc *v2.PerconaPGCluster) corev1.Container { + ports := []corev1.ContainerPort{{ContainerPort: 7777}} + + for port := 30100; port <= 30105; port++ { + // can't overflow int32, disable linter + ports = append(ports, corev1.ContainerPort{ContainerPort: int32(port)}) // nolint:gosec + } + + pmmSpec := pgc.Spec.PMM + + volumeMounts := []corev1.VolumeMount{ + { + Name: "cert-volume", + MountPath: "/pgconf/tls", + ReadOnly: true, }, - Env: []corev1.EnvVar{ - { - Name: "POD_NAME", - ValueFrom: &corev1.EnvVarSource{ - FieldRef: &corev1.ObjectFieldSelector{ - APIVersion: "v1", - FieldPath: "metadata.name", - }, + } + if pgc.CompareVersion("2.9.0") >= 0 { + volumeMounts = append(volumeMounts, corev1.VolumeMount{ + Name: postgres.DataVolumeMount().Name, + MountPath: postgres.DataVolumeMount().MountPath, + ReadOnly: true, + }) + } + + env := []corev1.EnvVar{ + { + Name: "POD_NAME", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "metadata.name", }, }, - { - Name: "POD_NAMESPACE", - ValueFrom: &corev1.EnvVarSource{ - FieldRef: &corev1.ObjectFieldSelector{ - APIVersion: "v1", - FieldPath: "metadata.namespace", - }, + }, + { + Name: "POD_NAMESPACE", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "metadata.namespace", }, }, - { - Name: "PMM_USER", - Value: "api_key", - }, - { - Name: "PMM_SERVER", - Value: pmmSpec.ServerHost, - }, - { - Name: "PMM_AGENT_SERVER_ADDRESS", - Value: pmmSpec.ServerHost, - }, - { - Name: "PMM_AGENT_SERVER_USERNAME", - Value: "api_key", - }, - { - Name: "PMM_AGENT_SERVER_PASSWORD", - ValueFrom: &corev1.EnvVarSource{ - SecretKeyRef: &corev1.SecretKeySelector{ - LocalObjectReference: corev1.LocalObjectReference{ - Name: pmmSpec.Secret, - }, - Key: secretKey, + }, + { + Name: "PMM_AGENT_SERVER_ADDRESS", + Value: pmmSpec.ServerHost, + }, + { + Name: "PMM_AGENT_SERVER_USERNAME", + Value: "service_token", + }, + { + Name: "PMM_AGENT_SERVER_PASSWORD", + ValueFrom: &corev1.EnvVarSource{ + SecretKeyRef: &corev1.SecretKeySelector{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: pmmSpec.Secret, }, + Key: secretToken, }, }, - { - Name: "CLIENT_PORT_LISTEN", - Value: "7777", - }, - { - Name: "CLIENT_PORT_MIN", - Value: "30100", - }, - { - Name: "CLIENT_PORT_MAX", - Value: "30105", - }, - { - Name: "PMM_AGENT_LISTEN_PORT", - Value: "7777", - }, - { - Name: "PMM_AGENT_PORTS_MIN", - Value: "30100", - }, - { - Name: "PMM_AGENT_PORTS_MAX", - Value: "30105", - }, - { - Name: "PMM_AGENT_CONFIG_FILE", - Value: "/usr/local/percona/pmm2/config/pmm-agent.yaml", - }, - { - Name: "PMM_AGENT_LOG_LEVEL", - Value: "info", - }, - { - Name: "PMM_AGENT_DEBUG", - Value: "false", - }, - { - Name: "PMM_AGENT_TRACE", - Value: "false", - }, - { - Name: "PMM_AGENT_SERVER_INSECURE_TLS", - Value: "1", - }, - { - Name: "PMM_AGENT_LISTEN_ADDRESS", - Value: "0.0.0.0", - }, - { - Name: "PMM_AGENT_SETUP_NODE_NAME", - Value: "$(POD_NAMESPACE)-$(POD_NAME)", - }, - { - Name: "PMM_AGENT_SETUP_METRICS_MODE", - Value: "push", - }, - { - Name: "PMM_AGENT_SETUP", - Value: "1", - }, - { - Name: "PMM_AGENT_SETUP_FORCE", - Value: "1", - }, - { - Name: "PMM_AGENT_SETUP_NODE_TYPE", - Value: "container", - }, - { - Name: "PMM_AGENT_SIDECAR", - Value: "true", - }, - { - Name: "PMM_AGENT_SIDECAR_SLEEP", - Value: "5", - }, - { - Name: "DB_TYPE", - Value: "postgresql", - }, - { - Name: "DB_USER", - Value: v2.UserMonitoring, - }, - { - Name: "DB_PASS", - ValueFrom: &corev1.EnvVarSource{ - SecretKeyRef: &corev1.SecretKeySelector{ - LocalObjectReference: corev1.LocalObjectReference{ - Name: pgc.UserMonitoring(), - }, - Key: "password", + }, + { + Name: "PMM_AGENT_LISTEN_PORT", + Value: "7777", + }, + { + Name: "PMM_AGENT_PORTS_MIN", + Value: "30100", + }, + { + Name: "PMM_AGENT_PORTS_MAX", + Value: "30105", + }, + { + Name: "PMM_AGENT_CONFIG_FILE", + Value: "/usr/local/percona/pmm/config/pmm-agent.yaml", + }, + { + Name: "PMM_AGENT_LOG_LEVEL", + Value: "info", + }, + { + Name: "PMM_AGENT_DEBUG", + Value: "false", + }, + { + Name: "PMM_AGENT_TRACE", + Value: "false", + }, + { + Name: "PMM_AGENT_SERVER_INSECURE_TLS", + Value: "1", + }, + { + Name: "PMM_AGENT_LISTEN_ADDRESS", + Value: "0.0.0.0", + }, + { + Name: "PMM_AGENT_SETUP_NODE_NAME", + Value: "$(POD_NAMESPACE)-$(POD_NAME)", + }, + { + Name: "PMM_AGENT_SETUP_METRICS_MODE", + Value: "push", + }, + { + Name: "PMM_AGENT_SETUP", + Value: "1", + }, + { + Name: "PMM_AGENT_SETUP_FORCE", + Value: "1", + }, + { + Name: "PMM_AGENT_SETUP_NODE_TYPE", + Value: "container", + }, + { + Name: "PMM_AGENT_SIDECAR", + Value: "true", + }, + { + Name: "PMM_AGENT_SIDECAR_SLEEP", + Value: "5", + }, + { + Name: "DB_TYPE", + Value: "postgresql", + }, + { + Name: "DB_USER", + Value: v2.UserMonitoring, + }, + { + Name: "DB_PASS", + ValueFrom: &corev1.EnvVarSource{ + SecretKeyRef: &corev1.SecretKeySelector{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: pgc.UserMonitoring(), }, + Key: "password", }, }, - { - Name: "PMM_AGENT_PRERUN_SCRIPT", - Value: agentPrerunScript(pgc, false), - }, - { - Name: "PMM_AGENT_PATHS_TEMPDIR", - Value: "/tmp", - }, + }, + { + Name: "PMM_AGENT_PRERUN_SCRIPT", + Value: agentPrerunScript(pgc, true), + }, + { + Name: "PMM_AGENT_PATHS_TEMPDIR", + Value: "/tmp/pmm", }, } -} - -// sidecarContainerV3 refers to the construction of the PMM3 container. -func sidecarContainerV3(pgc *v2.PerconaPGCluster) corev1.Container { - ports := []corev1.ContainerPort{{ContainerPort: 7777}} - for port := 30100; port <= 30105; port++ { - // can't overflow int32, disable linter - ports = append(ports, corev1.ContainerPort{ContainerPort: int32(port)}) // nolint:gosec + if pgc.CompareVersion("2.9.0") >= 0 { + env = append(env, corev1.EnvVar{ + Name: "PMM_AGENT_SETUP_MOUNT_INFO_PATH", + Value: "/proc/self/mounts", + }) } - pmmSpec := pgc.Spec.PMM - container := corev1.Container{ Name: "pmm-client", Image: pmmSpec.Image, @@ -277,143 +449,8 @@ func sidecarContainerV3(pgc *v2.PerconaPGCluster) corev1.Container { }, }, }, - VolumeMounts: []corev1.VolumeMount{ - { - Name: "cert-volume", - MountPath: "/pgconf/tls", - ReadOnly: true, - }, - }, - Env: []corev1.EnvVar{ - { - Name: "POD_NAME", - ValueFrom: &corev1.EnvVarSource{ - FieldRef: &corev1.ObjectFieldSelector{ - APIVersion: "v1", - FieldPath: "metadata.name", - }, - }, - }, - { - Name: "POD_NAMESPACE", - ValueFrom: &corev1.EnvVarSource{ - FieldRef: &corev1.ObjectFieldSelector{ - APIVersion: "v1", - FieldPath: "metadata.namespace", - }, - }, - }, - { - Name: "PMM_AGENT_SERVER_ADDRESS", - Value: pmmSpec.ServerHost, - }, - { - Name: "PMM_AGENT_SERVER_USERNAME", - Value: "service_token", - }, - { - Name: "PMM_AGENT_SERVER_PASSWORD", - ValueFrom: &corev1.EnvVarSource{ - SecretKeyRef: &corev1.SecretKeySelector{ - LocalObjectReference: corev1.LocalObjectReference{ - Name: pmmSpec.Secret, - }, - Key: secretToken, - }, - }, - }, - { - Name: "PMM_AGENT_LISTEN_PORT", - Value: "7777", - }, - { - Name: "PMM_AGENT_PORTS_MIN", - Value: "30100", - }, - { - Name: "PMM_AGENT_PORTS_MAX", - Value: "30105", - }, - { - Name: "PMM_AGENT_CONFIG_FILE", - Value: "/usr/local/percona/pmm/config/pmm-agent.yaml", - }, - { - Name: "PMM_AGENT_LOG_LEVEL", - Value: "info", - }, - { - Name: "PMM_AGENT_DEBUG", - Value: "false", - }, - { - Name: "PMM_AGENT_TRACE", - Value: "false", - }, - { - Name: "PMM_AGENT_SERVER_INSECURE_TLS", - Value: "1", - }, - { - Name: "PMM_AGENT_LISTEN_ADDRESS", - Value: "0.0.0.0", - }, - { - Name: "PMM_AGENT_SETUP_NODE_NAME", - Value: "$(POD_NAMESPACE)-$(POD_NAME)", - }, - { - Name: "PMM_AGENT_SETUP_METRICS_MODE", - Value: "push", - }, - { - Name: "PMM_AGENT_SETUP", - Value: "1", - }, - { - Name: "PMM_AGENT_SETUP_FORCE", - Value: "1", - }, - { - Name: "PMM_AGENT_SETUP_NODE_TYPE", - Value: "container", - }, - { - Name: "PMM_AGENT_SIDECAR", - Value: "true", - }, - { - Name: "PMM_AGENT_SIDECAR_SLEEP", - Value: "5", - }, - { - Name: "DB_TYPE", - Value: "postgresql", - }, - { - Name: "DB_USER", - Value: v2.UserMonitoring, - }, - { - Name: "DB_PASS", - ValueFrom: &corev1.EnvVarSource{ - SecretKeyRef: &corev1.SecretKeySelector{ - LocalObjectReference: corev1.LocalObjectReference{ - Name: pgc.UserMonitoring(), - }, - Key: "password", - }, - }, - }, - { - Name: "PMM_AGENT_PRERUN_SCRIPT", - Value: agentPrerunScript(pgc, true), - }, - { - Name: "PMM_AGENT_PATHS_TEMPDIR", - Value: "/tmp/pmm", - }, - }, + VolumeMounts: volumeMounts, + Env: env, } return container diff --git a/percona/pmm/pmm_test.go b/percona/pmm/pmm_test.go index 738cd79a10..843c0857d8 100644 --- a/percona/pmm/pmm_test.go +++ b/percona/pmm/pmm_test.go @@ -182,40 +182,41 @@ func TestSidecarContainerV2(t *testing.T) { assert.NotNil(t, container.Lifecycle.PreStop) assert.Equal(t, []string{"bash", "-c", "pmm-admin unregister --force"}, container.Lifecycle.PreStop.Exec.Command) - assert.Len(t, container.Env, 31) + assert.Len(t, container.Env, 32) expectedEnvVars := map[string]string{ - "POD_NAME": "", // field reference is asserted separately - "POD_NAMESPACE": "", // field reference is asserted separately - "PMM_USER": "api_key", - "PMM_SERVER": pmmSpec.ServerHost, - "PMM_AGENT_SERVER_ADDRESS": pmmSpec.ServerHost, - "PMM_AGENT_SERVER_USERNAME": "api_key", - "PMM_AGENT_SERVER_PASSWORD": "", // secret reference is asserted separately - "CLIENT_PORT_LISTEN": "7777", - "CLIENT_PORT_MIN": "30100", - "CLIENT_PORT_MAX": "30105", - "PMM_AGENT_LISTEN_PORT": "7777", - "PMM_AGENT_PORTS_MIN": "30100", - "PMM_AGENT_PORTS_MAX": "30105", - "PMM_AGENT_CONFIG_FILE": "/usr/local/percona/pmm2/config/pmm-agent.yaml", - "PMM_AGENT_LOG_LEVEL": "info", - "PMM_AGENT_DEBUG": "false", - "PMM_AGENT_TRACE": "false", - "PMM_AGENT_SERVER_INSECURE_TLS": "1", - "PMM_AGENT_LISTEN_ADDRESS": "0.0.0.0", - "PMM_AGENT_SETUP_NODE_NAME": "$(POD_NAMESPACE)-$(POD_NAME)", - "PMM_AGENT_SETUP_METRICS_MODE": "push", - "PMM_AGENT_SETUP": "1", - "PMM_AGENT_SETUP_FORCE": "1", - "PMM_AGENT_SETUP_NODE_TYPE": "container", - "PMM_AGENT_SIDECAR": "true", - "PMM_AGENT_SIDECAR_SLEEP": "5", - "DB_TYPE": "postgresql", - "DB_USER": v2.UserMonitoring, - "DB_PASS": "", // secret reference is asserted separately - "PMM_AGENT_PRERUN_SCRIPT": "pmm-admin status --wait=10s; pmm-admin add postgresql --username=$(DB_USER) --password='$(DB_PASS)' --host=127.0.0.1 --port=5432 --tls-cert-file=/pgconf/tls/tls.crt --tls-key-file=/pgconf/tls/tls.key --tls-ca-file=/pgconf/tls/ca.crt --tls-skip-verify --skip-connection-check --metrics-mode=push --service-name=$(PMM_AGENT_SETUP_NODE_NAME) --query-source= --cluster=test-cluster --environment=dev-postgres; pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'", - "PMM_AGENT_PATHS_TEMPDIR": "/tmp", + "POD_NAME": "", // field reference is asserted separately + "POD_NAMESPACE": "", // field reference is asserted separately + "PMM_USER": "api_key", + "PMM_SERVER": pmmSpec.ServerHost, + "PMM_AGENT_SERVER_ADDRESS": pmmSpec.ServerHost, + "PMM_AGENT_SERVER_USERNAME": "api_key", + "PMM_AGENT_SERVER_PASSWORD": "", // secret reference is asserted separately + "CLIENT_PORT_LISTEN": "7777", + "CLIENT_PORT_MIN": "30100", + "CLIENT_PORT_MAX": "30105", + "PMM_AGENT_LISTEN_PORT": "7777", + "PMM_AGENT_PORTS_MIN": "30100", + "PMM_AGENT_PORTS_MAX": "30105", + "PMM_AGENT_CONFIG_FILE": "/usr/local/percona/pmm2/config/pmm-agent.yaml", + "PMM_AGENT_LOG_LEVEL": "info", + "PMM_AGENT_DEBUG": "false", + "PMM_AGENT_TRACE": "false", + "PMM_AGENT_SERVER_INSECURE_TLS": "1", + "PMM_AGENT_LISTEN_ADDRESS": "0.0.0.0", + "PMM_AGENT_SETUP_NODE_NAME": "$(POD_NAMESPACE)-$(POD_NAME)", + "PMM_AGENT_SETUP_METRICS_MODE": "push", + "PMM_AGENT_SETUP": "1", + "PMM_AGENT_SETUP_FORCE": "1", + "PMM_AGENT_SETUP_NODE_TYPE": "container", + "PMM_AGENT_SIDECAR": "true", + "PMM_AGENT_SIDECAR_SLEEP": "5", + "DB_TYPE": "postgresql", + "DB_USER": v2.UserMonitoring, + "DB_PASS": "", // secret reference is asserted separately + "PMM_AGENT_PRERUN_SCRIPT": "pmm-admin status --wait=10s; pmm-admin add postgresql --username=$(DB_USER) --password='$(DB_PASS)' --host=127.0.0.1 --port=5432 --tls-cert-file=/pgconf/tls/tls.crt --tls-key-file=/pgconf/tls/tls.key --tls-ca-file=/pgconf/tls/ca.crt --tls-skip-verify --skip-connection-check --metrics-mode=push --service-name=$(PMM_AGENT_SETUP_NODE_NAME) --query-source= --cluster=test-cluster --environment=dev-postgres; pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'", + "PMM_AGENT_PATHS_TEMPDIR": "/tmp", + "PMM_AGENT_SETUP_MOUNT_INFO_PATH": "/proc/self/mounts", } for _, envVar := range container.Env { @@ -247,7 +248,7 @@ func TestSidecarContainerV2(t *testing.T) { } } - assert.Len(t, container.VolumeMounts, 1) + assert.Len(t, container.VolumeMounts, 2) assert.Equal(t, "/pgconf/tls", container.VolumeMounts[0].MountPath) assert.True(t, container.VolumeMounts[0].ReadOnly) } @@ -294,35 +295,36 @@ func TestSidecarContainerV3(t *testing.T) { assert.NotNil(t, container.Lifecycle.PreStop) assert.Equal(t, []string{"bash", "-c", "pmm-admin unregister --force"}, container.Lifecycle.PreStop.Exec.Command) - assert.Len(t, container.Env, 26) + assert.Len(t, container.Env, 27) expectedEnvVars := map[string]string{ - "POD_NAME": "", // field reference is asserted separately - "POD_NAMESPACE": "", // field reference is asserted separately - "PMM_AGENT_SERVER_ADDRESS": pmmSpec.ServerHost, - "PMM_AGENT_SERVER_USERNAME": "service_token", - "PMM_AGENT_SERVER_PASSWORD": "", // secret reference is asserted separately - "PMM_AGENT_LISTEN_PORT": "7777", - "PMM_AGENT_PORTS_MIN": "30100", - "PMM_AGENT_PORTS_MAX": "30105", - "PMM_AGENT_CONFIG_FILE": "/usr/local/percona/pmm/config/pmm-agent.yaml", - "PMM_AGENT_LOG_LEVEL": "info", - "PMM_AGENT_DEBUG": "false", - "PMM_AGENT_TRACE": "false", - "PMM_AGENT_SERVER_INSECURE_TLS": "1", - "PMM_AGENT_LISTEN_ADDRESS": "0.0.0.0", - "PMM_AGENT_SETUP_NODE_NAME": "$(POD_NAMESPACE)-$(POD_NAME)", - "PMM_AGENT_SETUP_METRICS_MODE": "push", - "PMM_AGENT_SETUP": "1", - "PMM_AGENT_SETUP_FORCE": "1", - "PMM_AGENT_SETUP_NODE_TYPE": "container", - "PMM_AGENT_SIDECAR": "true", - "PMM_AGENT_SIDECAR_SLEEP": "5", - "DB_TYPE": "postgresql", - "DB_USER": v2.UserMonitoring, - "DB_PASS": "", // secret reference is asserted separately - "PMM_AGENT_PRERUN_SCRIPT": "pmm-admin status --wait=10s; pmm-admin add postgresql --username=$(DB_USER) --password='$(DB_PASS)' --host=127.0.0.1 --port=5432 --tls-cert-file=/pgconf/tls/tls.crt --tls-key-file=/pgconf/tls/tls.key --tls-ca-file=/pgconf/tls/ca.crt --tls-skip-verify --skip-connection-check --metrics-mode=push --service-name=$(PMM_AGENT_SETUP_NODE_NAME) --query-source= --cluster=test-cluster --environment=dev-postgres; pmm-admin add external --scheme=https --listen-port=8008 --tls-skip-verify --service-name=$(PMM_AGENT_SETUP_NODE_NAME)-patroni-external; pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'", - "PMM_AGENT_PATHS_TEMPDIR": "/tmp/pmm", + "POD_NAME": "", // field reference is asserted separately + "POD_NAMESPACE": "", // field reference is asserted separately + "PMM_AGENT_SERVER_ADDRESS": pmmSpec.ServerHost, + "PMM_AGENT_SERVER_USERNAME": "service_token", + "PMM_AGENT_SERVER_PASSWORD": "", // secret reference is asserted separately + "PMM_AGENT_LISTEN_PORT": "7777", + "PMM_AGENT_PORTS_MIN": "30100", + "PMM_AGENT_PORTS_MAX": "30105", + "PMM_AGENT_CONFIG_FILE": "/usr/local/percona/pmm/config/pmm-agent.yaml", + "PMM_AGENT_LOG_LEVEL": "info", + "PMM_AGENT_DEBUG": "false", + "PMM_AGENT_TRACE": "false", + "PMM_AGENT_SERVER_INSECURE_TLS": "1", + "PMM_AGENT_LISTEN_ADDRESS": "0.0.0.0", + "PMM_AGENT_SETUP_NODE_NAME": "$(POD_NAMESPACE)-$(POD_NAME)", + "PMM_AGENT_SETUP_METRICS_MODE": "push", + "PMM_AGENT_SETUP": "1", + "PMM_AGENT_SETUP_FORCE": "1", + "PMM_AGENT_SETUP_NODE_TYPE": "container", + "PMM_AGENT_SIDECAR": "true", + "PMM_AGENT_SIDECAR_SLEEP": "5", + "DB_TYPE": "postgresql", + "DB_USER": v2.UserMonitoring, + "DB_PASS": "", // secret reference is asserted separately + "PMM_AGENT_PRERUN_SCRIPT": "pmm-admin status --wait=10s; pmm-admin add postgresql --username=$(DB_USER) --password='$(DB_PASS)' --host=127.0.0.1 --port=5432 --tls-cert-file=/pgconf/tls/tls.crt --tls-key-file=/pgconf/tls/tls.key --tls-ca-file=/pgconf/tls/ca.crt --tls-skip-verify --skip-connection-check --metrics-mode=push --service-name=$(PMM_AGENT_SETUP_NODE_NAME) --query-source= --cluster=test-cluster --environment=dev-postgres; pmm-admin add external --scheme=https --listen-port=8008 --tls-skip-verify --service-name=$(PMM_AGENT_SETUP_NODE_NAME)-patroni-external; pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'", + "PMM_AGENT_PATHS_TEMPDIR": "/tmp/pmm", + "PMM_AGENT_SETUP_MOUNT_INFO_PATH": "/proc/self/mounts", } for _, envVar := range container.Env { @@ -354,7 +356,7 @@ func TestSidecarContainerV3(t *testing.T) { } } - assert.Len(t, container.VolumeMounts, 1) + assert.Len(t, container.VolumeMounts, 2) assert.Equal(t, "/pgconf/tls", container.VolumeMounts[0].MountPath) assert.True(t, container.VolumeMounts[0].ReadOnly) } From 169031ad6c2d1b18ee79954373ec40104eec44bb Mon Sep 17 00:00:00 2001 From: Natalia Marukovich Date: Thu, 26 Feb 2026 09:14:17 +0100 Subject: [PATCH 2/5] turn off test step --- .../08-check-mountpoint-expose.yaml | 22 +++++++++++++++++++ .../08-check-mountpoint-expose.yaml | 22 +++++++++---------- 2 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 e2e-tests/tests/monitoring-pmm3/08-check-mountpoint-expose.yaml diff --git a/e2e-tests/tests/monitoring-pmm3/08-check-mountpoint-expose.yaml b/e2e-tests/tests/monitoring-pmm3/08-check-mountpoint-expose.yaml new file mode 100644 index 0000000000..9de8bc2d6b --- /dev/null +++ b/e2e-tests/tests/monitoring-pmm3/08-check-mountpoint-expose.yaml @@ -0,0 +1,22 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: + - script: |- + set -o errexit + set -o xtrace + + source ../../functions + +# TODO: turn on after changes in PMM: PMM-14832 + +# series_fetched=$(curl --insecure -G "https://admin:admin@$(get_service_ip monitoring-service)/prometheus/api/v1/query_range" \ +# --data-urlencode "query=node_filesystem_free_bytes{mountpoint=\"/pgdata\"}" \ +# --data-urlencode "start=$(($(date +%s) - 300))" \ +# --data-urlencode "end=$(date +%s)" \ +# --data-urlencode "step=5s" | jq -r '.stats.seriesFetched') + +# if [[ $series_fetched == 0 ]]; then +# echo "seriesFetched is 0" +# exit 1 +# fi + timeout: 360 \ No newline at end of file diff --git a/e2e-tests/tests/monitoring/08-check-mountpoint-expose.yaml b/e2e-tests/tests/monitoring/08-check-mountpoint-expose.yaml index 79b4962a1d..ace3f36723 100644 --- a/e2e-tests/tests/monitoring/08-check-mountpoint-expose.yaml +++ b/e2e-tests/tests/monitoring/08-check-mountpoint-expose.yaml @@ -6,15 +6,15 @@ commands: set -o xtrace source ../../functions - - series_fetched=$(curl --insecure -G "https://admin:admin@$(get_service_ip monitoring-service)/prometheus/api/v1/query_range" \ - --data-urlencode "query=node_filesystem_free_bytes{mountpoint=\"/pgdata\"}" \ - --data-urlencode "start=$(($(date +%s) - 300))" \ - --data-urlencode "end=$(date +%s)" \ - --data-urlencode "step=5s" | jq -r '.stats.seriesFetched') - - if [[ $series_fetched == 0 ]]; then - echo "seriesFetched is 0" - exit 1 - fi +# TODO: turn on after changes in PMM: PMM-14832 +# series_fetched=$(curl --insecure -G "https://admin:admin@$(get_service_ip monitoring-service)/prometheus/api/v1/query_range" \ +# --data-urlencode "query=node_filesystem_free_bytes{mountpoint=\"/pgdata\"}" \ +# --data-urlencode "start=$(($(date +%s) - 300))" \ +# --data-urlencode "end=$(date +%s)" \ +# --data-urlencode "step=5s" | jq -r '.stats.seriesFetched') +# +# if [[ $series_fetched == 0 ]]; then +# echo "seriesFetched is 0" +# exit 1 +# fi timeout: 360 \ No newline at end of file From b9e4561d7d66317ef1ed0377703046ff471aeec3 Mon Sep 17 00:00:00 2001 From: Natalia Marukovich Date: Wed, 8 Apr 2026 10:48:25 +0200 Subject: [PATCH 3/5] rename var --- percona/pmm/pmm.go | 4 +- percona/pmm/pmm_test.go | 118 ++++++++++++++++++++-------------------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/percona/pmm/pmm.go b/percona/pmm/pmm.go index e7a7ca52a8..c4e6b9f4b5 100644 --- a/percona/pmm/pmm.go +++ b/percona/pmm/pmm.go @@ -212,7 +212,7 @@ func sidecarContainerV2(pgc *v2.PerconaPGCluster) corev1.Container { if pgc.CompareVersion("2.9.0") >= 0 { env = append(env, corev1.EnvVar{ - Name: "PMM_AGENT_SETUP_MOUNT_INFO_PATH", + Name: "PMM_AGENT_SETUP_PROC_MOUNTS_PATH", Value: "/proc/self/mounts", }) } @@ -413,7 +413,7 @@ func sidecarContainerV3(pgc *v2.PerconaPGCluster) corev1.Container { if pgc.CompareVersion("2.9.0") >= 0 { env = append(env, corev1.EnvVar{ - Name: "PMM_AGENT_SETUP_MOUNT_INFO_PATH", + Name: "PMM_AGENT_SETUP_PROC_MOUNTS_PATH", Value: "/proc/self/mounts", }) } diff --git a/percona/pmm/pmm_test.go b/percona/pmm/pmm_test.go index f48c14b456..caabafe32f 100644 --- a/percona/pmm/pmm_test.go +++ b/percona/pmm/pmm_test.go @@ -187,38 +187,38 @@ func TestSidecarContainerV2(t *testing.T) { assert.Len(t, container.Env, 32) expectedEnvVars := map[string]string{ - "POD_NAME": "", // field reference is asserted separately - "POD_NAMESPACE": "", // field reference is asserted separately - "PMM_USER": "api_key", - "PMM_SERVER": pmmSpec.ServerHost, - "PMM_AGENT_SERVER_ADDRESS": pmmSpec.ServerHost, - "PMM_AGENT_SERVER_USERNAME": "api_key", - "PMM_AGENT_SERVER_PASSWORD": "", // secret reference is asserted separately - "CLIENT_PORT_LISTEN": "7777", - "CLIENT_PORT_MIN": "30100", - "CLIENT_PORT_MAX": "30105", - "PMM_AGENT_LISTEN_PORT": "7777", - "PMM_AGENT_PORTS_MIN": "30100", - "PMM_AGENT_PORTS_MAX": "30105", - "PMM_AGENT_CONFIG_FILE": "/usr/local/percona/pmm2/config/pmm-agent.yaml", - "PMM_AGENT_LOG_LEVEL": "info", - "PMM_AGENT_DEBUG": "false", - "PMM_AGENT_TRACE": "false", - "PMM_AGENT_SERVER_INSECURE_TLS": "1", - "PMM_AGENT_LISTEN_ADDRESS": "0.0.0.0", - "PMM_AGENT_SETUP_NODE_NAME": "$(POD_NAMESPACE)-$(POD_NAME)", - "PMM_AGENT_SETUP_METRICS_MODE": "push", - "PMM_AGENT_SETUP": "1", - "PMM_AGENT_SETUP_FORCE": "1", - "PMM_AGENT_SETUP_NODE_TYPE": "container", - "PMM_AGENT_SIDECAR": "true", - "PMM_AGENT_SIDECAR_SLEEP": "5", - "DB_TYPE": "postgresql", - "DB_USER": v2.UserMonitoring, - "DB_PASS": "", // secret reference is asserted separately - "PMM_AGENT_PRERUN_SCRIPT": "pmm-admin status --wait=10s; pmm-admin add postgresql --username=$(DB_USER) --password='$(DB_PASS)' --host=127.0.0.1 --port=5432 --tls-cert-file=/pgconf/tls/tls.crt --tls-key-file=/pgconf/tls/tls.key --tls-ca-file=/pgconf/tls/ca.crt --tls-skip-verify --skip-connection-check --metrics-mode=push --service-name=$(PMM_AGENT_SETUP_NODE_NAME) --query-source= --cluster=test-cluster --environment=dev-postgres; pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'", - "PMM_AGENT_PATHS_TEMPDIR": "/tmp", - "PMM_AGENT_SETUP_MOUNT_INFO_PATH": "/proc/self/mounts", + "POD_NAME": "", // field reference is asserted separately + "POD_NAMESPACE": "", // field reference is asserted separately + "PMM_USER": "api_key", + "PMM_SERVER": pmmSpec.ServerHost, + "PMM_AGENT_SERVER_ADDRESS": pmmSpec.ServerHost, + "PMM_AGENT_SERVER_USERNAME": "api_key", + "PMM_AGENT_SERVER_PASSWORD": "", // secret reference is asserted separately + "CLIENT_PORT_LISTEN": "7777", + "CLIENT_PORT_MIN": "30100", + "CLIENT_PORT_MAX": "30105", + "PMM_AGENT_LISTEN_PORT": "7777", + "PMM_AGENT_PORTS_MIN": "30100", + "PMM_AGENT_PORTS_MAX": "30105", + "PMM_AGENT_CONFIG_FILE": "/usr/local/percona/pmm2/config/pmm-agent.yaml", + "PMM_AGENT_LOG_LEVEL": "info", + "PMM_AGENT_DEBUG": "false", + "PMM_AGENT_TRACE": "false", + "PMM_AGENT_SERVER_INSECURE_TLS": "1", + "PMM_AGENT_LISTEN_ADDRESS": "0.0.0.0", + "PMM_AGENT_SETUP_NODE_NAME": "$(POD_NAMESPACE)-$(POD_NAME)", + "PMM_AGENT_SETUP_METRICS_MODE": "push", + "PMM_AGENT_SETUP": "1", + "PMM_AGENT_SETUP_FORCE": "1", + "PMM_AGENT_SETUP_NODE_TYPE": "container", + "PMM_AGENT_SIDECAR": "true", + "PMM_AGENT_SIDECAR_SLEEP": "5", + "DB_TYPE": "postgresql", + "DB_USER": v2.UserMonitoring, + "DB_PASS": "", // secret reference is asserted separately + "PMM_AGENT_PRERUN_SCRIPT": "pmm-admin status --wait=10s; pmm-admin add postgresql --username=$(DB_USER) --password='$(DB_PASS)' --host=127.0.0.1 --port=5432 --tls-cert-file=/pgconf/tls/tls.crt --tls-key-file=/pgconf/tls/tls.key --tls-ca-file=/pgconf/tls/ca.crt --tls-skip-verify --skip-connection-check --metrics-mode=push --service-name=$(PMM_AGENT_SETUP_NODE_NAME) --query-source= --cluster=test-cluster --environment=dev-postgres; pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'", + "PMM_AGENT_PATHS_TEMPDIR": "/tmp", + "PMM_AGENT_SETUP_PROC_MOUNTS_PATH": "/proc/self/mounts", } for _, envVar := range container.Env { @@ -301,33 +301,33 @@ func TestSidecarContainerV3(t *testing.T) { assert.Len(t, container.Env, 27) expectedEnvVars := map[string]string{ - "POD_NAME": "", // field reference is asserted separately - "POD_NAMESPACE": "", // field reference is asserted separately - "PMM_AGENT_SERVER_ADDRESS": pmmSpec.ServerHost, - "PMM_AGENT_SERVER_USERNAME": "service_token", - "PMM_AGENT_SERVER_PASSWORD": "", // secret reference is asserted separately - "PMM_AGENT_LISTEN_PORT": "7777", - "PMM_AGENT_PORTS_MIN": "30100", - "PMM_AGENT_PORTS_MAX": "30105", - "PMM_AGENT_CONFIG_FILE": "/usr/local/percona/pmm/config/pmm-agent.yaml", - "PMM_AGENT_LOG_LEVEL": "info", - "PMM_AGENT_DEBUG": "false", - "PMM_AGENT_TRACE": "false", - "PMM_AGENT_SERVER_INSECURE_TLS": "1", - "PMM_AGENT_LISTEN_ADDRESS": "0.0.0.0", - "PMM_AGENT_SETUP_NODE_NAME": "$(POD_NAMESPACE)-$(POD_NAME)", - "PMM_AGENT_SETUP_METRICS_MODE": "push", - "PMM_AGENT_SETUP": "1", - "PMM_AGENT_SETUP_FORCE": "1", - "PMM_AGENT_SETUP_NODE_TYPE": "container", - "PMM_AGENT_SIDECAR": "true", - "PMM_AGENT_SIDECAR_SLEEP": "5", - "DB_TYPE": "postgresql", - "DB_USER": v2.UserMonitoring, - "DB_PASS": "", // secret reference is asserted separately - "PMM_AGENT_PRERUN_SCRIPT": "pmm-admin status --wait=10s; pmm-admin add postgresql --username=$(DB_USER) --password='$(DB_PASS)' --host=127.0.0.1 --port=5432 --tls-cert-file=/pgconf/tls/tls.crt --tls-key-file=/pgconf/tls/tls.key --tls-ca-file=/pgconf/tls/ca.crt --tls-skip-verify --skip-connection-check --metrics-mode=push --service-name=$(PMM_AGENT_SETUP_NODE_NAME) --query-source= --cluster=test-cluster --environment=dev-postgres; pmm-admin add external --scheme=https --listen-port=8008 --tls-skip-verify --service-name=$(PMM_AGENT_SETUP_NODE_NAME)-patroni-external; pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'", - "PMM_AGENT_PATHS_TEMPDIR": "/tmp/pmm", - "PMM_AGENT_SETUP_MOUNT_INFO_PATH": "/proc/self/mounts", + "POD_NAME": "", // field reference is asserted separately + "POD_NAMESPACE": "", // field reference is asserted separately + "PMM_AGENT_SERVER_ADDRESS": pmmSpec.ServerHost, + "PMM_AGENT_SERVER_USERNAME": "service_token", + "PMM_AGENT_SERVER_PASSWORD": "", // secret reference is asserted separately + "PMM_AGENT_LISTEN_PORT": "7777", + "PMM_AGENT_PORTS_MIN": "30100", + "PMM_AGENT_PORTS_MAX": "30105", + "PMM_AGENT_CONFIG_FILE": "/usr/local/percona/pmm/config/pmm-agent.yaml", + "PMM_AGENT_LOG_LEVEL": "info", + "PMM_AGENT_DEBUG": "false", + "PMM_AGENT_TRACE": "false", + "PMM_AGENT_SERVER_INSECURE_TLS": "1", + "PMM_AGENT_LISTEN_ADDRESS": "0.0.0.0", + "PMM_AGENT_SETUP_NODE_NAME": "$(POD_NAMESPACE)-$(POD_NAME)", + "PMM_AGENT_SETUP_METRICS_MODE": "push", + "PMM_AGENT_SETUP": "1", + "PMM_AGENT_SETUP_FORCE": "1", + "PMM_AGENT_SETUP_NODE_TYPE": "container", + "PMM_AGENT_SIDECAR": "true", + "PMM_AGENT_SIDECAR_SLEEP": "5", + "DB_TYPE": "postgresql", + "DB_USER": v2.UserMonitoring, + "DB_PASS": "", // secret reference is asserted separately + "PMM_AGENT_PRERUN_SCRIPT": "pmm-admin status --wait=10s; pmm-admin add postgresql --username=$(DB_USER) --password='$(DB_PASS)' --host=127.0.0.1 --port=5432 --tls-cert-file=/pgconf/tls/tls.crt --tls-key-file=/pgconf/tls/tls.key --tls-ca-file=/pgconf/tls/ca.crt --tls-skip-verify --skip-connection-check --metrics-mode=push --service-name=$(PMM_AGENT_SETUP_NODE_NAME) --query-source= --cluster=test-cluster --environment=dev-postgres; pmm-admin add external --scheme=https --listen-port=8008 --tls-skip-verify --service-name=$(PMM_AGENT_SETUP_NODE_NAME)-patroni-external; pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'", + "PMM_AGENT_PATHS_TEMPDIR": "/tmp/pmm", + "PMM_AGENT_SETUP_PROC_MOUNTS_PATH": "/proc/self/mounts", } for _, envVar := range container.Env { From 62f022aeeb80db11c341ed405f4728c8845b54e2 Mon Sep 17 00:00:00 2001 From: Natalia Marukovich Date: Wed, 8 Apr 2026 17:07:30 +0200 Subject: [PATCH 4/5] uncomment test case --- .../08-check-mountpoint-expose.yaml | 20 +++++++++---------- ...-leak.yaml => 09-check-password-leak.yaml} | 0 2 files changed, 9 insertions(+), 11 deletions(-) rename e2e-tests/tests/monitoring-pmm3/{08-check-password-leak.yaml => 09-check-password-leak.yaml} (100%) diff --git a/e2e-tests/tests/monitoring-pmm3/08-check-mountpoint-expose.yaml b/e2e-tests/tests/monitoring-pmm3/08-check-mountpoint-expose.yaml index 9de8bc2d6b..e029b75158 100644 --- a/e2e-tests/tests/monitoring-pmm3/08-check-mountpoint-expose.yaml +++ b/e2e-tests/tests/monitoring-pmm3/08-check-mountpoint-expose.yaml @@ -7,16 +7,14 @@ commands: source ../../functions -# TODO: turn on after changes in PMM: PMM-14832 + series_fetched=$(curl --insecure -G "https://admin:admin@$(get_service_ip monitoring-service)/prometheus/api/v1/query_range" \ + --data-urlencode "query=node_filesystem_free_bytes{mountpoint=\"/pgdata\"}" \ + --data-urlencode "start=$(($(date +%s) - 300))" \ + --data-urlencode "end=$(date +%s)" \ + --data-urlencode "step=5s" | jq -r '.stats.seriesFetched') -# series_fetched=$(curl --insecure -G "https://admin:admin@$(get_service_ip monitoring-service)/prometheus/api/v1/query_range" \ -# --data-urlencode "query=node_filesystem_free_bytes{mountpoint=\"/pgdata\"}" \ -# --data-urlencode "start=$(($(date +%s) - 300))" \ -# --data-urlencode "end=$(date +%s)" \ -# --data-urlencode "step=5s" | jq -r '.stats.seriesFetched') - -# if [[ $series_fetched == 0 ]]; then -# echo "seriesFetched is 0" -# exit 1 -# fi + if [[ $series_fetched == 0 ]]; then + echo "seriesFetched is 0" + exit 1 + fi timeout: 360 \ No newline at end of file diff --git a/e2e-tests/tests/monitoring-pmm3/08-check-password-leak.yaml b/e2e-tests/tests/monitoring-pmm3/09-check-password-leak.yaml similarity index 100% rename from e2e-tests/tests/monitoring-pmm3/08-check-password-leak.yaml rename to e2e-tests/tests/monitoring-pmm3/09-check-password-leak.yaml From 83b19a7e698b737f2e4432e7a261a1faf1bd56bd Mon Sep 17 00:00:00 2001 From: Natalia Marukovich Date: Thu, 23 Apr 2026 18:34:26 +0200 Subject: [PATCH 5/5] update pmm version --- e2e-tests/vars.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/e2e-tests/vars.sh b/e2e-tests/vars.sh index d5f81833e4..b4a74611c7 100755 --- a/e2e-tests/vars.sh +++ b/e2e-tests/vars.sh @@ -40,8 +40,8 @@ export BUCKET=${BUCKET:-"pg-operator-testing"} export PMM_SERVER_VERSION=${PMM_SERVER_VERSION:-"9.9.9"} export IMAGE_PMM_CLIENT=${IMAGE_PMM_CLIENT:-"perconalab/pmm-client:dev-latest"} export IMAGE_PMM_SERVER=${IMAGE_PMM_SERVER:-"perconalab/pmm-server:dev-latest"} -export IMAGE_PMM3_CLIENT=${IMAGE_PMM3_CLIENT:-"perconalab/pmm-client:3.4"} -export IMAGE_PMM3_SERVER=${IMAGE_PMM3_SERVER:-"perconalab/pmm-server:3.4"} +export IMAGE_PMM3_CLIENT=${IMAGE_PMM3_CLIENT:-"perconalab/pmm-client:3-dev-latest"} +export IMAGE_PMM3_SERVER=${IMAGE_PMM3_SERVER:-"perconalab/pmm-server:3-dev-latest"} export PGOV1_TAG=${PGOV1_TAG:-"1.4.0"} export PGOV1_VER=${PGOV1_VER:-"14"} export MINIO_VER="5.4.0"