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

        :param context: the neutron context of the request
        :param router_context: RouterContext instance describing the new
                               router.

        Create a new router, allocating resources as necessary in the
        database. Called inside transaction context on session. Call cannot
        block. Raising an exception will result in a rollback of the current
        transaction.