routing problem with floating ip addresses
I've got a three machine setup running Essex. Host a runs Glance, Keystone, and nova-* except nova-compute. Host b and c only run nova-compute. For the most part everything seems to work, I'm able to create instances. I can ping them from the Network-Controller using the private ip addresses and the floating ip addresses.
I'm using a FlatDHCP configuration, but the enterprise network in which the hosts run heavily uses vlans. For the setup of OpenStack I was granted three vlans 232, 233, 235. VLAN 235 is the dmz vlan. All vlans were created with gateways on the first ip address of the ip space. I originally wanted to use VLAN 232 for the vms, VLAN 233 for the host ips and VLAN 235 for floating ip addresses that are accessible from the outside. I ran into problems using the ip space of VLAN 232 for the private ip addresses, so i changed that to local ip adresses.
Created vms can access the internet as long as they don't have a floating ip address. As soon as I assign a floating ip address to a vm, the vms cannot access the internet anymore.
We checked on the network controller that the floating ip addresses were assigned: br235: <broadcast,multicast,up,lower_up> mtu 1500 qdisc noqueue state UP link/ether 00:46:e9:25:b2:38 brd ff:ff:ff:ff:ff:ff inet 192.168.135.1/24 brd 192.168.135.255 scope global br235 inet 138.246.18.131/32 scope global br235 inet 138.246.18.132/32 scope global br235 inet6 fe80::236:b9ff:fe25:b448/64 scope link valid_lft forever preferred_lft forever
But we're not able to ping this address from another server on the network. The routes on the network controller look like this:
Destination Gateway Genmask Flags Metric Ref Use Iface default 10.144.233.1 0.0.0.0 UG 100 0 0 br233 10.144.233.0 * 255.255.255.0 U 0 0 0 br233 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 192.168.235.0 * 255.255.255.0 U 0 0 0 br235
Does anyone know how the network controller usually propagates the floating ip addresses to the connected switches/routers? Or how I can check that he's doing it correctly?