[openstack-dev] [kolla][kubernetes] Mirantis participation in kolla-mesos project and shift towards Kubernetes

Steven Dake (stdake) stdake at cisco.com
Mon Apr 25 08:01:16 UTC 2016

Response inline.

On 4/25/16, 12:32 AM, "Tomasz Pa" <ss7pro at gmail.com> wrote:

>On Mon, Apr 25, 2016 at 5:51 AM, Jeffrey Zhang <zhang.lei.fly at gmail.com>
>> I do not think this is the issue of Kolla. It is a issue of Docker
>> images. All the docker images has such issue. This should be solved
>> in the docker side.
>It's a kolla issue and they way project build images. Calling yum
>install in Dockerfile is not the best idea (you endup with multiple
>dependent packages put into the single image layer). Having some good
>DSL would mean that you can place each package into separate image
>layer (ie: RUN rpm -i ./python-nova-XXXX.rpm) and take advantage of
>that during build (reusing cached layers).

In the case were there are a common set of packages that end up in every
layer, Kolla has optimized for the general build and use case by
extracting the commonly used dependencies into a base image used by all

Reference from binary:

Reference from source:

Kolla developers essentially count the number of times that requests
package would be installed in a dependent container, and if it reaches a
threshold, Kolla installs it in a parent image of every openstack-service

I agree it is possible to end up with multiple same dependencies in
different containers, which is why we have this openstack-base image in
the first place - to serve as a MACRO optimization to solve the very
problem you point out.

I fail to see how a DSL would improve on this master openstack-base image.

My build times on my gear are 14 minutes for 115+ containers.  I do have
Intel 750 NVME SSD and gige internet, however, even folks with slower
storage and networking report 30-35 minute build times which are in the
window of "not too long to do once in awhile".

But I'll grant you, I personally think every time I rebuild all my images
on my host I could be doing something better with my time.  I just don't
think a DSL would help speed up build times as you have claimed, except
for the one-off case of nova (because of its dependency on libvirt).

What I'd hate to see happen is a DSL invented and used in Kolla that
specifies each specific dependency to install for binary-packaging.  That
is what rpm/deb is designed to handle.

For the case of source builds, requirements.txt serves the same purpose.


>Tomasz Paszkowski
>SS7, Asterisk, SAN, Datacenter, Cloud Computing
>OpenStack Development Mailing List (not for usage questions)
>Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe

More information about the OpenStack-dev mailing list