New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package Mesos for Debian stretch? #109

Closed
chriskuehl opened this Issue Jun 18, 2017 · 13 comments

Comments

Projects
None yet
10 participants
@chriskuehl

chriskuehl commented Jun 18, 2017

Debian stretch was released yesterday and is now the new Debian "stable". Would you please consider building Mesos packages for it, in addition to the packages currently built for Debian jessie (old stable)?

@ivucica

This comment has been minimized.

Show comment
Hide comment
@ivucica

ivucica Jul 8, 2017

It's worse: there is actual breakage when old packages are involved.

I happen to be running the latest Debian Stretch on one of my machines, so old packages should be fixed to add a runtime dependency: libssl1.0.0.

Jul  8 13:54:02 some-hostname-heree mesos-slave[7000]: /usr/sbin/mesos-slave: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

If I just want to make it run, that's a problem as well. Stretch does not include libssl1.0.0 and I do have libssl1.0.2 and libssl1.1 installed. Neither seems to be binary-compatible with libssl1.0.0 as mesos-slave fails to find a specific symbol in them (something like OPENSSL_1.0.0); I've tried symlinking relevant libraries over there.

There is no packaging uploaded for zesty or artful Ubuntu either, so that's not a workaround, either.

So, to prevent pain, can you add a runtime dep to existing mesos package? Separately, can you build a package for Stretch?

ivucica commented Jul 8, 2017

It's worse: there is actual breakage when old packages are involved.

I happen to be running the latest Debian Stretch on one of my machines, so old packages should be fixed to add a runtime dependency: libssl1.0.0.

Jul  8 13:54:02 some-hostname-heree mesos-slave[7000]: /usr/sbin/mesos-slave: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

If I just want to make it run, that's a problem as well. Stretch does not include libssl1.0.0 and I do have libssl1.0.2 and libssl1.1 installed. Neither seems to be binary-compatible with libssl1.0.0 as mesos-slave fails to find a specific symbol in them (something like OPENSSL_1.0.0); I've tried symlinking relevant libraries over there.

There is no packaging uploaded for zesty or artful Ubuntu either, so that's not a workaround, either.

So, to prevent pain, can you add a runtime dep to existing mesos package? Separately, can you build a package for Stretch?

@schneidexe

This comment has been minimized.

Show comment
Hide comment
@schneidexe

schneidexe commented Jul 27, 2017

+1

@zolech

This comment has been minimized.

Show comment
Hide comment
@zolech

zolech commented Aug 3, 2017

+1

@syndbg

This comment has been minimized.

Show comment
Hide comment
@syndbg

syndbg Aug 9, 2017

Ping. Almost 2 months time for just a Stretch package is too much.

syndbg commented Aug 9, 2017

Ping. Almost 2 months time for just a Stretch package is too much.

@radekg

This comment has been minimized.

Show comment
Hide comment
@radekg

radekg Aug 9, 2017

It seems like a community fork of this project is a good idea. There's zero response to any issue from Mesosphere here.

radekg commented Aug 9, 2017

It seems like a community fork of this project is a good idea. There's zero response to any issue from Mesosphere here.

@syndbg

This comment has been minimized.

Show comment
Hide comment
@syndbg

syndbg Aug 9, 2017

A workaround at the moment is to do:

By adding jessie-backports

> echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
> apt -q update
> apt install -y libssl1.0.0
> echo "deb http://repos.mesosphere.io/debian jessie main" > /etc/apt/sources.list.d/mesosphere.list
> apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF
> apt -q update
> apt -y install mesos=1.3.0-2.0.3

By avoiding jessie-backports

Pick a package from https://packages.debian.org/jessie-backports/amd64/libssl1.0.0/download to download and install as in:

> wget http://ftp.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.2l-1~bpo8+1_amd64.deb
> dpkg -i libssl1.0.0_1.0.2l-1~bpo8+1_amd64.deb
> echo "deb http://repos.mesosphere.io/debian jessie main" > /etc/apt/sources.list.d/mesosphere.list
> apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF
> apt -q update
> apt -y install mesos=1.3.0-2.0.3

syndbg commented Aug 9, 2017

A workaround at the moment is to do:

By adding jessie-backports

> echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
> apt -q update
> apt install -y libssl1.0.0
> echo "deb http://repos.mesosphere.io/debian jessie main" > /etc/apt/sources.list.d/mesosphere.list
> apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF
> apt -q update
> apt -y install mesos=1.3.0-2.0.3

By avoiding jessie-backports

Pick a package from https://packages.debian.org/jessie-backports/amd64/libssl1.0.0/download to download and install as in:

> wget http://ftp.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.2l-1~bpo8+1_amd64.deb
> dpkg -i libssl1.0.0_1.0.2l-1~bpo8+1_amd64.deb
> echo "deb http://repos.mesosphere.io/debian jessie main" > /etc/apt/sources.list.d/mesosphere.list
> apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF
> apt -q update
> apt -y install mesos=1.3.0-2.0.3

timcharper added a commit to mesosphere/marathon that referenced this issue Aug 12, 2017

Workaround for Mesos in Debian Stretch
openjdk:8-jdk has switched to Debian stretch. However, there is not a
repository for Debian Stretch. We work-around by installing
libssl1.0.0 from Jessie backports.

See mesosphere/mesos-deb-packaging#109

timcharper added a commit to mesosphere/marathon that referenced this issue Aug 12, 2017

Workaround for Mesos in Debian Stretch
openjdk:8-jdk has switched to Debian Stretch. However, there is not a
repository for Debian Stretch. We work-around by installing
libssl1.0.0 from Jessie backports.

See mesosphere/mesos-deb-packaging#109

timcharper added a commit to mesosphere/marathon that referenced this issue Aug 13, 2017

Fix Dockerfile
openjdk:8-jdk has switched to Debian Stretch. However, Mesos packages
are not yet available for Debian Stretch.

We switch to buildpack-deps:jessie-curl as it is the smallest Jessie
docker image available. Additionally, the docker image only includes
openjdk-headless.

See mesosphere/mesos-deb-packaging#109
@timcharper

This comment has been minimized.

Show comment
Hide comment
@timcharper

timcharper Aug 13, 2017

@syndbg This is a partial workaround and will work fine so long as you are not using SSL with Mesos. Otherwise, if you are using Mesos SSL support, it will crash.

timcharper commented Aug 13, 2017

@syndbg This is a partial workaround and will work fine so long as you are not using SSL with Mesos. Otherwise, if you are using Mesos SSL support, it will crash.

timcharper added a commit to mesosphere/marathon that referenced this issue Aug 14, 2017

Fix Dockerfile
openjdk:8-jdk has switched to Debian Stretch. However, Mesos packages
are not yet available for Debian Stretch.

We switch to buildpack-deps:jessie-curl as it is the smallest Jessie
docker image available. Additionally, the docker image only includes
openjdk-headless.

See mesosphere/mesos-deb-packaging#109
@syndbg

This comment has been minimized.

Show comment
Hide comment
@syndbg

syndbg Sep 20, 2017

Still no Debian stretch support.

The seriousness of this project is becoming a joke, given that people actually use this in production.

At this point I'm fairly certain moving to Kubernetes is a natural decision.

syndbg commented Sep 20, 2017

Still no Debian stretch support.

The seriousness of this project is becoming a joke, given that people actually use this in production.

At this point I'm fairly certain moving to Kubernetes is a natural decision.

@timcharper

This comment has been minimized.

Show comment
Hide comment
@timcharper

timcharper Oct 19, 2017

I was able to build this pretty easily using docker:

git clone https://github.com/mesosphere/mesos-deb-packaging
docker run -it -v $(pwd)/mesos-deb-packaging /mesos-deb-packaging
# inside of docker
apt-get install -y  ruby ruby-dev python-dev autoconf automake git make libssl-dev libcurl3 libtool
gem install fpm
apt-get install -y openjdk-8-jdk
apt-get install -y build-essential python-dev python-six python-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev zlib1g-dev

export MAKEFLAGS=-j8 # or how many cores avail
export MAINTAINER="Name <name@email.com>"
cd /mesos-deb-packaging
./build_mesos --repo https://git-wip-us.apache.org/repos/asf/mesos.git?ref=1.4.0

You'll have a file named deb.pkg in the end

timcharper commented Oct 19, 2017

I was able to build this pretty easily using docker:

git clone https://github.com/mesosphere/mesos-deb-packaging
docker run -it -v $(pwd)/mesos-deb-packaging /mesos-deb-packaging
# inside of docker
apt-get install -y  ruby ruby-dev python-dev autoconf automake git make libssl-dev libcurl3 libtool
gem install fpm
apt-get install -y openjdk-8-jdk
apt-get install -y build-essential python-dev python-six python-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev zlib1g-dev

export MAKEFLAGS=-j8 # or how many cores avail
export MAINTAINER="Name <name@email.com>"
cd /mesos-deb-packaging
./build_mesos --repo https://git-wip-us.apache.org/repos/asf/mesos.git?ref=1.4.0

You'll have a file named deb.pkg in the end

@chriseatworld

This comment has been minimized.

Show comment
Hide comment
@chriseatworld

chriseatworld commented Nov 8, 2017

+1

@artemharutyunyan

This comment has been minimized.

Show comment
Hide comment
@artemharutyunyan

artemharutyunyan Dec 1, 2017

@syndbg sorry about that. @karya0 is working to address this asap.

artemharutyunyan commented Dec 1, 2017

@syndbg sorry about that. @karya0 is working to address this asap.

@karya0

This comment has been minimized.

Show comment
Hide comment
@karya0

karya0 Dec 1, 2017

@syndbg @chriskuehl @chriseatworld @artemharutyunyan: The debian stretch package for Mesos 1.4.1 is now available at:
http://repos.mesosphere.com/debian/pool/main/m/mesos/mesos_1.4.1-2.0.1.debian9_amd64.deb

The 1.4.0, 1.3.1, 1.2.2, and 1.1.3 are on their way and should be available in a few hours.

karya0 commented Dec 1, 2017

@syndbg @chriskuehl @chriseatworld @artemharutyunyan: The debian stretch package for Mesos 1.4.1 is now available at:
http://repos.mesosphere.com/debian/pool/main/m/mesos/mesos_1.4.1-2.0.1.debian9_amd64.deb

The 1.4.0, 1.3.1, 1.2.2, and 1.1.3 are on their way and should be available in a few hours.

@syndbg

This comment has been minimized.

Show comment
Hide comment
@syndbg

syndbg commented Dec 2, 2017

@timcharper timcharper closed this Jul 24, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment