44 Star 44 Fork 143

openEuler/infrastructure
关闭

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
backend_v2.sh 6.53 KB
一键复制 编辑 原始数据 按行查看 历史
wanghao 提交于 2022-05-27 09:26 +08:00 . add ci/tools/init_obs_backend_server.sh.
#!/bin/bash
if [[ $# -lt 8 ]];then
echo "please specify frontend host, source host. backend host, repo ID of source server and data disk usage: ./init_obs_backend_server.sh frontendip sourceip backendip home_backendip other_backendip new_backendip repoID /dev/sdb"
exit 1
fi
frontend_host=$1
source_host=$2
backend_host=$3
home_backend_host=$4
other_backend_host=$5
backend_004=$6
repo_id=$7
data_disk=$8
#ensure the system matches
system_info=`uname -r`
if [[ ! ${system_info} == '4.12.14-lp151.28.91-default' ]];then
echo "this script is strictly bound to specific release `4.12.14-lp151.28.7-default`, please ensure this script works on your system"
exit 1
fi
echo "Starting obs backend service with source server ${source_host}.."
#enable and start sshd service
echo "Enabling sshd service if not enabled"
systemctl enable sshd.service
echo "Disabling all service before start"
systemctl stop obssrcserver.service
systemctl stop obsrepserver.service
systemctl stop obsservice.service
systemctl stop obsdodup.service
systemctl stop obssignd.service
systemctl stop obsservicedispatch.service
systemctl stop obsdeltastore.service
systemctl stop obsscheduler.service
systemctl stop obsdispatcher.service
systemctl stop obspublisher.service
systemctl stop obssigner.service
systemctl stop obswarden.service
systemctl stop obsworker.service
systemctl stop apache2
systemctl stop mysql
systemctl stop memcached
systemctl stop obs-api-support.target
# disable all obs service first
systemctl disable obssrcserver.service
systemctl disable obsrepserver.service
systemctl disable obsservice.service
systemctl disable obsdodup.service
systemctl disable obssignd.service
systemctl disable obsservicedispatch.service
systemctl disable obsdeltastore.service
systemctl disable obsscheduler.service
systemctl disable obsdispatcher.service
systemctl disable obspublisher.service
systemctl disable obssigner.service
systemctl disable obswarden.service
systemctl disable obsworker.service
systemctl disable apache2
systemctl disable mysql
systemctl disable memcached
systemctl disable obs-api-support.target
# prepare the disk
if [[ ! -e ${data_disk} ]];then
echo "No data disk found ${data_disk}"
exit 1
fi
if [[ ! -e /dev/OBS/server ]];then
pvcreate ${data_disk}
vgcreate "OBS" ${data_disk}
lvcreate -l 100%FREE "OBS" -n "server"
mkfs.ext3 /dev/OBS/server
echo "/dev/mapper/OBS-server /srv ext3 defaults 0 0" >> /etc/fstab
mkdir -p /tmp/srv
cp -a /srv/* /tmp/srv
mount -a
cp -a /tmp/srv/* /srv/
rm -rf /tmp/srv
fi
# update configuration file
echo "Updating configuration file for obs backend service"
curl https://openeuler.obs.cn-south-1.myhuaweicloud.com/infrastructure/other-BSConfig.pl -o /usr/lib/obs/server/BSConfig.pm
sed -i "s/\$HOSTNAME/backend_004.openeuler.org/g" /etc/slp.reg.d/obs.repo_server.reg
sed -i "s/\$HOSTNAME/source.openeuler.org/g" /etc/slp.reg.d/obs.source_server.reg
sed -i "s/After=network.target obssrcserver.service obsrepserver.service obsapisetup.service/After=network.target obssrcserver.service obsrepserver.service/g" /usr/lib/systemd/system/obsscheduler.service
systemctl daemon-reload
# Update the obs conf to setup up repo web server
cd /etc/apache2/vhosts.d
curl -o obs.conf https://openeuler.obs.cn-south-1.myhuaweicloud.com:443/infrastructure/obs.conf
echo "Updating the cluster hosts info"
# update hosts info:
# 1. <frontend_host> build.openeuler.org
# 2. <source_host> source.openeuler.org
# 3. <backend_host> backend.openeuler.org
hostnamectl set-hostname backend_004.openeuerl.org
if ! grep -q "build.openeuler.org" /etc/hosts; then
echo "${frontend_host} build.openeuler.org" >> /etc/hosts
else
sed -i -e "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\} build.openeuler.org/${frontend_host} build.openeuler.org/g" /etc/hosts
fi
if ! grep -q "source.openeuler.org" /etc/hosts; then
echo "${source_host} source.openeuler.org" >> /etc/hosts
else
sed -i -e "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\} source.openeuler.org/${source_host} source.openeuler.org/g" /etc/hosts
fi
if ! grep -q "backend.openeuler.org" /etc/hosts; then
echo "${backend_host} backend.openeuler.org" >> /etc/hosts
else
sed -i -e "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\} backend.openeuler.org/${backend_host} backend.openeuler.org/g" /etc/hosts
fi
if ! grep -q "home-backend.openeuler.org" /etc/hosts; then
echo "${home_backend_host} home-backend.openeuler.org" >> /etc/hosts
else
sed -i -e "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\} home-backend.openeuler.org/${home_backend_host} home-backend.openeuler.org/g" /etc/hosts
fi
if ! grep -q "other-backend.openeuler.org" /etc/hosts; then
echo "${other_backend_host} other-backend.openeuler.org" >> /etc/hosts
else
sed -i -e "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\} other-backend.openeuler.org/${other_backend_host} other-backend.openeuler.org/g" /etc/hosts
fi
if ! grep -q "backend_004.openeuler.org" /etc/hosts; then
echo "${backend_004} backend_004.openeuler.org" >> /etc/hosts
else
sed -i -e "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\} backend_004.openeuler.org/${backend_004} backend_004.openeuler.org/g" /etc/hosts
fi
echo "updating the osc configuration files"
#update osc config file
if [[ ! -d /root/.config/osc ]];then
mkdir -p /root/.config/osc
fi
if [[ -e /root/.config/osc/oscrc ]];then
rm /root/.config/osc/oscrc
fi
cd /root/.config/osc
curl -o oscrc https://openeuler.obs.cn-south-1.myhuaweicloud.com:443/infrastructure/oscrc
echo "updating the content of _repoid file"
echo -en ${repo_id} > /srv/obs/build/_repoid
echo -en ${repo_id} > /srv/obs/projects/_repoid
echo "Restarting backend service"
# restart the frontend service
systemctl enable obsrepserver.service
systemctl enable obsdodup.service
systemctl enable obssignd.service
systemctl enable obsscheduler.service
systemctl enable obsdispatcher.service
systemctl enable obspublisher.service
systemctl enable obssigner.service
systemctl enable obswarden.service
systemctl start obsrepserver.service
systemctl start obsdodup.service
systemctl start obssignd.service
systemctl start obsscheduler.service
systemctl start obsdispatcher.service
systemctl start obspublisher.service
systemctl start obssigner.service
systemctl start obswarden.service
#Running repo web server
systemctl start apache2
echo "OBS backend server successfully started"
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/openeuler/infrastructure.git
git@gitee.com:openeuler/infrastructure.git
openeuler
infrastructure
infrastructure
master

搜索帮助