testgres-pg-probackup2 0.2.2__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/PKG-INFO +1 -1
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/pg_probackup2/app.py +25 -8
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/setup.py +1 -1
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/testgres_pg_probackup2.egg-info/PKG-INFO +1 -1
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/README.md +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/pg_probackup2/__init__.py +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/pg_probackup2/gdb.py +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/pg_probackup2/init_helpers.py +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/pg_probackup2/storage/__init__.py +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/pg_probackup2/storage/fs_backup.py +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/setup.cfg +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/testgres_pg_probackup2.egg-info/SOURCES.txt +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/testgres_pg_probackup2.egg-info/dependency_links.txt +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/testgres_pg_probackup2.egg-info/requires.txt +0 -0
- {testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/testgres_pg_probackup2.egg-info/top_level.txt +0 -0
|
@@ -64,7 +64,10 @@ class ProbackupApp:
|
|
|
64
64
|
self.valgrind_sup_path = init_params.valgrind_sup_path
|
|
65
65
|
|
|
66
66
|
def form_daemon_process(self, cmdline, env):
|
|
67
|
-
|
|
67
|
+
if self.test_class.output is None:
|
|
68
|
+
self.test_class.output = str()
|
|
69
|
+
|
|
70
|
+
def stream_output(stream) -> None:
|
|
68
71
|
try:
|
|
69
72
|
for line in iter(stream.readline, ''):
|
|
70
73
|
print(line)
|
|
@@ -82,11 +85,11 @@ class ProbackupApp:
|
|
|
82
85
|
logging.info(f"Process started in background with PID: {self.process.pid}")
|
|
83
86
|
|
|
84
87
|
if self.process.stdout and self.process.stderr:
|
|
85
|
-
stdout_thread = threading.Thread(target=stream_output, args=(self.process.stdout,), daemon=True)
|
|
86
|
-
stderr_thread = threading.Thread(target=stream_output, args=(self.process.stderr,), daemon=True)
|
|
88
|
+
self.stdout_thread = threading.Thread(target=stream_output, args=(self.process.stdout,), daemon=True)
|
|
89
|
+
self.stderr_thread = threading.Thread(target=stream_output, args=(self.process.stderr,), daemon=True)
|
|
87
90
|
|
|
88
|
-
stdout_thread.start()
|
|
89
|
-
stderr_thread.start()
|
|
91
|
+
self.stdout_thread.start()
|
|
92
|
+
self.stderr_thread.start()
|
|
90
93
|
|
|
91
94
|
return self.process.pid
|
|
92
95
|
|
|
@@ -195,7 +198,14 @@ class ProbackupApp:
|
|
|
195
198
|
# Execute command
|
|
196
199
|
start_time = time.time()
|
|
197
200
|
if daemonize:
|
|
198
|
-
|
|
201
|
+
pid = self.form_daemon_process(cmdline, env)
|
|
202
|
+
if expect_error:
|
|
203
|
+
_timeout = 120
|
|
204
|
+
if self.stdout_thread:
|
|
205
|
+
self.stdout_thread.join(_timeout)
|
|
206
|
+
if self.stderr_thread:
|
|
207
|
+
self.stderr_thread.join(_timeout)
|
|
208
|
+
return pid
|
|
199
209
|
else:
|
|
200
210
|
self.test_class.output = subprocess.check_output(
|
|
201
211
|
cmdline,
|
|
@@ -561,7 +571,7 @@ class ProbackupApp:
|
|
|
561
571
|
backup_list.append(backup)
|
|
562
572
|
|
|
563
573
|
if backup_id is not None:
|
|
564
|
-
|
|
574
|
+
raise RuntimeError("Failed to find backup with ID: {0}".format(backup_id))
|
|
565
575
|
|
|
566
576
|
return backup_list
|
|
567
577
|
else:
|
|
@@ -619,7 +629,7 @@ class ProbackupApp:
|
|
|
619
629
|
specific_record[name.strip()] = var
|
|
620
630
|
|
|
621
631
|
if not specific_record:
|
|
622
|
-
|
|
632
|
+
raise RuntimeError("Failed to find backup with ID: {0}".format(backup_id))
|
|
623
633
|
|
|
624
634
|
return specific_record
|
|
625
635
|
|
|
@@ -768,6 +778,13 @@ class ProbackupApp:
|
|
|
768
778
|
log_level=False, archive_timeout=False,
|
|
769
779
|
custom_archive_command=None):
|
|
770
780
|
|
|
781
|
+
# check instance existing
|
|
782
|
+
instances_json = self.show(instance=None, as_json=True, expect_error=False, as_text=True)
|
|
783
|
+
instances_data = json.loads(instances_json)
|
|
784
|
+
if not any(inst_data.get('instance') == instance for inst_data in instances_data):
|
|
785
|
+
raise RuntimeError("Instance '{0}' does not exist. " \
|
|
786
|
+
"Please add the instance first using add_instance() or init_pb_node().".format(instance))
|
|
787
|
+
|
|
771
788
|
# parse postgresql.auto.conf
|
|
772
789
|
options = {}
|
|
773
790
|
if replica:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/pg_probackup2/storage/__init__.py
RENAMED
|
File without changes
|
{testgres_pg_probackup2-0.2.2 → testgres_pg_probackup2-0.4.0}/pg_probackup2/storage/fs_backup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|