So, you want enable router and NAT functionality for your Neutron installation so that anyone would be able to create and manage routers? This setup is described as self-service networks by the OpenStack documentation and requires you to have the router service_plugin enabled. So in the neutron.conf the line:

service_plugins = router

should be present. If the router functionality is not enabled you won’t be able to run the L3 agent correctly since the relevant RPC message queues won’t be usable:

2016-07-29 08:24:33.487 18859 ERROR neutron.common.rpc [req-3a888cc9-76de-4daa-ada4-f00b3025f60f - - - - -] Timeout in RPC method get_service_plugin_list. Waiting for 25 seconds before next attempt. If the server is not down, consider increasing the rpc_response_timeout option as Neutron server(s) may be overloaded and unable to respond quickly enough.
2016-07-29 08:24:33.489 18859 WARNING neutron.common.rpc [req-3a888cc9-76de-4daa-ada4-f00b3025f60f - - - - -] Increasing timeout for get_service_plugin_list calls to 120 seconds. Restart the agent to restore it to the default value.

and the router resource won’t be available from the Neutron server:

$ neutron router-list
The resource could not be found.<br /><br />



Neutron server returns request_ids: ['req-7951788b-35ed-474a-a3b0-fa58649215fc']

This step is correctly described in the documentation but if you change setups a lot, just skim the documentation because you’ve gone over it a few times before or are somewhat absent minded like me you may miss it.