[openstack-dev] [all][tc][glance] Glance needs help, it's getting critical

Mikhail Fedosin mfedosin at gmail.com
Mon Jun 12 13:56:39 UTC 2017


Flavio raised a very difficult and important question, and I think that we,
as community members, should decide what to do with Glance next.

I will try to state my subjective opinion. I was involved in the Glance
project for almost three years and studied it fairly plank. I believe that
the main problem is that the project was designed extremely poorly. Glance
does not have many tasks to solve, but nevertheless, there are a lot of
Java design patterns used (factory of factories, visitors, proxy and other
things that are unnecessary in this case). All this leads to absolutely sad
consequences, when in order to add an image tag over 180 objects of
different classes are created, the code execution passes through more than
25 locations with a number of callbacks 3 times. So I can say that the code
base is artificially over-complicated and incredibly inflated.

The next problem is that over the years the code has grown by a number of
workarounds, which make it difficult to implement new changes - any change
leads to something breaking down somewhere else. In the long run, we get a
lot of pain associated with race conditions, hard-to-recover heisenbugs and
other horrors of programmer's life. It is difficult to talk about
attracting new developers, because the developing of the code in such
conditions is mentally exhausting.

We can continue to deny the obvious, saying that Glance simply needs people
and everything will be wonderful. But unfortunately this is not so - we
should admit that it is simply not profitable to engage in further
development. I suggest thinking about moving the current code base into a
support mode and starting to develop an alternative (which I have been
doing for the past year and a half).

If you are allergic to the word "artifacts", do not read the following

We are actively developing the Glare project, which offers a universal
catalog of various binary data along with its metadata - at the moment the
catalog supports the storage of images of virtual machines and has feature
parity with Glance. The service is used in production by Nokia, and it was
thoroughly tested at various settings. Next week we plan to release the
first stable version and begin the integration with various projects of
OpenStack: Mistral and Vitrage in the first place.

As a solution, I can propose to implement an additional API to Glare, which
would correspond to OpenStack Image API v2 and test that OpenStack is able
to work on its basis. After that, leave Glance at rest and start developing
Glare as a universal catalog of binary data for OpenStack.


On Fri, Jun 9, 2017 at 8:07 PM, Flavio Percoco <flavio at redhat.com> wrote:

> (sorry if duplicate, having troubles with email)
> Hi Team,
> I've been working a bit with the Glance team and trying to help where I
> can and
> I can't but be worried about the critical status of the Glance team.
> Unfortunately, the number of participants in the Glance team has been
> reduced a
> lot resulting in the project not being able to keep up with the goals, the
> reviews required, etc.[0]
> I've always said that Glance is one of those critical projects that not
> many
> people notice until it breaks. It's in every OpenStack cloud sitting in a
> corner
> and allowing for VMs to be booted. So, before things get even worse, I'd
> like us to brainstorm a bit on what solutions/options we have now.
> I know Glance is not the only project "suffering" from lack of
> contributors but
> I don't want us to get to the point where there won't be contributors left.
> How do people feel about adding Glance to the list of "help wanted" areas
> of
> interest?
> Would it be possible to get help w/ reviews from folks from teams like
> nova/cinder/keystone? Any help is welcomed, of course, but I'm trying to
> think
> about teams that may be familiar with the Glance code/api already.
> Cheers,
> Flavio
> [0] http://stackalytics.com/?module=glance-group&metric=marks
> [1] https://review.openstack.org/#/c/466684/
> --
> @flaper87
> Flavio Percoco
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170612/36ce227a/attachment.html>

More information about the OpenStack-dev mailing list