A short term fix was merged on 2014-04-08. For a long term solution BP/spec is to be created for supporting a "sync" operation in mechanism drivers. Therefore, I am closing this bug (as discussed in ML2 IRC meeting on 2014-05-28).
** 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/1227336 Title: ml2 plugin update operations Status in OpenStack Neutron (virtual network service): Fix Released Bug description: Error handling for update operations (update_network, update_port, and update_subnet) are not implemented yet and are marked as TODO items. Here is the TODO comment for update_network: # TODO(apech) - handle errors raised by update_network, potentially # by re-calling update_network with the previous attributes. For # now the error is propogated to the caller, which is expected to # either undo/retry the operation or delete the resource. Since here we need to deal with errors raised by update_network_postcommit (all other errors were caught earlier), shouldn't the assumption be that the mechanism driver has to deal with its own rollback? Here we only need to rollback the operations performed by the plugin (such as the db update). If that is the case, then recalling update_network won't be what we need. Recalling update_network may also lead to an infinite loop. One possible solution would be something like this: try: self.mechanism_manager.update_network_postcommit(mech_context) except ml2_exc.MechanismDriverError: # rollback the db using the original network info and # similarly deal with _process_l3_update, etc Perhaps similar or better solutions are in the works by apech and others. If not and if this approach sounds reasonable I can make the changes. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1227336/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp