diff options
author | Olaf Flebbe <of@oflebbe.de> | 2017-05-01 15:09:22 +0200 |
---|---|---|
committer | Evans Ye <evansye@apache.org> | 2017-07-01 12:52:50 +0000 |
commit | 830c6398c1c9403b159bd68c0daf6a6c100a3e26 (patch) | |
tree | 1d2ca864041a64cceafe9f061e59d9e50edf6e03 | |
parent | 828a11f39ac7ddd45a1ca768b0df9e76c2e1ab67 (diff) |
BIGTOP-2753: Initial support for Debian-9
-rwxr-xr-x | bigtop_toolchain/bin/puppetize.sh | 4 | ||||
-rw-r--r-- | bigtop_toolchain/manifests/jdk.pp | 4 | ||||
-rw-r--r-- | bigtop_toolchain/manifests/packages.pp | 14 | ||||
-rw-r--r-- | docker/bigtop-puppet/debian-9/Dockerfile | 20 | ||||
-rwxr-xr-x | docker/bigtop-puppet/debian-9/build.sh | 16 | ||||
-rw-r--r-- | docker/bigtop-slaves/debian-9/Dockerfile | 23 |
6 files changed, 76 insertions, 5 deletions
diff --git a/bigtop_toolchain/bin/puppetize.sh b/bigtop_toolchain/bin/puppetize.sh index b0134f07..a5ae590b 100755 --- a/bigtop_toolchain/bin/puppetize.sh +++ b/bigtop_toolchain/bin/puppetize.sh @@ -60,6 +60,10 @@ case ${ID}-${VERSION_ID} in apt-get update apt-get -y install curl sudo unzip puppet ;; + debian-9*) + apt-get update + apt-get -y install wget curl sudo unzip puppet + ;; opensuse-*) zypper --gpg-auto-import-keys install -y curl sudo unzip wget puppet suse-release ca-certificates-mozilla net-tools tar ;; diff --git a/bigtop_toolchain/manifests/jdk.pp b/bigtop_toolchain/manifests/jdk.pp index 6ba32180..8c1518b2 100644 --- a/bigtop_toolchain/manifests/jdk.pp +++ b/bigtop_toolchain/manifests/jdk.pp @@ -17,7 +17,9 @@ class bigtop_toolchain::jdk { case $::operatingsystem { /Debian/: { require apt - require apt::backports + unless $os[release][major] > "8" { + require apt::backports + } package { 'openjdk-8-jdk' : ensure => present, diff --git a/bigtop_toolchain/manifests/packages.pp b/bigtop_toolchain/manifests/packages.pp index d89fa4b1..6101e357 100644 --- a/bigtop_toolchain/manifests/packages.pp +++ b/bigtop_toolchain/manifests/packages.pp @@ -157,7 +157,14 @@ class bigtop_toolchain::packages { "bzip2-devel", "libffi-devel" ] } - /(Ubuntu|Debian)/: { $pkgs = [ + /(Ubuntu|Debian)/: { + # Debian-9 is using mariadb instead of mysql + if ($operatingsystem == "Debian") and ($os[release][major] > "8") { + $mysql_dev="libmariadb-dev" + } else { + $mysql_dev="libmysqlclient-dev" + } + $pkgs = [ "unzip", "curl", "wget", @@ -192,7 +199,7 @@ class bigtop_toolchain::packages { "libsqlite3-dev", "libldap2-dev", "libsasl2-dev", - "libmysqlclient-dev", + $mysql_dev, "python-setuptools", "libkrb5-dev", "asciidoc", @@ -202,8 +209,7 @@ class bigtop_toolchain::packages { "libboost-regex-dev", "xfslibs-dev", "libbz2-dev", - "libreadline6", - "libreadline6-dev", + "libreadline-dev", "zlib1g", "libapr1", "libapr1-dev", diff --git a/docker/bigtop-puppet/debian-9/Dockerfile b/docker/bigtop-puppet/debian-9/Dockerfile new file mode 100644 index 00000000..26a4095d --- /dev/null +++ b/docker/bigtop-puppet/debian-9/Dockerfile @@ -0,0 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +FROM debian:9 +MAINTAINER dev@bigtop.apache.org + +COPY puppetize.sh /tmp/puppetize.sh + +RUN bash /tmp/puppetize.sh diff --git a/docker/bigtop-puppet/debian-9/build.sh b/docker/bigtop-puppet/debian-9/build.sh new file mode 100755 index 00000000..cdc4623b --- /dev/null +++ b/docker/bigtop-puppet/debian-9/build.sh @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +cp ../../../bigtop_toolchain/bin/puppetize.sh . +docker build --pull=true -t bigtop/puppet:debian-9 . diff --git a/docker/bigtop-slaves/debian-9/Dockerfile b/docker/bigtop-slaves/debian-9/Dockerfile new file mode 100644 index 00000000..69229d14 --- /dev/null +++ b/docker/bigtop-slaves/debian-9/Dockerfile @@ -0,0 +1,23 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +FROM bigtop/puppet:debian-9 +MAINTAINER dev@bigtop.apache.org + +COPY bigtop_toolchain /usr/share/puppet/modules/bigtop_toolchain + +RUN apt-get clean && apt-get update && puppet apply -e "include bigtop_toolchain::installer" + +COPY . /tmp/bigtop +RUN cd /tmp/bigtop && ./gradlew && cd && rm -rf /tmp/bigtop |