Fix instance_action_events response schema for finish_time and result

An instance action event's finish_time and result can be None when
the event is not yet completed. This is common in Nova. The nova-api
service creates the instance action record and the nova-compute service
has a method which performs the actual operation on the server
instance. The method in the compute is wrapped with an EventReporter
decorator which records the event start and finish times. So until
the event (operation) is complete, the event finish_time and result
are  going to be None.

Change-Id: I964d9170ca7f038e9ab968e119f03fbe9efae588
Closes-Bug: #1702758
diff --git a/tempest/lib/api_schema/response/compute/v2_1/servers.py b/tempest/lib/api_schema/response/compute/v2_1/servers.py
index 7360396..2954de0 100644
--- a/tempest/lib/api_schema/response/compute/v2_1/servers.py
+++ b/tempest/lib/api_schema/response/compute/v2_1/servers.py
@@ -420,8 +420,13 @@
         'properties': {
             'event': {'type': 'string'},
             'start_time': parameter_types.date_time,
-            'finish_time': parameter_types.date_time,
-            'result': {'type': 'string'},
+            # The finish_time, result and optionally traceback are all
+            # possibly None (null) until the event is actually finished.
+            # The traceback would only be set if there was an error, but
+            # when the event is complete both finish_time and result will
+            # be set.
+            'finish_time': parameter_types.date_time_or_null,
+            'result': {'type': ['string', 'null']},
             'traceback': {'type': ['string', 'null']}
         },
         'additionalProperties': False,