)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6f9979541b12c43ab335c6b39ffb957cc9e5f349","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ef39363a_046c8422","updated":"2022-06-01 18:25:26.000000000","message":"I think this is a bad idea for a number of reasons. First, it changes the behavior with no microversion. Second, even with a microversion, it changes the default behavior during detach to something that probably isn\u0027t actually the most common use-case. You could argue, if we were adding detach from scratch now, which default makes the more sense. However, we have a long-lived default at this point and changing it to something (majority-desired, or not) is bad.\n\nI think exposing the flag, or allowing you to declare intent when doing the detach (i.e. detach but please leave the port) is what we need to do. And, of course, a microversion for either :)","commit_id":"f9903787a6f20c7d753fd1146b4d1a41f6eab840"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ff1c3c97433ba0d72e5446bd7c465bce73351774","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5321ad1d_a3d4db03","updated":"2022-06-01 18:23:03.000000000","message":"Wanted to put this up to have the discussion publicly, but after talking to Dan and gibi, we\u0027re leaning towards exposing preserve_on_delete for the VIFs, similar to how we have delete_on_termination for volumes. This allows clear communication of intent by the user on what they want done with the interface attachment.","commit_id":"f9903787a6f20c7d753fd1146b4d1a41f6eab840"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"72405b71ba573b44929ae87605d07fe50c58b6a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1f215818_31574042","in_reply_to":"419d0fd4_5e8aa69e","updated":"2022-06-02 13:02:14.000000000","message":"so lookign in to this more i think this likely shoudl be a neutron api extension\n\nwe currently determin if we should preserve a prot on delete here \n\n_build_vif_model\n\nhttps://github.com/openstack/nova/blob/d86916360858daa06164ebc0d012b78d19ae6497/nova/network/neutron.py#L3326-L3327\u003d\n\nif we had a new neutron api extion that allowed you to set a boolean flag to delete_on_detach  we coudl allow that to overried our default.\n\nso the nova implemetaion woudl be something like this\n\npreserve_on_delete \u003d not current_neutron_port.get(\n    \u0027delete_on_detach\u0027,\n    (current_neutron_port[\u0027id\u0027]  not in preexisting_port_ids)\n)\n\n\nthe neutron side woudl be simiarly small jsut a new extended prot attrbute that can be set/unset and passed on port creation. \n\naddtion in nova we just need to make sure that we always check if we shoudl delete it by lookign a the vif object in the network info cache.\n\nthat is where we get the info today i think but i did not check fi we look it up for the network infor cache in all code paths where it matters.","commit_id":"f9903787a6f20c7d753fd1146b4d1a41f6eab840"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8d7f3a1287879d6d323d86328b865a8fe13eef3f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"419d0fd4_5e8aa69e","in_reply_to":"ef39363a_046c8422","updated":"2022-06-02 11:16:14.000000000","message":"i strongly think this is a bug that should be fixed without needing to opt into it but i get that this is a long lived default and we are stuck with it by the microversion rules.\n\nits not documeted anywhere and as a customer i would consider this a bug if i encutored it and as a developer i really think is the incorrect behavior.\nhttps://docs.openstack.org/api-ref/compute/?expanded\u003ddetach-interface-detail#detach-interface\n\nno one should be depending on this behavior today as it not gurneteed by the api.\nthat siad someone probaly is.\n\nif we go down the root of exposing a flag via a microverison i think we shoudl only do that if we default to not deleteing the port by default.\n\nif people want the old behavior they can use the old microversion or override the new default with the flag on detach.\n\ni dont think this shoudl be done as part of openstack server create in general.\nif it was then we woudl have to ether stor this in the virtual_interfaces table or this shoudl be stored in the neutron port bining profile as a atribute of the port its self not in nova.\n\n\nso to me this is either a bugfix and we proceed as artom has proposed where we do that the documetaion says and only detach and not delete on interface detach  or this is an RFE and we need a spec for the api change.\nif we treat this as an RFE i think we shoudl do it properly and allow updating this on exsitng instance ports too to prempt the issue we had with cinder.\n\nas much as i hate to say this by the micofverson rule i think this has to take the latter approch for backwards compatiblity so this will need a spec for the api change.","commit_id":"f9903787a6f20c7d753fd1146b4d1a41f6eab840"}]}
