Uploaded image for project: 'Yetus'
  1. Yetus
  2. YETUS-723

Overhaul the docker support for 2018

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.9.0
    • Precommit
    • None
    • Hide
      <!-- markdown -->
      This change represents a fairly large overhaul of precommit's Docker support in order to fix many outstanding bugs and feature requests. As a result, there are several incompatible changes from previous versions. Please see the precommit Docker documentation for additional information.

      End Users: New Features
      =======================

      * Support for pulling a pre-built tag instead of building the base image, platforms, non-standard dockerd socket, and Docker-in-Docker.
      * `COPY` and `ADD` support when building (requires Docker API version 18+).
      * All Yetus built images are now labeled with `org.apache.yetus` to make them easier to find via docker inspect.
      * Docker information in the vote table now properly includes a link to the Dockerfile if URLs, artifacting, etc, are turned on.
      * Image cleanup should be more reliable.

      End Users: Incompatible Changes
      ===============================

      * The minimum Docker version is now version 17.xx. It was previously 6.xx.
      * `--dockeronfail` is no longer supported.
      * `ANT_ARGS`, `ANT_OPTS`, and `MAVEN_OPTS` are now honored. Before they were always overwritten.
      * `yetus/tp-(number)` images are now removed after normal completion.
      * Because of the addition of Docker-in-Docker support, Docker mode no longer defaults to privileged mode and the flag has been renamed to be consistent with the other flags. To enable privileged mode, the `--docker-privd` flag must be set to true.

      Developers: New Features
      ========================

      * `--docker-bash-debug` will run test-patch.sh with `bash -x` inside the container for extensive debugging.
      * yetuslib now sports a new `yetus_file_to_array` function.

      Developers: Incompatible Changes
      ================================

      * test-patch.sh's `relative_dir` has been promoted to yetuslib as `yetus_relative_dir`
      * The internal `ANT_ARGS` has been replaced with `YETUS_ANT_ARGS`
      * Many changes to how parameters are passed between pre-Docker and post-Docker.
      Show
      <!-- markdown --> This change represents a fairly large overhaul of precommit's Docker support in order to fix many outstanding bugs and feature requests. As a result, there are several incompatible changes from previous versions. Please see the precommit Docker documentation for additional information. End Users: New Features ======================= * Support for pulling a pre-built tag instead of building the base image, platforms, non-standard dockerd socket, and Docker-in-Docker. * `COPY` and `ADD` support when building (requires Docker API version 18+). * All Yetus built images are now labeled with `org.apache.yetus` to make them easier to find via docker inspect. * Docker information in the vote table now properly includes a link to the Dockerfile if URLs, artifacting, etc, are turned on. * Image cleanup should be more reliable. End Users: Incompatible Changes =============================== * The minimum Docker version is now version 17.xx. It was previously 6.xx. * `--dockeronfail` is no longer supported. * `ANT_ARGS`, `ANT_OPTS`, and `MAVEN_OPTS` are now honored. Before they were always overwritten. * `yetus/tp-(number)` images are now removed after normal completion. * Because of the addition of Docker-in-Docker support, Docker mode no longer defaults to privileged mode and the flag has been renamed to be consistent with the other flags. To enable privileged mode, the `--docker-privd` flag must be set to true. Developers: New Features ======================== * `--docker-bash-debug` will run test-patch.sh with `bash -x` inside the container for extensive debugging. * yetuslib now sports a new `yetus_file_to_array` function. Developers: Incompatible Changes ================================ * test-patch.sh's `relative_dir` has been promoted to yetuslib as `yetus_relative_dir` * The internal `ANT_ARGS` has been replaced with `YETUS_ANT_ARGS` * Many changes to how parameters are passed between pre-Docker and post-Docker.
    • Important

    Description

      Many core parts of the Docker support haven't been touched in 3 years. Since that time, we have learned many things about how people use Docker with test-patch and Docker itself has added many new features. It's time to overhaul the basic plug-in to take advantage of everything we've learned.

      Attachments

        1. YETUS-723.003.patch
          55 kB
          Allen Wittenauer
        2. YETUS-723.02.patch
          54 kB
          Allen Wittenauer
        3. YETUS-723.aw-repo-00.patch
          36 kB
          Allen Wittenauer
        4. YETUS-723.aw-repo-01.patch
          50 kB
          Allen Wittenauer

        Issue Links

          Activity

            People

              aw Allen Wittenauer
              aw Allen Wittenauer
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: