I dont think Disk space is really the main issue – its size of the image to 
download and boot and the memory consumption in the running image.

We arent running into issues with disk space in our environment but rather in 
memory consumption and to some extent the container init delays.

Brian




From: onap-tsc@lists.onap.org <onap-tsc@lists.onap.org> On Behalf Of Tal Liron
Sent: Monday, February 11, 2019 11:56 AM
To: onap-discuss <onap-disc...@lists.onap.org>; DESBUREAUX Sylvain TGI/OLN 
<sylvain.desbure...@orange.com>
Cc: Chaker Al Hakim <chaker.al.ha...@huawei.com>; 
srinivasa.r.addepa...@intel.com; onap-tsc@lists.onap.org
Subject: Re: [onap-discuss] [onap-tsc] Ubuntu and Alpine discussion

This conversation has gotten a little bit confusing. Let me try to organize and 
separate the core issues:

  1.  Disk space. If we want to reduce the ridiculous storage requirements for 
ONAP's container images, the solution is not to choose a tiny Linux 
distribution. Rather, the solution is to choose a single (or small set of) base 
image(s) for all ONAP container images. Because images are stored as deltas 
from the derived base image, then the size of that base image is quite 
negligible.
  2.  Choice of base distribution. ONAP provides reference images, but in the 
end production operations will very likely build their own after auditing 
selections of packages and even the source code. The ONAP project can make a 
best effort to pre-audit the selection, but in the end cannot provide neither a 
guarantee nor a warranty. That comes from the operating system vendor and other 
software vendors of packages like MariaDB, MongoDB, JDK, etc. The ONAP project 
should make it possible (and better yet: easy) for users to make that choice. I 
understand this as one of the goals of our CIA project. I think there's also 
some misunderstanding of the supportability of packages within the containers. 
Here's an example: if your host operating system is RHEL, but your container 
image is based on Alpine, then Red Hat cannot support any security 
vulnerabilities in those Alpine libraries. This includes OpenSSL as well as 
glib, systemd, etc. In the end, whatever ONAP chooses as base image is 
arbitrary as long as we allow users to make their own choice.
  3.  Technical dependencies on specific distributions. Does a certain ONAP 
image build against a specific version of a library included in a specific 
version of a specific distribution? This should be considered a bug, because it 
exactly disallows the freedom of users to choose a base distribution. Not only 
that, but it's a guarantee for maintenance nightmares in the future. What 
happens if the next version of that specific distribution changes the library? 
Who will make sure to refactor and allow for an upgrade of the base? And if you 
can't upgrade the base, the image will be stuck with an older and possibly 
broken/insecure library. There are many open source project plagued with this 
problem, e.g. stuck on Ubuntu 14.04. We need to make sure that we minimize 
these dependencies. There's also the option of building that specific 
dependency library from source for that ONAP image, but again we limit the 
ability for users to get support from a vendor.
There are some complications regarding point #3 that should be discussed. For 
example, many Linux distributions have switched to systemd in recent years, and 
that causes a major change in how they run (e.g. that's one main reason 
projects stuck on Ubuntu 14.04 have difficulty moving forward). If systemd is 
considered a standard for ONAP, then that limits the number of possible choices 
for base image. Likewise SELinux. We need to examine ONAP as a whole and make a 
list of these basic technical requirements from a base distribution.

On Mon, Feb 11, 2019 at 10:08 AM Sylvain Desbureaux 
<sylvain.desbure...@orange.com<mailto:sylvain.desbure...@orange.com>> wrote:
Hello Chaker,

Today,
The docker building image process of ONAP is at the very least messy (Morgan 
did a presentation at TSC meeting last Thursday on this point 
https://wiki.onap.org/pages/viewpage.action?pageId=6593670&preview=/6593670/54722733/onap_tests.pdf<https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.onap.org_pages_viewpage.action-3FpageId-3D6593670-26preview-3D_6593670_54722733_onap-5Ftests.pdf&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=ya2lBU-bwwCbzGp-Yy9O1RhXAff5CUPVUr8CLD51vt8&e=>)
 as we do not know what we test and even if it’s tested.

So the base image of an ONAP component doesn’t seems to be the most critical 
part on improving ONAP.
I would prefer to :

  *   Make reliable, consistent tests on any review that come
  *   Know what is tested
  *   Strengthen security by moving from root to another user in the docker 
images
  *   Slimify ONAP so the tests are faster

When we’ll arrive at that, I’ll be happy to see if we can make a consensus on 
base image.

Today, all I want to do is make small images per components. If a component is 
small on ubuntu/centOs/Debian/openSUSE, fine I won’t touch it.
If it’s not, I’ll make a review request with the image that I think is the most 
suitable, and most of the time it’ll be Alpine.
Considered the spread of images today, I think that the choice of image is up 
to the requester and the “+2” person from the project.

Regards,

---
Sylvain Desbureaux

De : Chaker Al Hakim 
<chaker.al.ha...@huawei.com<mailto:chaker.al.ha...@huawei.com>>
Date : lundi 11 février 2019 à 16:04
À : DESBUREAUX Sylvain TGI/OLN 
<sylvain.desbure...@orange.com<mailto:sylvain.desbure...@orange.com>>, 
"srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>" 
<srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>>, 
"onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>" 
<onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>>, 
"onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>" 
<onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>>
Objet : RE: [onap-discuss] [onap-tsc] Ubuntu and Alpine discussion

Hello Sylvain,

I appreciate your detailed reply..

I am not sure if you were on the call when this topic was discussed. My point 
was not whether I favor one Linux distribution over other Linux distributions,. 
It was related to whether a specific distribution is commercially supported. As 
I mentioned in my previous email, f the goal of the Footprint Optimization 
project is to support all of the ONAP components, including all of their 
dependencies, packages, re-certification efforts, etc… on Alpine Linux then 
let’s make that very clear, ask for another TSC approval and document it in the 
ONAP wiki so that we are all on board

Regards,
Chaker

From: sylvain.desbure...@orange.com<mailto:sylvain.desbure...@orange.com> 
[mailto:sylvain.desbure...@orange.com<mailto:sylvain.desbure...@orange.com>]
Sent: Monday, February 11, 2019 8:29 AM
To: Chaker Al Hakim 
<chaker.al.ha...@huawei.com<mailto:chaker.al.ha...@huawei.com>>; 
srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>; 
onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>; 
onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>
Subject: Re: [onap-discuss] [onap-tsc] Ubuntu and Alpine discussion

Hello Chaker and Srini,

First of all, I want to thank you to propose yourself to rebuild ONAP docker 
images in order to shrink their sizes. We’re only 2 guys doing that today 
(Frank Sandoval and myself) so multiplying by two the workforce is great news.

SDNC and AAI have been done, Frank is working on DMaaP and I’m starting Portal 
as of today. So you can pick any image from 
https://wiki.onap.org/display/DW/CIA+Dublin+Release+Planning<https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.onap.org_display_DW_CIA-2BDublin-2BRelease-2BPlanning&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=VnSdGGl71Ellhpb6mGS_-Zj-BN0fb4XZh0fIO3_RZzI&e=>
 (Robot or SO for example). We want also to make a second pass on already done 
images to shrink more so you can also review and propose enhancements to the 
ones already done.

Welcome on board!

For the base image, you can use Alpine or Ubuntu at your preference.


As there are opinions against Alpine, I would like to share my views:

  *   Alpine is “vendor neutral”. If we decide to mandate ubuntu for example, I 
imagine that Canonical competitors could disagree and push their own images
  *   There have been some concerns (see  Ramki email for example) about using 
musl library and not glibc. Musl libc 
(https://www.musl-libc.org/<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.musl-2Dlibc.org_&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=poPYD6j4o_qe53Bl4dtbbGW4E5u1r0baGpMUieBKPhQ&e=>)
 is now the default library for OpenWRT and is also used as replacement of 
uclibc (and glibc) in embedded Real time Linux images. So, we wouldn’t be the 
only one using it.
  *   Another building block of Alpine is busybox 
(https://www.busybox.net/<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.busybox.net_&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=z8Z73cBsU572MDe4CF-X3eM_p7rOKeHhKx6fdMSjiDQ&e=>)
 which is used in a lot of embedded devices (such as Modem router) so again 
we’re not the only ones (there are billions of device using it).
  *   On the security side, clair scanner 
(https://github.com/coreos/clair/<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_coreos_clair_&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=MDxY5J6VgFHMwDEloBsPGqcno2-aVPkC65YfGyzkekU&e=>)
 is a vulnerability tool from CoreOS (now part of RedHat) designerd for 
container security audit. You can embed it in your CI. Here’s an example of 
container scan (python script on top of Alpine) and you can see there are no 
known vulnerabilities : 
https://gitlab.com/Orange-OpenSource/lfn/ci_cd/chained-ci-mqtt-trigger/security/dashboard<https://urldefense.proofpoint.com/v2/url?u=https-3A__gitlab.com_Orange-2DOpenSource_lfn_ci-5Fcd_chained-2Dci-2Dmqtt-2Dtrigger_security_dashboard&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=sZnyQnLUNctKjkUucsNpDi3HJ5yzrSkUjmLkY-6bPaE&e=>

At the very least, this discussion shows a need for simplifying docker build 
process in order to tend to have a “simple” way to move from base image XXX to 
base image YYY.

Now, to know what’s the state of OOM as of today (master deployment of ONAP 
using docker-staging file from integration team, counting 284 containers):
ONAP images using :

  *   Debian/Ubuntu: 98
  *   Alpine: 61
  *   CentOS/rpm or yum based distro: 21
  *   Busybox: 3 (actually a lot more as many jobs are using busybox)
  *   Unknown: 1

Please be aware that mileage may vary (+/- 10 range I think) (it’s a 
“bruteforce” script and there may be / are images counted more than once but 
it’s what’s on my deployment today) and I counted “only” images from 
“nexus3.onap.org<https://urldefense.proofpoint.com/v2/url?u=http-3A__nexus3.onap.org&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=oZknlS9Af-VlxYmTi00kdmw8qDWzVP9JoRLo-q8LPs8&e=>”.

So there’s no clear dominant base image and so claiming for “ubuntu only” or 
“alpine only” is inappropriate.
---
Sylvain Desbureaux

De : Chaker Al Hakim 
<chaker.al.ha...@huawei.com<mailto:chaker.al.ha...@huawei.com>>
Date : vendredi 8 février 2019 à 15:34
À : "onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>" 
<onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>>, DESBUREAUX 
Sylvain TGI/OLN 
<sylvain.desbure...@orange.com<mailto:sylvain.desbure...@orange.com>>, 
"srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>" 
<srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>>, 
"onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>" 
<onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>>
Objet : RE: [onap-discuss] [onap-tsc] Ubuntu and Alpine discussion

Hi Team,

I was also on the TSC call and was engaged in the discussion as well. I agree 
with  Srini’s position that we should support ONAP on both  Ubuntu as well as 
Alpine Linux. Looking just at the disk image footprint as one driver to support 
only Alpine Linux may not be the best way to go; In addition, deploying ONAP on 
a base Linux that is not commercially supported may not be the best approach 
moving forward.

If the end goal of the Footprint Optimization is to ultimately support ONAP 
only on  Alpine Linux then this discussion becomes much broader then just 
footprint optimization and should be presented and discussed as such  at the 
ArchCom and at the the TSC level to make sure everyone is aware of the 
potential long term impact.


Regards,
Chaker


From: onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org> 
[mailto:onap-disc...@lists.onap.org] On Behalf Of Sylvain Desbureaux
Sent: Friday, February 08, 2019 4:11 AM
To: onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>; 
srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>; 
onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>
Subject: Re: [onap-discuss] [onap-tsc] Ubuntu and Alpine discussion

Hello Srini,

Fyi size of images on dockerhub may not be the same once downloaded (I don’t 
know why):

For example, alpine:3.9 is said at 3MB and ubuntu:18.04 is said at 32MB.
Once downloaded (on an x86_64 server), here’s what I have:

docker images
REPOSITORY                              TAG                 IMAGE ID            
CREATED             SIZE
ubuntu                                  18.04               47b19964fb50        
2 days ago          88.1MB
alpine                                  3.9                 caf27325b298        
8 days ago          5.53MB


Regards,

---
Sylvain Desbureaux

De : <onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>> au nom 
de Srini 
<srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>>
Répondre à : "onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>" 
<onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>>, 
"srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>" 
<srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>>
Date : vendredi 8 février 2019 à 00:03
À : "onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>" 
<onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>>
Cc : "onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>" 
<onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>>
Objet : Re: [onap-discuss] [onap-tsc] Ubuntu and Alpine discussion

Hi Adolfo,

“Having said that, projects that can clearly demonstrate that they can't 
migrate to Alpine should be given the opportunity to request an exception and 
do the work themselves.
“

This is the point that raised the discussion in TSC. Above statement seem to 
indicate that the goal for ONAP is to move to Alpine. So far, my impression was 
that ONAP would be supported on both Ubuntu and Alpine.  Hence the discussion 
today.

Since Alpine is not supported commercially, it is always be a challenge for few 
to adopt ONAP as is.
Ubuntu is open source with commercial support. Now that Ubuntu also has thin 
version, adopting Ubuntu thin image as base package would address concerns 
related to size as well as support.  Moreover Ubuntu has big eco-system too and 
many packages get tested against Ubuntu.
Since ONAP is also tested so far on Ubuntu based containers, I think work for 
ONAP teams also would be relatively lesser if we go with Ubuntu minimal image.

I have not tried Ubuntu thin image. Again, my 2 cents on studying Ubuntu 
minimal image and its applicability.


Srini

From: onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org> 
[mailto:onap-tsc@lists.onap.org] On Behalf Of Adolfo Perez-Duran
Sent: Thursday, February 7, 2019 12:06 PM
To: onap-tsc@lists.onap.org<mailto:onap-tsc@lists.onap.org>
Cc: onap-disc...@lists.onap.org<mailto:onap-disc...@lists.onap.org>
Subject: Re: [onap-tsc] Ubuntu and Alpine discussion

Hi Srini,

Thanks for joining the discussion.

On October 8, 2018 PTLs discussed and agree to using Alpine as the base image 
for footprint minimization.

Because images are immutable, once dependencies and libraries are mapped there 
should not be any perceptible difference introduced by the base image.

It may be fair to assume that integration testing occurs (should occur?) at the 
service (API) level, regardless of what base image was used to create a 
container.

Some projects, such as SO and AAF, had already adopted --on their own-- Alpine 
as their base image.

Also, the CIA team has already engaged a number of teams in the Dublin scope 
and has contributed patches to migrate to Alpine.

Having said that, projects that can clearly demonstrate that they can't migrate 
to Alpine should be given the opportunity to request an exception and do the 
work themselves.

There is a lot of work to be done (finding common base images that can be used 
across projects, multi-stage builds, CI/CD parameterization, etc). Migrating to 
a small  base image is only the first step. I encourage you to bring a 
contribution and help us realize the long term goals.

Adolfo

On Thu, Feb 7, 2019 at 12:25 PM Srini 
<srinivasa.r.addepa...@intel.com<mailto:srinivasa.r.addepa...@intel.com>> wrote:
Hi,

In today TSC this discussion came up on challenges in integration testing on 
both Ubuntu based ONAP and Alpine based ONAP.

Ubuntu releases minimal Ubuntu for containers in July, 2018.

According to 
https://blog.ubuntu.com/2018/07/09/minimal-ubuntu-released<https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.ubuntu.com_2018_07_09_minimal-2Dubuntu-2Dreleased&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=rgHgyKk-xqw259kNzkOIHNsQ05aUOzGxpoA9vP3hFa4&e=>


-        29Mbytes of docker image size.

-        It is  based 18.04 (LTS ) – Long terms support availability.

-        Minimal security attack surface

-        Faster speed to bringup.

It seems to be providing best of both worlds


-        Ubuntu, which ONAP has been basing on so far.  Also, supported by 
Canonical.

-        Less disk size and faster bootup.

-        Supports multiple architecture (ARM, x86, PPC etc…)

Some more info from dockerhub: 
https://github.com/docker-library/repo-info/blob/master/repos/ubuntu/remote/18.10.md<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_docker-2Dlibrary_repo-2Dinfo_blob_master_repos_ubuntu_remote_18.10.md&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=gZSWqClUIfrznacZC3v84m2JsV0c31x8dhlCzfK61vw&s=oTfTz6iORhCZd6ojFT-3BmNuouVj9NTBBuT302b9x-g&e=>

Thanks
Srini





_________________________________________________________________________________________________________________________



Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc

pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler

a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,

Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.



This message and its attachments may contain confidential or privileged 
information that may be protected by law;

they should not be distributed, used or copied without authorisation.

If you have received this email in error, please notify the sender and delete 
this message and its attachments.

As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.

Thank you.

_________________________________________________________________________________________________________________________



Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc

pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler

a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,

Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.



This message and its attachments may contain confidential or privileged 
information that may be protected by law;

they should not be distributed, used or copied without authorisation.

If you have received this email in error, please notify the sender and delete 
this message and its attachments.

As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.

Thank you.

_________________________________________________________________________________________________________________________



Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc

pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler

a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,

Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.



This message and its attachments may contain confidential or privileged 
information that may be protected by law;

they should not be distributed, used or copied without authorisation.

If you have received this email in error, please notify the sender and delete 
this message and its attachments.

As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.

Thank you.


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#4603): https://lists.onap.org/g/onap-tsc/message/4603
Mute This Topic: https://lists.onap.org/mt/29701820/21656
Group Owner: onap-tsc+ow...@lists.onap.org
Unsubscribe: https://lists.onap.org/g/onap-tsc/leave/2743226/1412191262/xyzzy  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to