)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5deae0ef4cc9eedfce02b12744fb48fa4c97ac7c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Co-Authored-By: Balazs Gibizer \u003cbalazs.gibizer@ericsson.com\u003e"},{"line_number":10,"context_line":"Co-Authored-By: Gábor Antal \u003cantal@inf.u-szeged.hu\u003e"},{"line_number":11,"context_line":"Change-Id: I10f120e4ff227f96d6c3fdd4a7123f13b84c4337"},{"line_number":12,"context_line":"Implements: bp versioned-notification-transformation-ocata"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"1a1ced50_a39f1b5e","line":12,"range":{"start_line":12,"start_character":53,"end_line":12,"end_character":58},"updated":"2017-03-17 10:58:56.000000000","message":"please move this to pike","commit_id":"efb9684843852beb50dd7b2a7fdfb8aa528df8bd"}],"doc/notification_samples/instance-trigger_crash_dump-end.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9418bdc9fdf0fd4a01fd3ea7b654296728c0ccf9","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        },"},{"line_number":69,"context_line":"        \"nova_object.name\":\"InstanceActionPayload\","},{"line_number":70,"context_line":"        \"nova_object.namespace\":\"nova\","},{"line_number":71,"context_line":"        \"nova_object.version\":\"1.2\""},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \"priority\":\"INFO\","},{"line_number":74,"context_line":"    \"publisher_id\":\"nova-compute:compute\""}],"source_content_type":"application/json","patch_set":33,"id":"3f4b6375_7d2bb02f","line":71,"updated":"2017-10-20 15:12:21.000000000","message":"This needs to be bumped","commit_id":"5dc2b9fa4fe44eae8244c9441beaa9b26b56b62d"},{"author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"change_message_id":"2ffd6afbbbb00005824ed1faeab73e4a86fed30c","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        },"},{"line_number":69,"context_line":"        \"nova_object.name\":\"InstanceActionPayload\","},{"line_number":70,"context_line":"        \"nova_object.namespace\":\"nova\","},{"line_number":71,"context_line":"        \"nova_object.version\":\"1.2\""},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \"priority\":\"INFO\","},{"line_number":74,"context_line":"    \"publisher_id\":\"nova-compute:compute\""}],"source_content_type":"application/json","patch_set":33,"id":"3f4b6375_41848e0c","line":71,"in_reply_to":"3f4b6375_7d2bb02f","updated":"2017-10-20 17:08:17.000000000","message":"Done","commit_id":"5dc2b9fa4fe44eae8244c9441beaa9b26b56b62d"}],"nova/tests/functional/notification_sample_tests/notification_sample_base.py":[{"author":{"_account_id":21239,"name":"Alex Szarka","email":"szarka@inf.u-szeged.hu","username":"xavvior"},"change_message_id":"f0d85a1ffe56db0759849269bd57679548b6853e","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                    if notification[\u0027event_type\u0027] \u003d\u003d event_type]"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def _wait_for_notification(self, event_type):"},{"line_number":196,"context_line":"        for i in range(20):"},{"line_number":197,"context_line":"            if self._get_notifications(event_type):"},{"line_number":198,"context_line":"                return"},{"line_number":199,"context_line":"            time.sleep(0.5)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_c768acbd","line":196,"range":{"start_line":196,"start_character":23,"end_line":196,"end_character":25},"updated":"2016-12-01 18:23:49.000000000","message":"this should depend on the argument\n    def _wait_for_notification(self, event_type, tries\u003d20):\n        for i in range(tries):","commit_id":"761f99dc9b9a6ca3e2ddca5fe902b84d3168cb5e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"79094da9874f74e101fef9d036736763aa21fda9","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                    if notification[\u0027event_type\u0027] \u003d\u003d event_type]"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def _wait_for_notification(self, event_type):"},{"line_number":196,"context_line":"        for i in range(20):"},{"line_number":197,"context_line":"            if self._get_notifications(event_type):"},{"line_number":198,"context_line":"                return"},{"line_number":199,"context_line":"            time.sleep(0.5)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_9296c94a","line":196,"range":{"start_line":196,"start_character":23,"end_line":196,"end_character":25},"in_reply_to":"3a71b18c_c768acbd","updated":"2016-12-02 11:20:59.000000000","message":"Let\u0027s create a separate patch that adds this utility as multiple ongoing patches needs this.","commit_id":"761f99dc9b9a6ca3e2ddca5fe902b84d3168cb5e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e6c7c27117ce6ed2eb244727e997613bf27fd329","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                api_version\u003d\u0027v2.1\u0027))"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.api \u003d api_fixture.api"},{"line_number":64,"context_line":"        self.api.microversion \u003d api_version_request._MAX_API_VERSION"},{"line_number":65,"context_line":"        self.admin_api \u003d api_fixture.admin_api"},{"line_number":66,"context_line":"        self.admin_api.microversion \u003d api_version_request._MAX_API_VERSION"},{"line_number":67,"context_line":"        fake_notifier.stub_notifier(self)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_1b4b475a","line":64,"range":{"start_line":64,"start_character":32,"end_line":64,"end_character":68},"updated":"2017-01-06 05:29:57.000000000","message":"It should be \u0027api_version_request.max_api_version().get_string()\u0027 like the following.\n\nhttps://github.com/openstack/nova/blob/120bdee5523637ab97b2525c578801dedca3538a/nova/tests/functional/api_sample_tests/test_versions.py#L26","commit_id":"b356f791d9c4e41e2042a3cc201cf38fa08ee04b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e6c7c27117ce6ed2eb244727e997613bf27fd329","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self.api \u003d api_fixture.api"},{"line_number":64,"context_line":"        self.api.microversion \u003d api_version_request._MAX_API_VERSION"},{"line_number":65,"context_line":"        self.admin_api \u003d api_fixture.admin_api"},{"line_number":66,"context_line":"        self.admin_api.microversion \u003d api_version_request._MAX_API_VERSION"},{"line_number":67,"context_line":"        fake_notifier.stub_notifier(self)"},{"line_number":68,"context_line":"        self.addCleanup(fake_notifier.reset)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_5b778f9f","line":66,"range":{"start_line":66,"start_character":38,"end_line":66,"end_character":74},"updated":"2017-01-06 05:29:57.000000000","message":"ditto","commit_id":"b356f791d9c4e41e2042a3cc201cf38fa08ee04b"},{"author":{"_account_id":21239,"name":"Alex Szarka","email":"szarka@inf.u-szeged.hu","username":"xavvior"},"change_message_id":"764fc8a7b46941fabe5dd56f8721f67732bed377","unresolved":false,"context_lines":[{"line_number":195,"context_line":"            received,"},{"line_number":196,"context_line":"            \u0027notification %s hasn\\\u0027t been received\u0027 % event_type)"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def _reset_api_microversions(self):"},{"line_number":199,"context_line":"        \"\"\"Resets api and admin_api microversions to None\"\"\""},{"line_number":200,"context_line":"        self.api.microversion \u003d None"},{"line_number":201,"context_line":"        self.admin_api.microversion \u003d None"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a3c09a3_63bd4b01","line":201,"range":{"start_line":198,"start_character":0,"end_line":201,"end_character":42},"updated":"2017-01-18 17:14:13.000000000","message":"Should make a new method, which set the api to maximum (or a fix API version) like as this.","commit_id":"08f7db55a3419eeb8be300c1ef499dc91eb4689d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5deae0ef4cc9eedfce02b12744fb48fa4c97ac7c","unresolved":false,"context_lines":[{"line_number":222,"context_line":"                         (event_type, expected_count, len(notifications),"},{"line_number":223,"context_line":"                          notifications))"},{"line_number":224,"context_line":"        return notifications"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _reset_api_microversions(self):"},{"line_number":227,"context_line":"        \"\"\"Resets api and admin_api microversions to None\"\"\""},{"line_number":228,"context_line":"        self.api.microversion \u003d None"},{"line_number":229,"context_line":"        self.admin_api.microversion \u003d None"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def _set_max_api_microversions(self):"},{"line_number":232,"context_line":"        self.api.microversion \u003d \\"},{"line_number":233,"context_line":"            api_version_request.max_api_version().get_string()"},{"line_number":234,"context_line":"        self.admin_api.microversion \u003d \\"},{"line_number":235,"context_line":"            api_version_request.max_api_version().get_string()"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a1ced50_e38e7326","line":235,"range":{"start_line":225,"start_character":0,"end_line":235,"end_character":62},"updated":"2017-03-17 10:58:56.000000000","message":"This will be unnecessary once I can land https://review.openstack.org/#/c/443686/","commit_id":"efb9684843852beb50dd7b2a7fdfb8aa528df8bd"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"683b8a8e8d0e9f4ff5949ba4b0c2784879290567","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        self.flags(reclaim_instance_interval\u003d0)"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    def _test_trigger_crash_dump(self, server):"},{"line_number":501,"context_line":"        post \u003d {\u0027trigger_crash_dump\u0027: {}}"},{"line_number":502,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"},{"line_number":503,"context_line":"        self._wait_for_state_change(self.api, server, \u0027ACTIVE\u0027)"},{"line_number":504,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_148bf368","line":501,"range":{"start_line":501,"start_character":38,"end_line":501,"end_character":40},"updated":"2016-11-11 13:19:16.000000000","message":"The API expected null (None) here","commit_id":"867932254acdc24361835e20e2cdef21f4d4afee"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"683b8a8e8d0e9f4ff5949ba4b0c2784879290567","unresolved":false,"context_lines":[{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    def _test_trigger_crash_dump(self, server):"},{"line_number":501,"context_line":"        post \u003d {\u0027trigger_crash_dump\u0027: {}}"},{"line_number":502,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"},{"line_number":503,"context_line":"        self._wait_for_state_change(self.api, server, \u0027ACTIVE\u0027)"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"        self.assertEqual(2, len(fake_notifier.VERSIONED_NOTIFICATIONS))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_54880b71","line":502,"updated":"2016-11-11 13:19:16.000000000","message":"The trigger_crash_dump action is introduced in microversion 2.17 so you have to use at least that microversion to be able to call the api.\n\nI suggest to simply change the microversion to the _MAX_API_VERSION in the NotificationSampleTestBase to make the solution generic and future proof.\n\ndiff --git a/nova/tests/functional/notification_sample_tests/notification_sample_base.py b/nova/tests/functional/notification_sample_tests/notification_sample_base.py\nindex f82bb64..79a4160 100644\n--- a/nova/tests/functional/notification_sample_tests/notification_sample_base.py\n+++ b/nova/tests/functional/notification_sample_tests/notification_sample_base.py\n@@ -21,6 +21,7 @@ from oslo_serialization import jsonutils\n from oslo_utils import fixture as utils_fixture\n \n from nova import test\n+from nova.api.openstack import api_version_request\n from nova.tests import fixtures as nova_fixtures\n from nova.tests.functional.api import client as api_client\n from nova.tests.functional import integrated_helpers\n@@ -63,7 +64,9 @@ class NotificationSampleTestBase(test.TestCase,\n                 api_version\u003d\u0027v2.1\u0027))\n \n         self.api \u003d api_fixture.api\n+        self.api.microversion \u003d api_version_request._MAX_API_VERSION\n         self.admin_api \u003d api_fixture.admin_api\n+        self.admin_api.microversion \u003d api_version_request._MAX_API_VERSION\n         fake_notifier.stub_notifier(self)\n         self.addCleanup(fake_notifier.reset)","commit_id":"867932254acdc24361835e20e2cdef21f4d4afee"},{"author":{"_account_id":21239,"name":"Alex Szarka","email":"szarka@inf.u-szeged.hu","username":"xavvior"},"change_message_id":"764fc8a7b46941fabe5dd56f8721f67732bed377","unresolved":false,"context_lines":[{"line_number":12,"context_line":"import mock"},{"line_number":13,"context_line":"import time"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from nova.api.openstack import api_version_request"},{"line_number":16,"context_line":"from nova import context"},{"line_number":17,"context_line":"from nova import exception"},{"line_number":18,"context_line":"from nova.tests import fixtures"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a3c09a3_834f9732","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":50},"updated":"2017-01-18 17:14:13.000000000","message":"This became unnecessary if we centralize to a file the api_version setting.","commit_id":"08f7db55a3419eeb8be300c1ef499dc91eb4689d"},{"author":{"_account_id":21239,"name":"Alex Szarka","email":"szarka@inf.u-szeged.hu","username":"xavvior"},"change_message_id":"764fc8a7b46941fabe5dd56f8721f67732bed377","unresolved":false,"context_lines":[{"line_number":597,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[3])"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"    def _test_trigger_crash_dump(self, server):"},{"line_number":600,"context_line":"        self.api.microversion \u003d \\"},{"line_number":601,"context_line":"            api_version_request.max_api_version().get_string()"},{"line_number":602,"context_line":"        self.admin_api.microversion \u003d \\"},{"line_number":603,"context_line":"            api_version_request.max_api_version().get_string()"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"        post \u003d {\u0027trigger_crash_dump\u0027: None}"},{"line_number":606,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a3c09a3_8399577b","line":603,"range":{"start_line":600,"start_character":0,"end_line":603,"end_character":62},"updated":"2017-01-18 17:14:13.000000000","message":"This became easier, if we have a new method (e.g.: \nself._set_api_microversion_to_max()\n)\n\n    def _test_trigger_crash_dump(self, server):\n        self._set_max_api_microversion()\n        post \u003d {\u0027trigger_crash_dump\u0027: None}\n        self.api.post_server_action(server[\u0027id\u0027], post)\n        ...\n        self._reset_api_microversions()","commit_id":"08f7db55a3419eeb8be300c1ef499dc91eb4689d"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"0ecf8263b93e58856d4c7f2ea4c664737461e580","unresolved":false,"context_lines":[{"line_number":648,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":649,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":650,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":651,"context_line":"        self._wait_for_state_change(self.admin_api, server, \u0027ACTIVE\u0027)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    @mock.patch(\u0027nova.virt.fake.SmallFakeDriver.reboot\u0027)"},{"line_number":654,"context_line":"    def _test_reboot_server_error(self, server, mock_reboot):"}],"source_content_type":"text/x-python","patch_set":21,"id":"1a1ced50_9ce57e39","line":651,"range":{"start_line":651,"start_character":7,"end_line":651,"end_character":69},"updated":"2017-03-22 10:56:43.000000000","message":"This change is not related to _test_trigger_crash_dump. I have checked this bug, and report it, then we should fix it.","commit_id":"a836e538fb467e4052a1f86e9a94878af28e177c"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"0ecf8263b93e58856d4c7f2ea4c664737461e580","unresolved":false,"context_lines":[{"line_number":672,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":673,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":674,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":675,"context_line":"        self._wait_for_state_change(self.admin_api, server, \u0027ACTIVE\u0027)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"    def _attach_volume_to_server(self, server, volume_id):"},{"line_number":678,"context_line":"        self.api.post_server_volume("}],"source_content_type":"text/x-python","patch_set":21,"id":"1a1ced50_fcd6724d","line":675,"range":{"start_line":675,"start_character":0,"end_line":675,"end_character":69},"updated":"2017-03-22 10:56:43.000000000","message":"ditto","commit_id":"a836e538fb467e4052a1f86e9a94878af28e177c"}]}
