)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support move operations with qos ports - Ussuri"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since `microversion 2.72`_ nova supports creating servers with neutron ports"},{"line_number":10,"context_line":"having resource request. Since the Train release nova also supports cold"},{"line_number":11,"context_line":"migrating and resizing such servers. However other move operations like live"},{"line_number":12,"context_line":"migration, evacuation and unshelve are still not possible due to missing"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_e0060221","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":27},"updated":"2019-10-04 19:22:33.000000000","message":"Nix this link formatting.","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support move operations with qos ports - Ussuri"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since `microversion 2.72`_ nova supports creating servers with neutron ports"},{"line_number":10,"context_line":"having resource request. Since the Train release nova also supports cold"},{"line_number":11,"context_line":"migrating and resizing such servers. However other move operations like live"},{"line_number":12,"context_line":"migration, evacuation and unshelve are still not possible due to missing"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_04d564b7","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":27},"in_reply_to":"3fa7e38b_e0060221","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"}],"specs/ussuri/approved/support-move-ops-with-qos-ports-ussuri.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Proposed change"},{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"To support live-migrate, evacuate and unshelve we will following the"},{"line_number":32,"context_line":"implementation pattern that is described in the `Train spec`_ and then"},{"line_number":33,"context_line":"implemented for cold migrate and resize during the Train release."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_5b56e708","line":31,"range":{"start_line":31,"start_character":55,"end_line":31,"end_character":64},"updated":"2019-10-04 19:22:33.000000000","message":"follow","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Proposed change"},{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"To support live-migrate, evacuate and unshelve we will following the"},{"line_number":32,"context_line":"implementation pattern that is described in the `Train spec`_ and then"},{"line_number":33,"context_line":"implemented for cold migrate and resize during the Train release."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_a4e330a4","line":31,"range":{"start_line":31,"start_character":55,"end_line":31,"end_character":64},"in_reply_to":"3fa7e38b_5b56e708","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":32,"context_line":"implementation pattern that is described in the `Train spec`_ and then"},{"line_number":33,"context_line":"implemented for cold migrate and resize during the Train release."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"During the Train implementation the `compute RPC API`_ methods was extended"},{"line_number":36,"context_line":"with a the necessary RequestSpec parameter for every move operations. So no"},{"line_number":37,"context_line":"further RPC change is expected during the implementation of this spec."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1b406f35","line":35,"range":{"start_line":35,"start_character":63,"end_line":35,"end_character":66},"updated":"2019-10-04 19:22:33.000000000","message":"were","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"implementation pattern that is described in the `Train spec`_ and then"},{"line_number":33,"context_line":"implemented for cold migrate and resize during the Train release."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"During the Train implementation the `compute RPC API`_ methods was extended"},{"line_number":36,"context_line":"with a the necessary RequestSpec parameter for every move operations. So no"},{"line_number":37,"context_line":"further RPC change is expected during the implementation of this spec."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_84f2b46e","line":35,"range":{"start_line":35,"start_character":63,"end_line":35,"end_character":66},"in_reply_to":"3fa7e38b_1b406f35","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":33,"context_line":"implemented for cold migrate and resize during the Train release."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"During the Train implementation the `compute RPC API`_ methods was extended"},{"line_number":36,"context_line":"with a the necessary RequestSpec parameter for every move operations. So no"},{"line_number":37,"context_line":"further RPC change is expected during the implementation of this spec."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"During evacuate the compute manager\u0027s ``rebuild_instance`` call does the port"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_db497760","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":7},"updated":"2019-10-04 19:22:33.000000000","message":"nix","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":33,"context_line":"implemented for cold migrate and resize during the Train release."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"During the Train implementation the `compute RPC API`_ methods was extended"},{"line_number":36,"context_line":"with a the necessary RequestSpec parameter for every move operations. So no"},{"line_number":37,"context_line":"further RPC change is expected during the implementation of this spec."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"During evacuate the compute manager\u0027s ``rebuild_instance`` call does the port"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9b753f9b","line":36,"range":{"start_line":36,"start_character":58,"end_line":36,"end_character":68},"updated":"2019-10-04 19:22:33.000000000","message":"operation","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":33,"context_line":"implemented for cold migrate and resize during the Train release."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"During the Train implementation the `compute RPC API`_ methods was extended"},{"line_number":36,"context_line":"with a the necessary RequestSpec parameter for every move operations. So no"},{"line_number":37,"context_line":"further RPC change is expected during the implementation of this spec."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"During evacuate the compute manager\u0027s ``rebuild_instance`` call does the port"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_24e9807f","line":36,"range":{"start_line":36,"start_character":58,"end_line":36,"end_character":68},"in_reply_to":"3fa7e38b_9b753f9b","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":33,"context_line":"implemented for cold migrate and resize during the Train release."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"During the Train implementation the `compute RPC API`_ methods was extended"},{"line_number":36,"context_line":"with a the necessary RequestSpec parameter for every move operations. So no"},{"line_number":37,"context_line":"further RPC change is expected during the implementation of this spec."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"During evacuate the compute manager\u0027s ``rebuild_instance`` call does the port"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_44ecbc8e","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":7},"in_reply_to":"3fa7e38b_db497760","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":36,"context_line":"with a the necessary RequestSpec parameter for every move operations. So no"},{"line_number":37,"context_line":"further RPC change is expected during the implementation of this spec."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"During evacuate the compute manager\u0027s ``rebuild_instance`` call does the port"},{"line_number":40,"context_line":"binding update. This call has a ``request_spec`` parameter so this"},{"line_number":41,"context_line":"RPC API does not need to be extended."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"During unshelve of a shelve offloaded instance the compute manager\u0027s"},{"line_number":44,"context_line":"``unshelve_instance`` call does the port binding update and here the RPC API"},{"line_number":45,"context_line":"needs to be extended with a new ``request_spec`` parameter."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"During evacuate and unshelve operations the compute manager is responsible to"},{"line_number":48,"context_line":"update the port binding in neutron. This code paths will be extended to also"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1b694fbd","line":45,"range":{"start_line":39,"start_character":0,"end_line":45,"end_character":59},"updated":"2019-10-04 19:22:33.000000000","message":"You could probably remove these details since it\u0027s already done and just mentioned in the previous paragraph.","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"with a the necessary RequestSpec parameter for every move operations. So no"},{"line_number":37,"context_line":"further RPC change is expected during the implementation of this spec."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"During evacuate the compute manager\u0027s ``rebuild_instance`` call does the port"},{"line_number":40,"context_line":"binding update. This call has a ``request_spec`` parameter so this"},{"line_number":41,"context_line":"RPC API does not need to be extended."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"During unshelve of a shelve offloaded instance the compute manager\u0027s"},{"line_number":44,"context_line":"``unshelve_instance`` call does the port binding update and here the RPC API"},{"line_number":45,"context_line":"needs to be extended with a new ``request_spec`` parameter."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"During evacuate and unshelve operations the compute manager is responsible to"},{"line_number":48,"context_line":"update the port binding in neutron. This code paths will be extended to also"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_04fec437","line":45,"range":{"start_line":39,"start_character":0,"end_line":45,"end_character":59},"in_reply_to":"3fa7e38b_1b694fbd","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":45,"context_line":"needs to be extended with a new ``request_spec`` parameter."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"During evacuate and unshelve operations the compute manager is responsible to"},{"line_number":48,"context_line":"update the port binding in neutron. This code paths will be extended to also"},{"line_number":49,"context_line":"update the allocation key in the port binding according the allocation on the"},{"line_number":50,"context_line":"target host."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_3b644be5","line":48,"range":{"start_line":48,"start_character":36,"end_line":48,"end_character":40},"updated":"2019-10-04 19:22:33.000000000","message":"These","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":45,"context_line":"needs to be extended with a new ``request_spec`` parameter."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"During evacuate and unshelve operations the compute manager is responsible to"},{"line_number":48,"context_line":"update the port binding in neutron. This code paths will be extended to also"},{"line_number":49,"context_line":"update the allocation key in the port binding according the allocation on the"},{"line_number":50,"context_line":"target host."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_a4fc903e","line":48,"range":{"start_line":48,"start_character":36,"end_line":48,"end_character":40},"in_reply_to":"3fa7e38b_3b644be5","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"During evacuate and unshelve operations the compute manager is responsible to"},{"line_number":48,"context_line":"update the port binding in neutron. This code paths will be extended to also"},{"line_number":49,"context_line":"update the allocation key in the port binding according the allocation on the"},{"line_number":50,"context_line":"target host."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"During live-migrate nova uses the multiple bindings API of neutron to manage"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_db62d7d8","line":49,"range":{"start_line":49,"start_character":46,"end_line":49,"end_character":55},"updated":"2019-10-04 19:22:33.000000000","message":"according to?","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"During evacuate and unshelve operations the compute manager is responsible to"},{"line_number":48,"context_line":"update the port binding in neutron. This code paths will be extended to also"},{"line_number":49,"context_line":"update the allocation key in the port binding according the allocation on the"},{"line_number":50,"context_line":"target host."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"During live-migrate nova uses the multiple bindings API of neutron to manage"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_649458e9","line":49,"range":{"start_line":49,"start_character":46,"end_line":49,"end_character":55},"in_reply_to":"3fa7e38b_db62d7d8","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":55,"context_line":"will add the ``allocation`` key in the new binding according to the"},{"line_number":56,"context_line":"``RequestSpec``. When the live-migrate finishes the source port binding is"},{"line_number":57,"context_line":"deleted along with the source host allocation. If the live-migration is"},{"line_number":58,"context_line":"rolled back the source host binding still have the proper ``allocation`` key"},{"line_number":59,"context_line":"set."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The multiple bindings neutron API extension cannot be turned off so if it is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_fb5d5315","line":58,"range":{"start_line":58,"start_character":42,"end_line":58,"end_character":46},"updated":"2019-10-04 19:22:33.000000000","message":"has","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"will add the ``allocation`` key in the new binding according to the"},{"line_number":56,"context_line":"``RequestSpec``. When the live-migrate finishes the source port binding is"},{"line_number":57,"context_line":"deleted along with the source host allocation. If the live-migration is"},{"line_number":58,"context_line":"rolled back the source host binding still have the proper ``allocation`` key"},{"line_number":59,"context_line":"set."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The multiple bindings neutron API extension cannot be turned off so if it is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_e487e8b5","line":58,"range":{"start_line":58,"start_character":42,"end_line":58,"end_character":46},"in_reply_to":"3fa7e38b_fb5d5315","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":56,"context_line":"``RequestSpec``. When the live-migrate finishes the source port binding is"},{"line_number":57,"context_line":"deleted along with the source host allocation. If the live-migration is"},{"line_number":58,"context_line":"rolled back the source host binding still have the proper ``allocation`` key"},{"line_number":59,"context_line":"set."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The multiple bindings neutron API extension cannot be turned off so if it is"},{"line_number":62,"context_line":"not present nova can fail the live-migrate operation if ports have resource"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_fbe0f328","line":59,"updated":"2019-10-04 19:22:33.000000000","message":"I\u0027m not sure if you care to get into details here, it\u0027s really an implementation detail for live migrate, but out of the not-yet-supported move operations for ports with resource requests, live migration is the only one that has a reschedule loop but it\u0027s handled within the live migration task in the super conductor. The point is that during the reschedule we might need to rollback any dest host port binding allocation we setup. Maybe that\u0027s already handled automatically today. I supposed we\u0027d handle it somewhere in here if not:\n\nhttps://github.com/openstack/nova/blob/4d034b79eb4483848fa8346149d0387af4eeaa2a/nova/conductor/tasks/live_migrate.py#L515\n\nThe dest host port binding stuff happens here:\n\nhttps://github.com/openstack/nova/blob/4d034b79eb4483848fa8346149d0387af4eeaa2a/nova/conductor/tasks/live_migrate.py#L388\n\nThat code got quite a bit more complicated in the conductor task in Train when SRIOV live migration support was added.","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":56,"context_line":"``RequestSpec``. When the live-migrate finishes the source port binding is"},{"line_number":57,"context_line":"deleted along with the source host allocation. If the live-migration is"},{"line_number":58,"context_line":"rolled back the source host binding still have the proper ``allocation`` key"},{"line_number":59,"context_line":"set."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The multiple bindings neutron API extension cannot be turned off so if it is"},{"line_number":62,"context_line":"not present nova can fail the live-migrate operation if ports have resource"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_2d164357","line":59,"in_reply_to":"3fa7e38b_fbe0f328","updated":"2019-10-07 13:44:00.000000000","message":"I added a note to the spec","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"REST API impact"},{"line_number":81,"context_line":"---------------"},{"line_number":82,"context_line":"On the Train PTG we `agreed`_ to implement the support for the move operations"},{"line_number":83,"context_line":"as bugfixes without any new microversion. After the implementation is done the"},{"line_number":84,"context_line":"code that currently rejects the move operations are removed from the API and"},{"line_number":85,"context_line":"nova will accept and support these operations with any microversion."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_5ba4a708","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":2},"updated":"2019-10-04 19:22:33.000000000","message":"At","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"REST API impact"},{"line_number":81,"context_line":"---------------"},{"line_number":82,"context_line":"On the Train PTG we `agreed`_ to implement the support for the move operations"},{"line_number":83,"context_line":"as bugfixes without any new microversion. After the implementation is done the"},{"line_number":84,"context_line":"code that currently rejects the move operations are removed from the API and"},{"line_number":85,"context_line":"nova will accept and support these operations with any microversion."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_ad01d308","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":2},"in_reply_to":"3fa7e38b_5ba4a708","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":84,"context_line":"code that currently rejects the move operations are removed from the API and"},{"line_number":85,"context_line":"nova will accept and support these operations with any microversion."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"For background information about possible alternatives see the `ML thread`_ ."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Security impact"},{"line_number":90,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_dbb7373a","line":87,"updated":"2019-10-04 19:22:33.000000000","message":"Rather than this (maybe you just copied this from the train spec?) you could just say something like \"This is what we did with cold migrate and resize in Train and will follow that pattern in Ussuri.\"","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":84,"context_line":"code that currently rejects the move operations are removed from the API and"},{"line_number":85,"context_line":"nova will accept and support these operations with any microversion."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"For background information about possible alternatives see the `ML thread`_ ."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Security impact"},{"line_number":90,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_f80c673a","line":87,"in_reply_to":"3fa7e38b_dbb7373a","updated":"2019-10-07 13:44:00.000000000","message":"Yes, it is a copy-paste. I\u0027ve replaced it with your suggestion.","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":129,"context_line":"conductor is configured with ``[upgrade_levels]compute\u003dauto``"},{"line_number":130,"context_line":"(e.g. rolling upgrade) or the compute RPC is manually pinned then even if both"},{"line_number":131,"context_line":"the source and the destination computes are new enough the destination compute"},{"line_number":132,"context_line":"still not get the necessary information to perform the port binding update."},{"line_number":133,"context_line":"Therefore an additional check is needed based on the actual RPC version used"},{"line_number":134,"context_line":"towards the destination compute. These checks will be similar to the ones that"},{"line_number":135,"context_line":"was implemented for `cold migration`_."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9bd1bf5a","line":132,"range":{"start_line":132,"start_character":0,"end_line":132,"end_character":5},"updated":"2019-10-04 19:22:33.000000000","message":"may still","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":129,"context_line":"conductor is configured with ``[upgrade_levels]compute\u003dauto``"},{"line_number":130,"context_line":"(e.g. rolling upgrade) or the compute RPC is manually pinned then even if both"},{"line_number":131,"context_line":"the source and the destination computes are new enough the destination compute"},{"line_number":132,"context_line":"still not get the necessary information to perform the port binding update."},{"line_number":133,"context_line":"Therefore an additional check is needed based on the actual RPC version used"},{"line_number":134,"context_line":"towards the destination compute. These checks will be similar to the ones that"},{"line_number":135,"context_line":"was implemented for `cold migration`_."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_38243faf","line":132,"range":{"start_line":132,"start_character":0,"end_line":132,"end_character":5},"in_reply_to":"3fa7e38b_9bd1bf5a","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":132,"context_line":"still not get the necessary information to perform the port binding update."},{"line_number":133,"context_line":"Therefore an additional check is needed based on the actual RPC version used"},{"line_number":134,"context_line":"towards the destination compute. These checks will be similar to the ones that"},{"line_number":135,"context_line":"was implemented for `cold migration`_."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"The support for move operations makes it possible to heal missing or"},{"line_number":138,"context_line":"inconsistent port allocation as during the move the requested resources are"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_fb6793b6","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":3},"updated":"2019-10-04 19:22:33.000000000","message":"were","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":132,"context_line":"still not get the necessary information to perform the port binding update."},{"line_number":133,"context_line":"Therefore an additional check is needed based on the actual RPC version used"},{"line_number":134,"context_line":"towards the destination compute. These checks will be similar to the ones that"},{"line_number":135,"context_line":"was implemented for `cold migration`_."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"The support for move operations makes it possible to heal missing or"},{"line_number":138,"context_line":"inconsistent port allocation as during the move the requested resources are"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_d83acbcb","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":3},"in_reply_to":"3fa7e38b_fb6793b6","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Other contributors:"},{"line_number":159,"context_line":"  None"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Work Items"},{"line_number":162,"context_line":"----------"},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_fbfc73b6","line":160,"updated":"2019-10-04 19:22:33.000000000","message":"Do we need the new core liaison template stuff in here or add it after the fact? Either way if you need a core sponsor for reviews (rather than hand holding) you can sign me up.","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Other contributors:"},{"line_number":159,"context_line":"  None"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Work Items"},{"line_number":162,"context_line":"----------"},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_3872ffae","line":160,"in_reply_to":"3fa7e38b_fbfc73b6","updated":"2019-10-07 13:44:00.000000000","message":"Thanks. Added you as sponsor for reviews :)","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Work Items"},{"line_number":162,"context_line":"----------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"For each move operations:"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"* Before scheduling, gather the requested resource from neutron and update"},{"line_number":167,"context_line":"  the RequestSpec accordingly"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9b2d3f48","line":164,"range":{"start_line":164,"start_character":14,"end_line":164,"end_character":24},"updated":"2019-10-04 19:22:33.000000000","message":"operation","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Work Items"},{"line_number":162,"context_line":"----------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"For each move operations:"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"* Before scheduling, gather the requested resource from neutron and update"},{"line_number":167,"context_line":"  the RequestSpec accordingly"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_986213d8","line":164,"range":{"start_line":164,"start_character":14,"end_line":164,"end_character":24},"in_reply_to":"3fa7e38b_9b2d3f48","updated":"2019-10-07 13:44:00.000000000","message":"Done","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3bdaa5aef88a05564893f111eb0dd693a61c7473","unresolved":false,"context_lines":[{"line_number":186,"context_line":"Each move operation will have a functional test asserting that the proper"},{"line_number":187,"context_line":"allocation exists after the move, old allocations are removed, and the port"},{"line_number":188,"context_line":"binding in neutron refers to the appropriate resource provider."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Documentation Impact"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1b214f4e","line":189,"updated":"2019-10-04 19:22:33.000000000","message":"Let\u0027s also remember to test reschedules for live migration.\n\nAlso, what happens, if anything, with a server that had ports with resource requests which were evacuated and then the source host comes back up? Those servers should get processed on the startup of the old host but do we need to do anything with port binding / allocation accounting for the source node resource allocations?","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"910981628a5625ab5dbca30c8343819acf00fee3","unresolved":false,"context_lines":[{"line_number":186,"context_line":"Each move operation will have a functional test asserting that the proper"},{"line_number":187,"context_line":"allocation exists after the move, old allocations are removed, and the port"},{"line_number":188,"context_line":"binding in neutron refers to the appropriate resource provider."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Documentation Impact"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_b84eef35","line":189,"in_reply_to":"3fa7e38b_1b214f4e","updated":"2019-10-07 13:44:00.000000000","message":"Noted the live migration reschedule coverage. And also the need for evacuate + source host recovery tests. I think in the later case nova does not need to do anything extra, as the neutron port binding is expected to set to the target host already. The source allocation cleanup code already cleans up the allocation from the whole source compute RP _tree_ so it is expected to clean up the source compute bandwidth allocation as well[1].\n\n[1]https://github.com/openstack/nova/blob/4e5889e0c21cf7a7eadecd4d8eb199d7f582eeba/nova/scheduler/client/report.py#L1760","commit_id":"29096b9211691c00c030293777ef8e27398b543e"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Since `microversion 2.72`_ nova supports creating servers with neutron ports"},{"line_number":17,"context_line":"having resource request. Since the Train release nova also supports cold"},{"line_number":18,"context_line":"migrating and resizing such servers. However other move operations like live"},{"line_number":19,"context_line":"migration, evacuation and unshelve are still not possible due to missing"},{"line_number":20,"context_line":"resource handling implementation in nova."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_7bb70eda","line":18,"range":{"start_line":18,"start_character":67,"end_line":18,"end_character":71},"updated":"2019-10-07 16:10:17.000000000","message":"It would be nice to enumerate explicitly and completely the list of operations we\u0027re targeting with this spec.","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Since `microversion 2.72`_ nova supports creating servers with neutron ports"},{"line_number":17,"context_line":"having resource request. Since the Train release nova also supports cold"},{"line_number":18,"context_line":"migrating and resizing such servers. However other move operations like live"},{"line_number":19,"context_line":"migration, evacuation and unshelve are still not possible due to missing"},{"line_number":20,"context_line":"resource handling implementation in nova."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_1a7926fb","line":18,"range":{"start_line":18,"start_character":67,"end_line":18,"end_character":71},"in_reply_to":"3fa7e38b_7bb70eda","updated":"2019-10-08 10:38:52.000000000","message":"Done","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Since `microversion 2.72`_ nova supports creating servers with neutron ports"},{"line_number":17,"context_line":"having resource request. Since the Train release nova also supports cold"},{"line_number":18,"context_line":"migrating and resizing such servers. However other move operations like live"},{"line_number":19,"context_line":"migration, evacuation and unshelve are still not possible due to missing"},{"line_number":20,"context_line":"resource handling implementation in nova."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_9bd52a1e","line":19,"range":{"start_line":19,"start_character":26,"end_line":19,"end_character":34},"updated":"2019-10-07 16:10:17.000000000","message":"this reads a bit strange, as if we support shelve, but not unshelve","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Since `microversion 2.72`_ nova supports creating servers with neutron ports"},{"line_number":17,"context_line":"having resource request. Since the Train release nova also supports cold"},{"line_number":18,"context_line":"migrating and resizing such servers. However other move operations like live"},{"line_number":19,"context_line":"migration, evacuation and unshelve are still not possible due to missing"},{"line_number":20,"context_line":"resource handling implementation in nova."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_5a76be08","line":19,"range":{"start_line":19,"start_character":26,"end_line":19,"end_character":34},"in_reply_to":"3fa7e38b_9bd52a1e","updated":"2019-10-08 10:38:52.000000000","message":"extended it to \u0027unshelve after shelve offload\u0027 but I don\u0027t know if that what you are after with your comment. \n\nBasically we support shelve - unshelve. But we don\u0027t support shelve offload - unshelve.","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Use Cases"},{"line_number":23,"context_line":"---------"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"The admin needs to do be able to request the same life-cycle operations"},{"line_number":26,"context_line":"for these servers as for any other servers."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_9b30caa0","line":25,"range":{"start_line":25,"start_character":19,"end_line":25,"end_character":21},"updated":"2019-10-07 16:10:17.000000000","message":"x","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Use Cases"},{"line_number":23,"context_line":"---------"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"The admin needs to do be able to request the same life-cycle operations"},{"line_number":26,"context_line":"for these servers as for any other servers."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_7a713a0c","line":25,"range":{"start_line":25,"start_character":19,"end_line":25,"end_character":21},"in_reply_to":"3fa7e38b_9b30caa0","updated":"2019-10-08 10:38:52.000000000","message":"Done","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"set."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"From the not-yet-supported move operations only live-migration has a reschedule"},{"line_number":54,"context_line":"loop. It is handling in the ``LiveMigrationTask`` in the super conductor."},{"line_number":55,"context_line":"During reschedule the allocation key of the port binding of the neutron ports"},{"line_number":56,"context_line":"needs to be updated according to the new allocation on the newly selected"},{"line_number":57,"context_line":"target host."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_3bb516ef","line":54,"range":{"start_line":54,"start_character":12,"end_line":54,"end_character":20},"updated":"2019-10-07 16:10:17.000000000","message":"handled?","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":51,"context_line":"set."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"From the not-yet-supported move operations only live-migration has a reschedule"},{"line_number":54,"context_line":"loop. It is handling in the ``LiveMigrationTask`` in the super conductor."},{"line_number":55,"context_line":"During reschedule the allocation key of the port binding of the neutron ports"},{"line_number":56,"context_line":"needs to be updated according to the new allocation on the newly selected"},{"line_number":57,"context_line":"target host."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_3a650246","line":54,"range":{"start_line":54,"start_character":12,"end_line":54,"end_character":20},"in_reply_to":"3fa7e38b_3bb516ef","updated":"2019-10-08 10:38:52.000000000","message":"Done","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"As the solution depends on a minimum RPC version and as it requires compute"},{"line_number":125,"context_line":"manager changes the move operations can only be supported after both the"},{"line_number":126,"context_line":"source and the destination host are upgraded. So the conductor needs to ensure"},{"line_number":127,"context_line":"that the service version of both compute is high enough. However if the"},{"line_number":128,"context_line":"conductor is configured with ``[upgrade_levels]compute\u003dauto``"},{"line_number":129,"context_line":"(e.g. rolling upgrade) or the compute RPC is manually pinned then even if both"},{"line_number":130,"context_line":"the source and the destination computes are new enough the destination compute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_5bad7299","line":127,"range":{"start_line":127,"start_character":33,"end_line":127,"end_character":40},"updated":"2019-10-07 16:10:17.000000000","message":"computes","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":124,"context_line":"As the solution depends on a minimum RPC version and as it requires compute"},{"line_number":125,"context_line":"manager changes the move operations can only be supported after both the"},{"line_number":126,"context_line":"source and the destination host are upgraded. So the conductor needs to ensure"},{"line_number":127,"context_line":"that the service version of both compute is high enough. However if the"},{"line_number":128,"context_line":"conductor is configured with ``[upgrade_levels]compute\u003dauto``"},{"line_number":129,"context_line":"(e.g. rolling upgrade) or the compute RPC is manually pinned then even if both"},{"line_number":130,"context_line":"the source and the destination computes are new enough the destination compute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_da5b8e84","line":127,"range":{"start_line":127,"start_character":33,"end_line":127,"end_character":40},"in_reply_to":"3fa7e38b_5bad7299","updated":"2019-10-08 10:38:52.000000000","message":"Done","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":134,"context_line":"were implemented for `cold migration`_."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"The support for move operations makes it possible to heal missing or"},{"line_number":137,"context_line":"inconsistent port allocation as during the move the requested resources are"},{"line_number":138,"context_line":"re-calculated and the new allocation created accordingly in placement. This"},{"line_number":139,"context_line":"will complement `the port allocation healing capabilities`_ of the"},{"line_number":140,"context_line":"``nova-manage placement heal_allocations`` CLI that has multiple limitation in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_fb93fe5a","line":137,"range":{"start_line":137,"start_character":18,"end_line":137,"end_character":28},"updated":"2019-10-07 16:10:17.000000000","message":"allocations","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":134,"context_line":"were implemented for `cold migration`_."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"The support for move operations makes it possible to heal missing or"},{"line_number":137,"context_line":"inconsistent port allocation as during the move the requested resources are"},{"line_number":138,"context_line":"re-calculated and the new allocation created accordingly in placement. This"},{"line_number":139,"context_line":"will complement `the port allocation healing capabilities`_ of the"},{"line_number":140,"context_line":"``nova-manage placement heal_allocations`` CLI that has multiple limitation in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_fa5e8a74","line":137,"range":{"start_line":137,"start_character":18,"end_line":137,"end_character":28},"in_reply_to":"3fa7e38b_fb93fe5a","updated":"2019-10-08 10:38:52.000000000","message":"Done","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":137,"context_line":"inconsistent port allocation as during the move the requested resources are"},{"line_number":138,"context_line":"re-calculated and the new allocation created accordingly in placement. This"},{"line_number":139,"context_line":"will complement `the port allocation healing capabilities`_ of the"},{"line_number":140,"context_line":"``nova-manage placement heal_allocations`` CLI that has multiple limitation in"},{"line_number":141,"context_line":"this regard."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"In general the operators having incomplete port allocations are recommended to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_db988276","line":140,"range":{"start_line":140,"start_character":65,"end_line":140,"end_character":75},"updated":"2019-10-07 16:10:17.000000000","message":"limitations","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":137,"context_line":"inconsistent port allocation as during the move the requested resources are"},{"line_number":138,"context_line":"re-calculated and the new allocation created accordingly in placement. This"},{"line_number":139,"context_line":"will complement `the port allocation healing capabilities`_ of the"},{"line_number":140,"context_line":"``nova-manage placement heal_allocations`` CLI that has multiple limitation in"},{"line_number":141,"context_line":"this regard."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"In general the operators having incomplete port allocations are recommended to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_9a551653","line":140,"range":{"start_line":140,"start_character":65,"end_line":140,"end_character":75},"in_reply_to":"3fa7e38b_db988276","updated":"2019-10-08 10:38:52.000000000","message":"Done","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"For each move operation:"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"* Before scheduling, gather the requested resource from neutron and update"},{"line_number":172,"context_line":"  the RequestSpec accordingly"},{"line_number":173,"context_line":"* After the scheduler selected the destination of the move operation calculate"},{"line_number":174,"context_line":"  the resource provider - request group mapping and update the neutron port"},{"line_number":175,"context_line":"  binding according to the destination allocation. This happens on the compute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_5b86d215","line":172,"range":{"start_line":171,"start_character":0,"end_line":172,"end_character":29},"updated":"2019-10-07 16:10:17.000000000","message":"Isn\u0027t this already done? (L35-7)","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"For each move operation:"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"* Before scheduling, gather the requested resource from neutron and update"},{"line_number":172,"context_line":"  the RequestSpec accordingly"},{"line_number":173,"context_line":"* After the scheduler selected the destination of the move operation calculate"},{"line_number":174,"context_line":"  the resource provider - request group mapping and update the neutron port"},{"line_number":175,"context_line":"  binding according to the destination allocation. This happens on the compute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_3acae219","line":172,"range":{"start_line":171,"start_character":0,"end_line":172,"end_character":29},"in_reply_to":"3fa7e38b_5b86d215","updated":"2019-10-08 10:38:52.000000000","message":"It is done for cold migrate and resize. L35-37 talks about the extension of the compute RPC with RequestSpec object not about the gathering the resource request from neutron and putting it into the RequestSpec","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"The API guide `Using ports with resource request`_ will be updated accordingly."},{"line_number":209,"context_line":"Also the Limitations section of the neutron admin guide"},{"line_number":210,"context_line":"`Quality of Service Guaranteed Minimum Bandwidth`_ needs to be updated."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"References"},{"line_number":213,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_3b98b668","line":210,"updated":"2019-10-07 16:10:17.000000000","message":"I didn\u0027t look - is there support matrix content for these features?","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"The API guide `Using ports with resource request`_ will be updated accordingly."},{"line_number":209,"context_line":"Also the Limitations section of the neutron admin guide"},{"line_number":210,"context_line":"`Quality of Service Guaranteed Minimum Bandwidth`_ needs to be updated."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"References"},{"line_number":213,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_7adffad5","line":210,"in_reply_to":"3fa7e38b_3b98b668","updated":"2019-10-08 10:38:52.000000000","message":"There is but it is specifically about SRIOV ports with resource request and virt drivers: https://docs.openstack.org/nova/latest/user/support-matrix.html#operation_port_with_resource_request","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"459ae0c80f7558152d5ba2b75c64fb78edfaf32e","unresolved":false,"context_lines":[{"line_number":232,"context_line":"   * - Release Name"},{"line_number":233,"context_line":"     - Description"},{"line_number":234,"context_line":"   * - Ussuri"},{"line_number":235,"context_line":"     - Introduced"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_bbab4673","line":235,"updated":"2019-10-07 16:10:17.000000000","message":"I know this one has a new name, but I wonder if it\u0027s worth including the previous one in the history section.","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"efed19772e0984206d5e393c697e98ae789d7dca","unresolved":false,"context_lines":[{"line_number":232,"context_line":"   * - Release Name"},{"line_number":233,"context_line":"     - Description"},{"line_number":234,"context_line":"   * - Ussuri"},{"line_number":235,"context_line":"     - Introduced"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_bafed235","line":235,"in_reply_to":"3fa7e38b_bbab4673","updated":"2019-10-08 10:38:52.000000000","message":"Why not. Done.","commit_id":"3de1fd11eeab6abb5e328337df684149a4e22201"}]}
