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

        :param context: the neutron context of the request
        :param router_context: RouterContext instance describing the current
                               state of the router, prior to the call to
                               schedule it.

        Perform operations that need to happen before scheduling of routers
        of this routertype. Called inside transaction context on session.
        Raising an exception will result in rollback of the transaction.