Skip to content

Commit 00971a8

Browse files
committed
Final release notes and relgen fix
Signed-off-by: Dj Walker-Morgan <[email protected]>
1 parent 5373174 commit 00971a8

File tree

3 files changed

+175
-119
lines changed

3 files changed

+175
-119
lines changed

product_docs/docs/tpa/23/rel_notes/src/tpa_23.35_rel_notes.yml

Lines changed: 161 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -11,120 +11,123 @@ highlights: |
1111
- Support for RedHat Enterprise Linux 9 for ARM architectures.
1212
- Support for PostgreSQL, EDB Postgres Extended, and EDB Postgres Advanced Server 17.
1313
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
1717
impact: low
1818
jira:
1919
- TPA-762
2020
relnote: Remove deprecated `PermissionStartOnly` in postgres.service.j2 template
2121
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.
2627
impact: low
2728
jira:
2829
- TPA-819
2930
relnote: Fix tpaexec test for pgd-proxy config verification
3031
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.
3638
impact: low
3739
jira:
3840
- TPA-771
3941
relnote: Add `postgis` to list of recognized extensions
4042
type: Enhancement
41-
- details:
43+
- details: >-
4244
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.
5356
impact: low
5457
jira:
5558
- TPA-148
5659
- TPA-818
5760
relnote: The `barman` Postgres user is no longer a superuser
5861
type: Change
59-
- details:
62+
- details: >-
6063
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.
6569
impact: low
6670
jira:
6771
- TPA-821
6872
relnote: Add new option `harp_local_etcd_only` when using etcd with HARP
6973
type: Change
70-
addresses: 41931
71-
- details:
74+
- details: >-
7275
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.
7881
impact: low
7982
jira:
8083
- 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`
8287
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`.
9196
impact: low
9297
jira:
9398
- TPA-794
9499
relnote: Download correct `bash-completion` package version
95100
type: Bug Fix
96-
addresses: 38773
97-
- details:
101+
- details: >-
98102
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
103107
jira:
104108
- TPA-838
105109
relnote: Add support for PGD Lightweight architecture
106110
type: Enhancement
107-
- details:
111+
- details: >-
108112
TPA now clears the error message stack after each task to ensure messages
109113
are not spuriously repeated
110114
impact: low
111115
jira:
112116
- TPA-812
113-
relnote:
117+
relnote: >-
114118
Fix an issue whereby in some cases error messages would be repeated even
115119
after successful tasks.
116120
type: Bug Fix
117-
- details:
121+
- details: >-
118122
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.
121125
impact: low
122126
jira:
123127
- TPA-796
124128
relnote: Improve postgres-monitor script
125129
type: Change
126-
addresses: 39191
127-
- details:
130+
- details: >-
128131
Fixed an issue whereby new replicas in Patroni clusters would fail with
129132
errors related to replication slots.
130133
impact: low
@@ -133,99 +136,148 @@ relnotes:
133136
- TPA-781
134137
relnote: Fix issue that prevented the addition of replicas to Patroni clusters
135138
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
139143
include those nodes that have `efm` in their list of roles.
140144
impact: low
141145
jira:
142146
- TPA-817
143147
relnote: Only add nodes with `efm` role to cluster `efm.nodes` file
144148
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.
150154
impact: low
151155
jira:
152156
- TPA-793
153157
relnote: Add `pem-agent` role on barman nodes at most once for M1 architecture
154158
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.
158163
impact: low
159164
jira:
160165
- TPA-814
161166
relnote: Set `pem_python_executable` outside of the `pkg` role
162167
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.
168173
impact: low
169174
jira:
170175
- TPA-586
171176
relnote: Enable EFM probes when a PEM agent is registered on an EFM node
172177
type: Enhancement
173-
- details:
178+
- details: >-
174179
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
184189
jira:
185190
- TPA-366
186191
- TPA-836
187192
- TPA-837
188193
relnote: Support STIG/CIS compliance
189194
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
201207
jira:
202208
- TPA-261
203209
- TPA-407
204210
- TPA-434
205211
relnote: Have `configure` create a user-defined network on Docker
206212
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.
212220
impact: low
213221
jira:
214222
- TPA-780
215223
relnote: Support RedHat Enterprise Linux 9 for ARM architectures
216224
type: Enhancement
217-
- details:
225+
- details: >-
218226
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.
225234
impact: low
226235
jira:
227236
- 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
231283
type: Enhancement

0 commit comments

Comments
 (0)