New features
-
Added pgBackRest support (#40)
Create/Clone Patroni clusters from your existing backups with pgBackRest
With support of point-in-time recovery, PITR
See more details https://github.com/vitabaks/postgresql_cluster#restore-and-cloning -
Compatibility with Postgres Pro Standard (#38, #39)
all supported versions. Tested on centos, debian, ubuntu. -
New role: "resolv_conf". Adds entries of DNS server(s) into /etc/resolv.conf (4f3521b, cccbc53)
variablenameservers
(in vars/system.yml) -
New role "etc_hosts". Adds entries into /etc/hosts file for postgresql_cluster nodes (427f4e9).
variable:etc_hosts
(in vars/system.yml) -
Install Software Collections (SCL) repository for RHEL 7 (cc24028)
variableinstall_scl_repo: true
(in vars/RedHat.yml) -
Support for switch from scheme TypeB to TypeA (#43 thanks @jidckii )
variablevip_manager_disable
(in playbook balancers.yml)
Enhancements
- generate virtual_router_id based on the last octet of cluster_vip (802ff58).
- vip-manager: release VIP when vip-manager service is stopped. Use ExecStopPost=/sbin/ip addr del (0a673a7 thanks @jidckii ).
- vip-manager: new variables -
vip_manager_ip, vip_manager_mask, vip_manager_iface
(9fee9e7). - roles for etcd and balancers moved to separate playbooks. Added play-level condition (9d37642, 4657354)
- new variable
sysctl_set
(11861a5)
allows to disable the task of configuring kernel parameters. - clean yum cache before install packages for RHEL (6004598).
- wait for the patroni is healthy on the replica servers after starting the patroni service (284dc07, ce13be2).
- pgbouncer - generate userlist.txt from pg_shadow (596b25d).
- added minimal_ansible_version check (89812fa).
minimal_ansible_version: 2.7.0 - ansible-role-firewall: updated to version 2.5.0 (0df73e2).
- update etcd to version 3.3.23 (3c2a1ab).
- requirements.txt - added python modules "pexpect" and "ruamel.yaml". Required for PITR (c5e6604).
- PITR (custom bootstrap) - disable archive_command (e6edeaa).
Fixes
- sysctl: fix Jinja2 warning (50e1d4b).
- sysctl: make sure handlers are flushed immediately (8bc0db7).
- ntp: fix flush_handlers warning (94e56d1)
- pgbouncer: fix flush_handlers warning (0f4fbbe).
- etcd: make sure handlers are flushed immediately (1fd74af).
- patroni.yml.j2 - fixed yamllint warnings and errors (825d88b).
- ansible-role-firewall: fix error during deployment when execute tasks:
"Check if ufw package is installed (on Ubuntu)" (8cf7e30).
"Check if firewalld package is installed (on RHEL)"(7120f8d). - run playbook "balancers.yml" after the "hostname" role is played (46010aa).
- fix error with create extensions on PostgresPro (a20599c, 1daaea0).
Tests
- Added CI "Molecule" on GitHub Actions for etcd_cluster and postgres_cluster (#37).
tests of deploying a patroni cluster on distro: debian9/10, ubuntu1804/2004, centos7/8. - Daily scheduled cluster deploy tests with Molecule (7d3903c)
for each supported Linux distro. - Added Molecule test for PostgresPro (scheduled - weekly)
EOL
Debian 8 removed from the list of supported versions (end of life on June 30, 2020) (804b938).