diff --git a/obs/tf/startup/obs_worker_arm_node_init_files/README.md b/obs/tf/startup/obs_worker_arm_node_init_files/README.md index a192496087eb600009571e79bbba9bcad2f759c7..14be6cfd926842b744056524b8728d25c6b193c3 100644 --- a/obs/tf/startup/obs_worker_arm_node_init_files/README.md +++ b/obs/tf/startup/obs_worker_arm_node_init_files/README.md @@ -1,35 +1,31 @@ # note -> ARM节点进行初始化,按照如下步骤进行: ->适用于 EulerOS 2.8 64bit 操作系统; +> X86节点进行初始化,按照如下步骤进行: 适用于 `openEuler 20.03|22.03 64bit` 操作系统 * 创建目录 ```shell - mkdir /obs && mv ./{cpuNum,init.sh,obs_worker_euleros_aarch.sh,worker_ip_add} /obs - cd /obs + mkdir /obs && mv ./{obs_worker_cpuNum,obs_worker_init.sh,obs_worker_install_aarch64.sh,obs_worker_ip_add,obs_worker_update_config.sh} /obs && cd /obs ``` * 赋予文件执行权限 ```shell - chmod a+x ./init.sh - chmod a+x ./obs_worker_euleros_aarch.sh + chmod a+x ./obs_worker_init.sh + chmod a+x ./obs_worker_install_aarch64.sh + chmod a+x ./obs_worker_update_config.sh + sh ./obs_worker_install_x86.sh ``` -* 重启初始化方式 +* 设置节点重启检测 ```shell - STR="@reboot /obs/init.sh" + STR="@reboot /obs/obs_worker_init.sh" ( echo "$STR" ) | crontab - ``` * 说明 - 1. 可以使用两种方式初始化; + 1. 直接执行`sh ./obs_worker_install_aarch64.sh`完成初始化; - 第一种方式:直接执行`./obs_worker_euleros_aarch.sh`就可以完成初始化;适合于单个节点执行;完成初始化后,`cpuNum`中的值为`cpu`物理个数时,初始化正常; - - 2. 第二种方式:直接重启节点,自动完成初始化;初始化后,检查`cpuNum`中的值为`cpu`物理个数时,初始化正常;适合于远程批量执行; - - 3. 如有异常,请检查日志文件:`/var/log/install_obs_worker.log`. \ No newline at end of file + 2. 如有异常,请检查日志文件:`/var/log/install_obs_worker.log`. diff --git a/obs/tf/startup/obs_worker_arm_node_init_files/cpuNum b/obs/tf/startup/obs_worker_arm_node_init_files/cpuNum deleted file mode 100644 index 105d7d9ad3afc7bb78a0dec4d829880831605dfb..0000000000000000000000000000000000000000 --- a/obs/tf/startup/obs_worker_arm_node_init_files/cpuNum +++ /dev/null @@ -1 +0,0 @@ -100 \ No newline at end of file diff --git a/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_cpuNum b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_cpuNum new file mode 100644 index 0000000000000000000000000000000000000000..b8626c4cff2849624fb67f87cd0ad72b163671ad --- /dev/null +++ b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_cpuNum @@ -0,0 +1 @@ +4 diff --git a/obs/tf/startup/obs_worker_x86_node_init_files/init.sh b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_init.sh similarity index 61% rename from obs/tf/startup/obs_worker_x86_node_init_files/init.sh rename to obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_init.sh index 1543f365d1f9deb03241a8e12e1a6406f7c25f64..2f6a33638ebc38abb6eccf580aef76226f077350 100644 --- a/obs/tf/startup/obs_worker_x86_node_init_files/init.sh +++ b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_init.sh @@ -1,13 +1,17 @@ #!/bin/bash # Whether to reinitalize base on the value of cpuNum -n=`lscpu | grep '^CPU(s):' | awk '{print $2}'` -if [[ $n -ne `cat /obs/cpuNum` ]];then - /obs/obs_worker_openeuler_x86.sh +cpuNum=`lscpu | grep '^CPU(s):' | awk '{print $2}'` +if [[ $cpuNum -ne `cat /obs/obs_worker_cpuNum` ]];then + sh /obs/obs_worker_install_x86.sh echo -e "[`date -d today "+%Y-%m-%d %H:%M:%S"`]" "\t\t\"cpu numbers had change or the first time start-up,exectuted init;\"" >> /var/log/install_obs_worker.log fi # Sed the resolv address to address.conf when server reboot if [[ -z `grep '100.125.1.250' /etc/resolv.conf` ]];then sed -i '1 i nameserver 100.125.1.250' /etc/resolv.com -fi \ No newline at end of file +fi + +# +sed -i "s#^PasswordAuthentication no#PasswordAuthentication yes#g" /etc/ssh/sshd_config +systemctl restart sshd diff --git a/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_euleros_aarch.sh b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_install_aarch64.sh similarity index 51% rename from obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_euleros_aarch.sh rename to obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_install_aarch64.sh index ab439a7740f02f62716655f01e8992b4c9951f73..9fb1bc7d8459864495ffdb5d3efd4e84243b51c9 100644 --- a/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_euleros_aarch.sh +++ b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_install_aarch64.sh @@ -1,6 +1,6 @@ #!/bin/bash # 2021-09-24 created - +set -v # --------------------------------------------------------------------------------------------------------------------------------------- function func_install_obsworker(){ @@ -14,12 +14,8 @@ function func_install_obsworker(){ function func_config_obs_server_file(){ CPU_NUM=`lscpu | grep '^CPU(s):' | awk '{print $2}'` - echo $CPU_NUM > /obs/cpuNum - sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"$CPU_NUM\"/g" /etc/sysconfig/obs-server - sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"6\"/g" /etc/sysconfig/obs-server - sed -i "s/OBS_SRC_SERVER=.*/OBS_SRC_SERVER=\"source.openeuler.org:5352\"/g" /etc/sysconfig/obs-server - sed -i "s/OBS_REPO_SERVERS=.*/OBS_REPO_SERVERS=\"backend.openeuler.org:5252\"/g" /etc/sysconfig/obs-server - # sed -i "s/OBS_REPO_SERVERS=.*/OBS_REPO_SERVERS=\"backend.openeuler.org:5252 other-backend.openeuler.org:5252\"/g" /etc/sysconfig/obs-server + echo $CPU_NUM > /obs/obs_worker_cpuNum + sh /obs/obs_worker_update_config.sh } function func_config_disk(){ @@ -31,7 +27,7 @@ function func_config_disk(){ if [[ ! -e /dev/OBS/worker ]];then pvcreate ${disk_name} vgcreate "OBS" ${disk_name} - lvcreate -l 100%FREE "OBS" -n "worker" + lvcreate -l +100%FREE "OBS" -n "worker" mkfs.ext4 /dev/OBS/worker echo "/dev/mapper/OBS-worker /var/cache/obs/worker ext4 defaults 0 0" >> /etc/fstab mount -a @@ -39,13 +35,16 @@ function func_config_disk(){ } function func_log_file(){ - echo "$TIME \"$1\"" >> $LOGFILE + echo "$TIME\t\"$1\"" >> $LOGFILE } # --------------------------------------------------------------------------------------------------------------------------------------- -systemctl stop obsworker - +service_status=`systemctl is-active obsworker` +if [[ ${service_status} == "active" ]] +then + systemctl stop obsworker +fi # define log time template and touch log file TIME="[`date -d today '+%Y-%m-%d %H:%M:%S'`]" LOGFILE=/var/log/install_obs_worker.log @@ -62,57 +61,26 @@ if [[ -z `grep '100.125.1.250' /etc/resolv.conf` ]];then sed -i '1 i nameserver 100.125.1.250' /etc/resolv.com fi -# replace ip address for "frontend_host、source_host、backend_host、home_backend_host" in /etc/host -frontend_host=` grep "frontend_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -source_host=` grep "source_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -backend_host=` grep "^backend_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -home_backend_host=` grep "home_backend_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -other_backend_host=`grep "other_backend_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -if ! grep -q "build.openeuler.org" /etc/hosts; then - echo "${frontend_host} build.openeuler.org" >> /etc/hosts -else - sed -i "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 "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 "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 "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 "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 - -# test ip address whether reach -for ip in `grep "=" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` +# replace ip address for "frontend_host、source_host、backend_host、home_backend_host" in /etc/hosts +for i in `cat /obs/obs_worker_ip_add| grep -v "#"` do - ping -c2 $ip - if [ $? -ne 0 ];then - func_log_file "$ip can not reach,please ip and netwok" - exit + host_name=`echo $i | awk -F"=" '{print $1}'` + host_ip=` echo $i | awk -F"=" '{print $2}' | sed 's/"//g'` + if ! grep -q "${host_name}" /etc/hosts + then + echo "${host_ip} ${host_name}" >> /etc/hosts + else + sed -i "s#[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\} ${host_name}#${host_ip} ${host_name}#g" /etc/hosts fi done ## download config files # backup address: curl https://openeuler.obs.cn-south-1.myhuaweicloud.com/infrastructure/obsworker.tar.gz -o ${OBS_INSTALL_DIR}/obsworker.tar.gz # if download file faild from bj4 ; use backup address download; -OBS_INSTALL_DIR=/tmp/obs_worker_arm_install +OBS_INSTALL_DIR=/tmp/obs_worker_install [[ ! -d ${OBS_INSTALL_DIR} ]] && mkdir -p ${OBS_INSTALL_DIR} if [[ ! -e ${OBS_INSTALL_DIR}/obsworker.tar.gz ]]; then - curl --connect-timeout 20 -m 20 https://openeuler-bj4.obs.cn-north-4.myhuaweicloud.com/obsworker.tar.gz -o ${OBS_INSTALL_DIR}/obsworker.tar.gz + curl --connect-timeout 10 -m 3 https://openeuler-bj4.obs.cn-north-4.myhuaweicloud.com/obsworker.tar.gz -o ${OBS_INSTALL_DIR}/obsworker.tar.gz if [ ! -e "${OBS_INSTALL_DIR}/obsworker.tar.gz" ];then func_log_file "download obsworker.tar.gz faild" exit @@ -146,8 +114,8 @@ else fi # x86 arch restart NetworkManger;ARM resatrt systemd-networkd and NetworkManger.service; -systemctl restart systemd-networkd -systemctl restart NetworkManger.service +#systemctl restart systemd-networkd +#systemctl restart NetworkManger.service systemctl restart obsworker.service systemctl restart sshd.service /usr/lib/systemd/systemd-sysv-install enable obsworker diff --git a/obs/tf/startup/obs_worker_x86_node_init_files/worker_ip_add b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_ip_add similarity index 37% rename from obs/tf/startup/obs_worker_x86_node_init_files/worker_ip_add rename to obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_ip_add index f7126c425f58ca3454b4f3adda3a9752fd65e881..48984fed7502df6e4709691a6f2b7f022eb0e122 100644 --- a/obs/tf/startup/obs_worker_x86_node_init_files/worker_ip_add +++ b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_ip_add @@ -1,17 +1,11 @@ -# worker node initial ip address; You can modify it; -# but make sure all ip address can be reachable. You only execute "sh /obs/obs_worker_openeuler_x86.sh" again when ip address changed at once; - -# build.openeuler.org ip add -frontend_host="172.16.1.81" - -# source.openeuler.org ip add -source_host="172.16.1.89" - -# backend.openeuler.org ip add -backend_host="172.16.1.95" - -# home-backend.openeuler.org ip add -home_backend_host="172.16.1.84" - -# other-backend.openeuler.org ip add -other_backend_host="172.16.1.124" +# worker node initial ip address; You can modify it; +# but make sure all ip address can be reachable. You only execute "sh /obs/obs_worker_openeuler_x86.sh" again when ip address changed at once; +# +build.openeuler.org="172.16.1.81" +source.openeuler.org="172.16.1.89" +backend.openeuler.org="172.16.1.95" +home-backend.openeuler.org="172.16.1.84" +backend_002.openeuler.org="172.16.1.155" +backend_003.openeuler.org="172.16.1.32" +backend_004.openeuler.org="172.16.1.234" +other-backend.openeuler.org="172.16.1.124" diff --git a/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_update_config.sh b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_update_config.sh new file mode 100644 index 0000000000000000000000000000000000000000..b7d9bc4609f50bd0daf72e74ba7e1ebb0ac27324 --- /dev/null +++ b/obs/tf/startup/obs_worker_arm_node_init_files/obs_worker_update_config.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +cpu=`cat /proc/cpuinfo | grep "processor" | wc -l` +if [[ ${cpu} -gt 0 && ${cpu} -lt 8 ]];then + echo "1" + sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"${cpu}\"/g" /etc/sysconfig/obs-server + sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"${cpu}\"/g" /etc/sysconfig/obs-server + systemctl stop obsworker.service +elif [[ ${cpu} -lt 16 ]];then + echo "2" + sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"5\"/g" /etc/sysconfig/obs-server + sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"${cpu}\"/g" /etc/sysconfig/obs-server + systemctl restart obsworker.service +elif [[ ${cpu} -lt "32" ]];then + echo "3" + sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"10\"/g" /etc/sysconfig/obs-server + sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"${cpu}\"/g" /etc/sysconfig/obs-server + systemctl restart obsworker.service +elif [[ ${cpu} -ge 64 && ${cpu} -lt 128 ]];then + echo "4" + sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"6\"/g" /etc/sysconfig/obs-server + sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"${cpu}\"/g" /etc/sysconfig/obs-server + systemctl restart obsworker.service +else + echo "5" +fi +sed -i "s#OBS_SRC_SERVER=.*#OBS_SRC_SERVER=\"source.openeuler.org:5352\"#g" /etc/sysconfig/obs-server +sed -i "s#OBS_REPO_SERVERS=.*#OBS_REPO_SERVERS=\"backend.openeuler.org:5252\"#g" /etc/sysconfig/obs-server diff --git a/obs/tf/startup/obs_worker_x86_node_init_files/README.md b/obs/tf/startup/obs_worker_x86_node_init_files/README.md index f4104fb16067fb2edc0b08e24d5f1e9c9b091376..4952a35c7f785263ecc96ccdbe7f387031b3c820 100644 --- a/obs/tf/startup/obs_worker_x86_node_init_files/README.md +++ b/obs/tf/startup/obs_worker_x86_node_init_files/README.md @@ -1,34 +1,31 @@ # note -> X86节点进行初始化,按照如下步骤进行: 适用于 `openEuler 20.03 64bit` 操作系统 +> X86节点进行初始化,按照如下步骤进行: 适用于 `openEuler 20.03|22.03 64bit` 操作系统 * 创建目录 ```shell - mkdir /obs && mv ./{cpuNum,init.sh,obs_worker_openeuler_x86.sh,worker_ip_add} /obs - cd /obs + mkdir /obs && mv ./{obs_worker_cpuNum,obs_worker_init.sh,obs_worker_install_x86.sh,obs_worker_ip_add,obs_worker_update_config.sh} /obs && cd /obs ``` * 赋予文件执行权限 ```shell - chmod a+x ./init.sh - chmod a+x ./obs_worker_openeuler_x86.sh + chmod a+x ./obs_worker_init.sh + chmod a+x ./obs_worker_install_x86.sh + chmod a+x ./obs_worker_update_config.sh + sh ./obs_worker_install_x86.sh ``` -* 设置重启方式初始化 +* 设置节点重启检测 ```shell - STR="@reboot /obs/init.sh" + STR="@reboot /obs/obs_worker_init.sh" ( echo "$STR" ) | crontab - ``` * 说明 - 1. 可以使用两种方式初始化: - 第一种方式:直接执行`./obs_worker_openeuler_x86.sh`就可以完成初始化;适合于单个节点执行; - 完成初始化后,`cpuNum`中的值为`cpu`物理个数时,初始化正常; + 1. 直接执行`sh ./obs_worker_install_x86.sh`完成初始化; - 2. 第二种方式:重启后自动完成初始化,初始化后,检查`cpuNum`中的值为`cpu`物理个数时,初始化正常;适合于远程批量执行; - - 3. 如有异常,请检查日志文件:`/var/log/install_obs_worker.log`. \ No newline at end of file + 2. 如有异常,请检查日志文件:`/var/log/install_obs_worker.log`. diff --git a/obs/tf/startup/obs_worker_x86_node_init_files/cpuNum b/obs/tf/startup/obs_worker_x86_node_init_files/cpuNum deleted file mode 100644 index 105d7d9ad3afc7bb78a0dec4d829880831605dfb..0000000000000000000000000000000000000000 --- a/obs/tf/startup/obs_worker_x86_node_init_files/cpuNum +++ /dev/null @@ -1 +0,0 @@ -100 \ No newline at end of file diff --git a/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_cpuNum b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_cpuNum new file mode 100644 index 0000000000000000000000000000000000000000..b8626c4cff2849624fb67f87cd0ad72b163671ad --- /dev/null +++ b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_cpuNum @@ -0,0 +1 @@ +4 diff --git a/obs/tf/startup/obs_worker_arm_node_init_files/init.sh b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_init.sh similarity index 44% rename from obs/tf/startup/obs_worker_arm_node_init_files/init.sh rename to obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_init.sh index ffb20a79b42d4d9fa63a1af7ef08f1fe8ccb7ec5..2f6a33638ebc38abb6eccf580aef76226f077350 100644 --- a/obs/tf/startup/obs_worker_arm_node_init_files/init.sh +++ b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_init.sh @@ -1,13 +1,17 @@ #!/bin/bash -# Whether to reinitalize base on the value of cpuNum ; -n=`lscpu | grep '^CPU(s):' | awk '{print $2}'` -if [[ $n -ne `cat /obs/cpuNum` ]];then - /obs/obs_worker_euleros_aarch.sh +# Whether to reinitalize base on the value of cpuNum +cpuNum=`lscpu | grep '^CPU(s):' | awk '{print $2}'` +if [[ $cpuNum -ne `cat /obs/obs_worker_cpuNum` ]];then + sh /obs/obs_worker_install_x86.sh echo -e "[`date -d today "+%Y-%m-%d %H:%M:%S"`]" "\t\t\"cpu numbers had change or the first time start-up,exectuted init;\"" >> /var/log/install_obs_worker.log fi -# Sed the resolv add after reboot everytime +# Sed the resolv address to address.conf when server reboot if [[ -z `grep '100.125.1.250' /etc/resolv.conf` ]];then sed -i '1 i nameserver 100.125.1.250' /etc/resolv.com -fi \ No newline at end of file +fi + +# +sed -i "s#^PasswordAuthentication no#PasswordAuthentication yes#g" /etc/ssh/sshd_config +systemctl restart sshd diff --git a/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_openeuler_x86.sh b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_install_x86.sh similarity index 42% rename from obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_openeuler_x86.sh rename to obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_install_x86.sh index 90c64252175b29ade1bad06be7de418c7f6c1dc2..9fb1bc7d8459864495ffdb5d3efd4e84243b51c9 100644 --- a/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_openeuler_x86.sh +++ b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_install_x86.sh @@ -1,5 +1,6 @@ #!/bin/bash -# 2021-09-24 created;use for x86 worker node init; +# 2021-09-24 created +set -v # --------------------------------------------------------------------------------------------------------------------------------------- function func_install_obsworker(){ @@ -11,13 +12,10 @@ function func_install_obsworker(){ } function func_config_obs_server_file(){ + CPU_NUM=`lscpu | grep '^CPU(s):' | awk '{print $2}'` - echo $CPU_NUM > /obs/cpuNum - sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"$CPU_NUM\"/g" /etc/sysconfig/obs-server - sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"6\"/g" /etc/sysconfig/obs-server - sed -i "s/OBS_SRC_SERVER=.*/OBS_SRC_SERVER=\"source.openeuler.org:5352\"/g" /etc/sysconfig/obs-server - sed -i "s/OBS_REPO_SERVERS=.*/OBS_REPO_SERVERS=\"backend.openeuler.org:5252\"/g" /etc/sysconfig/obs-server - # sed -i "s/OBS_REPO_SERVERS=.*/OBS_REPO_SERVERS=\"backend.openeuler.org:5252 other-backend.openeuler.org:5252\"/g" /etc/sysconfig/obs-server + echo $CPU_NUM > /obs/obs_worker_cpuNum + sh /obs/obs_worker_update_config.sh } function func_config_disk(){ @@ -29,7 +27,7 @@ function func_config_disk(){ if [[ ! -e /dev/OBS/worker ]];then pvcreate ${disk_name} vgcreate "OBS" ${disk_name} - lvcreate -l 100%FREE "OBS" -n "worker" + lvcreate -l +100%FREE "OBS" -n "worker" mkfs.ext4 /dev/OBS/worker echo "/dev/mapper/OBS-worker /var/cache/obs/worker ext4 defaults 0 0" >> /etc/fstab mount -a @@ -37,22 +35,17 @@ function func_config_disk(){ } function func_log_file(){ - echo "$TIME \"$1\"" >> $LOGFILE -} - -function func_resolv_dns(){ - if [[ -z `grep '100.125.1.250' /etc/resolv.conf` ]];then - sed -i '/^#/a \nameserver 100.125.1.250' /etc/resolv.conf - fi - if [[ -z `grep '100.125.1.250' /etc/resolv.conf` ]];then - sed -i '1 i nameserver 100.125.1.250' /etc/resolv.com - fi + echo "$TIME\t\"$1\"" >> $LOGFILE } # --------------------------------------------------------------------------------------------------------------------------------------- -# base setting -systemctl stop obsworker +service_status=`systemctl is-active obsworker` +if [[ ${service_status} == "active" ]] +then + systemctl stop obsworker +fi +# define log time template and touch log file TIME="[`date -d today '+%Y-%m-%d %H:%M:%S'`]" LOGFILE=/var/log/install_obs_worker.log if [[ ! -f $LOGFILE ]];then @@ -60,51 +53,34 @@ if [[ ! -f $LOGFILE ]];then echo "log file had touched." chmod 0666 $LOGFILE fi -func_resolv_dns -# replace ip address for "frontend_host、source_host、backend_host、home_backend_host" in /etc/host -frontend_host=` grep "frontend_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -source_host=` grep "source_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -backend_host=` grep "^backend_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -home_backend_host=` grep "home_backend_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -other_backend_host=`grep "other_backend_host" /obs/worker_ip_add | awk -F"=" '{print $2}' | sed 's/"//g'` -if ! grep -q "build.openeuler.org" /etc/hosts; then - echo "${frontend_host} build.openeuler.org" >> /etc/hosts -else - sed -i "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 +if [[ -z `grep '100.125.1.250' /etc/resolv.conf` ]];then + sed -i '/^search/a \nameserver 100.125.1.250' /etc/resolv.conf fi -if ! grep -q "source.openeuler.org" /etc/hosts; then - echo "${source_host} source.openeuler.org" >> /etc/hosts -else - sed -i "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 "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 +if [[ -z `grep '100.125.1.250' /etc/resolv.conf` ]];then + sed -i '1 i nameserver 100.125.1.250' /etc/resolv.com fi -if ! grep -q "home-backend.openeuler.org" /etc/hosts; then - echo "${home_backend_host} home-backend.openeuler.org" >> /etc/hosts -else - sed -i "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 "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 - -yum update -y -yum install -y screen ntpdate vim cpio curl perl-Compress-Zlib perl-TimeDate perl-Data-Dumper perl-XML-Parser screen psmisc bash binutils bsdtar lzma util-linux openslp lvm2 perl-Digest-MD5 git screen tmux wget expect -# curl https://openeuler.obs.cn-south-1.myhuaweicloud.com/infrastructure/obsworker.tar.gz -o ${OBS_INSTALL_DIR}/obsworker.tar.gz -# download file from south-1 alwyas failed; so use bj4-obs-site download; +# replace ip address for "frontend_host、source_host、backend_host、home_backend_host" in /etc/hosts +for i in `cat /obs/obs_worker_ip_add| grep -v "#"` +do + host_name=`echo $i | awk -F"=" '{print $1}'` + host_ip=` echo $i | awk -F"=" '{print $2}' | sed 's/"//g'` + if ! grep -q "${host_name}" /etc/hosts + then + echo "${host_ip} ${host_name}" >> /etc/hosts + else + sed -i "s#[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\} ${host_name}#${host_ip} ${host_name}#g" /etc/hosts + fi +done -OBS_INSTALL_DIR=/tmp/obs_worker_arm_install +## download config files +# backup address: curl https://openeuler.obs.cn-south-1.myhuaweicloud.com/infrastructure/obsworker.tar.gz -o ${OBS_INSTALL_DIR}/obsworker.tar.gz +# if download file faild from bj4 ; use backup address download; +OBS_INSTALL_DIR=/tmp/obs_worker_install [[ ! -d ${OBS_INSTALL_DIR} ]] && mkdir -p ${OBS_INSTALL_DIR} if [[ ! -e ${OBS_INSTALL_DIR}/obsworker.tar.gz ]]; then - curl --connect-timeout 30 -m 30 https://openeuler-bj4.obs.cn-north-4.myhuaweicloud.com/obsworker.tar.gz -o ${OBS_INSTALL_DIR}/obsworker.tar.gz + curl --connect-timeout 10 -m 3 https://openeuler-bj4.obs.cn-north-4.myhuaweicloud.com/obsworker.tar.gz -o ${OBS_INSTALL_DIR}/obsworker.tar.gz if [ ! -e "${OBS_INSTALL_DIR}/obsworker.tar.gz" ];then func_log_file "download obsworker.tar.gz faild" exit @@ -127,20 +103,22 @@ sed -i 's/umask 0077/umask 0022/g' /etc/bashrc # --------------------------------------------------------------------------------------------------------------------------------------- -# obs-worker-service +# set obs workerservice func_install_obsworker func_config_obs_server_file systemctl start obsworker - if [ $? -eq 0 ];then echo "obsworker.service running,OBS worker successfully started" else func_log_file "obsworker.service start faild" fi -# x86 arch restart NetworkManger;ARM resatrt systemd-networkd and NetworkManger; -systemctl restart NetworkManager.service +# x86 arch restart NetworkManger;ARM resatrt systemd-networkd and NetworkManger.service; +#systemctl restart systemd-networkd +#systemctl restart NetworkManger.service systemctl restart obsworker.service systemctl restart sshd.service /usr/lib/systemd/systemd-sysv-install enable obsworker -func_resolv_dns \ No newline at end of file +if [[ -z `grep '100.125.1.250' /etc/resolv.conf` ]];then + sed -i '1 i nameserver 100.125.1.250' /etc/resolv.com +fi diff --git a/obs/tf/startup/obs_worker_arm_node_init_files/worker_ip_add b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_ip_add similarity index 37% rename from obs/tf/startup/obs_worker_arm_node_init_files/worker_ip_add rename to obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_ip_add index f7126c425f58ca3454b4f3adda3a9752fd65e881..48984fed7502df6e4709691a6f2b7f022eb0e122 100644 --- a/obs/tf/startup/obs_worker_arm_node_init_files/worker_ip_add +++ b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_ip_add @@ -1,17 +1,11 @@ -# worker node initial ip address; You can modify it; -# but make sure all ip address can be reachable. You only execute "sh /obs/obs_worker_openeuler_x86.sh" again when ip address changed at once; - -# build.openeuler.org ip add -frontend_host="172.16.1.81" - -# source.openeuler.org ip add -source_host="172.16.1.89" - -# backend.openeuler.org ip add -backend_host="172.16.1.95" - -# home-backend.openeuler.org ip add -home_backend_host="172.16.1.84" - -# other-backend.openeuler.org ip add -other_backend_host="172.16.1.124" +# worker node initial ip address; You can modify it; +# but make sure all ip address can be reachable. You only execute "sh /obs/obs_worker_openeuler_x86.sh" again when ip address changed at once; +# +build.openeuler.org="172.16.1.81" +source.openeuler.org="172.16.1.89" +backend.openeuler.org="172.16.1.95" +home-backend.openeuler.org="172.16.1.84" +backend_002.openeuler.org="172.16.1.155" +backend_003.openeuler.org="172.16.1.32" +backend_004.openeuler.org="172.16.1.234" +other-backend.openeuler.org="172.16.1.124" diff --git a/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_update_config.sh b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_update_config.sh new file mode 100644 index 0000000000000000000000000000000000000000..b7d9bc4609f50bd0daf72e74ba7e1ebb0ac27324 --- /dev/null +++ b/obs/tf/startup/obs_worker_x86_node_init_files/obs_worker_update_config.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +cpu=`cat /proc/cpuinfo | grep "processor" | wc -l` +if [[ ${cpu} -gt 0 && ${cpu} -lt 8 ]];then + echo "1" + sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"${cpu}\"/g" /etc/sysconfig/obs-server + sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"${cpu}\"/g" /etc/sysconfig/obs-server + systemctl stop obsworker.service +elif [[ ${cpu} -lt 16 ]];then + echo "2" + sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"5\"/g" /etc/sysconfig/obs-server + sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"${cpu}\"/g" /etc/sysconfig/obs-server + systemctl restart obsworker.service +elif [[ ${cpu} -lt "32" ]];then + echo "3" + sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"10\"/g" /etc/sysconfig/obs-server + sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"${cpu}\"/g" /etc/sysconfig/obs-server + systemctl restart obsworker.service +elif [[ ${cpu} -ge 64 && ${cpu} -lt 128 ]];then + echo "4" + sed -i "s/OBS_WORKER_INSTANCES=.*/OBS_WORKER_INSTANCES=\"6\"/g" /etc/sysconfig/obs-server + sed -i "s/OBS_WORKER_JOBS=.*/OBS_WORKER_JOBS=\"${cpu}\"/g" /etc/sysconfig/obs-server + systemctl restart obsworker.service +else + echo "5" +fi +sed -i "s#OBS_SRC_SERVER=.*#OBS_SRC_SERVER=\"source.openeuler.org:5352\"#g" /etc/sysconfig/obs-server +sed -i "s#OBS_REPO_SERVERS=.*#OBS_REPO_SERVERS=\"backend.openeuler.org:5252\"#g" /etc/sysconfig/obs-server