<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div>I really hadnt thought about distro deps for non containers leaking into containers like nova->libvirt. What about making a kolla-container rpm that provides a virtual libvirt package and anything else not actually needed in the container?<br>
<br>
Thanks,<br>
Kevin <strong>
<div><font face="Tahoma" color="#000000" size="2"> </font></div>
</strong>
<hr tabindex="-1">
<font face="Tahoma" size="2"><b>From:</b> Steven Dake (stdake)<br>
<b>Sent:</b> Monday, April 25, 2016 1:01:16 AM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [kolla][kubernetes] Mirantis participation in kolla-mesos project and shift towards Kubernetes<br>
</font><br>
<div></div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Tomasz,<br>
Response inline.<br>
<br>
On 4/25/16, 12:32 AM, "Tomasz Pa" <ss7pro@gmail.com> wrote:<br>
<br>
>On Mon, Apr 25, 2016 at 5:51 AM, Jeffrey Zhang <zhang.lei.fly@gmail.com><br>
>wrote:<br>
>><br>
>> I do not think this is the issue of Kolla. It is a issue of Docker<br>
>> images. All the docker images has such issue. This should be solved<br>
>> in the docker side.<br>
>><br>
><br>
>It's a kolla issue and they way project build images. Calling yum<br>
>install in Dockerfile is not the best idea (you endup with multiple<br>
>dependent packages put into the single image layer). Having some good<br>
>DSL would mean that you can place each package into separate image<br>
>layer (ie: RUN rpm -i ./python-nova-XXXX.rpm) and take advantage of<br>
>that during build (reusing cached layers).<br>
<br>
In the case were there are a common set of packages that end up in every<br>
layer, Kolla has optimized for the general build and use case by<br>
extracting the commonly used dependencies into a base image used by all<br>
containers.<br>
<br>
Reference from binary:<br>
<a href="https://github.com/openstack/kolla/blob/master/docker/openstack-base/Docker">https://github.com/openstack/kolla/blob/master/docker/openstack-base/Docker</a><br>
file.j2#L129<br>
<br>
<br>
Reference from source:<br>
<a href="https://github.com/openstack/kolla/blob/master/docker/openstack-base/Docker">https://github.com/openstack/kolla/blob/master/docker/openstack-base/Docker</a><br>
file.j2#L320<br>
<br>
<br>
Kolla developers essentially count the number of times that requests<br>
package would be installed in a dependent container, and if it reaches a<br>
threshold, Kolla installs it in a parent image of every openstack-service<br>
container.<br>
<br>
I agree it is possible to end up with multiple same dependencies in<br>
different containers, which is why we have this openstack-base image in<br>
the first place - to serve as a MACRO optimization to solve the very<br>
problem you point out.<br>
<br>
I fail to see how a DSL would improve on this master openstack-base image.<br>
<br>
My build times on my gear are 14 minutes for 115+ containers.  I do have<br>
Intel 750 NVME SSD and gige internet, however, even folks with slower<br>
storage and networking report 30-35 minute build times which are in the<br>
window of "not too long to do once in awhile".<br>
<br>
But I'll grant you, I personally think every time I rebuild all my images<br>
on my host I could be doing something better with my time.  I just don't<br>
think a DSL would help speed up build times as you have claimed, except<br>
for the one-off case of nova (because of its dependency on libvirt).<br>
<br>
What I'd hate to see happen is a DSL invented and used in Kolla that<br>
specifies each specific dependency to install for binary-packaging.  That<br>
is what rpm/deb is designed to handle.<br>
<br>
For the case of source builds, requirements.txt serves the same purpose.<br>
<br>
Regards<br>
-steve<br>
<br>
><br>
><br>
>-- <br>
>Tomasz Paszkowski<br>
>SS7, Asterisk, SAN, Datacenter, Cloud Computing<br>
>+48500166299<br>
><br>
>__________________________________________________________________________<br>
>OpenStack Development Mailing List (not for usage questions)<br>
>Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br>
><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div>
</span></font>
</body>
</html>