Atom feed of this document
 

 Install quantum-l3-agent

apt-get -y install quantum-l3-agent

Install the agent specific to the plugin (see plugin specific agent section above).

Create a bridge "br-ex" that will be used to uplink this node running quantum-l3-agent to the external network, then attach the NIC attached to the external network to this bridge.

[Warning]Warning

OpenStack does not manage this routing for you, so you need to make sure that your host running the metadata service always has a route to reach each private network's subnet via the external network IP of that subnet's quantum router. To do this, you can run quantum without namespaces, and run the quantum-l3-agent on the same host as nova-api. Alternatively, you can identify an IP prefix that includes all private network subnet's (e.g., 10.0.0.0/8) and then make sure that your metadata server has a route for that prefix with the quantum router's external IP address as the next hop. For more validation information, refer to Advanced configuration

For example, with Open vSwitch and NIC eth1 connect to the external network, run:

ovs-vsctl add-br br-ex
ovs-vsctl add-port br-ex eth1

The node running quantum-l3-agent should not have an IP address manually configured on the NIC connected to the external network. Rather, you must have a range of IP addresses from the external network that can be used by Quantum for routers that uplink to the external network. This range must be large enough to have an IP address for each router in the deployment, as well as each floating IP.

The quantum-l3-agent uses the Linux IP stack and iptables to perform L3 forwarding and NAT. In order to support multiple routers with potentially overlapping IP addresses, quantum-l3-agent defaults to using Linux network namespaces to provide isolated forwarding contexts. As a result, the IP addresses of routers will not be visible simply by running "ip addr list" or "ifconfig" on the node. Similarly, you will not be able to directly ping fixed IPs. To do either of these things, you must run the command within a particular router's network namespace. The namespace will have the name "qrouter-<UUID of the router>. The following commands are examples of running commands in the namespace of a router with UUID 47af3868-0fa8-4447-85f6-1304de32153b:

            ip netns exec qrouter-47af3868-0fa8-4447-85f6-1304de32153b ip addr list
ip netns exec qrouter-47af3868-0fa8-4447-85f6-1304de32153b ping <fixed-ip>
            


loading table of contents...