[openstack-dev] [nova] [neutron] Re: [Openstack-operators] How do your end users use networking?

Jay Pipes jaypipes at gmail.com
Tue Jun 16 14:20:05 UTC 2015


Adding -dev because of the reference to the Neutron "Get me a network 
spec". Also adding [nova] and [neutron] subject markers.

Comments inline, Kris.

On 05/22/2015 09:28 PM, Kris G. Lindgren wrote:
> During the Openstack summit this week I got to talk to a number of other
> operators of large Openstack deployments about how they do networking.
>   I was happy, surprised even, to find that a number of us are using a
> similar type of networking strategy.  That we have similar challenges
> around networking and are solving it in our own but very similar way.
>   It is always nice to see that other people are doing the same things
> as you or see the same issues as you are and that "you are not crazy".
> So in that vein, I wanted to reach out to the rest of the Ops Community
> and ask one pretty simple question.
>
> Would it be accurate to say that most of your end users want almost
> nothing to do with the network?

That was my experience at AT&T, yes. The vast majority of end users 
could not care less about networking, as long as the connectivity was 
reliable, performed well, and they could connect to the Internet (and 
have others connect from the Internet to their VMs) when needed.

> In my experience what the majority of them (both internal and external)
> want is to consume from Openstack a compute resource, a property of
> which is it that resource has an IP address.  They, at most, care about
> which "network" they are on.  Where a "network" is usually an arbitrary
> definition around a set of real networks, that are constrained to a
> location, in which the company has attached some sort of policy.  For
> example, I want to be in the production network vs's the xyz lab
> network, vs's the backup network, vs's the corp network.  I would say
> for Godaddy, 99% of our use cases would be defined as: I want a compute
> resource in the production network zone, or I want a compute resource in
> this other network zone.  The end user only cares that the IP the vm
> receives works in that zone, outside of that they don't care any other
> property of that IP.  They do not care what subnet it is in, what vlan
> it is on, what switch it is attached to, what router its attached to, or
> how data flows in/out of that network.  It just needs to work. We have
> also found that by giving the users a floating ip address that can be
> moved between vm's (but still constrained within a "network" zone) we
> can solve almost all of our users asks.  Typically, the internal need
> for a floating ip is when a compute resource needs to talk to another
> protected internal or external resource. Where it is painful (read:
> slow) to have the acl's on that protected resource updated. The external
> need is from our hosting customers who have a domain name (or many) tied
> to an IP address and changing IP's/DNS is particularly painful.

This is precisely my experience as well.

> Since the vast majority of our end users don't care about any of the
> technical network stuff, we spend a large amount of time/effort in
> abstracting or hiding the technical stuff from the users view. Which has
> lead to a number of patches that we carry on both nova and neutron (and
> are available on our public github).

You may be interested to learn about the "Get Me a Network" 
specification that was discussed in a session at the summit. I had 
requested some time at the summit to discuss this exact use case -- 
where users of Nova actually didn't care much at all about network 
constructs and just wanted to see Nova exhibit similar behaviour as the 
nova-network behaviour of "admin sets up a bunch of unassigned networks 
and the first time a tenant launches a VM, she just gets an available 
network and everything is just done for her".

The spec is here:

https://review.openstack.org/#/c/184857/

 > At the same time we also have a
> *very* small subset of (internal) users who are at the exact opposite
> end of the scale.  They care very much about the network details,
> possibly all the way down to that they want to boot a vm to a specific
> HV, with a specific IP address on a specific network segment.  The
> difference however, is that these users are completely aware of the
> topology of the network and know which HV's map to which network
> segments and are essentially trying to make a very specific ask for
> scheduling.

Agreed, at Mirantis (and occasionally at AT&T), we do get some customers 
(mostly telcos, of course) that would like total control over all things 
networking.

Nothing wrong with this, of course. But the point of the above spec is 
to allow "normal" users to not have to think or know about all the 
advanced networking stuffs if they don't need it. The Neutron API should 
be able to handle both sets of users equally well.

Best,
-jay



More information about the OpenStack-dev mailing list