You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by Hang Chen <ch...@apache.org> on 2021/08/27 07:33:33 UTC

Pulsar 2.8.1 use ubuntu:20.04 base image instead of openjdk:11-jdk image

Hello Apache Pulsar Community,

    I'm Pulsar 2.8.1 release manager.  When I try to build docker images on
branch-2.8, it failed with the following exception:

    ```

    Error:  The command '/bin/sh -c apt-get update      && apt-get install
-y netcat dnsutils less procps iputils-ping                  python3.7
python3.7-dev python3-setuptools python3-yaml python3-kazoo
  libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev
libgdbm-dev libc6-dev libbz2-dev                  curl      && apt-get
clean      && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100

    ```

    The reason is that python3.7 is not available to install in the
openjdk:11-jdk image, which is used as a pulsar docker base image. The
build exception is: https://github.com/apache/pulsar/runs/3428234664

    Thus, I cherry-pick PR#11026(https://github.com/apache/pulsar/pull/11026)
into branch-2.8 and will be released in pulsar 2.8.1. PR#11026 will use
ubuntu:20.04 base image for Pulsar docker images and use python3 instead of
python3.7.

    If you have any questions, please let me know, thank you very much!


All The Best,

Hang

Re: Pulsar 2.8.1 use ubuntu:20.04 base image instead of openjdk:11-jdk image

Posted by Enrico Olivelli <eo...@gmail.com>.
Il giorno ven 27 ago 2021 alle ore 12:15 Hang Chen <ch...@apache.org> ha
scritto:

> Hi Enrico,
>     Thanks for you feedback. Yes, this is an important change for minor
> version release.
>
>     For your two questions,
> 1) We build docker image on CI for every PR, but openjdk:11-jdk docker
> image updated a few days ago due to Debian 11 released, which only support
> python3.9, release log list as follow:
> https://www.debian.org/News/2021/20210814.
> When I build pulsar docker image, it will pull the latest openjdk:11-jdk
> docker image and apt-get install python3.7 failed.
>

I see.
I totally hate this "pick latest version" stuff.
It makes builds totally unpredictable.
Even if we test something for months the next build may fail or you can
deliver to users/customers a docker image that contains libraries that you
have never tested

Given this explanation I am +1 with the change

Thank you

Enrico


>
> 2) The compatibility of this change mainly focus on the python runtime
> change and Debian version change.
>   a. Debian 11 switch to ubuntu20.04
>   b. Python 3.7 upgrade to python 3.8.10.
>
> The following list is the difference between python 3.7 and python 3.8
>
> What's new in python3.8 compared to 3.7
> https://docs.python.org/3/whatsnew/3.8.html
>
> Python3.8.10 change log
> https://docs.python.org/release/3.8.10/whatsnew/changelog.html
>
> Thanks,
> Hang
>
> Enrico Olivelli <eo...@gmail.com> 于2021年8月27日周五 下午4:54写道:
>
> > Hang,
> > thank you for being the release manager and trying to fix the problems.
> >
> > This is an important change, and before adding it to a point release we
> > should be sure that we are not going to break compatibility.
> >
> > I have two questions:
> > 1) aren't we building the docker images on CI for every PR related to
> > branch-2.8 ?
> > 2) which are the risks of breaking compatibility for the users ? like
> > updating the Python runtime version ?
> >
> >
> > Enrico
> >
> > Il giorno ven 27 ago 2021 alle ore 09:33 Hang Chen <ch...@apache.org>
> > ha
> > scritto:
> >
> > > Hello Apache Pulsar Community,
> > >
> > >     I'm Pulsar 2.8.1 release manager.  When I try to build docker
> images
> > on
> > > branch-2.8, it failed with the following exception:
> > >
> > >     ```
> > >
> > >     Error:  The command '/bin/sh -c apt-get update      && apt-get
> > install
> > > -y netcat dnsutils less procps iputils-ping                  python3.7
> > > python3.7-dev python3-setuptools python3-yaml python3-kazoo
> > >   libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev
> tk-dev
> > > libgdbm-dev libc6-dev libbz2-dev                  curl      && apt-get
> > > clean      && rm -rf /var/lib/apt/lists/*' returned a non-zero code:
> 100
> > >
> > >     ```
> > >
> > >     The reason is that python3.7 is not available to install in the
> > > openjdk:11-jdk image, which is used as a pulsar docker base image. The
> > > build exception is: https://github.com/apache/pulsar/runs/3428234664
> > >
> > >     Thus, I cherry-pick PR#11026(
> > > https://github.com/apache/pulsar/pull/11026)
> > > into branch-2.8 and will be released in pulsar 2.8.1. PR#11026 will use
> > > ubuntu:20.04 base image for Pulsar docker images and use python3
> instead
> > of
> > > python3.7.
> > >
> > >     If you have any questions, please let me know, thank you very much!
> > >
> > >
> > > All The Best,
> > >
> > > Hang
> > >
> >
>

Re: Pulsar 2.8.1 use ubuntu:20.04 base image instead of openjdk:11-jdk image

Posted by Hang Chen <ch...@apache.org>.
Hi Enrico,
    Thanks for you feedback. Yes, this is an important change for minor
version release.

    For your two questions,
1) We build docker image on CI for every PR, but openjdk:11-jdk docker
image updated a few days ago due to Debian 11 released, which only support
python3.9, release log list as follow:
https://www.debian.org/News/2021/20210814.
When I build pulsar docker image, it will pull the latest openjdk:11-jdk
docker image and apt-get install python3.7 failed.

2) The compatibility of this change mainly focus on the python runtime
change and Debian version change.
  a. Debian 11 switch to ubuntu20.04
  b. Python 3.7 upgrade to python 3.8.10.

The following list is the difference between python 3.7 and python 3.8

What's new in python3.8 compared to 3.7
https://docs.python.org/3/whatsnew/3.8.html

Python3.8.10 change log
https://docs.python.org/release/3.8.10/whatsnew/changelog.html

Thanks,
Hang

Enrico Olivelli <eo...@gmail.com> 于2021年8月27日周五 下午4:54写道:

> Hang,
> thank you for being the release manager and trying to fix the problems.
>
> This is an important change, and before adding it to a point release we
> should be sure that we are not going to break compatibility.
>
> I have two questions:
> 1) aren't we building the docker images on CI for every PR related to
> branch-2.8 ?
> 2) which are the risks of breaking compatibility for the users ? like
> updating the Python runtime version ?
>
>
> Enrico
>
> Il giorno ven 27 ago 2021 alle ore 09:33 Hang Chen <ch...@apache.org>
> ha
> scritto:
>
> > Hello Apache Pulsar Community,
> >
> >     I'm Pulsar 2.8.1 release manager.  When I try to build docker images
> on
> > branch-2.8, it failed with the following exception:
> >
> >     ```
> >
> >     Error:  The command '/bin/sh -c apt-get update      && apt-get
> install
> > -y netcat dnsutils less procps iputils-ping                  python3.7
> > python3.7-dev python3-setuptools python3-yaml python3-kazoo
> >   libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev
> > libgdbm-dev libc6-dev libbz2-dev                  curl      && apt-get
> > clean      && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100
> >
> >     ```
> >
> >     The reason is that python3.7 is not available to install in the
> > openjdk:11-jdk image, which is used as a pulsar docker base image. The
> > build exception is: https://github.com/apache/pulsar/runs/3428234664
> >
> >     Thus, I cherry-pick PR#11026(
> > https://github.com/apache/pulsar/pull/11026)
> > into branch-2.8 and will be released in pulsar 2.8.1. PR#11026 will use
> > ubuntu:20.04 base image for Pulsar docker images and use python3 instead
> of
> > python3.7.
> >
> >     If you have any questions, please let me know, thank you very much!
> >
> >
> > All The Best,
> >
> > Hang
> >
>

Re: Pulsar 2.8.1 use ubuntu:20.04 base image instead of openjdk:11-jdk image

Posted by Enrico Olivelli <eo...@gmail.com>.
Hang,
thank you for being the release manager and trying to fix the problems.

This is an important change, and before adding it to a point release we
should be sure that we are not going to break compatibility.

I have two questions:
1) aren't we building the docker images on CI for every PR related to
branch-2.8 ?
2) which are the risks of breaking compatibility for the users ? like
updating the Python runtime version ?


Enrico

Il giorno ven 27 ago 2021 alle ore 09:33 Hang Chen <ch...@apache.org> ha
scritto:

> Hello Apache Pulsar Community,
>
>     I'm Pulsar 2.8.1 release manager.  When I try to build docker images on
> branch-2.8, it failed with the following exception:
>
>     ```
>
>     Error:  The command '/bin/sh -c apt-get update      && apt-get install
> -y netcat dnsutils less procps iputils-ping                  python3.7
> python3.7-dev python3-setuptools python3-yaml python3-kazoo
>   libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev
> libgdbm-dev libc6-dev libbz2-dev                  curl      && apt-get
> clean      && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100
>
>     ```
>
>     The reason is that python3.7 is not available to install in the
> openjdk:11-jdk image, which is used as a pulsar docker base image. The
> build exception is: https://github.com/apache/pulsar/runs/3428234664
>
>     Thus, I cherry-pick PR#11026(
> https://github.com/apache/pulsar/pull/11026)
> into branch-2.8 and will be released in pulsar 2.8.1. PR#11026 will use
> ubuntu:20.04 base image for Pulsar docker images and use python3 instead of
> python3.7.
>
>     If you have any questions, please let me know, thank you very much!
>
>
> All The Best,
>
> Hang
>