hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Yang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDDS-1495) Create hadoop/ozone docker images with inline build process
Date Wed, 12 Jun 2019 23:05:00 GMT

    [ https://issues.apache.org/jira/browse/HDDS-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16862536#comment-16862536

Eric Yang commented on HDDS-1495:

{quote}Actually,  I am -1; on this change. Inline builds are slower creates more dependencies
etc. Thanks for the great discussion and exploring this thought.{quote}

[~anu] This statement is not true.  Dist project is a monolithic project that builds, variety
of artifacts.  It is not possible to build docker only without building tarball in current
implementation.  If docker part is refactored into another submodule, then it would be possible
to iterate docker portion of the build without incurring the cost of building jars and tarball.

Docker build is only slow, if Dockerfile is not optimized for efficiency.  HDDS-1648 offers
solution to improve Dockerfile build performance and reduce current disk space usage by 25%.
 Ozone tarball can also be obtained from dist/target directory without using maven-dependency-plugin
to avoid additional copy.  Although it is possible to reach out to sibling project to find
binary, I very much prefer to use maven dependency:copy to keep each sub module independent
of each other to avoid the monolithic build process.  Your reconsideration is appreciated.

> Create hadoop/ozone docker images with inline build process
> -----------------------------------------------------------
>                 Key: HDDS-1495
>                 URL: https://issues.apache.org/jira/browse/HDDS-1495
>             Project: Hadoop Distributed Data Store
>          Issue Type: Sub-task
>            Reporter: Elek, Marton
>            Assignee: Eric Yang
>            Priority: Major
>         Attachments: HADOOP-16091.001.patch, HADOOP-16091.002.patch, HDDS-1495.003.patch,
HDDS-1495.004.patch, HDDS-1495.005.patch, HDDS-1495.006.patch, HDDS-1495.007.patch, Hadoop
Docker Image inline build process.pdf
> This is proposed by [~eyang] in [this|https://lists.apache.org/thread.html/33ac54bdeacb4beb023ebd452464603aaffa095bd104cb43c22f484e@%3Chdfs-dev.hadoop.apache.org%3E]
mailing thread.
> {quote}1, 3. There are 38 Apache projects hosting docker images on Docker hub using Apache
Organization. By browsing Apache github mirror. There are only 7 projects using a separate
repository for docker image build. Popular projects official images are not from Apache organization,
such as zookeeper, tomcat, httpd. We may not disrupt what other Apache projects are doing,
but it looks like inline build process is widely employed by majority of projects such as
Nifi, Brooklyn, thrift, karaf, syncope and others. The situation seems a bit chaotic for Apache
as a whole. However, Hadoop community can decide what is best for Hadoop. My preference is
to remove ozone from source tree naming, if Ozone is intended to be subproject of Hadoop for
long period of time. This enables Hadoop community to host docker images for various subproject
without having to check out several source tree to trigger a grand build. However, inline
build process seems more popular than separated process. Hence, I highly recommend making
docker build inline if possible.
> {quote}
> The main challenges are also discussed in the thread:
> {code:java}
> 3. Technically it would be possible to add the Dockerfile to the source
> tree and publish the docker image together with the release by the
> release manager but it's also problematic:
> {code}
> a) there is no easy way to stage the images for the vote
>  c) it couldn't be flagged as automated on dockerhub
>  d) It couldn't support the critical updates.
>  * Updating existing images (for example in case of an ssl bug, rebuild
>  all the existing images with exactly the same payload but updated base
>  image/os environment)
>  * Creating image for older releases (We would like to provide images,
>  for hadoop 2.6/2.7/2.7/2.8/2.9. Especially for doing automatic testing
>  with different versions).
> {code:java}
>  {code}
> The a) can be solved (as [~eyang] suggested) with using a personal docker image during
the vote and publish it to the dockerhub after the vote (in case the permission can be set
by the INFRA)
> Note: based on LEGAL-270 and linked discussion both approaches (inline build process
/ external build process) are compatible with the apache release.
> Note: HDDS-851 and HADOOP-14898 contains more information about these problems.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org

View raw message