[openstack-dev] [nova][neutron][devstack] New proposed 'default' network model

Monty Taylor mordred at inaugust.com
Tue Sep 15 15:04:07 UTC 2015


Hey all!

If any of you have ever gotten drunk with me, you'll know I hate 
floating IPs more than I hate being stabbed in the face with a very 
angry fish.

However, that doesn't really matter. What should matter is "what is the 
most sane thing we can do for our users"

As you might have seen in the glance thread, I have a bunch of OpenStack 
public cloud accounts. Since I wrote that email this morning, I've added 
more - so we're up to 13.

auro
citycloud
datacentred
dreamhost
elastx
entercloudsuite
hp
ovh
rackspace
runabove
ultimum
unitedstack
vexxhost

Of those public clouds, 5 of them require you to use a floating IP to 
get an outbound address, the others directly attach you to the public 
network. Most of those 8 allow you to create a private network, to boot 
vms on the private network, and ALSO to create a router with a gateway 
and put floating IPs on your private ip'd machines if you choose.

Which brings me to the suggestion I'd like to make.

Instead of having our default in devstack and our default when we talk 
about things be "you boot a VM and you put a floating IP on it" - which 
solves one of the two usage models - how about:

- Cloud has a shared: True, external:routable: True neutron network. I 
don't care what it's called  ext-net, public, whatever. the "shared" 
part is the key, that's the part that lets someone boot a vm on it directly.

- Each person can then make a private network, router, gateway, etc. and 
get floating-ips from the same public network if they prefer that model.

Are there any good reasons to not push to get all of the public networks 
marked as "shared"?

OH - well, one thing - that's that once there are two networks in an 
account you have to specify which one. This is really painful in nova 
clent. Say, for instance, you have a public network called "public" and 
a private network called "private" ...

You can't just say "nova boot --network=public" - nope, you need to say 
"nova boot --nics net-id=$uuid_of_my_public_network"

So I'd suggest 2 more things;

a) an update to python-novaclient to allow a named network to be passed 
to satisfy the "you have more than one network" - the nics argument is 
still useful for more complex things

b) ability to say "vms in my cloud should default to being booted on the 
public network" or "vms in my cloud should default to being booted on a 
network owned by the user"

Thoughts?

Monty



More information about the OpenStack-dev mailing list