diff --git a/oci/remote/oci_stack_native.py b/oci/remote/oci_stack_native.py index adbf6dda..9c7d238d 100644 --- a/oci/remote/oci_stack_native.py +++ b/oci/remote/oci_stack_native.py @@ -410,7 +410,7 @@ class NativeAdapter: if Path('/etc/pve/lxc/%s.conf' % vmid).exists(): member_tx.stop(vmid) - def backup(self, vmid, identity): + def backup(self, vmid, transaction_id): self.validate(self.plan) base = self.work_base() if base != self.journal.parent and not (self.journal.parent / work_backup.MARK).exists(): @@ -420,7 +420,7 @@ class NativeAdapter: f"{self.records[self.plan['primary_vmid']]['deployment'].get(work_backup.KEY)}") directory = base / ('backup-%s' % vmid) private_directory(directory) - config = member_tx.owned(vmid, identity).decode() + config = member_tx.owned(vmid, self.records[vmid]['installation_id']).decode() carried.carry_backup(self.root, vmid, self.records[vmid], config) archive = member_tx.verified_backup(vmid, directory, 'zstd', translate('The backup of a member could not be identified')) diff --git a/oci/tests/test_stack_backup_carried_metadata.py b/oci/tests/test_stack_backup_carried_metadata.py index 02cc3558..a8c702b7 100644 --- a/oci/tests/test_stack_backup_carried_metadata.py +++ b/oci/tests/test_stack_backup_carried_metadata.py @@ -17,7 +17,7 @@ class StackBackupCarriedMetadataTests(unittest.TestCase): adapter.records={4901:{'vmid':4901,'installation_id':'original','status':'installed'}} return adapter - def test_restore_metadata_is_verified_before_archive_creation(self): + def test_transaction_id_does_not_replace_container_identity_before_archive_creation(self): with tempfile.TemporaryDirectory() as folder: adapter=self.adapter(folder);events=[] archive=Path(folder)/'archive.tar.zst' @@ -26,7 +26,7 @@ class StackBackupCarriedMetadataTests(unittest.TestCase): patch.object(native.carried,'carry_backup',side_effect=lambda *args:events.append(('carry',args)),create=True), \ patch.object(native.member_tx,'verified_backup',side_effect=lambda *args:events.append(('backup',args)) or archive), \ patch.object(native.member_tx,'filehash',return_value='verified-sha'): - result=adapter.backup(4901,'original') + result=adapter.backup(4901,'different-transaction-id') owned.assert_called_once_with(4901,'original') self.assertEqual([event[0] for event in events],['carry','backup']) self.assertEqual(events[0][1],(adapter.root,4901,adapter.records[4901],'validated original config')) @@ -40,5 +40,5 @@ class StackBackupCarriedMetadataTests(unittest.TestCase): patch.object(native.carried,'carry_backup',side_effect=ValueError('metadata not verified'),create=True), \ patch.object(native.member_tx,'verified_backup') as backup: with self.assertRaisesRegex(ValueError,'metadata not verified'): - adapter.backup(4901,'original') + adapter.backup(4901,'different-transaction-id') backup.assert_not_called()