Sometimes, when migration fails, it is hard to find out
the cause of the problems: you have to grep qemu logs.
At the same time, there is MIGRATION event, which looks like
suitable place to hold such error descriptions.
To handle situation like this (maybe one day it will be useful
for other MIGRATION statuses to have additional 'reason' strings),
the general optional field 'reason' can be added.
The series proposes next changes:
1. Adding optional 'reason' field of type str into
qapi/migration.json MIGRATION event
2. Passing some error description as reason for every place, which
sets migration state to MIGRATION_STATUS_FAILED
After the series, MIGRATION event will looks like this:
{"execute": "qmp_capabilities"}
{"return": {}}
{"event": "MIGRATION", "data": {"status": "setup"}}
{"event": "MIGRATION", "data": {"status": "failed", "reason": "Failed to connect to '/tmp/sock.sock': No such file or directory"}}
Roman Khapov (2):
qapi/migration.json: add reason to MIGRATION event
migration: add error reason for failed MIGRATION events
migration/colo.c | 6 +-
migration/migration.c | 127 ++++++++++++++++++++++++++++--------------
migration/migration.h | 5 +-
migration/multifd.c | 10 ++--
migration/savevm.c | 24 ++++----
qapi/migration.json | 3 +-
6 files changed, 111 insertions(+), 64 deletions(-)
--
2.34.1