)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"1a70914f78f0fa201f5522b58557006f40165d94","unresolved":false,"context_lines":[{"line_number":1694,"context_line":"        port_id \u003d self._get_port_id_by_fixed_address(client, instance,"},{"line_number":1695,"context_line":"                                                     fixed_address)"},{"line_number":1696,"context_line":"        fip \u003d self._get_floating_ip_by_address(client, floating_address)"},{"line_number":1697,"context_line":""},{"line_number":1698,"context_line":"        if fip[\u0027port_id\u0027] and fip[\u0027port_id\u0027] !\u003d port_id:"},{"line_number":1699,"context_line":"            raise exception.FloatingIpAssociated"},{"line_number":1700,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a3905b3_866cdc09","line":1697,"updated":"2017-01-25 11:02:00.000000000","message":"The problem with this approach is that \"get fip + conditionally update fip\" is not an atomic action: by the time we update the floating IP below it may have already been assigned to another port.\n\nDoes Neutron API provide some form of concurrency control? (like e-tags)","commit_id":"b444e99b971033fa907ea4bc68695024f6752668"}]}
