)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add request_spec to server move RPC calls"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To be able to fill the allocation key in the port binding:profile during"},{"line_number":10,"context_line":"the move operations the nova-compute needs to get the RequestSpec object"},{"line_number":11,"context_line":"to have access to the port - resource provider mapping calculated in the"},{"line_number":12,"context_line":"conductor."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"7faddb67_e811ee54","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":19},"updated":"2019-07-26 20:12:53.000000000","message":"Evacuate is already handled so this change updates the methods for cold migrate, resize and unshelve, but what about live migration?","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"87f54807a57cd642a175a23bb6ff4ee849fbd8f0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Balazs Gibizer \u003cbalazs.gibizer@est.tech\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-08-23 17:08:04 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add request_spec to server move RPC calls"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To be able to fill the allocation key in the port binding:profile during"},{"line_number":10,"context_line":"the move operations the nova-compute needs to get the RequestSpec object"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"7faddb67_a7002e37","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":41},"updated":"2019-08-26 11:15:53.000000000","message":"can someone remind me why the request spec is not in the instance object.\n\nis i a concern over the size of the object.\nif we are passing it on all these rpc calls now anyway im not sure that is really a concern anymore.\n\nthere would certenly be duplication between the data in the instance and request spec but unless we made some of the filed in the instnace be propertys that delegated to the request spec we would have that anyway.\n\n\nit would avoid needing the change the rpc calls if we added it to the instnace which is why i bring it up but as i started with i think there was a reason for not doing this in the past but i cant rememebr what that was","commit_id":"44a15f0a18d5be69bc04801c5f886e8edec57ca6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"17fcf758b14a3a8169edc196729448b39964169d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Balazs Gibizer \u003cbalazs.gibizer@est.tech\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-08-23 17:08:04 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add request_spec to server move RPC calls"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To be able to fill the allocation key in the port binding:profile during"},{"line_number":10,"context_line":"the move operations the nova-compute needs to get the RequestSpec object"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"7faddb67_d8bc1add","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":41},"in_reply_to":"7faddb67_a7002e37","updated":"2019-08-27 11:00:44.000000000","message":"I don\u0027t have a definite answer, maybe Sylvain can will the gap.\n\nFor me RequestSpec is intended to driver the scheduling of the instance. See requested_destination, retry fields. Those for me does not belong to the instance itself. \n\nAlso an instance being cold migrated still on the source host while the RequestSpec can already contain information about the intended new place of the instance. \n\nThere are also quirks around instance multi-create.","commit_id":"44a15f0a18d5be69bc04801c5f886e8edec57ca6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"970a37e4dc8126f5b02b01d6b124da7fba60e659","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Balazs Gibizer \u003cbalazs.gibizer@est.tech\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-08-23 17:08:04 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add request_spec to server move RPC calls"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To be able to fill the allocation key in the port binding:profile during"},{"line_number":10,"context_line":"the move operations the nova-compute needs to get the RequestSpec object"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"7faddb67_cc03c675","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":41},"in_reply_to":"7faddb67_d8bc1add","updated":"2019-08-29 19:24:06.000000000","message":"https://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/request-spec-object.html","commit_id":"44a15f0a18d5be69bc04801c5f886e8edec57ca6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f5684ee14f830ca3576b1e5f83828ead83b9c744","unresolved":false,"context_lines":[{"line_number":15,"context_line":"parameter to multiple calls. Also it makes sure that the request_spec is"},{"line_number":16,"context_line":"passed by the sender."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Depends-On: https://review.opendev.org/675371"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: If1f465112b8e9b0304b8b5b864b985f72168d839"},{"line_number":21,"context_line":"blueprint: support-move-ops-with-qos-ports"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"7faddb67_4cc3568b","line":18,"updated":"2019-08-29 19:22:05.000000000","message":"Ouch, you\u0027re going to have to drop this and rebase on top of this series:\n\nhttps://review.opendev.org/#/c/679210/","commit_id":"9019becd809336dc55a47d9ba793e666668e1d3c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9834104f4688e661c41e3f5111e9917b24e02ccd","unresolved":false,"context_lines":[{"line_number":15,"context_line":"parameter to multiple calls. Also it makes sure that the request_spec is"},{"line_number":16,"context_line":"passed by the sender."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Depends-On: https://review.opendev.org/675371"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: If1f465112b8e9b0304b8b5b864b985f72168d839"},{"line_number":21,"context_line":"blueprint: support-move-ops-with-qos-ports"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"7faddb67_98d977f5","line":18,"in_reply_to":"7faddb67_40430fb1","updated":"2019-08-30 19:51:40.000000000","message":"Done","commit_id":"9019becd809336dc55a47d9ba793e666668e1d3c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3cf64b2e9cf3f52a6586dd0f4b96c79e9ad8fe0c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"parameter to multiple calls. Also it makes sure that the request_spec is"},{"line_number":16,"context_line":"passed by the sender."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Depends-On: https://review.opendev.org/675371"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: If1f465112b8e9b0304b8b5b864b985f72168d839"},{"line_number":21,"context_line":"blueprint: support-move-ops-with-qos-ports"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"7faddb67_40430fb1","line":18,"in_reply_to":"7faddb67_4cc3568b","updated":"2019-08-30 09:43:35.000000000","message":"Will do the rebase as soon as https://review.opendev.org/#/c/679210/ works.","commit_id":"9019becd809336dc55a47d9ba793e666668e1d3c"}],"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":3078,"context_line":"                         injected_files, new_pass, orig_sys_metadata,"},{"line_number":3079,"context_line":"                         bdms, recreate, on_shared_storage,"},{"line_number":3080,"context_line":"                         preserve_ephemeral, migration,"},{"line_number":3081,"context_line":"                         scheduled_node, limits, request_spec):"},{"line_number":3082,"context_line":"        \"\"\"Destroy and re-make this instance."},{"line_number":3083,"context_line":""},{"line_number":3084,"context_line":"        A \u0027rebuild\u0027 effectively purges all existing data from the system and"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_68fe5e06","line":3081,"range":{"start_line":3081,"start_character":49,"end_line":3081,"end_character":61},"updated":"2019-07-26 20:12:53.000000000","message":"OK already here for evacuate.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":3956,"context_line":"    @wrap_instance_event(prefix\u003d\u0027compute\u0027)"},{"line_number":3957,"context_line":"    @errors_out_migration"},{"line_number":3958,"context_line":"    @wrap_instance_fault"},{"line_number":3959,"context_line":"    def confirm_resize(self, context, instance, migration):"},{"line_number":3960,"context_line":"        \"\"\"Confirms a migration/resize and deletes the \u0027old\u0027 instance."},{"line_number":3961,"context_line":""},{"line_number":3962,"context_line":"        This is called from the API and runs on the source host."}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_080d6a34","line":3959,"updated":"2019-07-26 20:12:53.000000000","message":"Not needed for confirm_resize?","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f82c189b78848ab1babc6c3d8e050ee59d338dca","unresolved":false,"context_lines":[{"line_number":3956,"context_line":"    @wrap_instance_event(prefix\u003d\u0027compute\u0027)"},{"line_number":3957,"context_line":"    @errors_out_migration"},{"line_number":3958,"context_line":"    @wrap_instance_fault"},{"line_number":3959,"context_line":"    def confirm_resize(self, context, instance, migration):"},{"line_number":3960,"context_line":"        \"\"\"Confirms a migration/resize and deletes the \u0027old\u0027 instance."},{"line_number":3961,"context_line":""},{"line_number":3962,"context_line":"        This is called from the API and runs on the source host."}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_1f614a12","line":3959,"in_reply_to":"7faddb67_080d6a34","updated":"2019-08-11 14:35:59.000000000","message":"Confirm just delete the old allocation which can be done without knowing what is in that allocation. So no, we don\u0027t need to calculate anything here based on the request spec.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":4153,"context_line":"    @wrap_instance_event(prefix\u003d\u0027compute\u0027)"},{"line_number":4154,"context_line":"    @errors_out_migration"},{"line_number":4155,"context_line":"    @wrap_instance_fault"},{"line_number":4156,"context_line":"    def revert_resize(self, context, instance, migration, request_spec):"},{"line_number":4157,"context_line":"        \"\"\"Destroys the new instance on the destination machine."},{"line_number":4158,"context_line":""},{"line_number":4159,"context_line":"        Reverts the model changes, and powers on the old instance on the"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_c844324a","line":4156,"range":{"start_line":4156,"start_character":58,"end_line":4156,"end_character":70},"updated":"2019-07-26 20:12:53.000000000","message":"I\u0027m fairly certain these have to start as optional kwargs for backward compat with old clients and we can only make them required after a major rpc version bump.\n\nhttp://www.danplanet.com/blog/2015/10/05/upgrades-in-nova-rpc-apis/","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f82c189b78848ab1babc6c3d8e050ee59d338dca","unresolved":false,"context_lines":[{"line_number":4153,"context_line":"    @wrap_instance_event(prefix\u003d\u0027compute\u0027)"},{"line_number":4154,"context_line":"    @errors_out_migration"},{"line_number":4155,"context_line":"    @wrap_instance_fault"},{"line_number":4156,"context_line":"    def revert_resize(self, context, instance, migration, request_spec):"},{"line_number":4157,"context_line":"        \"\"\"Destroys the new instance on the destination machine."},{"line_number":4158,"context_line":""},{"line_number":4159,"context_line":"        Reverts the model changes, and powers on the old instance on the"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_9f745ad2","line":4156,"range":{"start_line":4156,"start_character":58,"end_line":4156,"end_character":70},"in_reply_to":"7faddb67_c844324a","updated":"2019-08-11 14:35:59.000000000","message":"Thanks for that blogpost. You are right I need to make these parameters option until the next major rpc bump.\n\nDone.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":4389,"context_line":""},{"line_number":4390,"context_line":"    def _prep_resize(self, context, image, instance, instance_type,"},{"line_number":4391,"context_line":"                     filter_properties, node, migration, clean_shutdown\u003dTrue,"},{"line_number":4392,"context_line":"                     request_spec\u003dNone):"},{"line_number":4393,"context_line":""},{"line_number":4394,"context_line":"        if not filter_properties:"},{"line_number":4395,"context_line":"            filter_properties \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_cd28c498","line":4392,"range":{"start_line":4392,"start_character":33,"end_line":4392,"end_character":38},"updated":"2019-07-26 20:12:53.000000000","message":"This isn\u0027t really optional is it? I\u0027m guessing you made it optional to avoid test impact explosion.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f82c189b78848ab1babc6c3d8e050ee59d338dca","unresolved":false,"context_lines":[{"line_number":4389,"context_line":""},{"line_number":4390,"context_line":"    def _prep_resize(self, context, image, instance, instance_type,"},{"line_number":4391,"context_line":"                     filter_properties, node, migration, clean_shutdown\u003dTrue,"},{"line_number":4392,"context_line":"                     request_spec\u003dNone):"},{"line_number":4393,"context_line":""},{"line_number":4394,"context_line":"        if not filter_properties:"},{"line_number":4395,"context_line":"            filter_properties \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_3f3446fb","line":4392,"range":{"start_line":4392,"start_character":33,"end_line":4392,"end_character":38},"in_reply_to":"7faddb67_cd28c498","updated":"2019-08-11 14:35:59.000000000","message":"Yeah I guess so. Let me make this mandatory as it is mandatory in the caller (nova.compute.manager.ComputeManager.prep_resize) as well.\n\nDone.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":4498,"context_line":"                self._prep_resize(context, image, instance,"},{"line_number":4499,"context_line":"                                  instance_type, filter_properties,"},{"line_number":4500,"context_line":"                                  node, migration, clean_shutdown,"},{"line_number":4501,"context_line":"                                  request_spec)"},{"line_number":4502,"context_line":"            except Exception:"},{"line_number":4503,"context_line":"                # Since we hit a failure, we\u0027re either rescheduling or dead"},{"line_number":4504,"context_line":"                # and either way we need to cleanup any allocations created"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_6d199086","line":4501,"range":{"start_line":4501,"start_character":34,"end_line":4501,"end_character":46},"updated":"2019-07-26 20:12:53.000000000","message":"nit: use named kwarg","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f82c189b78848ab1babc6c3d8e050ee59d338dca","unresolved":false,"context_lines":[{"line_number":4498,"context_line":"                self._prep_resize(context, image, instance,"},{"line_number":4499,"context_line":"                                  instance_type, filter_properties,"},{"line_number":4500,"context_line":"                                  node, migration, clean_shutdown,"},{"line_number":4501,"context_line":"                                  request_spec)"},{"line_number":4502,"context_line":"            except Exception:"},{"line_number":4503,"context_line":"                # Since we hit a failure, we\u0027re either rescheduling or dead"},{"line_number":4504,"context_line":"                # and either way we need to cleanup any allocations created"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_bf1fd66e","line":4501,"range":{"start_line":4501,"start_character":34,"end_line":4501,"end_character":46},"in_reply_to":"7faddb67_6d199086","updated":"2019-08-11 14:35:59.000000000","message":"N/A as it is moved up to be a positional argument instead.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":4853,"context_line":""},{"line_number":4854,"context_line":"        \"\"\""},{"line_number":4855,"context_line":"        try:"},{"line_number":4856,"context_line":"            self._finish_resize_helper(context, disk_info, image, instance,"},{"line_number":4857,"context_line":"                                       migration)"},{"line_number":4858,"context_line":"        except Exception:"},{"line_number":4859,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_4d161458","line":4856,"range":{"start_line":4856,"start_character":17,"end_line":4856,"end_character":38},"updated":"2019-07-26 20:12:53.000000000","message":"Eventually this...","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":4886,"context_line":""},{"line_number":4887,"context_line":"        with self._error_out_instance_on_exception(context, instance):"},{"line_number":4888,"context_line":"            image_meta \u003d objects.ImageMeta.from_dict(image)"},{"line_number":4889,"context_line":"            network_info \u003d self._finish_resize(context, instance, migration,"},{"line_number":4890,"context_line":"                                               disk_info, image_meta, bdms)"},{"line_number":4891,"context_line":""},{"line_number":4892,"context_line":"        # TODO(melwitt): We should clean up instance console tokens here. The"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_ed0ca043","line":4889,"range":{"start_line":4889,"start_character":32,"end_line":4889,"end_character":46},"updated":"2019-07-26 20:12:53.000000000","message":"...and this will need the request_spec as well right?","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f82c189b78848ab1babc6c3d8e050ee59d338dca","unresolved":false,"context_lines":[{"line_number":4886,"context_line":""},{"line_number":4887,"context_line":"        with self._error_out_instance_on_exception(context, instance):"},{"line_number":4888,"context_line":"            image_meta \u003d objects.ImageMeta.from_dict(image)"},{"line_number":4889,"context_line":"            network_info \u003d self._finish_resize(context, instance, migration,"},{"line_number":4890,"context_line":"                                               disk_info, image_meta, bdms)"},{"line_number":4891,"context_line":""},{"line_number":4892,"context_line":"        # TODO(melwitt): We should clean up instance console tokens here. The"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_3f1d2673","line":4889,"range":{"start_line":4889,"start_character":32,"end_line":4889,"end_character":46},"in_reply_to":"7faddb67_ed0ca043","updated":"2019-08-11 14:35:59.000000000","message":"I guess so, but that is not a an RPC call so let me do that separately when needed.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"}],"nova/compute/rpcapi.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        * 5.0 - Remove 4.x compatibility"},{"line_number":364,"context_line":"        * 5.1 - Make prep_resize() take a RequestSpec object rather than a"},{"line_number":365,"context_line":"                legacy dict."},{"line_number":366,"context_line":"        * 5.2 - Add request_spec parameter for the followings: resize_instance,"},{"line_number":367,"context_line":"                finish_resize, revert_resize, finish_revert_resize,"},{"line_number":368,"context_line":"                unshelve_instance"},{"line_number":369,"context_line":"    \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_a81bf670","line":366,"range":{"start_line":366,"start_character":51,"end_line":366,"end_character":61},"updated":"2019-07-26 20:12:53.000000000","message":"following","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f82c189b78848ab1babc6c3d8e050ee59d338dca","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        * 5.0 - Remove 4.x compatibility"},{"line_number":364,"context_line":"        * 5.1 - Make prep_resize() take a RequestSpec object rather than a"},{"line_number":365,"context_line":"                legacy dict."},{"line_number":366,"context_line":"        * 5.2 - Add request_spec parameter for the followings: resize_instance,"},{"line_number":367,"context_line":"                finish_resize, revert_resize, finish_revert_resize,"},{"line_number":368,"context_line":"                unshelve_instance"},{"line_number":369,"context_line":"    \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_020c8d39","line":366,"range":{"start_line":366,"start_character":51,"end_line":366,"end_character":61},"in_reply_to":"7faddb67_a81bf670","updated":"2019-08-11 14:35:59.000000000","message":"Done","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":585,"context_line":"                   attachment_id\u003dattachment_id)"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    def finish_resize(self, ctxt, instance, migration, image, disk_info, host,"},{"line_number":588,"context_line":"                      request_spec):"},{"line_number":589,"context_line":"        msg_args \u003d {"},{"line_number":590,"context_line":"            \u0027instance\u0027: instance,"},{"line_number":591,"context_line":"            \u0027migration\u0027: migration,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_a83456df","line":588,"range":{"start_line":588,"start_character":22,"end_line":588,"end_character":34},"updated":"2019-07-26 20:12:53.000000000","message":"See below but I think these have to be optional until the next major version bump, but need to confirm with Dan.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f82c189b78848ab1babc6c3d8e050ee59d338dca","unresolved":false,"context_lines":[{"line_number":585,"context_line":"                   attachment_id\u003dattachment_id)"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    def finish_resize(self, ctxt, instance, migration, image, disk_info, host,"},{"line_number":588,"context_line":"                      request_spec):"},{"line_number":589,"context_line":"        msg_args \u003d {"},{"line_number":590,"context_line":"            \u0027instance\u0027: instance,"},{"line_number":591,"context_line":"            \u0027migration\u0027: migration,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_1dce2783","line":588,"range":{"start_line":588,"start_character":22,"end_line":588,"end_character":34},"in_reply_to":"7faddb67_a83456df","updated":"2019-08-11 14:35:59.000000000","message":"This is the client side of the RPC. So I don\u0027t see why request_spec needs to be optional here. On an old compute this function will not have a request_spec param et all. On a new compute the request_spec param will always be filled as the compute manager calling this is new as well.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9fc6aeef0b5461bb2f3528f5a9a43ec4487973e7","unresolved":false,"context_lines":[{"line_number":893,"context_line":"        cctxt.cast(ctxt, \u0027reset_network\u0027, instance\u003dinstance)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"    def resize_instance(self, ctxt, instance, migration, image, instance_type,"},{"line_number":896,"context_line":"                        clean_shutdown\u003dTrue, request_spec\u003dNone):"},{"line_number":897,"context_line":"        msg_args \u003d {\u0027instance\u0027: instance, \u0027migration\u0027: migration,"},{"line_number":898,"context_line":"                    \u0027image\u0027: image,"},{"line_number":899,"context_line":"                    \u0027instance_type\u0027: instance_type,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_4824c2af","line":896,"range":{"start_line":896,"start_character":58,"end_line":896,"end_character":62},"updated":"2019-07-26 20:12:53.000000000","message":"Why would this be optional here but not in finish_revert_resize or finish_resize? In general I think they all have to start as optional for backward compat until we can make them required args in a major version bump, but would have to confirm with Dan.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f82c189b78848ab1babc6c3d8e050ee59d338dca","unresolved":false,"context_lines":[{"line_number":893,"context_line":"        cctxt.cast(ctxt, \u0027reset_network\u0027, instance\u003dinstance)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"    def resize_instance(self, ctxt, instance, migration, image, instance_type,"},{"line_number":896,"context_line":"                        clean_shutdown\u003dTrue, request_spec\u003dNone):"},{"line_number":897,"context_line":"        msg_args \u003d {\u0027instance\u0027: instance, \u0027migration\u0027: migration,"},{"line_number":898,"context_line":"                    \u0027image\u0027: image,"},{"line_number":899,"context_line":"                    \u0027instance_type\u0027: instance_type,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_ddc72f64","line":896,"range":{"start_line":896,"start_character":58,"end_line":896,"end_character":62},"in_reply_to":"7faddb67_4824c2af","updated":"2019-08-11 14:35:59.000000000","message":"I think it is optional as I just added it to the end of the function signature. As I wrote in the above reply I don\u0027t see why the client side needs to handle this as optional param.","commit_id":"a6c86c000ae4ae53d75bfec2b0a6bb08a9e9898e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f5684ee14f830ca3576b1e5f83828ead83b9c744","unresolved":false,"context_lines":[{"line_number":612,"context_line":"        client \u003d self.router.client(ctxt)"},{"line_number":613,"context_line":"        version \u003d \u00275.2\u0027"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":"        if not client.can_send_version(version):"},{"line_number":616,"context_line":"            msg_args.pop(\u0027request_spec\u0027)"},{"line_number":617,"context_line":"            version \u003d \u00275.0\u0027"},{"line_number":618,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"7faddb67_2cbe1aae","line":615,"range":{"start_line":615,"start_character":8,"end_line":615,"end_character":48},"updated":"2019-08-29 19:22:05.000000000","message":"I\u0027m not saying you have to add it, but just noting there isn\u0027t test coverage for this being True here or the others in this change. I know some people don\u0027t and are OK with not adding unit test coverage for this since it\u0027s trivial. I generally do, but won\u0027t -1 you for it.","commit_id":"9019becd809336dc55a47d9ba793e666668e1d3c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"30886c798bf1a587bf6eeabc87293ee0ab9fad42","unresolved":false,"context_lines":[{"line_number":612,"context_line":"        client \u003d self.router.client(ctxt)"},{"line_number":613,"context_line":"        version \u003d \u00275.2\u0027"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":"        if not client.can_send_version(version):"},{"line_number":616,"context_line":"            msg_args.pop(\u0027request_spec\u0027)"},{"line_number":617,"context_line":"            version \u003d \u00275.0\u0027"},{"line_number":618,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"7faddb67_2788656f","line":615,"range":{"start_line":615,"start_character":8,"end_line":615,"end_character":48},"in_reply_to":"7faddb67_2cbe1aae","updated":"2019-09-02 12:02:02.000000000","message":"When I first looked at it what test is normally there for such change I haven\u0027t found these kind of tests. Now looked harder :) \n\ndone in a fup https://review.opendev.org/#/c/679629/","commit_id":"9019becd809336dc55a47d9ba793e666668e1d3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"66bf04324685ffd8749d1488e2ba7c00b12d8311","unresolved":false,"context_lines":[{"line_number":599,"context_line":"                   instance\u003dinstance, volume_id\u003dvolume_id,"},{"line_number":600,"context_line":"                   attachment_id\u003dattachment_id)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def finish_resize(self, ctxt, instance, migration, image, disk_info, host,"},{"line_number":603,"context_line":"                      request_spec):"},{"line_number":604,"context_line":"        msg_args \u003d {"},{"line_number":605,"context_line":"            \u0027instance\u0027: instance,"},{"line_number":606,"context_line":"            \u0027migration\u0027: migration,"}],"source_content_type":"text/x-python","patch_set":18,"id":"7faddb67_8f0359be","line":603,"range":{"start_line":602,"start_character":0,"end_line":603,"end_character":36},"updated":"2019-09-02 16:33:03.000000000","message":"Looked to see if we could look at deprecating any of these parameters now that we\u0027ve the request_spec but we can\u0027t really (maybe instance, but we do stuff to that in the caller so easier not to). Ditto for the rest of these","commit_id":"a0e60feb3ec09c37927a39bc88d18d902fef7f16"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f5684ee14f830ca3576b1e5f83828ead83b9c744","unresolved":false,"context_lines":[{"line_number":5821,"context_line":""},{"line_number":5822,"context_line":"    def test_revert_resize_with_pci(self):"},{"line_number":5823,"context_line":"        self._test_resize_with_pci("},{"line_number":5824,"context_line":"            lambda context, instance, migration:"},{"line_number":5825,"context_line":"                self.compute.revert_resize("},{"line_number":5826,"context_line":"                    context, instance, migration, objects.RequestSpec()),"},{"line_number":5827,"context_line":"            \u00270000:0b:00.1\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"7faddb67_ac844a0c","line":5824,"updated":"2019-08-29 19:22:05.000000000","message":"Confusing but I get it.","commit_id":"9019becd809336dc55a47d9ba793e666668e1d3c"}],"nova/tests/unit/compute/test_rpcapi.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"66bf04324685ffd8749d1488e2ba7c00b12d8311","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"7faddb67_8fd11932","updated":"2019-09-02 16:33:03.000000000","message":"I\u0027d expected to see some tests to make sure we were dropping the parameter for older versions, but we don\u0027t seem to have any of those for other methods either","commit_id":"a0e60feb3ec09c37927a39bc88d18d902fef7f16"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"491021d1b9ddc3a6212625614fda8d9956838071","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"7faddb67_0e8d21d3","in_reply_to":"7faddb67_8fd11932","updated":"2019-09-03 13:32:46.000000000","message":"Yeah I pointed that out earlier, added here:\n\nhttps://review.opendev.org/#/c/679629/","commit_id":"a0e60feb3ec09c37927a39bc88d18d902fef7f16"}]}
