* debian/patches/acceptance_tests_speedup.patch: New patch, reduces loop_wait

to 2 thus speeding up the behave tests, taken from upstream commit ead798.
This commit is contained in:
Michael Banck 2022-07-29 15:30:37 +02:00
parent bb19fd1462
commit e15c7c0b60
3 changed files with 103 additions and 0 deletions

2
debian/changelog vendored
View file

@ -5,6 +5,8 @@ patroni (2.1.4-2) UNRELEASED; urgency=medium
patch, avoids streaming a backup of the primary's postgresql.conf file patch, avoids streaming a backup of the primary's postgresql.conf file
during bootstrap, overwriting the standby's postgresql.base.conf and during bootstrap, overwriting the standby's postgresql.base.conf and
possible preventing PostgreSQL to start up. possible preventing PostgreSQL to start up.
* debian/patches/acceptance_tests_speedup.patch: New patch, reduces loop_wait
to 2 thus speeding up the behave tests, taken from upstream commit ead798.
-- Debian PostgreSQL Maintainers <team+postgresql@tracker.debian.org> Thu, 02 Jun 2022 16:59:30 +0200 -- Debian PostgreSQL Maintainers <team+postgresql@tracker.debian.org> Thu, 02 Jun 2022 16:59:30 +0200

View file

@ -0,0 +1,100 @@
commit ead798d9ac0d9dbf4b0de7f14fdfe38397790f49
Author: Alexander Kukushkin <alexander.kukushkin@zalando.de>
Date: Mon Jul 18 15:23:55 2022 +0200
Speed up behave tests by always using loop_wait=2 (#2361)
run time is reduced from ~5m30s to ~5m
diff --git a/features/basic_replication.feature b/features/basic_replication.feature
index 3aaeada..2c01a92 100644
--- a/features/basic_replication.feature
+++ b/features/basic_replication.feature
@@ -5,7 +5,7 @@ Feature: basic replication
Given I start postgres0
Then postgres0 is a leader after 10 seconds
And there is a non empty initialize key in DCS after 15 seconds
- When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "loop_wait": 2, "synchronous_mode": true}
+ When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true}
Then I receive a response code 200
When I start postgres1
And I configure and start postgres2 with a tag replicatefrom postgres0
diff --git a/features/environment.py b/features/environment.py
index 3cb1c53..eb30745 100644
--- a/features/environment.py
+++ b/features/environment.py
@@ -181,7 +181,7 @@ class PatroniController(AbstractController):
config['postgresql']['data_dir'] = self._data_dir
config['postgresql']['basebackup'] = [{'checkpoint': 'fast'}]
config['postgresql']['use_unix_socket'] = os.name != 'nt' # windows doesn't yet support unix-domain sockets
- config['postgresql']['use_unix_socket_repl'] = os.name != 'nt' # windows doesn't yet support unix-domain sockets
+ config['postgresql']['use_unix_socket_repl'] = os.name != 'nt'
config['postgresql']['pgpass'] = os.path.join(tempfile.gettempdir(), 'pgpass_' + name)
config['postgresql']['parameters'].update({
'logging_collector': 'on', 'log_destination': 'csvlog', 'log_directory': self._output_dir,
@@ -197,7 +197,7 @@ class PatroniController(AbstractController):
self.recursive_update(config, custom_config)
self.recursive_update(config, {
- 'bootstrap': {'dcs': {'postgresql': {'parameters': {'wal_keep_segments': 100}}}}})
+ 'bootstrap': {'dcs': {'loop_wait': 2, 'postgresql': {'parameters': {'wal_keep_segments': 100}}}}})
if config['postgresql'].get('callbacks', {}).get('on_role_change'):
config['postgresql']['callbacks']['on_role_change'] += ' ' + str(self.__PORT)
@@ -626,7 +626,8 @@ class RaftController(AbstractDcsController):
self.start()
ready_event = threading.Event()
- self._raft = KVStoreTTL(ready_event.set, None, None, partner_addrs=[self.CONTROLLER_ADDR], password=self.PASSWORD)
+ self._raft = KVStoreTTL(ready_event.set, None, None,
+ partner_addrs=[self.CONTROLLER_ADDR], password=self.PASSWORD)
self._raft.startAutoTick()
ready_event.wait()
diff --git a/features/ignored_slots.feature b/features/ignored_slots.feature
index cb6dbf7..abaaef7 100644
--- a/features/ignored_slots.feature
+++ b/features/ignored_slots.feature
@@ -3,7 +3,7 @@ Feature: ignored slots
Given I start postgres1
Then postgres1 is a leader after 10 seconds
And there is a non empty initialize key in DCS after 15 seconds
- When I issue a PATCH request to http://127.0.0.1:8009/config with {"loop_wait": 2, "ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}}
+ When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}}
Then I receive a response code 200
And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds
# Make sure the wal_level has been changed.
diff --git a/features/patroni_api.feature b/features/patroni_api.feature
index 5078ea1..ade9220 100644
--- a/features/patroni_api.feature
+++ b/features/patroni_api.feature
@@ -35,13 +35,13 @@ Scenario: check local configuration reload
Then I receive a response code 202
Scenario: check dynamic configuration change via DCS
- Given I run patronictl.py edit-config -s 'ttl=10' -s 'loop_wait=2' -p 'max_connections=101' --force batman
+ Given I run patronictl.py edit-config -s 'ttl=10' -p 'max_connections=101' --force batman
Then I receive a response returncode 0
- And I receive a response output "+loop_wait: 2"
+ And I receive a response output "+ttl: 10"
And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds
When I issue a GET request to http://127.0.0.1:8008/config
Then I receive a response code 200
- And I receive a response loop_wait 2
+ And I receive a response ttl 10
When I issue a GET request to http://127.0.0.1:8008/patroni
Then I receive a response code 200
And I receive a response tags {'new_tag': 'new_value'}
diff --git a/features/standby_cluster.feature b/features/standby_cluster.feature
index 82a800b..5333b5d 100644
--- a/features/standby_cluster.feature
+++ b/features/standby_cluster.feature
@@ -3,7 +3,7 @@ Feature: standby cluster
Given I start postgres1
Then postgres1 is a leader after 10 seconds
And there is a non empty initialize key in DCS after 15 seconds
- When I issue a PATCH request to http://127.0.0.1:8009/config with {"loop_wait": 2, "slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}}
+ When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}}
Then I receive a response code 200
And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds
And I sleep for 3 seconds

View file

@ -5,3 +5,4 @@ offline_intersphinx.patch
requirements_cdiff.patch requirements_cdiff.patch
regression_tests_disable_raft_tests.py regression_tests_disable_raft_tests.py
avoid_overwriting_configuration_during_boostrap.patch avoid_overwriting_configuration_during_boostrap.patch
acceptance_tests_speedup.patch