Laszlo Gaal has posted comments on this change. ( http://gerrit.cloudera.org:8080/22583 )
Change subject: IMPALA-13825: Extend Docker container build to custom base images ...................................................................... Patch Set 1: (9 comments) http://gerrit.cloudera.org:8080/#/c/22583/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/22583/1//COMMIT_MSG@33 PS1, Line 33: - USE_HARDENED_IMPALA_BASE_IMAGE: : If set to 'true', triggers the use of the custom image. : When set to 'false' or left unspecified, the Docker base image is : selected by the existing logic of matching the build platform's : operating system. : - IMPALA_HARDENED_DOCKER_BASE: specifies the URI of the base image > I didn't see these env vars in the patch - maybe these are from a different Thanks for spotting; these were the original names of the environment variables, which were then renamed to more neutral terms. I'll update the commit message. http://gerrit.cloudera.org:8080/#/c/22583/1/bin/impala-config.sh File bin/impala-config.sh: http://gerrit.cloudera.org:8080/#/c/22583/1/bin/impala-config.sh@302 PS1, Line 302: # The following environment variables allow a specific base image to be specified directly, > line too long (91 > 90) Ack http://gerrit.cloudera.org:8080/#/c/22583/1/bin/impala-config.sh@306 PS1, Line 306: export IMPALA_CUSTOM_DOCKER_BASE=${IMPALA_CUSTOM_DOCKER_BASE:-"cgr.dev/chainguard/wolfi-base:latest"} > line too long (101 > 90) Ack http://gerrit.cloudera.org:8080/#/c/22583/1/docker/daemon_entrypoint.sh File docker/daemon_entrypoint.sh: http://gerrit.cloudera.org:8080/#/c/22583/1/docker/daemon_entrypoint.sh@176 PS1, Line 176: else : echo "ERROR: en_US.utf8 locale is not present." > I don't think this extra indentation makes sense. Ack http://gerrit.cloudera.org:8080/#/c/22583/1/docker/daemon_entrypoint.sh@194 PS1, Line 194: export LC_ALL=C.UTF-8 > Is this intentional? It overrides the setting from previous block. Hmmm..... great catch; might be an earlier copy-paste (or maybe rebase/merge) error. I'll double-check, but you're probably right. http://gerrit.cloudera.org:8080/#/c/22583/1/docker/impala_base/Dockerfile File docker/impala_base/Dockerfile: http://gerrit.cloudera.org:8080/#/c/22583/1/docker/impala_base/Dockerfile@33 PS1, Line 33: # RUN --mount=type=bind,source=helper/install_os_packages.sh,target=/root/os_packages.sh \ : # /root/os_packages.sh ${INSTALL_OS_PACKAGES_ARGS} > is this left here by mistake? Ack http://gerrit.cloudera.org:8080/#/c/22583/1/docker/impala_profile_tool/Dockerfile File docker/impala_profile_tool/Dockerfile: http://gerrit.cloudera.org:8080/#/c/22583/1/docker/impala_profile_tool/Dockerfile@34 PS1, Line 34: # RUN --mount=type=bind,source=helper/install_os_packages.sh,target=/root/os_packages.sh \ : # /root/os_packages.sh ${INSTALL_OS_PACKAGES_ARGS} > ? Ack, the same remnant of an earlier attempt. http://gerrit.cloudera.org:8080/#/c/22583/1/docker/install_bash_if_needed.sh File docker/install_bash_if_needed.sh: http://gerrit.cloudera.org:8080/#/c/22583/1/docker/install_bash_if_needed.sh@55 PS1, Line 55: echo "Only ChainGuard/Wolfi, Ubuntu, or Redhat (or derivative) base images are supported." > line too long (92 > 90) Ack http://gerrit.cloudera.org:8080/#/c/22583/1/docker/install_os_packages.sh File docker/install_os_packages.sh: http://gerrit.cloudera.org:8080/#/c/22583/1/docker/install_os_packages.sh@128 PS1, Line 128: elif [[ -f /sbin/apk && -x /sbin/apk ]]; then : echo "Indentified Wolfi-based system." > Why does this indicate Chainguard? Is it the only system with apk? The log It was essentially a compromise. The other option was using two different qualifiers, one for Chainguard/Wolfi, the other for generic APK-based systems. This would have required a longer check for $DISTRIBUTION in the form of if [[ $DISTRIBUTION == Chainguard || $DISTRIBUTION == ApkBased ]]; then .... which is a bit longer to read and a bit easier to mess up. Also, I didn't want to imply that Impala supports APK-based distros in general, as these would mostly be based on Alpine, where you can easily have `musl` as the LIBC implementation instead of `glibc`, and `musl` has known problems in several areas critical to Impala. I'll ponder this, but I'm not sure that I can come up with a good phrase for this; suggestions are welcome :) -- To view, visit http://gerrit.cloudera.org:8080/22583 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia5e39f399664fe66f3774caa316ed5d4df24befc Gerrit-Change-Number: 22583 Gerrit-PatchSet: 1 Gerrit-Owner: Laszlo Gaal <laszlo.g...@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Daniel Vanko <dva...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Laszlo Gaal <laszlo.g...@cloudera.com> Gerrit-Comment-Date: Thu, 06 Mar 2025 15:51:04 +0000 Gerrit-HasComments: Yes