Ask Your Question

Revision history [back]

Since services (e.g. Neutron and Nova) and service components (e.g. neutron-server, neutron-l3-agent, nova-compute etc) communicate with each other and with the database over the network, in principle you can put them anywhere.

Exceptions are components that need to configure local structures. For example nova-compute and Neutron agents need to run on compute hosts, where they communicate with hypervisors and openvswitch, set up network interfaces and the like.

It depends on your Neutron plugins and their configuration what parts of Neutron run on compute nodes. For example, if you configure the distributed router and use ML2 with the Linuxbridge mechanism, each compute node needs an L3 agent and a Linuxbridge agent.

There is nothing particular that you require on the controller, I would think. Since most installation and configuration guides assume that API processes (including neutron-server) run on the controller, you have to carefully analyse what configuration details need to be adapted to a remote neutron-server. One detail might be database access permissions.