I'm trying to run a small OpenStack setup over a few servers hosted in hetzner.de, I'm currently deploying a basic setup to two servers.
All servers are running Ubuntu, they are connected to each other using a LAN, running on 172.16.0.x network. Here's the contents of /etc/network/interfaces on one of the servers:
auto eth1
iface eth1 inet static
address 172.16.0.1
broadcast 172.16.0.255
netmask 255.255.255.0
First server is a controller, which is connected to public internet through eth0 (one IP address is pointing to it, server gets configured using DHCP). The second server is only a networking node and I can't get neutron properly configured on it.
The second server also has two interfaces, eth1 (the LAN) works properly, but eth0 does not allow access to the internet. I believe it might be a routing issue. There's a /28 block pointing to eth0 + a single IP, which can be configured using DHCP. Here's the contents of /etc/network/interfaces on the neutron node:
auto eth0
iface eth0 inet manual
From what I've read, it has to be manual to let neutron configure it. I followed the Ubuntu setup guide from OpenStack's official website. Here's the output of ovs-vsctl show
:
╰─➤ ovs-vsctl show
d57fbedc-d9c8-4102-9edf-0b8defa49d98
Bridge br-int
fail_mode: secure
Port br-int
Interface br-int
type: internal
Port int-br-ex
Interface int-br-ex
type: patch
options: {peer=phy-br-ex}
Port "qr-72448652-b4"
tag: 1
Interface "qr-72448652-b4"
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port "tapfb4cc7c2-ec"
tag: 1
Interface "tapfb4cc7c2-ec"
type: internal
Bridge br-ex
Port "eth0"
Interface "eth0"
Port phy-br-ex
Interface phy-br-ex
type: patch
options: {peer=int-br-ex}
Port "qg-bc735ff4-fe"
Interface "qg-bc735ff4-fe"
type: internal
Port br-ex
Interface br-ex
type: internal
Bridge br-tun
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port "gre-ac100003"
Interface "gre-ac100003"
type: gre
options: {df_default="true", in_key=flow, local_ip="172.16.0.2", out_key=flow, remote_ip="172.16.0.3"}
Port br-tun
Interface br-tun
type: internal
ovs_version: "2.0.2"
I ran ovs-vsctl add-br br-ex
and ovs-vsctl add-port br-ex eth0
. Then I ran this command to add that network to neutron:
neutron subnet-create ext-net --name ext-subnet --allocation-pool start=x.x.x.193,end=x.x.x.206 --disable-dhcp --gateway x.x.x.193 x.x.x.192/28
Here's the output of route -n on the networking node.
╭─route -n 127 ↵
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.0 172.16.0.1 255.255.255.0 UG 0 0 0 eth1
x.x.x.192 0.0.0.0 255.255.255.240 U 0 0 0 br-ex
172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Clearly the routing is invalid, but I'm not sure how it should look like. Any tips on how I should make the networking work?