[openstack-dev] [tc] [all] OpenStack moving both too fast and too slow at the same time

Joshua Harlow harlowja at fastmail.com
Tue May 9 17:59:41 UTC 2017

Matt Riedemann wrote:
> On 5/8/2017 1:10 PM, Octave J. Orgeron wrote:
>> I do agree that scalability and high-availability are definitely issues
>> for OpenStack when you dig deeper into the sub-components. There is a
>> lot of re-inventing of the wheel when you look at how distributed
>> services are implemented inside of OpenStack and deficiencies. For some
>> services you have a scheduler that can scale-out, but the conductor or
>> worker process doesn't. A good example is cinder, where cinder-volume
>> doesn't scale-out in a distributed manner and doesn't have a good
>> mechanism for recovering when an instance fails. All across the services
>> you see different methods for coordinating requests and tasks such as
>> rabbitmq, redis, memcached, tooz, mysql, etc. So for an operator, you
>> have to sift through those choices and configure the per-requisite
>> infrastructure. This is a good example of a problem that should be
>> solved with a single architecturally sound solution that all services
>> can standardize on.
> There was an architecture workgroup specifically designed to understand
> past architectural decisions in OpenStack, and what the differences are
> in the projects, and how to address some of those issues, but from lack
> of participation the group dissolved shortly after the Barcelona summit.
> This is, again, another example of if you want to make these kinds of
> massive changes, it's going to take massive involvement and leadership.

I agree on the 'massive changes, it's going to take massive involvement 
and leadership.' though I am not sure how such changes and involvement 
actually happens; especially nowadays where companies which such 
leadership are moving on to something else (k8s, mesos, or other...)

So knowing that what are the options to actually make some kind of 
change occur? IMHO it must be driven by PTLs (yes I know they are always 
busy, to bad, so sad, lol). I'd like all the PTLs to get together and 
restart the arch-wg and make it a *requirement* that PTLs actually show 
up (and participate) in that group/meeting vs it just being a bunch of 
senior(ish) folks, such as myself, that showed up. Then if PTLs do not 
show up, I would start to say that the next time around they are running 
for PTL said lack of participation in the wider openstack vision should 
be known and potentially cause them to get kicked out (voted out?) of 
being a PTL in the future.

>> The problem in a lot of those cases comes down to development being
>> detached from the actual use cases customers and operators are going to
>> use in the real world. Having a distributed control plane with multiple
>> instances of the api, scheduler, coordinator, and other processes is
>> typically not testable without a larger hardware setup. When you get to
>> large scale deployments, you need an active/active setup for the control
>> plane. It's definitely not something you could develop for or test
>> against on a single laptop with devstack. Especially, if you want to use
>> more than a handful of the OpenStack services.

I've heard *crazy* things about actual use cases customers and operators 
are doing because of the scaling limits that projects have (ie nova has 
a limit of 300 compute nodes so ABC customer will then setup X * 300 
clouds to reach Y compute nodes because of that limit).

IMHO I'm not even sure I would want to target said use-cases in the 
first place, because they feel messed up in the first place (and it 
seems bad/dumb? to go down the rabbit hole of targeting use-cases that 
were deployed to band-aid over the initial problems that created those 
use-cases/deployments in the first place).

> I think we can all agree with this. Developers don't have a lab with
> 1000 nodes lying around to hack on. There was OSIC but that's gone. I've
> been requesting help in Nova from companies to do scale testing and help
> us out with knowing what the major issues are, and report those back in
> a form so we can work on those issues. People will report there are
> issues, but not do the profiling, or at least not report the results of
> profiling, upstream to help us out. So again, this is really up to
> companies that have the resources to do this kind of scale testing and
> report back and help fix the issues upstream in the community. That
> doesn't require OpenStack 2.0.

So how do we close that gap? The only way I really know is by having 
people that can see the problems from the get-go, instead of having to 
discover it at some later point (when it falls over and ABC customer 
starts to start having Y clouds just to reach the target number of 
compute nodes they want to reach). Now maybe the skill level in 
openstack (especially in regards to distributed systems) is just to low 
and the only real way to gather data is by having companies do scale 
testing (ie some kind of architecting things to work after they are 
deployed); if so that's sad...


More information about the OpenStack-dev mailing list