Failed to add community extension (KNIME AI Extension (Labs)) to docker image

The addition of extension to docker image via Ubuntu server is failing with below error. The addition of KNIME extension is fine. However, the community extension is failing. KNIME executor version (5.2).

12.66 Transaction starting
12.66 warning libmamba Could not validate package ‘/home/knime/knime/bundling/root/pkgs/_libgcc_mutex-0.1-conda_forge/info/repodata_record.json’: md5 and sha256 sum unknown.
12.66 Set safety_checks to disabled to override this warning.
12.66 warning libmamba Extracted package cache ‘/home/knime/knime/bundling/root/pkgs/_libgcc_mutex-0.1-conda_forge’ has invalid url
12.66 error libmamba No CA certificates found on system
12.66 critical libmamba Aborting.
12.66 Installation of the Python extension failed. See the previous output and the files “/home/knime/knime/plugins/org.knime.python.llm.channel.bin.linux.x86_64_5.2.1.202402071416/bin/create_env.out” and “/home/knime/knime/plugins/org.knime.python.llm.channel.bin.linux.x86_64_5.2.1.202402071416/bin/create_env.err” for details.
12.66
13.75 Installation failed.
13.75 An error occurred while installing the items
13.75 session context was:(profile=KNIMEProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null → [R]org.knime.python.llm.channel.bin.linux.x86_64 5.2.1.202402071416, action=org.knime.product.p2.actions.ShellExec).
13.75 ShellExec command exited non-zero exit value:
13.75 ./create_env.sh: line 86: 211 Segmentation fault (core dumped) ./micromamba create -f conda_pkg_urls.txt -p “${knime_python_bundling_path}” -r …/…/…/bundling/root --platform linux-64 -y > ./create_env.out 2> ./create_env.err
13.75
13.75

Hi @Deepak261291 ,

Welcome to the KNIME Forum. :slight_smile:

Thanks for including the exact output while creating the image. This is caused by a missing OS package, ca-certificates. We include it in our Python image by default, but not necessarily in the non-Python image (the AI Extension is Python-based).

A fix is in the works for an upcoming base image, but you can also resolve this immediately by manually adding the package for installation within the dockerfile.

You may for example have a section looking similar to this:

RUN apt update \
    && apt upgrade -yq \
    && apt-get install -yq \
        xmlstarlet \
        ca-certificates \  # add this line
        fontconfig \
        ...

Kind regards
Marvin

PS. if you’re using the Execution Context Builder Data App, you can also simply select the option to create a Python environment.

2 Likes

Hi @marvin.kickuth

Thanks for sharing the information. Just to clarify things. I need to add these line to a Dockerfile for installation of extensions or do I need to create a separate docker file for this. Actually it is not clear from the KNIME business hub admin document so asking for clarification.

Hi @Deepak261291,

Thanks for the feedback on the documentation, I’ll forward that.

It suffices to use a single dockerfile.

If you’d like, you can run our Execution Context Dockerfile Builder workflow to get an appropriate dockerfile, which you can also use as a starting point for manual additions.

Kind regards
Marvin

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.