docker: use dist/common/supervisor script for docker

supervisor scripts for Docker and supervisor scripts for offline
installer are almost same, drop Docker one and share same code to
deduplicate them.

Closes #9143

Fixes #9194
This commit is contained in:
Takuya ASADA
2021-08-04 20:18:33 +09:00
committed by Avi Kivity
parent 0ba697d515
commit cb19048186
8 changed files with 12 additions and 60 deletions

View File

@@ -75,16 +75,12 @@ bconfig() { buildah config "$@" "$container"; }
bcp "${packages[@]}" packages/
bcp dist/docker/etc etc/
bcp dist/docker/scylla-service.sh /scylla-service.sh
bcp dist/docker/node-exporter-service.sh /node-exporter-service.sh
bcp dist/docker/scylla-housekeeping-service.sh /scylla-housekeeping-service.sh
bcp dist/docker/scylla-jmx-service.sh /scylla-jmx-service.sh
bcp dist/docker/sshd-service.sh /sshd-service.sh
bcp dist/docker/scyllasetup.py /scyllasetup.py
bcp dist/docker/commandlineparser.py /commandlineparser.py
bcp dist/docker/docker-entrypoint.py /docker-entrypoint.py
bcp dist/docker/node_exporter_install /node_exporter_install
bcp dist/docker/scylla_bashrc /scylla_bashrc
@@ -93,16 +89,21 @@ run apt-get -y update
run apt-get -y install dialog apt-utils
run bash -ec "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
run bash -ec "rm -rf /etc/rsyslog.conf"
run apt-get -y install hostname supervisor openssh-server openssh-client openjdk-11-jre-headless python python-yaml curl rsyslog locales
run apt-get -y install hostname supervisor openssh-server openssh-client openjdk-11-jre-headless python python-yaml curl rsyslog locales sudo
run locale-gen en_US.UTF-8
run bash -ec "dpkg -i packages/*.deb"
run apt-get -y clean all
run bash -ec "cat /scylla_bashrc >> /etc/bashrc"
run mkdir -p /etc/supervisor.conf.d
run mkdir -p /var/log/scylla
run /node_exporter_install
run chown -R scylla:scylla /var/lib/scylla
run mkdir -p /opt/scylladb/supervisor
bcp dist/common/supervisor/scylla-server.sh /opt/scylladb/supervisor/scylla-server.sh
bcp dist/common/supervisor/scylla-jmx.sh /opt/scylladb/supervisor/scylla-jmx.sh
bcp dist/common/supervisor/scylla-node-exporter.sh /opt/scylladb/supervisor/scylla-node-exporter.sh
bcp dist/common/supervisor/scylla_util.sh /opt/scylladb/supervisor/scylla_util.sh
bconfig --env PATH=/opt/scylladb/python3/bin:/usr/bin:/usr/sbin
bconfig --entrypoint "/docker-entrypoint.py"
bconfig --port 10000 --port 9042 --port 9160 --port 9180 --port 7000 --port 7001 --port 22

View File

@@ -1,5 +1,5 @@
[program:scylla-jmx]
command=/scylla-jmx-service.sh
command=/opt/scylladb/supervisor/scylla-jmx.sh
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr

View File

@@ -1,5 +1,5 @@
[program:node-exporter]
command=/node-exporter-service.sh
[program:scylla-node-exporter]
command=/opt/scylladb/supervisor/scylla-node-exporter.sh
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr

View File

@@ -1,5 +1,5 @@
[program:scylla]
command=/scylla-service.sh
[program:scylla-server]
command=/opt/scylladb/supervisor/scylla-server.sh
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr

View File

@@ -1,5 +0,0 @@
#!/bin/bash
/usr/bin/node_exporter --collector.interrupts

View File

@@ -1,26 +0,0 @@
#!/bin/sh
#
# Copyright 2019-present ScyllaDB
#
# This file is part of Scylla.
#
# Scylla is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Scylla is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Scylla. If not, see <http://www.gnu.org/licenses/>.
VERSION='0.17.0'
INSTALL_DIR='/usr/lib/scylla/Prometheus/node_exporter'
mkdir -p $INSTALL_DIR
cd $INSTALL_DIR
curl -L https://github.com/prometheus/node_exporter/releases/download/v$VERSION/node_exporter-$VERSION.linux-amd64.tar.gz -o $INSTALL_DIR/node_exporter-$VERSION.linux-amd64.tar.gz
tar -xvzf $INSTALL_DIR/node_exporter-$VERSION.linux-amd64.tar.gz
rm $INSTALL_DIR/node_exporter-$VERSION.linux-amd64.tar.gz
ln -s $INSTALL_DIR/node_exporter-$VERSION.linux-amd64/node_exporter /usr/bin

View File

@@ -1,5 +0,0 @@
#!/bin/bash
source /etc/default/scylla-jmx
exec /opt/scylladb/jmx/scylla-jmx $SCYLLA_JMX_PORT $SCYLLA_API_PORT $SCYLLA_API_ADDR $SCYLLA_JMX_ADDR $SCYLLA_JMX_FILE $SCYLLA_JMX_LOCAL $SCYLLA_JMX_REMOTE $SCYLLA_JMX_DEBUG

View File

@@ -1,13 +0,0 @@
#!/bin/bash
/opt/scylladb/scripts/scylla_prepare
. /etc/sysconfig/scylla-server
export SCYLLA_HOME SCYLLA_CONF
for f in /etc/scylla.d/*.conf; do
. "$f"
done
exec /usr/bin/scylla $SCYLLA_ARGS $SEASTAR_IO $DEV_MODE $CPUSET $SCYLLA_DOCKER_ARGS