)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8089c4e806509fc60de0974b55602a243f575910","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Transform instance.finish_resize notifications"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The instance.finish_resize.start and instance.finish_resize.end"},{"line_number":10,"context_line":"notifications are transformed to the versioned framework."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I2ca79040a91368212fdf50593ef012a669a4a12a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba5da102_a311e8ae","line":9,"updated":"2016-10-27 13:10:38.000000000","message":"The legacy notification is called finish_resize but all the other resize related notifications are called resize_\u003csomething\u003e e.g. resize_confirm, resize_revert. So I suggest to use resize_finish as the action in the event type in the versioned notification to create consistent naming.\n\nThe burndown is still tells the legacy value but it can be fixed.","commit_id":"463e2a3c3d891789a3c3025c0595b8ab7d0a9d72"}],"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2c52e2b3d7cb4cbd85dad24007a576ce00fdfc1f","unresolved":false,"context_lines":[{"line_number":3881,"context_line":"                                                 instance,"},{"line_number":3882,"context_line":"                                                 migration_p)"},{"line_number":3883,"context_line":""},{"line_number":3884,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(context, instance)"},{"line_number":3885,"context_line":""},{"line_number":3886,"context_line":"        instance.task_state \u003d task_states.RESIZE_FINISH"},{"line_number":3887,"context_line":"        instance.save(expected_task_state\u003dtask_states.RESIZE_MIGRATED)"},{"line_number":3888,"context_line":""},{"line_number":3889,"context_line":"        self._notify_about_instance_usage("},{"line_number":3890,"context_line":"            context, instance, \"finish_resize.start\","},{"line_number":3891,"context_line":"            network_info\u003dnetwork_info)"},{"line_number":3892,"context_line":"        compute_utils.notify_about_instance_action(context, instance,"},{"line_number":3893,"context_line":"               self.host, action\u003dfields.NotificationAction.RESIZE_FINISH,"},{"line_number":3894,"context_line":"               phase\u003dfields.NotificationPhase.START)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_05734081","line":3891,"range":{"start_line":3884,"start_character":8,"end_line":3891,"end_character":38},"updated":"2016-11-22 21:08:21.000000000","message":"Interesting, so in the legacy notification we pass in the latest network info for the instance. With the new versioned notification we\u0027re getting the network info from the instance.info_cache. Maybe the legacy notification was just sending network_info here because it was in scope. Looking at the legacy notification call chain, if network_info isn\u0027t passed in to compute_utils.notify_about_instance_usage then we just don\u0027t send that info, even though we could use the instance.info_cache. Seems odd. Either way, we\u0027re probably OK just passing the instance info_cache for the versioned notification, but it was something that caught my eye.","commit_id":"be3fd216f58475e2b976fddf293a6896a5a6f68e"}],"nova/notifications/objects/instance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8089c4e806509fc60de0974b55602a243f575910","unresolved":false,"context_lines":[{"line_number":251,"context_line":"# @base.notification_sample(\u0027instance-unpause-end.json\u0027)"},{"line_number":252,"context_line":"@base.notification_sample(\u0027instance-resize-start.json\u0027)"},{"line_number":253,"context_line":"@base.notification_sample(\u0027instance-resize-end.json\u0027)"},{"line_number":254,"context_line":"@base.notification_sample(\u0027instance-finish_resize-start.json\u0027)"},{"line_number":255,"context_line":"@base.notification_sample(\u0027instance-finish_resize-end.json\u0027)"},{"line_number":256,"context_line":"@base.notification_sample(\u0027instance-suspend-start.json\u0027)"},{"line_number":257,"context_line":"@base.notification_sample(\u0027instance-suspend-end.json\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5da102_43dd6c13","line":254,"updated":"2016-10-27 13:10:38.000000000","message":"there is resize_finish already pre-added.","commit_id":"463e2a3c3d891789a3c3025c0595b8ab7d0a9d72"}],"nova/objects/fields.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8089c4e806509fc60de0974b55602a243f575910","unresolved":false,"context_lines":[{"line_number":502,"context_line":"    PAUSE \u003d \u0027pause\u0027"},{"line_number":503,"context_line":"    UNPAUSE \u003d \u0027unpause\u0027"},{"line_number":504,"context_line":"    RESIZE \u003d \u0027resize\u0027"},{"line_number":505,"context_line":"    FINISH_RESIZE \u003d \u0027finish_resize\u0027"},{"line_number":506,"context_line":"    VOLUME_SWAP \u003d \u0027volume_swap\u0027"},{"line_number":507,"context_line":"    SUSPEND \u003d \u0027suspend\u0027"},{"line_number":508,"context_line":"    POWER_ON \u003d \u0027power_on\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5da102_03ae1485","line":505,"updated":"2016-10-27 13:10:38.000000000","message":"There is a RESIZE_FINISH enum value already I suggest to use that.","commit_id":"463e2a3c3d891789a3c3025c0595b8ab7d0a9d72"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7e6ed45ce6b91063641533c150ac230892d211c5","unresolved":false,"context_lines":[{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    def _test_resize_server(self, server):"},{"line_number":369,"context_line":"        self.flags(allow_resize_to_same_host\u003dTrue)"},{"line_number":370,"context_line":"        other_flavor_body \u003d \\"},{"line_number":371,"context_line":"            {\u0027flavor\u0027: {\u0027name\u0027: \u0027other_flavor\u0027,"},{"line_number":372,"context_line":"                        \u0027ram\u0027: 256,"},{"line_number":373,"context_line":"                        \u0027vcpus\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_acbfdea8","line":370,"updated":"2016-11-22 19:10:17.000000000","message":"femto-nit: instead of using a \\ line-continuation character, you could simply place the { on the first line, like so:\n\n other_flavor_body \u003d {\n     \u0027flavor\u0027: {\n         \u0027name\u0027: ...\n     }\n }","commit_id":"be3fd216f58475e2b976fddf293a6896a5a6f68e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7e6ed45ce6b91063641533c150ac230892d211c5","unresolved":false,"context_lines":[{"line_number":375,"context_line":"                        \u0027id\u0027: \u0027d5a8bb54-365a-45ae-abdb-38d249df7845\u0027}}"},{"line_number":376,"context_line":"        other_flavor_id \u003d self.api.post_flavor(other_flavor_body)[\u0027id\u0027]"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        post \u003d {"},{"line_number":379,"context_line":"            \u0027resize\u0027: {\u0027flavorRef\u0027: other_flavor_id}}"},{"line_number":380,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"},{"line_number":381,"context_line":"        self._wait_for_state_change(self.api, server, \u0027VERIFY_RESIZE\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_0ce7f2e4","line":378,"updated":"2016-11-22 19:10:17.000000000","message":"like you did here :)","commit_id":"be3fd216f58475e2b976fddf293a6896a5a6f68e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2c52e2b3d7cb4cbd85dad24007a576ce00fdfc1f","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        self._wait_for_state_change(self.api, server, \u0027VERIFY_RESIZE\u0027)"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        self.assertEqual(4, len(fake_notifier.VERSIONED_NOTIFICATIONS))"},{"line_number":384,"context_line":"        self._verify_notification("},{"line_number":385,"context_line":"            \u0027instance-resize-start\u0027,"},{"line_number":386,"context_line":"            replacements\u003d{"},{"line_number":387,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":388,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":389,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":390,"context_line":"        self._verify_notification("},{"line_number":391,"context_line":"            \u0027instance-resize-end\u0027,"},{"line_number":392,"context_line":"            replacements\u003d{"},{"line_number":393,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":394,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":395,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":396,"context_line":"        self._verify_notification("},{"line_number":397,"context_line":"            \u0027instance-resize_finish-start\u0027,"},{"line_number":398,"context_line":"            replacements\u003d{"},{"line_number":399,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":400,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":401,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[2])"},{"line_number":402,"context_line":"        self._verify_notification("},{"line_number":403,"context_line":"            \u0027instance-resize_finish-end\u0027,"},{"line_number":404,"context_line":"            replacements\u003d{"},{"line_number":405,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":406,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":407,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[3])"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        post \u003d {\u0027revertResize\u0027: None}"},{"line_number":410,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_25911c53","line":407,"range":{"start_line":384,"start_character":8,"end_line":407,"end_character":60},"updated":"2016-11-22 21:08:21.000000000","message":"I\u0027d like to squash this into a more compact enumeration list like we have here:\n\nhttps://review.openstack.org/#/c/384621/15/nova/tests/functional/notification_sample_tests/test_instance.py","commit_id":"be3fd216f58475e2b976fddf293a6896a5a6f68e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ee6477052dbcd06ac6da26a2ee9ee9b37383c4e7","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        self._wait_for_state_change(self.api, server, \u0027VERIFY_RESIZE\u0027)"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        self.assertEqual(4, len(fake_notifier.VERSIONED_NOTIFICATIONS))"},{"line_number":384,"context_line":"        self._verify_notification("},{"line_number":385,"context_line":"            \u0027instance-resize-start\u0027,"},{"line_number":386,"context_line":"            replacements\u003d{"},{"line_number":387,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":388,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":389,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":390,"context_line":"        self._verify_notification("},{"line_number":391,"context_line":"            \u0027instance-resize-end\u0027,"},{"line_number":392,"context_line":"            replacements\u003d{"},{"line_number":393,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":394,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":395,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":396,"context_line":"        self._verify_notification("},{"line_number":397,"context_line":"            \u0027instance-resize_finish-start\u0027,"},{"line_number":398,"context_line":"            replacements\u003d{"},{"line_number":399,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":400,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":401,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[2])"},{"line_number":402,"context_line":"        self._verify_notification("},{"line_number":403,"context_line":"            \u0027instance-resize_finish-end\u0027,"},{"line_number":404,"context_line":"            replacements\u003d{"},{"line_number":405,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":406,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":407,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[3])"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        post \u003d {\u0027revertResize\u0027: None}"},{"line_number":410,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_e59c845f","line":407,"range":{"start_line":384,"start_character":8,"end_line":407,"end_character":60},"in_reply_to":"7a77a97e_25911c53","updated":"2016-11-22 21:10:01.000000000","message":"Especially as we still have to work resize-prep-start in here at some point.","commit_id":"be3fd216f58475e2b976fddf293a6896a5a6f68e"}]}
