kubeflow-kale / kale

Kubeflow’s superfood for Data Scientists
http://kubeflow-kale.github.io
Apache License 2.0
632 stars 128 forks source link

Bug in the Kale Jupyter Notebook Server Docker Image - Kale built pipeline execution fails #388

Open pshah16 opened 3 years ago

pshah16 commented 3 years ago

Currently, the Notebook Server with Kale is built with the docker file provided here in the repo: (commit 2ac934bffba7cb70c399dce2a9c0858ce9089ea7) https://github.com/kubeflow-kale/kale/blob/master/docker/jupyterlab/Dockerfile

If pipeline is built and compiled using kale notebook server with the docker file above, the pipeline execution fails with the error shows in the image

'Coroutine' object is not subscriptable error

Kale_docker_Image_Issues ..

This issue can be fixed by upgrading Jupyter client to version 5.3.4 in the docker file: RUN pip3 install --upgrade "jupyter-client==5.3.4"

The latest docker file with this change would look like this:

ARG IMAGE_TYPE="cpu"
FROM gcr.io/kubeflow-images-public/tensorflow-1.14.0-notebook-${IMAGE_TYPE}:v0.7.0

USER root

# Install basic dependencies
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        ca-certificates bash-completion tar less \
        python-pip python-setuptools build-essential python-dev \
        python3-pip python3-wheel && \
    rm -rf /var/lib/apt/lists/*

ENV SHELL /bin/bash
COPY bashrc /etc/bash.bashrc
RUN echo "set background=dark" >> /etc/vim/vimrc.local

# Install latest KFP SDK & Kale & JupyterLab Extension
RUN pip3 install --upgrade pip && \
    # XXX: Install enum34==1.1.8 because other versions lead to errors during
    #  KFP installation
    pip3 install --upgrade "enum34==1.1.8" && \
    pip3 install --upgrade "jupyterlab>=2.0.0,<3.0.0" && \
    pip3 install --upgrade kubeflow-kale && \
    jupyter labextension install kubeflow-kale-labextension
RUN pip3 install --upgrade "jupyter-client==5.3.4"

RUN echo "jovyan ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers.d/jovyan
WORKDIR /home/jovyan
USER jovyan

CMD ["sh", "-c", \
     "jupyter lab --notebook-dir=/home/jovyan --ip=0.0.0.0 --no-browser \
      --allow-root --port=8888 --LabApp.token='' --LabApp.password='' \
      --LabApp.allow_origin='*' --LabApp.base_url=${NB_PREFIX}"]
vitobotta commented 1 year ago

Did you find a solution for this? Thanks