)]}'
{"specs/wallaby/approved/support-interface-attach-with-qos-ports.rst":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f2dd731c140709d665996bcfb724bdfc15f6598a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/support-interface-attach-with-qos-ports"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Since `microversion 2.72`_ nova supports creating servers with neutron ports"},{"line_number":14,"context_line":"having resource request. In the recent releases support for the lifecycle"},{"line_number":15,"context_line":"operations with such ports have also been added. The next step is to support"},{"line_number":16,"context_line":"attaching qos ports to running instances."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_694d48c4","line":15,"range":{"start_line":14,"start_character":48,"end_line":15,"end_character":48},"updated":"2020-10-06 09:46:19.000000000","message":"nit: you could explicitely name all the instance actions supporting it, or provide a documentation link.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c58cbb4ecb067f650228aa61dff739a241fc722","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/support-interface-attach-with-qos-ports"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Since `microversion 2.72`_ nova supports creating servers with neutron ports"},{"line_number":14,"context_line":"having resource request. In the recent releases support for the lifecycle"},{"line_number":15,"context_line":"operations with such ports have also been added. The next step is to support"},{"line_number":16,"context_line":"attaching qos ports to running instances."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_fcb1fd92","line":15,"range":{"start_line":14,"start_character":48,"end_line":15,"end_character":48},"in_reply_to":"9f560f44_694d48c4","updated":"2020-10-07 15:11:22.000000000","message":"Added a doc link","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f2dd731c140709d665996bcfb724bdfc15f6598a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As an end user, I would like to add a new interface to my server that has QoS"},{"line_number":29,"context_line":"minimum bandwidth rules and I want that such operation only succeeds if the"},{"line_number":30,"context_line":"requested bandwidth can be guaranteed."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_49ce842d","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":68},"updated":"2020-10-06 09:46:19.000000000","message":"++ (because AFAICU we are already able to add a new interface, the main issue being that we don\u0027t verify about the QoS when doing it)","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f2dd731c140709d665996bcfb724bdfc15f6598a","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* Gather the port resource request from Neutron"},{"line_number":39,"context_line":"* Call placement ``allocation_candidates`` API based on the port resource"},{"line_number":40,"context_line":"  request, but restrict the query with an ``in_tree`` filter to the current RP"},{"line_number":41,"context_line":"  tree."},{"line_number":42,"context_line":"* Select the first candidate and note the resource provider mapping of the"},{"line_number":43,"context_line":"  candidate"},{"line_number":44,"context_line":"* Update the instance allocation based on the selected candidate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_69d268d1","line":41,"updated":"2020-10-06 09:46:19.000000000","message":"or just use the RequestedDestination field for the RequestSpec, it would make sure that it verifies the current RP.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c58cbb4ecb067f650228aa61dff739a241fc722","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* Gather the port resource request from Neutron"},{"line_number":39,"context_line":"* Call placement ``allocation_candidates`` API based on the port resource"},{"line_number":40,"context_line":"  request, but restrict the query with an ``in_tree`` filter to the current RP"},{"line_number":41,"context_line":"  tree."},{"line_number":42,"context_line":"* Select the first candidate and note the resource provider mapping of the"},{"line_number":43,"context_line":"  candidate"},{"line_number":44,"context_line":"* Update the instance allocation based on the selected candidate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_fc3f3ddc","line":41,"in_reply_to":"9f560f44_69d268d1","updated":"2020-10-07 15:11:22.000000000","message":"We cannot go with the RequestSpec way. The current code assumes a proper request spec where flavor (and other things) are filled. However during interface attach we don\u0027t want to allocate resources based on the flavor of the instance as that was already done during the boot. If we use a proper request spec then we request a double-up allocation of the instance that might not fit to the current host. \n\nWhat we need is allocation candidate that for the resource request of the port being attached, on the RP tree where the current allocation is. Then we need to extend the instance allocation with the selected candidate.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"490c7d3c9b076fa99ac31dca4fee8e49d9acde13","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* Gather the port resource request from Neutron"},{"line_number":39,"context_line":"* Call placement ``allocation_candidates`` API based on the port resource"},{"line_number":40,"context_line":"  request, but restrict the query with an ``in_tree`` filter to the current RP"},{"line_number":41,"context_line":"  tree."},{"line_number":42,"context_line":"* Select the first candidate and note the resource provider mapping of the"},{"line_number":43,"context_line":"  candidate"},{"line_number":44,"context_line":"* Update the instance allocation based on the selected candidate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f65232a_8a5bd42c","line":41,"in_reply_to":"9f560f44_fc3f3ddc","updated":"2020-10-21 16:36:51.000000000","message":"Ack, this makes sense.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f2dd731c140709d665996bcfb724bdfc15f6598a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  name of the parent physical device based on the device resource provider the"},{"line_number":47,"context_line":"  port allocates from"},{"line_number":48,"context_line":"* Do the PCI claim, if any, as today"},{"line_number":49,"context_line":"* Pass the resource provider mapping to allocate_for_instance call candidate"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"A couple of new error cases needs to be handled. The ``attach_interface``"},{"line_number":52,"context_line":"compute RPC call is synchronous so the error cases could lead to HTTP error"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_293b50ea","line":49,"updated":"2020-10-06 09:46:19.000000000","message":"all of those steps need to be done synchronously by only one compute method. For the moment, we only synchronize on allocation updates and PCI claiming, but I personnally think we need to handle all of those actions by once and provide exceptions above them directly.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"490c7d3c9b076fa99ac31dca4fee8e49d9acde13","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  name of the parent physical device based on the device resource provider the"},{"line_number":47,"context_line":"  port allocates from"},{"line_number":48,"context_line":"* Do the PCI claim, if any, as today"},{"line_number":49,"context_line":"* Pass the resource provider mapping to allocate_for_instance call candidate"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"A couple of new error cases needs to be handled. The ``attach_interface``"},{"line_number":52,"context_line":"compute RPC call is synchronous so the error cases could lead to HTTP error"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f65232a_4a889c70","line":49,"in_reply_to":"9f560f44_101c9564","updated":"2020-10-21 16:36:51.000000000","message":"Nevermind then if the existing method is already synchronized.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c58cbb4ecb067f650228aa61dff739a241fc722","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  name of the parent physical device based on the device resource provider the"},{"line_number":47,"context_line":"  port allocates from"},{"line_number":48,"context_line":"* Do the PCI claim, if any, as today"},{"line_number":49,"context_line":"* Pass the resource provider mapping to allocate_for_instance call candidate"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"A couple of new error cases needs to be handled. The ``attach_interface``"},{"line_number":52,"context_line":"compute RPC call is synchronous so the error cases could lead to HTTP error"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_101c9564","line":49,"in_reply_to":"9f560f44_293b50ea","updated":"2020-10-07 15:11:22.000000000","message":"All the relevant code will be called from the compute manager attach_interface method. That is currently synchronized for both attach and detach. \n\nDo you have a scenario in your mind than could be a problem?","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f2dd731c140709d665996bcfb724bdfc15f6598a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"codes:"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Placement returns no allocation candidates then respond with  HTTP 400"},{"line_number":56,"context_line":"  similarly to NoValidHost"},{"line_number":57,"context_line":"* Updating the instance allocation fails due to resource conflict then retry"},{"line_number":58,"context_line":"  with another candidate. If we run out of candidates then respond with HTTP"},{"line_number":59,"context_line":"  400"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_0992ccfc","line":56,"range":{"start_line":56,"start_character":2,"end_line":56,"end_character":26},"updated":"2020-10-06 09:46:19.000000000","message":"but the instance should still be ACTIVE and not in ERROR status then.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c58cbb4ecb067f650228aa61dff739a241fc722","unresolved":false,"context_lines":[{"line_number":53,"context_line":"codes:"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Placement returns no allocation candidates then respond with  HTTP 400"},{"line_number":56,"context_line":"  similarly to NoValidHost"},{"line_number":57,"context_line":"* Updating the instance allocation fails due to resource conflict then retry"},{"line_number":58,"context_line":"  with another candidate. If we run out of candidates then respond with HTTP"},{"line_number":59,"context_line":"  400"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_f020019d","line":56,"range":{"start_line":56,"start_character":2,"end_line":56,"end_character":26},"in_reply_to":"9f560f44_0992ccfc","updated":"2020-10-07 15:11:22.000000000","message":"Correct. I added a generic clarification below.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f2dd731c140709d665996bcfb724bdfc15f6598a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  similarly to NoValidHost"},{"line_number":57,"context_line":"* Updating the instance allocation fails due to resource conflict then retry"},{"line_number":58,"context_line":"  with another candidate. If we run out of candidates then respond with HTTP"},{"line_number":59,"context_line":"  400"},{"line_number":60,"context_line":"* Updating the instance allocation fails due to generation conflict then"},{"line_number":61,"context_line":"  reload allocations from placement and retry the update. If it still fails"},{"line_number":62,"context_line":"  after 3 retries then respond with HTTP 409"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_89853cb1","line":59,"updated":"2020-10-06 09:46:19.000000000","message":"same concern here","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c58cbb4ecb067f650228aa61dff739a241fc722","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  similarly to NoValidHost"},{"line_number":57,"context_line":"* Updating the instance allocation fails due to resource conflict then retry"},{"line_number":58,"context_line":"  with another candidate. If we run out of candidates then respond with HTTP"},{"line_number":59,"context_line":"  400"},{"line_number":60,"context_line":"* Updating the instance allocation fails due to generation conflict then"},{"line_number":61,"context_line":"  reload allocations from placement and retry the update. If it still fails"},{"line_number":62,"context_line":"  after 3 retries then respond with HTTP 409"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_10c6559d","line":59,"in_reply_to":"9f560f44_89853cb1","updated":"2020-10-07 15:11:22.000000000","message":"Done","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f2dd731c140709d665996bcfb724bdfc15f6598a","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None of these are introducing new HTTP response code for this API so no new"},{"line_number":67,"context_line":"microversion is needed."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Alternatives"},{"line_number":70,"context_line":"------------"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_89737ce8","line":68,"updated":"2020-10-06 09:46:19.000000000","message":"I think you should explain more about the fact that while the action would return HTTP400 (thanks to the RPC call that is synchronous), then we would ensure that the instance would change back to ACTIVE status and operators would still be able to see the action in the os-instance-actions API.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c58cbb4ecb067f650228aa61dff739a241fc722","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None of these are introducing new HTTP response code for this API so no new"},{"line_number":67,"context_line":"microversion is needed."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Alternatives"},{"line_number":70,"context_line":"------------"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_d04a1d59","line":68,"in_reply_to":"9f560f44_89737ce8","updated":"2020-10-07 15:11:22.000000000","message":"Added a generic clarification here.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f2dd731c140709d665996bcfb724bdfc15f6598a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"``POST /servers/{server_id}/os-interface`` with a Neutron port having resource"},{"line_number":83,"context_line":"request will be accepted. This is a similar change to supporting move"},{"line_number":84,"context_line":"operations with QoS ports and that was done without bumping a microversion. So"},{"line_number":85,"context_line":"this change will also be made without a microversion bump."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Security impact"},{"line_number":88,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_ad32cbf0","line":85,"updated":"2020-10-06 09:46:19.000000000","message":"I\u0027m half cool, half torn with this, as we would change a response status code from a HTTP400 to HTTP20x in case of success (and you haven\u0027t described it btw. right?) while our contributor docs state this needing a microversion :\nhttps://docs.openstack.org/nova/latest/contributor/microversions.html#when-do-i-need-a-new-microversion\n\nI don\u0027t want to be pedantic on microversions, but operators could appreciate a new microversion for opting into this feature.\nThis is highly debatable hence my point be open for comments with anyone that is opinionated.","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"371310e9f5fee834f283b50e2a4cf6e3ce070323","unresolved":false,"context_lines":[{"line_number":82,"context_line":"``POST /servers/{server_id}/os-interface`` with a Neutron port having resource"},{"line_number":83,"context_line":"request will be accepted. This is a similar change to supporting move"},{"line_number":84,"context_line":"operations with QoS ports and that was done without bumping a microversion. So"},{"line_number":85,"context_line":"this change will also be made without a microversion bump."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Security impact"},{"line_number":88,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_e332c20e","line":85,"in_reply_to":"9f560f44_50956d87","updated":"2020-10-12 08:31:21.000000000","message":"I\u0027ve added a topic about this microversion question to the PTG","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c58cbb4ecb067f650228aa61dff739a241fc722","unresolved":false,"context_lines":[{"line_number":82,"context_line":"``POST /servers/{server_id}/os-interface`` with a Neutron port having resource"},{"line_number":83,"context_line":"request will be accepted. This is a similar change to supporting move"},{"line_number":84,"context_line":"operations with QoS ports and that was done without bumping a microversion. So"},{"line_number":85,"context_line":"this change will also be made without a microversion bump."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Security impact"},{"line_number":88,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f560f44_50956d87","line":85,"in_reply_to":"9f560f44_ad32cbf0","updated":"2020-10-07 15:11:22.000000000","message":"I\u0027m open for discussion. Before this feature the interface attach was rejected if it port has resource request. My reasoning is along the line: Is there any user that want to see the old behavior, the rejection, even if there is the new behavior where her request is accepted and handled properly?","commit_id":"172c5e957cd107fce0d82dc0cb68ca0d7519caab"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25c20ee6411f700213b5d0cac250653bcac9ce9f","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Support interface attach with qos ports"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/support-interface-attach-with-qos-ports"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f65232a_8e356549","line":8,"range":{"start_line":8,"start_character":30,"end_line":8,"end_character":33},"updated":"2020-10-27 17:41:49.000000000","message":"QoS\n\n(here and elsewhere)","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0def63364299d18967c40aad899b26a904f1f9e9","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Support interface attach with qos ports"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/support-interface-attach-with-qos-ports"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1f621f24_a8dbe3ea","line":8,"range":{"start_line":8,"start_character":30,"end_line":8,"end_character":33},"in_reply_to":"3f65232a_8e356549","updated":"2020-11-04 13:36:59.000000000","message":"Done","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"490c7d3c9b076fa99ac31dca4fee8e49d9acde13","unresolved":false,"context_lines":[{"line_number":83,"context_line":"``POST /servers/{server_id}/os-interface`` with a Neutron port having resource"},{"line_number":84,"context_line":"request will be accepted. This is a similar change to supporting move"},{"line_number":85,"context_line":"operations with QoS ports and that was done without bumping a microversion. So"},{"line_number":86,"context_line":"this change will also be made without a microversion bump."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Security impact"},{"line_number":89,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f65232a_8aa914e1","line":86,"updated":"2020-10-21 16:36:51.000000000","message":"\u003e I\u0027m open for discussion. Before this feature the interface attach\n \u003e was rejected if it port has resource request. My reasoning is along\n \u003e the line: Is there any user that want to see the old behavior, the\n \u003e rejection, even if there is the new behavior where her request is\n \u003e accepted and handled properly?\n\nContinuing to raise the point with microversion needs or not.\n\nWell, you\u0027re potentially right, users just want their attachment request to work without explicitely stating they want to opt-in.\nThis is logical, I conceive.\n\nThat being said, that means that two clouds, one with Victoria and one with Wallaby will have two distinct behaviours when attaching. I don\u0027t really see it a problem, but I\u0027m still a bit torn about it.","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fc358c9eecc0175398f9e9883cf1432d2ffd41fc","unresolved":false,"context_lines":[{"line_number":83,"context_line":"``POST /servers/{server_id}/os-interface`` with a Neutron port having resource"},{"line_number":84,"context_line":"request will be accepted. This is a similar change to supporting move"},{"line_number":85,"context_line":"operations with QoS ports and that was done without bumping a microversion. So"},{"line_number":86,"context_line":"this change will also be made without a microversion bump."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Security impact"},{"line_number":89,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f65232a_d1d09cfa","line":86,"in_reply_to":"3f65232a_8aa914e1","updated":"2020-10-27 18:08:40.000000000","message":"i kind of feel like we should have a microverion but what i really want is a microverison to signel it but not requrie you to used it.\n\ne.g. so you can deteact that the feature exstis without havign to ask for it to be enabeld.\n\nthat said that is not how microversions work.\n\nthis is where something like neutron extention list woudl be useful e.g. if we had an entrypoint that you coudl pool for a simple set of strings tuples \u003cfeature\u003e:\u003cmicoversion\u003e:\u003cdescription\u003e that would simple advertise the available of a feature and optionally it min microcersion and a short description.\n\nthat way we coudl add support for attach without needing a microversion and still signel its support in a discoverable way.\n\ne.g. \"qos-port-attach\":\"\u003ccurrent microverions\u003e\":\"support for attaching ports with qos policies\"\n\nthats a differnt feature but it has always bothered me that we dont have this in nova and we only have microversions.","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c9fe2d98c789f561d29017595c92a994a5da8e8b","unresolved":false,"context_lines":[{"line_number":83,"context_line":"``POST /servers/{server_id}/os-interface`` with a Neutron port having resource"},{"line_number":84,"context_line":"request will be accepted. This is a similar change to supporting move"},{"line_number":85,"context_line":"operations with QoS ports and that was done without bumping a microversion. So"},{"line_number":86,"context_line":"this change will also be made without a microversion bump."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Security impact"},{"line_number":89,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1f621f24_14b86974","line":86,"in_reply_to":"3f65232a_d1d09cfa","updated":"2020-10-30 16:40:30.000000000","message":"Based on the discussion we had at the PTG, I\u0027m OK with not asking a microversion for this.\nNevermind my concern here, it\u0027s no longer valid.","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"490c7d3c9b076fa99ac31dca4fee8e49d9acde13","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Upgrade impact"},{"line_number":124,"context_line":"--------------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"None"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Implementation"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f65232a_4ad6dc51","line":126,"updated":"2020-10-21 16:36:51.000000000","message":"what happens with a Victoria compute and a Wallaby API ?\nI mean, the user starts asking to attach the port, the request is accepted and then it goes to a Victoria compute service which doesn\u0027t know it has to do all the things.\n\nShould we end up with success then ?","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e8f54d78cb8a19607d158d21bc0e517bce425760","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Upgrade impact"},{"line_number":124,"context_line":"--------------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"None"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Implementation"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f65232a_aa5970ff","line":126,"in_reply_to":"3f65232a_4ad6dc51","updated":"2020-10-21 16:39:54.000000000","message":"Good point. We need to bump the compute service level, and we need a service level check in the API. If the compute where the instance is running is older than our new service level implementing the attach, then the request still needs to be rejected.","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0def63364299d18967c40aad899b26a904f1f9e9","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Upgrade impact"},{"line_number":124,"context_line":"--------------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"None"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Implementation"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1f621f24_08f4975a","line":126,"in_reply_to":"3f65232a_512bece9","updated":"2020-11-04 13:36:59.000000000","message":"@Sean: As far as I see the implementation only affect the compute service. Also controller services are assumed to be upgraded at the same time.\n\n@Sylvian: added the service level bump.","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fc358c9eecc0175398f9e9883cf1432d2ffd41fc","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Upgrade impact"},{"line_number":124,"context_line":"--------------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"None"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Implementation"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f65232a_512bece9","line":126,"in_reply_to":"3f65232a_7c0a748a","updated":"2020-10-27 18:08:40.000000000","message":"+1 this should work although you also need the conductor to be new enough too so you ned to check that","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"96ffb3022b83530d04db21931e3c3f311ebc72f2","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Upgrade impact"},{"line_number":124,"context_line":"--------------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"None"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Implementation"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f65232a_7c0a748a","line":126,"in_reply_to":"3f65232a_aa5970ff","updated":"2020-10-22 16:13:55.000000000","message":"Yup, I was thinking on the same direction, please then update the spec.","commit_id":"3b08a500b2c59da5db261fc531af4b527440c5f3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"aa856f82553bc677d3fada02878bdfc707ab79c3","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"All the error cases keep the server in ACTIVE state and record a failed"},{"line_number":67,"context_line":"instance action. Also none of these are introducing new HTTP response code for"},{"line_number":68,"context_line":"this API so no new microversion is needed."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f621f24_aaab44d3","line":68,"updated":"2020-11-17 12:54:32.000000000","message":"++","commit_id":"48a93269ba2795ed76a174b70bceccf7624328c9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"fd4475255c1982c0d1e3588df8594198502e623b","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"All the error cases keep the server in ACTIVE state and record a failed"},{"line_number":67,"context_line":"instance action. Also none of these are introducing new HTTP response code for"},{"line_number":68,"context_line":"this API so no new microversion is needed."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f621f24_ca7fa012","line":68,"in_reply_to":"1f621f24_aaab44d3","updated":"2020-11-17 13:14:42.000000000","message":"+1 all good with me.","commit_id":"48a93269ba2795ed76a174b70bceccf7624328c9"}]}
