[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/3] UUID validation during migration
From: |
Yury Kotov |
Subject: |
[Qemu-devel] [PATCH 0/3] UUID validation during migration |
Date: |
Tue, 27 Aug 2019 15:02:18 +0300 |
Hi,
This series adds an UUID validation at the start of the migration
on the target side. The idea is to identify the source of migration.
Possible case of problem:
1. There are 3 servers: A, B and C
2. Server A has a VM 1, server B has a VM 2
3. VM 1 and VM 2 want to migrate to the server C
4. Target of VM 1 starts on the server C and dies too quickly for some reason
5. Target of VM 2 starts just after that and listen the same tcp port X, which
the target of VM 1 wanted to use
6. Source of VM 1 connects to the tcp port X, and migrates to VM 2 source
7. It's possible that migration might be successful (e.g., devices are the same)
8. So, the target of VM 2 is in undefined state
The series adds a capability to prevent successful (by mistake) migration.
The new capability x-validate-uuid only affects the source so that it sends
its UUID to the target. The target will validate the received UUID and stop
the migration if UUIDs are not equal.
Regards,
Yury
Yury Kotov (3):
migration: Add x-validate-uuid capability
tests/libqtest: Allow to set expected exit status
tests/migration: Add a test for x-validate-uuid capability
migration/migration.c | 9 +++
migration/migration.h | 1 +
migration/savevm.c | 45 +++++++++++++
qapi/migration.json | 5 +-
tests/libqtest.c | 14 ++++-
tests/libqtest.h | 9 +++
tests/migration-test.c | 140 ++++++++++++++++++++++++++++++++---------
7 files changed, 189 insertions(+), 34 deletions(-)
--
2.22.0