Eric Blake <ebl...@redhat.com> writes: > On 06/03/2018 12:05 AM, Zhang Chen wrote: >> From: zhanghailiang <zhang.zhanghaili...@huawei.com> >> >> If some errors happen during VM's COLO FT stage, it's important to >> notify the users of this event. Together with 'x-colo-lost-heartbeat', >> Users can intervene in COLO's failover work immediately. >> If users don't want to get involved in COLO's failover verdict, >> it is still necessary to notify users that we exited COLO mode. >> >> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> >> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> >> Signed-off-by: Zhang Chen <zhangc...@gmail.com> >> Reviewed-by: Eric Blake <ebl...@redhat.com> >> --- >> migration/colo.c | 31 +++++++++++++++++++++++++++++++ >> qapi/migration.json | 38 ++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 69 insertions(+) >> >> diff --git a/migration/colo.c b/migration/colo.c >> index c083d3696f..bedb677788 100644 >> --- a/migration/colo.c > >> + /* >> + * There are only two reasons we can go here, some error happened. >> + * Or the user triggered failover. > > s/go here/get here/ > s/happened. Or/happened, or/ > >> +++ b/qapi/migration.json >> @@ -880,6 +880,44 @@ >> { 'enum': 'FailoverStatus', >> 'data': [ 'none', 'require', 'active', 'completed', 'relaunch' ] } >> +## >> +# @COLO_EXIT: >> +# >> +# Emitted when VM finishes COLO mode due to some errors happening or >> +# at the request of users. >> +# >> +# @mode: report COLO mode when COLO exited. >> +# >> +# @reason: describes the reason for the COLO exit. >> +# >> +# Since: 2.13 > > s/2.13/3.0/ > >> +# >> +# Example: >> +# >> +# <- { "timestamp": {"seconds": 2032141960, "microseconds": 417172}, >> +# "event": "COLO_EXIT", "data": {"mode": "primary", "reason": >> "request" } } >> +# >> +## >> +{ 'event': 'COLO_EXIT', >> + 'data': {'mode': 'COLOMode', 'reason': 'COLOExitReason' } } >> + >> +## >> +# @COLOExitReason: >> +# >> +# The reason for a COLO exit >> +# >> +# @none: no failover has ever happened, This can't occur in the COLO_EXIT >> event, > > s/happened,/happened./
While there, wrap the line around column 70, please. >> +# only in the result of query-colo-status. >> +# >> +# @request: COLO exit is due to an external request >> +# >> +# @error: COLO exit is due to an internal error >> +# >> +# Since: 2.13 > > s/2.13/3.0/ > >> +## >> +{ 'enum': 'COLOExitReason', >> + 'data': [ 'none', 'request', 'error' ] } >> + >> ## >> # @x-colo-lost-heartbeat: >> # >> With these touch-ups: Reviewed-by: Markus Armbruster <arm...@redhat.com>