diff --git a/sysom-2.0.tar.gz b/sysom-2.0.tar.gz index 169538dbb0183cdc467eb54134c8e271adb5cb5d..096bf1b09c724dd29ae9c098f81ed2adc6fd153b 100644 Binary files a/sysom-2.0.tar.gz and b/sysom-2.0.tar.gz differ diff --git a/sysom.spec b/sysom.spec index 7db0b01c582ba1cd8be7d6608000ab6f268eefca..36b577f41b7cdf98430865c16376fda2d82003aa 100755 --- a/sysom.spec +++ b/sysom.spec @@ -20,64 +20,150 @@ monitoring and alarm, exception diagnosis, security audit and other functions %setup -q -n %{name}-%{version} %build +GRAFANA_PKG=grafana-9.2.2-1.x86_64.rpm +PROMETHEUS_VER=2.29.1 +PROMETHEUS_ARCH=linux-amd64 +PROMETHEUS_PKG=prometheus-${PROMETHEUS_VER}.${PROMETHEUS_ARCH} +PROMETHEUS_TAR=$PROMETHEUS_PKG.tar.gz +NODE_EXPORTER_VER=1.2.2 +NODE_EXPORTER_PKG=node_exporter-${NODE_EXPORTER_VER}.${PROMETHEUS_ARCH} +NODE_EXPORTER_TAR=$NODE_EXPORTER_PKG.tar.gz +MONITOR_OSS_URL=https://sysom.oss-cn-beijing.aliyuncs.com/monitor +GRAFANA_DL_URL=https://dl.grafana.com/oss/release +PROMETHEUS_DL_URL=https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VER} +NODE_DL_URL=https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VER} +REDIS_OSS_URL=https://sysom.oss-cn-beijing.aliyuncs.com/redis +REDIS_DL_URL=https://download.redis.io/releases +REDIS_PKG=redis-5.0.14.tar.gz +SYSAK_DOWNLOAD_URL=https://mirrors.openanolis.cn/sysak/packages +SYSAK_PKG=sysak-1.3.0-2.x86_64.rpm +ANCE_PKG=ance-0.1.0-1.x86_64.rpm +ANOLIS_SQLITE=AnolisOS-8.6-x86_64-dvd.iso.sqlite + +do_download_sysak() { + echo "now download ${SYSAK_PKG}..." + pushd script/node/diagnosis + wget ${SYSAK_DOWNLOAD_URL}/${SYSAK_PKG} + if [ ! -e ${SYSAK_PKG} ] + then + echo "download ${SYSAK_PKG} fail" + exit 1 + fi + popd +} + +do_download_redis() { + echo "now download ${REDIS_PKG}..." + pushd script/server/0_local_services + wget ${REDIS_OSS_URL}/${REDIS_PKG} || wget ${REDIS_DL_URL}/${REDIS_PKG} + if [ ! -e ${REDIS_PKG} ] + then + echo "download ${REDIS_PKG} fail" + exit 1 + fi + popd +} + +do_download_monitor() { + echo "now download ${GRAFANA_PKG}, ${PROMETHEUS_TAR}, ${NODE_EXPORTER_TAR}..." + mkdir -p monitor + pushd monitor + wget ${MONITOR_OSS_URL}/${GRAFANA_PKG} || wget ${GRAFANA_DL_URL}/${GRAFANA_PKG} + wget ${MONITOR_OSS_URL}/${PROMETHEUS_TAR} || wget ${PROMETHEUS_DL_URL}/${PROMETHEUS_TAR} + wget ${MONITOR_OSS_URL}/${NODE_EXPORTER_TAR} || wget ${NODE_DL_URL}/${NODE_EXPORTER_TAR} + if [ ! -e ${GRAFANA_PKG} ] + then + echo "download ${GRAFANA_PKG} fail" + exit 1 + fi + if [ ! -e ${PROMETHEUS_TAR} ] + then + echo "download ${PROMETHEUS_TAR} fail" + exit 1 + fi + if [ ! -e ${NODE_EXPORTER_TAR} ] + then + echo "download ${NODE_EXPORTER_TAR} fail" + exit 1 + fi + popd +} + +do_download_ance() { + echo "now download ${ANOLIS_SQLITE}, ${ANCE_PKG}..." + mkdir -p sysom_server/sysom_migration/ance + if [ -e /root/${ANOLIS_SQLITE} ] + then + cp /root/${ANOLIS_SQLITE} sysom_server/sysom_migration/ance + else + echo "/root/${ANOLIS_SQLITE} not found" + exit 1 + fi + if [ -e /root/${ANCE_PKG} ] + then + cp /root/${ANCE_PKG} sysom_server/sysom_migration/ance + else + echo "/root/${ANCE_PKG} not found" + exit 1 + fi +} + +do_virtualenv() { + python3 -m venv /usr/local/sysom/server/virtualenv + source /usr/local/sysom/server/virtualenv/bin/activate + pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/ + pip install cffi -i https://mirrors.aliyun.com/pypi/simple/ + pip install -r script/server/0_env/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ + pushd /usr/local/sysom/server/ + tar zcf virtualenv.tar.gz virtualenv + popd +} + +do_yarn_build() { + pushd sysom_web || exit + yarn + yarn build + popd || exit + sed -i "s/env\ python/python3/g" sysom_server/*/manage.py +} + echo "build sysom ..........." echo ${PWD} -npm install -g yarn -pushd sysom_web || exit -yarn -yarn build -popd || exit -echo "build sysom end" +#do_virtualenv +#do_download_ance +#do_download_monitor +#do_download_sysak +###you can ignore the action if the version of redis >= 5.0.0 in the deployment environment### +#do_download_redis +do_yarn_build +echo "build sysom end........" %pre %install -mkdir -p %{buildroot}/usr/local/sysom/server/target/sysom_web -mkdir -p %{buildroot}/usr/local/sysom/server/vmcore/vmcore-nfs -mkdir -p %{buildroot}/usr/local/sysom/server/logs/ -mkdir -p %{buildroot}/usr/local/sysom/server/conf/ -mkdir -p %{buildroot}/usr/local/sysom/init_scripts/ -mkdir -p %{buildroot}/etc/supervisord.d/ -mkdir -p %{buildroot}/usr/lib/systemd/system/ -cp -a sysom_api %{buildroot}/usr/local/sysom/server/target -cp -r sysom_web/dist/* %{buildroot}/usr/local/sysom/server/target/sysom_web/ -cp tools/deploy/nginx.conf %{buildroot}/usr/local/sysom/server/conf/ -cp tools/deploy/sysom.conf %{buildroot}/usr/local/sysom/server/conf/ -cp tools/deploy/sysom.ini %{buildroot}/etc/supervisord.d/ -cp tools/deploy/sysom-server.service %{buildroot}/usr/lib/systemd/system/ -cp -a script/* %{buildroot}/usr/local/sysom/init_scripts/ -cp tools/deploy/task-service.ini %{buildroot}/etc/supervisord.d/ -cp tools/deploy/channel-service.ini %{buildroot}/etc/supervisord.d/ +mkdir -p %{buildroot}/usr/local/sysom/server/target +#mkdir -p %{buildroot}/usr/local/sysom/server/redis +cp -a sysom_server %{buildroot}/usr/local/sysom/server/target +cp -a sysom_web/dist %{buildroot}/usr/local/sysom/server/target/sysom_web +cp -a script %{buildroot}/usr/local/sysom/init_scripts +#cp -a monitor %{buildroot}/usr/local/sysom/server/ +#cp -a /usr/local/sysom/server/virtualenv.tar.gz %{buildroot}/usr/local/sysom/server/ %files /usr/local/sysom/ -/etc/supervisord.d/sysom.ini -/etc/supervisord.d/task-service.ini -/etc/supervisord.d/channel-service.ini -/usr/lib/systemd/system/ %post -mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak -cp /usr/local/sysom/server/conf/nginx.conf /etc/nginx/ -cp /usr/local/sysom/server/conf/sysom.conf /etc/nginx/conf.d/ -sed -i "s;/home/sysom;/usr/local/sysom/server;g" /etc/nginx/conf.d/sysom.conf -sed -i "s;/home/sysom;/usr/local/sysom/server;g" /etc/supervisord.d/sysom.ini -sed -i "s;/home/sysom;/usr/local/sysom/server;g" /usr/local/sysom/server/target/sysom_api/uwsgi.ini -cpu_num=`cat /proc/cpuinfo | grep processor | wc -l` -sed -i "s/threads = 3/threads = $cpu_num/g" /usr/local/sysom/server/target/sysom_api/conf/task_gunicorn.py -sed -i "s/threads = 3/threads = $cpu_num/g" /usr/local/sysom/server/target/sysom_api/conf/channel_gunicorn.py -systemctl daemon-reload -systemctl enable sysom-server.service +#pushd /usr/local/sysom/server/ +#tar -xvf virtualenv.tar.gz +#rm -rf virtualenv.tar.gz +#popd + +%preun +bash -x /usr/local/sysom/init_scripts/server/clear.sh %postun -systemctl stop sysom-server -sed -i '/sysom/d' /var/spool/cron/root -mv /etc/nginx/nginx.conf.bak /etc/nginx/nginx.conf -rm -f /etc/supervisord.d/sysom.ini -rm -f /etc/supervisord.d/task-service.ini -rm -f /etc/supervisord.d/channel-service.ini rm -rf /usr/local/sysom %changelog -* Mon Aug 8 2022 huangtuquan - 2.0 +* Fri Dec 12 2022 huangtuquan - 2.0 - sysom server release 2.0