@@ -11,120 +11,123 @@ highlights: |
11
11
- Support for RedHat Enterprise Linux 9 for ARM architectures.
12
12
- Support for PostgreSQL, EDB Postgres Extended, and EDB Postgres Advanced Server 17.
13
13
relnotes :
14
- - details :
15
- " `PermissionsStartOnly` has been deprecated and is now achieved via `ExecStartPost=+/bin/bash...`
16
- syntax"
14
+ - details : >-
15
+ `PermissionsStartOnly` has been deprecated and is now achieved via
16
+ `ExecStartPost=+/bin/bash...` syntax
17
17
impact: low
18
18
jira:
19
19
- TPA-762
20
20
relnote: Remove deprecated `PermissionStartOnly` in postgres.service.j2 template
21
21
type: Change
22
- - details :
23
- Fixed a bug whereby the test that ensures the current pgd-proxy configuration
24
- matches the expected configuration would fail for version < 5.5.0. This fix ensures
25
- that TPA won't try to query configuration keys added in version 5.5.0.
22
+ - details : >-
23
+ Fixed a bug whereby the test that ensures the current pgd-proxy
24
+ configuration matches the expected configuration would fail for version <
25
+ 5.5.0. This fix ensures that TPA won't try to query configuration keys
26
+ added in version 5.5.0.
26
27
impact: low
27
28
jira:
28
29
- TPA-819
29
30
relnote: Fix tpaexec test for pgd-proxy config verification
30
31
type: Bug Fix
31
- - details :
32
- The PostGIS package will automatically be added when a user specifies `postgis`
33
- as an entry in either `postgres_extensions` or the list of extensions named under
34
- ` postgres_databases` . Also enables the CRB (Code Ready Builder) repository for
35
- RHEL-compatible distributions so PostGIS dependencies can be installed.
32
+ - details : >-
33
+ The PostGIS package will automatically be added when a user specifies
34
+ `postgis` as an entry in either `postgres_extensions` or the list of
35
+ extensions named under `postgres_databases`. Also enables the CRB (Code
36
+ Ready Builder) repository for RHEL-compatible distributions so PostGIS
37
+ dependencies can be installed.
36
38
impact: low
37
39
jira:
38
40
- TPA-771
39
41
relnote: Add `postgis` to list of recognized extensions
40
42
type: Enhancement
41
- - details :
43
+ - details : >-
42
44
Certain required privileges are granted to Postgres role, `barman_role`,
43
- which is then granted to the `barman` Postgres user. This avoids creating the
44
- ` barman` user as a superuser. This role can also be granted to other Postgres
45
- users by adding it to their `granted_roles` list using `postgres/createuser`.
46
- The `barman_role` is created as part of the Barman tasks; if Barman is not used,
47
- this role will not be created. Therefore, the task that grants privileges to this
48
- role is only executed if the `barman_role` username is in the list of Postgres
49
- users that are created. The 'barman' user now has `NOSUPERUSER` explicitly specified
50
- as a role attribute. If a cluster was deployed with a previous TPA version (which
51
- created the 'barman' user as a superuser), deploying with this version will remove
52
- the `superuser` role attribute from the `barman` user.
45
+ which is then granted to the `barman` Postgres user. This avoids creating
46
+ the `barman` user as a superuser. This role can also be granted to other
47
+ Postgres users by adding it to their `granted_roles` list using
48
+ `postgres/createuser`. The `barman_role` is created as part of the Barman
49
+ tasks; if Barman is not used, this role will not be created. Therefore,
50
+ the task that grants privileges to this role is only executed if the
51
+ `barman_role` username is in the list of Postgres users that are created.
52
+ The 'barman' user now has `NOSUPERUSER` explicitly specified as a role
53
+ attribute. If a cluster was deployed with a previous TPA version (which
54
+ created the 'barman' user as a superuser), deploying with this version
55
+ will remove the `superuser` role attribute from the `barman` user.
53
56
impact: low
54
57
jira:
55
58
- TPA-148
56
59
- TPA-818
57
60
relnote: The `barman` Postgres user is no longer a superuser
58
61
type: Change
59
- - details :
62
+ - details : >-
60
63
Add new optional var `harp_local_etcd_only` available when using etcd with
61
- HARP. This option tells HARP manager to connect to local etcd node. This recommendation
62
- follows the best practices learnt by doing the same when `bdr` as consensus procotol
63
- is being used. The default mode of adding multiple endpoints can lead to performance
64
- issues in some cases. This option is added to give more control to the user.
64
+ HARP. This option tells HARP manager to connect to local etcd node. This
65
+ recommendation follows the best practices learnt by doing the same when
66
+ `bdr` as consensus procotol is being used. The default mode of adding
67
+ multiple endpoints can lead to performance issues in some cases. This
68
+ option is added to give more control to the user.
65
69
impact: low
66
70
jira:
67
71
- TPA-821
68
72
relnote: Add new option `harp_local_etcd_only` when using etcd with HARP
69
73
type: Change
70
- addresses : 41931
71
- - details :
74
+ - details : >-
72
75
A `primary_slot_name` is configured on the primary node to ensure the old
73
- primary uses a physical slot for replication during an EFM switchover. However,
74
- ' bdr_init_physical' attempts to use it for node initialisation and hangs indefinitely
75
- since the slot does not exist in a PGD installation. This `primary_slot_name`
76
- is now conditionally set explicitly when the `failover_manager ` is EFM to avoid
77
- setting it unnecessarily.
76
+ primary uses a physical slot for replication during an EFM switchover.
77
+ However, 'bdr_init_physical' attempts to use it for node initialisation
78
+ and hangs indefinitely since the slot does not exist in a PGD
79
+ installation. This `primary_slot_name ` is now conditionally set explicitly
80
+ when the `failover_manager` is EFM to avoid setting it unnecessarily.
78
81
impact: low
79
82
jira:
80
83
- TPA-712
81
- relnote : " Fix case where `primary_slot_name` added for EFM compatibility interferes with `bdr_init_physical`"
84
+ relnote: >-
85
+ Fix case where `primary_slot_name` added for EFM compatibility interferes
86
+ with `bdr_init_physical`
82
87
type: Bug Fix
83
- addresses : 36064
84
- - details :
85
- If the `pgdcli_package_version` is specified in `config.yml`, the `bash-completion `
86
- package is incorrectly named because the `packages_for` filter erroneously appends
87
- the `pgdcli_package_version` to the package name. This results in an attempt to
88
- download a nonexistant package. The `bash-completion` package is now appended
89
- to the list after the `packages_for` filter, since it's version is independent
90
- from the `pgdcli_package_version`.
88
+ - details : >-
89
+ If the `pgdcli_package_version` is specified in `config.yml`, the
90
+ `bash-completion` package is incorrectly named because the `packages_for `
91
+ filter erroneously appends the `pgdcli_package_version` to the package
92
+ name. This results in an attempt to download a nonexistant package. The
93
+ `bash-completion` package is now appended to the list after the
94
+ `packages_for` filter, since it's version is independent from the
95
+ `pgdcli_package_version`.
91
96
impact: low
92
97
jira:
93
98
- TPA-794
94
99
relnote: Download correct `bash-completion` package version
95
100
type: Bug Fix
96
- addresses : 38773
97
- - details :
101
+ - details : >-
98
102
TPA is now able to generate a PGD Lightweight architecture comprised of
99
- three nodes in two locations (2 nodes in Primary and one in Disaster Recovery)
100
- designed to ease migrations from physical replication. Users can now run `tpaexec
101
- configure lw -a Lightweight --postgresql 15`.
102
- impact : low
103
+ three nodes in two locations (2 nodes in Primary and one in Disaster
104
+ Recovery) designed to ease migrations from physical replication. Users can
105
+ now run `tpaexec configure lw -a Lightweight --postgresql 15`.
106
+ impact: medium
103
107
jira:
104
108
- TPA-838
105
109
relnote: Add support for PGD Lightweight architecture
106
110
type: Enhancement
107
- - details :
111
+ - details : >-
108
112
TPA now clears the error message stack after each task to ensure messages
109
113
are not spuriously repeated
110
114
impact: low
111
115
jira:
112
116
- TPA-812
113
- relnote :
117
+ relnote: >-
114
118
Fix an issue whereby in some cases error messages would be repeated even
115
119
after successful tasks.
116
120
type: Bug Fix
117
- - details :
121
+ - details : >-
118
122
Improve postgres-monitor script to better manage recoverable errors and
119
- add retries on network errors to ensure that it won't return failure when it just
120
- didn't allow enough time for postgres service to be fully started.
123
+ add retries on network errors to ensure that it won't return failure when
124
+ it just didn't allow enough time for postgres service to be fully started.
121
125
impact: low
122
126
jira:
123
127
- TPA-796
124
128
relnote: Improve postgres-monitor script
125
129
type: Change
126
- addresses : 39191
127
- - details :
130
+ - details : >-
128
131
Fixed an issue whereby new replicas in Patroni clusters would fail with
129
132
errors related to replication slots.
130
133
impact: low
@@ -133,99 +136,148 @@ relnotes:
133
136
- TPA-781
134
137
relnote: Fix issue that prevented the addition of replicas to Patroni clusters
135
138
type: Bug Fix
136
- - details : Previously the `pemserver` and `barman` nodes were
137
- added to the `Allowed node host list` in EFM when they were not relevant to EFM
138
- functions. Refactored the task that writes the `efm.node` configuration to only
139
+ - details : >-
140
+ Previously the `pemserver` and `barman` nodes were added to the `Allowed
141
+ node host list` in EFM when they were not relevant to EFM functions.
142
+ Refactored the task that writes the `efm.node` configuration to only
139
143
include those nodes that have `efm` in their list of roles.
140
144
impact: low
141
145
jira:
142
146
- TPA-817
143
147
relnote: Only add nodes with `efm` role to cluster `efm.nodes` file
144
148
type: Change
145
- - details :
146
- If `--enable-pem` and `--enable-pg-backup-api` are passed to `tpaexec configure`,
147
- ` pem-agent` is added twice to the `barman` node if it is also a `witness`. Fixed
148
- by consolidating both `if` statements together to only evaluate the conditions
149
- once.
149
+ - details : >-
150
+ If `--enable-pem` and `--enable-pg-backup-api` are passed to `tpaexec
151
+ configure`, ` pem-agent` is added twice to the `barman` node if it is also
152
+ a `witness`. Fixed by consolidating both `if` statements together to only
153
+ evaluate the conditions once.
150
154
impact: low
151
155
jira:
152
156
- TPA-793
153
157
relnote: Add `pem-agent` role on barman nodes at most once for M1 architecture
154
158
type: Bug Fix
155
- - details :
156
- Fixed a bug whereby if the user excluded the `pkg` selector, later PEM-related
157
- tasks would fail because the `pem_python_executable` fact had not been set.
159
+ - details : >-
160
+ Fixed a bug whereby if the user excluded the `pkg` selector, later
161
+ PEM-related tasks would fail because the `pem_python_executable` fact had
162
+ not been set.
158
163
impact: low
159
164
jira:
160
165
- TPA-814
161
166
relnote: Set `pem_python_executable` outside of the `pkg` role
162
167
type: Bug Fix
163
- - details :
164
- The `--efm-install-path` and `--efm-cluster-name` flags are set when a
165
- PEM server is registered on an EFM node. The `Streaming Replication`, `Failover
166
- Manager Node Status` and `Failover Manager Cluster Info` probes are enabled when
167
- a PEM agent is registered on an EFM node.
168
+ - details : >-
169
+ The `--efm-install-path` and `--efm-cluster-name` flags are set when a PEM
170
+ server is registered on an EFM node. The `Streaming Replication`,
171
+ `Failover Manager Node Status` and `Failover Manager Cluster Info` probes
172
+ are enabled when a PEM agent is registered on an EFM node.
168
173
impact: low
169
174
jira:
170
175
- TPA-586
171
176
relnote: Enable EFM probes when a PEM agent is registered on an EFM node
172
177
type: Enhancement
173
- - details :
178
+ - details : >-
174
179
TPA now supports command-line options to create a cluster configured to
175
- conform to many of the requirements of the STIG and CIS security standards. These
176
- options cause TPA to set postgresql.conf settings as defined in the relevant
177
- standards, to install required extensions, to configure other aspects of system
178
- behaviour such as filesystem permissions and user connection limits, and to check
179
- for other requirements such as FIPS crypto standards which TPA can't directly
180
- impose. The clusters thus generated are not certified by TPA to conform to the
181
- standards, but much of the groundwork of creating a conforming cluster is now
182
- automated.
183
- impact : low
180
+ conform to many of the requirements of the STIG and CIS security
181
+ standards. These options cause TPA to set postgresql.conf settings as
182
+ defined in the relevant standards, to install required extensions, to
183
+ configure other aspects of system behaviour such as filesystem permissions
184
+ and user connection limits, and to check for other requirements such as
185
+ FIPS crypto standards which TPA can't directly impose. The clusters thus
186
+ generated are not certified by TPA to conform to the standards, but much
187
+ of the groundwork of creating a conforming cluster is now automated.
188
+ impact: high
184
189
jira:
185
190
- TPA-366
186
191
- TPA-836
187
192
- TPA-837
188
193
relnote: Support STIG/CIS compliance
189
194
type: Enhancement
190
- - details :
191
- The configure command will now automatically add a named network and static
192
- IP addresses to config.yml when Docker is the selected platform. The network name
193
- is the same as the cluster name and the address range follows the existing semantics
194
- of the --network option with the exception that only one subnet is used for the
195
- whole cluster rather than one per location. If a subnet prefix is not specified
196
- by the user, TPA will attempt to select a prefix which results in a subnet large
197
- enough to fit the whole cluster. The key `ip_address` may now be used to specify
198
- a static IP for a Docker instance as long as a named network is specified in the
199
- config.yml.
200
- impact : low
195
+ - details : >-
196
+ The configure command will now automatically add a named network and
197
+ static IP addresses to config.yml when Docker is the selected platform.
198
+ The network name is the same as the cluster name and the address range
199
+ follows the existing semantics of the --network option with the exception
200
+ that only one subnet is used for the whole cluster rather than one per
201
+ location. If a subnet prefix is not specified by the user, TPA will
202
+ attempt to select a prefix which results in a subnet large enough to fit
203
+ the whole cluster. The key `ip_address` may now be used to specify a
204
+ static IP for a Docker instance as long as a named network is specified in
205
+ the config.yml.
206
+ impact: medium
201
207
jira:
202
208
- TPA-261
203
209
- TPA-407
204
210
- TPA-434
205
211
relnote: Have `configure` create a user-defined network on Docker
206
212
type: Enhancement
207
- - details : Packages are now published targeting RHEL 9 ARM64, and TPA supports
208
- deployments using this architecture and OS. Also updated the list of supported
209
- AWS images to include the RedHat 9 ARM64 AMI provided by Amazon. The default `instance_type`
210
- for ARM64 EC2 instances has been updated from `a1` to `t4g`, which is the current
211
- generation processor available for burstable general purpose workloads.
213
+ - details : >-
214
+ Packages are now published targeting RHEL 9 ARM64, and TPA supports
215
+ deployments using this architecture and OS. Also updated the list of
216
+ supported AWS images to include the RedHat 9 ARM64 AMI provided by Amazon.
217
+ The default `instance_type` for ARM64 EC2 instances has been updated from
218
+ `a1` to `t4g`, which is the current generation processor available for
219
+ burstable general purpose workloads.
212
220
impact: low
213
221
jira:
214
222
- TPA-780
215
223
relnote: Support RedHat Enterprise Linux 9 for ARM architectures
216
224
type: Enhancement
217
- - details :
225
+ - details : >-
218
226
Clusters can be configured to use PostgreSQL, EDB Postgres Extended and
219
- EDB Postgres Advanced Server version 17. Barman no longer needs to install the
220
- postgres server package to get the `pg_receivewal` binary when using EDB Postgres
221
- Advanced Server 17 or EDB Postgres Extended 17 since the binary has been added
222
- to the client package for these versions. TPA raises an architecture error when a cluster
223
- is configured with `repmgr` as the failover_manager as it is not available for
224
- Postgres 17. Updated documentation to reflect supported versions.
227
+ EDB Postgres Advanced Server version 17. Barman no longer needs to install
228
+ the postgres server package to get the `pg_receivewal` binary when using
229
+ EDB Postgres Advanced Server 17 or EDB Postgres Extended 17 since the
230
+ binary has been added to the client package for these versions. TPA raises
231
+ an architecture error when a cluster is configured with `repmgr` as the
232
+ failover_manager as it is not available for Postgres 17. Updated
233
+ documentation to reflect supported versions.
225
234
impact: low
226
235
jira:
227
236
- TPA-803
228
- relnote :
229
- Support PostgreSQL, EDB Postgres Extended, and EDB Postgres Advanced Server
230
- 17
237
+ relnote: >-
238
+ Support PostgreSQL, EDB Postgres Extended, and EDB Postgres Advanced
239
+ Server 17
240
+ type: Enhancement
241
+ - details : >-
242
+ When using an existing Barman node as a backup node in a new cluster,
243
+ users can set `barman_shared: true` in the Barman instance's vars with the
244
+ platform set to `bare` and other information supplied as usual for bare
245
+ instances. This change allows TPA to skip some configuration steps that
246
+ would otherwise fail due to usermod issues, as the Barman user already has
247
+ running processes from previous deployments. The shared Barman instance is
248
+ treated as a bare instance, so the required access, including the Barman
249
+ user's access to the target PostgreSQL instances, must be already in
250
+ place. Copying the Barman user's keys from the original cluster to the new
251
+ cluster can be used to achieve this, see the Barman section of the TPA
252
+ documentation for detailed information.
253
+ impact: medium
254
+ jira:
255
+ - TPA-777
256
+ relnote: >-
257
+ Added experimental support for using an existing Barman node as backup
258
+ node in new cluster
259
+ type: Enhancement
260
+ - details : >-
261
+ Expose a configurable `efm_user_password_encryption` variable which should
262
+ be set to either `'md5'` or `'scram-sha-256'` depending on user
263
+ requirements. This controls the `auth-method` for the `efm` Postgres user
264
+ in `pg_hba.conf` and the algorithm used for generating it's encrypted
265
+ password. In clusters deployed with `compliance` configured to `stig`, the
266
+ 'efm' Postgres user's `auth-method` in `pg_hba.conf` will be set to
267
+ `scram-sha-256` since FIPS-enabled operating systems do not allow `md5` to
268
+ be used.
269
+ impact: low
270
+ jira:
271
+ - TPA-832
272
+ - TPA-836
273
+ relnote: Make `password_encryption` algorithm for `efm` Postgres user configurable.
274
+ type: Enhancement
275
+ - details : >-
276
+ When using the `--hostnames-from` option to `tpaexec configure`, you can
277
+ now include two ip addresses on each line, which will be included in the
278
+ generated config.yml as public_ip and private_ip.
279
+ impact: low
280
+ jira:
281
+ - TPA-841
282
+ relnote: Allow multiple addresses to be supplied with hostnames
231
283
type: Enhancement
0 commit comments