← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1836263] Re: doc: PUT /ports/{port_id} updates selectively

 

Reviewed:  https://review.opendev.org/726293
Committed: https://git.openstack.org/cgit/openstack/neutron-lib/commit/?id=4c2e5ce0d043e5ca8ac1120f961cd1eea9f9e04b
Submitter: Zuul
Branch:    master

commit 4c2e5ce0d043e5ca8ac1120f961cd1eea9f9e04b
Author: triveni <triveni.gurram@xxxxxxx>
Date:   Wed May 6 08:06:19 2020 +0530

    [Docs] Note about port's binding_profile update
    
    The fix is to document that, if binding profile of a port is updated to
    null using put command then it is treated as {} in response.
    
    Closes-Bug: #1836263
    
    Change-Id: I5fe45af8a8075e52d3a196b24fc926343018d8fd


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1836263

Title:
  doc: PUT /ports/{port_id} updates selectively

Status in neutron:
  Fix Released

Bug description:
  Based on noted usage in Nova [1], it appears as though PUT
  /v2/ports/{port_id} [2] with a payload like

   { "port":
         "foo": ...,
   }

  will update only port.foo on the server, leaving all the other
  contents of the port untouched.

  That is, you can GET-extract-PUT rather than GET-modify-PUT.

  I assume (but am not certain) this is restricted to the top-level keys
  listed in the table in the API reference. So for example, if the port
  previously looked like

   { "port":
         ...,
         "dns_assignment": {
             "hostname": "myport",
             "ip_address": "20.20.0.4",
             "fqdn": "myport.my-domain.org"
         },
         ...,
   }

  and I PUT /v2/ports/{port_id} with

   { "port":
         "dns_assignment": {
             "ip_address": "10.10.0.4",
         },
   }

  I will wind up with no "hostname" or "fqdn" in my port.dns_assignment.

  I'm also not certain what happens if I send a `null`

   { "port":
         "binding:profile": null
   }

  Do I wind up with port.binding:profile == {}, null, or absent?

  ===================

  This bug is to request that the API reference documentation be
  enhanced to include this information for PUT /v2/ports/{port_id}.

  (It's possible that similar principles apply to PUTting other
  resources as well -- I didn't check -- in which case it may make sense
  to write a section in the front matter explaining the principle and
  linking to it from the various operations.)

  [1] http://codesearch.openstack.org/?q=%5C.update_port%5C(&i=nope&files=&repos=openstack/nova
  [2] https://developer.openstack.org/api-ref/network/v2/?expanded=update-port-detail#update-port

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1836263/+subscriptions


References