You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* PGO updates pgnodemx/pg_stat_statements
Users reported that an updated image wouldn't trigger
an update of monitoring extensions. This changes that behavior by
* adding the monitor and pg image tags to the revision hash,
* adding update lines to the pgmonitor enable action.
Note: this _only_ targets these two extensions as updating other
extensions should probably be under the user's power.
Issue: [sc-14476]
* add KUTTL test for exporter upgrade errors
The exporter-upgrade test makes sure that PGO updates an extension used for monitoring. This
2
+
avoids an error where a user might update to a new PG image with a newer extension, but with an
3
+
older extension operative.
4
+
5
+
Note: This test relies on two `crunchy-postgres` images with known, different `pgnodemx` extensions:
6
+
the image created in 00--cluster.yaml has `pgnodemx` 1.1; the image we update the cluster to in
7
+
02--update-cluster.yaml has `pgnodemx` 1.3.
8
+
9
+
00-01
10
+
This starts up a cluster with a purposely outdated `pgnodemx` extension. Because we want a specific
11
+
extension, the image used here is hard-coded (and so outdated it's not publicly available).
12
+
13
+
(This image is so outdated that it doesn't finish creating a backup with the current PGO, which is
14
+
why the 00-assert.yaml only checks that the pod is ready; and why 01--check-exporter.yaml wraps the
15
+
call in a retry loop.)
16
+
17
+
02-03
18
+
The cluster is updated with a newer (and hardcoded) image with a newer version of `pgnodemx`. Due
19
+
to the change made in https://github.com/CrunchyData/postgres-operator/pull/3400, this should no
20
+
longer produce multiple errors.
21
+
22
+
Note: a few errors may be logged after the `exporter` container attempts to run the `pgnodemx`
23
+
functions but before the extension is updated. So this checks that there are no more than 2 errors,
24
+
since that was the observed maximum number of printed errors during manual tests of the check.
25
+
26
+
For instance, using these hardcoded images (with `pgnodemx` versions 1.1 and 1.3), those errors were:
27
+
28
+
```
29
+
Error running query on database \"localhost:5432\": ccp_nodemx_disk_activity pq: query-specified return tuple and function return type are not compatible"
30
+
Error running query on database \"localhost:5432\": ccp_nodemx_data_disk pq: query-specified return tuple and function return type are not compatible
0 commit comments