@abc.abstractmethod<EOL><INDENT>def update_router_precommit(self, context, router_context):<DEDENT>
pass<EOL>
Perform operations specific to the router type in preparation for
        the update of a router.

        :param context: the neutron context of the request
        :param router_context: RouterContext instance describing the new
                               state of the router, as well as the original
                               state prior to the update_router call.

        Update values of a router, updating the associated resources in the
        database. Called inside transaction context on session. Raising an
        exception will result in rollback of the transaction.

        update_router_precommit is called for all changes to the router
        state. It is up to the router type driver to ignore state or state
        changes that it does not know or care about.