Why do people believe the FlatManager is a bad option for networking?

asked 2013-05-15 08:54:03 -0600

justinsb gravatar image

updated 2013-05-16 00:53:38 -0600

Can someone explain why FlatManager is a bad networking option? In discussions of OpenStack's networking options, it is usually dismissed out of hand, but I can't find a good justification.

FlatManager has several advantages: no nova-network SPOF or overhead, easier to integrate with existing networks; and simplicity. I've had great experiences using FlatManager at small scale (apart from that it sometimes feels like I'm the only user!)

I presume there are disadvantages that outweigh the advantages, but I can't find what those are!

Let's ignore the lack of support for floating IPs: they will probably still need a nova-network service; right now nova-network isn't enabled with FlatManager; but I believe that it could be enabled with FlatManager and handle only floating-ip traffic. (Unless of course floating IPs + FlatManager is actually impossible!)

edit retag flag offensive close merge delete


are you sure nova-network is not used with FlatManager? - I thought FlatManager was a class for nova-network to use.

darragh-oreilly gravatar imagedarragh-oreilly ( 2013-05-15 13:31:49 -0600 )edit

darragh-oreilly: I'm pretty sure it doesn't need to be used (the FlatManager class seems to be used in both the compute node and nova-network). I've used a normal network gateway in the past, instead of nova-network. (I think you'd need nova-network for floating-ips, unless you played ARP tricks)

justinsb gravatar imagejustinsb ( 2013-05-15 14:53:08 -0600 )edit

@justinsb: what do you mean by "nova-network"? I'm talking about the Python process that uses the class set by network_manager in nova.conf.

darragh-oreilly gravatar imagedarragh-oreilly ( 2013-05-15 15:45:17 -0600 )edit

@darragh-oreilly: Looks like you're right (I re-read the code). I guess I'm asking why nova-network is in the path for outgoing network connections from a VM, vs just using the network's existing router (which presumably is just as capable of doing NAT).

justinsb gravatar imagejustinsb ( 2013-05-15 15:58:41 -0600 )edit

@justinsb: ok - I see. So a downside of doing so much of the networking outside of OpenStack is that you are left with the task of somehow automating it along side OpenStack - or worse, doing it manually.

darragh-oreilly gravatar imagedarragh-oreilly ( 2013-05-15 16:23:50 -0600 )edit

3 answers

Sort by ยป oldest newest most voted

answered 2013-05-15 17:48:15 -0600

fifieldt gravatar image

FlatManager injects IP information through the filesystem, which

  • doesn't always work, or doesn't work for all operating system types
  • has some security implications
edit flag offensive delete link more


With config-drive it isn't so bad, though it needs cloud-init. I think (with everyone's help) I've distilled the essence of my question to be: what is the problem with flat networking & why is nova-network in the network path for outgoing network connections from VM. I'll edit the question...

justinsb gravatar imagejustinsb ( 2013-05-15 17:52:59 -0600 )edit

answered 2013-05-15 13:23:33 -0600

darragh-oreilly gravatar image

I have never used or really looked at it - but I can think of a few:

  1. A single layer-2 broadcast domain will only scale so far
  2. No isolation required for multi-tenancy
  3. No IP address management
edit flag offensive delete link more


1) I think you'd use Layer 2 at the rack level, and Layer 3 switches to join the racks (?). 2) Fair point, but I think bandwidth limits and security rules etc could still be applied at the compute node. 3) I don't think that's true; nova assigns IP addresses even using FlatManager.

justinsb gravatar imagejustinsb ( 2013-05-15 14:57:10 -0600 )edit

these comments aren't specific to FlatManager

fifieldt gravatar imagefifieldt ( 2013-05-15 17:49:33 -0600 )edit

answered 2013-05-15 12:29:35 -0600

lorin gravatar image

updated 2013-05-15 12:29:54 -0600

My guess is that the lack of IP management with FlatManager makes it difficult for people to get started with it. I've never used FlatManager, but I assume you have to either hard-code the IPs into the instances, set up your own DHCP server, or use a combination of config drive with a user data script to configure the IP.

If there was better support for IP management via config drive, perhaps it would be more popular. But, as far as I know, you've got to roll your own solution for setting IPs in the instances via custom shell scripts passed via user data.

There's also the lack of documentation about how to do this.

edit flag offensive delete link more


Thanks Lorin. Nova still assigns IPs with FlatManager, but injecting them does need e.g. config-drive. My understanding is that this is now better supported by cloud-init. I'm trying to figure out the underlying technical limitations though, before maybe attacking those implementation issues!

justinsb gravatar imagejustinsb ( 2013-05-15 14:54:00 -0600 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools



Asked: 2013-05-15 08:54:03 -0600

Seen: 639 times

Last updated: May 16 '13