aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlaf Flebbe <of@oflebbe.de>2017-05-01 15:09:22 +0200
committerEvans Ye <evansye@apache.org>2017-07-01 12:52:50 +0000
commit830c6398c1c9403b159bd68c0daf6a6c100a3e26 (patch)
tree1d2ca864041a64cceafe9f061e59d9e50edf6e03
parent828a11f39ac7ddd45a1ca768b0df9e76c2e1ab67 (diff)
BIGTOP-2753: Initial support for Debian-9
-rwxr-xr-xbigtop_toolchain/bin/puppetize.sh4
-rw-r--r--bigtop_toolchain/manifests/jdk.pp4
-rw-r--r--bigtop_toolchain/manifests/packages.pp14
-rw-r--r--docker/bigtop-puppet/debian-9/Dockerfile20
-rwxr-xr-xdocker/bigtop-puppet/debian-9/build.sh16
-rw-r--r--docker/bigtop-slaves/debian-9/Dockerfile23
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