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

Monty Taylor mordred at inaugust.com
Tue Sep 15 23:08:34 UTC 2015


On 09/15/2015 06:30 PM, Armando M. wrote:
>
>
> On 15 September 2015 at 08:04, Monty Taylor <mordred at inaugust.com
> <mailto:mordred at inaugust.com>> wrote:
>
>     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"?
>
>
> The reason is simple: not every cloud deployment is the same: private is
> different from public and even within the same cloud model, the network
> topology may vary greatly.

Yes. Many things may be different.

> Perhaps Neutron fails in the sense that it provides you with too much
> choice, and perhaps we have to standardize on the type of networking
> profile expected by a user of OpenStack public clouds before making
> changes that would fragment this landscape even further.
>
> If you are advocating for more flexibility without limiting the existing
> one, we're only making the problem worse.

I am not. I am arguing for a different arbitrary 'default' deployment. 
Right now the verbiage around things is "floating IPs is the 'right' way 
to get access to public networks"

I'm not arguing for code changes, or more options, or new features.

I'm saying that there a set of public clouds that provide a default 
experience out of the box that is pleasing with neutron today, and we 
should have the "I don't know what I want tell me what to do" option 
behave like those clouds.

Yes. You can do other things.
Yes. You can get fancy.
Yes. You can express all of the things.

Those are things I LOVE about neutron and one of the reasons I think 
that the arguments around neutron and nova-net are insane.

I'm just saying that "I want a computer on the externally facing network 
from this cloud" is almost never well served by floating-ips unless you 
know what you're doing, so rather than leading people down the road 
towards that as the default behavior, since it's the HARDER thing to 
deal with - let's lead them to the behavior which makes the simple thing 
simple and then clearly open the door to them to increasingly complex 
and powerful things over time.
>
>     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?
>
>
> As I implied earlier, I am not sure how healthy this choice is. As a
> user of multiple clouds I may end up having a different user experience
> based on which cloud I am using...I thought you were partially
> complaining about lack of consistency?

I am a user of multiple clouds. I am complaining about the current lack 
of consistency.

More than that though, I'm complaining that we lead people to select a 
floating-ip model when having them flip the boolean value of 
"shared=True" on their ext-net would make the end-user experience WAY nicer.




More information about the OpenStack-dev mailing list