113 lines
5.8 KiB
Bash
113 lines
5.8 KiB
Bash
#!/bin/bash
|
|
curr_version=$1
|
|
dest_version=$2
|
|
path=$3
|
|
|
|
cd $path
|
|
# modify CMakeList.txt
|
|
sed -i "s/VERSION $curr_version/VERSION $dest_version/g" CMakeLists.txt
|
|
|
|
# modify min_observer_version
|
|
sed -i 's/min_observer_version, OB_CLUSTER_PARAMETER, '\"$curr_version\"'/min_observer_version, OB_CLUSTER_PARAMETER, '\"$dest_version\"'/g' src/share/parameter/ob_parameter_seed.ipp
|
|
|
|
# modifycluster_vesion
|
|
curr_version_temp=`echo $curr_version | sed 's/\.//g'`
|
|
curr_version_temp1=`echo $curr_version| sed 's/\./, /g'`
|
|
dest_version_temp=`echo $dest_version | sed 's/\.//g'`
|
|
dest_version_temp1=`echo $dest_version| sed 's/\./, /g'`
|
|
sed -i "/#define CLUSTER_VERSION_$curr_version_temp (oceanbase::common::cal_version($curr_version_temp1))/a\#define CLUSTER_VERSION_$dest_version_temp (oceanbase::common::cal_version($dest_version_temp1))" src/share/ob_cluster_version.h
|
|
sed -i "s/define CLUSTER_CURRENT_VERSION CLUSTER_VERSION_$curr_version_temp/define CLUSTER_CURRENT_VERSION CLUSTER_VERSION_$dest_version_temp/g" src/share/ob_cluster_version.h
|
|
|
|
# modify upgrade script
|
|
cd tools/upgrade
|
|
python reset_upgrade_scripts.py
|
|
cd -
|
|
sed -i "s/new_version = '$curr_version'/new_version = '$dest_version'/g" tools/upgrade/upgrade_post_checker.py
|
|
|
|
# modify mysqltest test set
|
|
sed -i "s/$curr_version/$dest_version/g" tools/deploy/mysql_test/r//mysql/system_variable.result
|
|
|
|
|
|
if [[ "$curr_version" > "2.2.70" ]]
|
|
then
|
|
# modify share/ob_upgrade_utils.h
|
|
curr_version_temp1=`echo $curr_version| sed 's/\./, /g'`
|
|
oldNum=`cat src/share/ob_upgrade_utils.h |grep 'static const int64_t CLUTER_VERSION_NUM' | awk -F ' = ' '{print $2}' | awk -F';' '{print $1}'`
|
|
let newNum=oldNum+1
|
|
sed -i "s/static const int64_t CLUTER_VERSION_NUM = $oldNum/static const int64_t CLUTER_VERSION_NUM = $newNum/g" src/share/ob_upgrade_utils.h
|
|
sed -i "/DEF_SIMPLE_UPGRARD_PROCESSER($curr_version_temp1)/a\\DEF_SIMPLE_UPGRARD_PROCESSER($dest_version_temp1);" src/share/ob_upgrade_utils.h
|
|
|
|
# modify share/ob_upgrade_utils.cpp
|
|
temp=`echo $curr_version | sed 's/\./UL, /g'`
|
|
curr_version_temp2=${temp}UL
|
|
temp=`echo $dest_version | sed 's/\./UL, /g'`
|
|
dest_version_temp2=${temp}UL
|
|
sed -i "s/CALC_CLUSTER_VERSION($curr_version_temp2)/CALC_CLUSTER_VERSION($curr_version_temp2),/g" src/share/ob_upgrade_utils.cpp
|
|
sed -i "/CALC_CLUSTER_VERSION($curr_version_temp2)/a\\ CALC_CLUSTER_VERSION($dest_version_temp2) //$dest_version" src/share/ob_upgrade_utils.cpp
|
|
sed -i "/INIT_PROCESSOR_BY_VERSION($curr_version_temp1)/a\\ INIT_PROCESSOR_BY_VERSION($dest_version_temp1);" src/share/ob_upgrade_utils.cpp
|
|
|
|
## modify tools/upgrade/special_upgrade_action_post.py
|
|
sed -i "/= actions begin =/a\\ run_upgrade_job(conn, cur, \"$dest_version\")" tools/upgrade/special_upgrade_action_post.py
|
|
cd tools/upgrade/
|
|
python ./gen_upgrade_scripts.py
|
|
cd -
|
|
|
|
##modify yml file
|
|
num1=`echo $dest_version | awk -F'.' '{print $3}'`
|
|
let num2=num1+1
|
|
last_version=`echo $dest_version | sed "s/\(.*\)$num1/\1$num2/g"`
|
|
sed -i "/$dest_version/a\\- version: $dest_version\n can_be_upgraded_to:\n - $last_version" tools/upgrade/oceanbase_upgrade_dep.yml
|
|
fi
|
|
|
|
# modify upgrade case
|
|
old_version=
|
|
curr_version_temp1=`echo $curr_version | sed 's/\./_/g'`
|
|
curr_version_ce=$curr_version_temp1"_ce"
|
|
echo $curr_version_ce >> tools/obtest/observer.list
|
|
num=`ls -l tools/obtest/t/compat_farm/*.test | wc -l`
|
|
if [[ $num = 1 ]]
|
|
then
|
|
old_version=`ls tools/obtest/t/compat_farm/upgrade_from_*_lite.test | sed 's/tools\/obtest\/t\/compat_farm\/upgrade_from_\(.*\)_lite.test/\1/g'`
|
|
mv tools/obtest/t/compat_farm/upgrade_from_${old_version}_lite.test tools/obtest/t/compat_farm/upgrade_from_${curr_version_ce}_lite.test
|
|
mv tools/obtest/r/compat_farm/upgrade_from_${old_version}_lite.result tools/obtest/r/compat_farm/upgrade_from_${curr_version_ce}_lite.result
|
|
sed -i s/version=$old_version/version=$curr_version_ce/g tools/obtest/t/compat_farm/upgrade_from_${curr_version_ce}_lite.test
|
|
sed -i s/version=$old_version/version=$curr_version_ce/g tools/obtest/r/compat_farm/upgrade_from_${curr_version_ce}_lite.result
|
|
else
|
|
echo "compat_farm has more than one case, please confirm!"
|
|
exit 1
|
|
fi
|
|
|
|
# modify upgrade_test.sh
|
|
upgrade_test_path="tools/obtest/upgrade_test.sh"
|
|
echo "$old_version"
|
|
echo "$curr_version_ce"
|
|
sed -i s/$old_version/$curr_version_ce/g $upgrade_test_path
|
|
|
|
# sed admin to xxx
|
|
upgrade_post_path="tools/upgrade/upgrade_post.py"
|
|
upgrade_pre_path="tools/upgrade/upgrade_pre.py"
|
|
sed -i s/admin/xxx/g $upgrade_post_path
|
|
sed -i s/admin/xxx/g $upgrade_pre_path
|
|
|
|
# modify RPM.cmake version
|
|
upgrade_rpm_cmake_path="cmake/RPM.cmake"
|
|
cur_package_version_str="CPACK_PACKAGE_VERSION "$curr_version
|
|
upd_package_version_str="CPACK_PACKAGE_VERSION "$dest_version
|
|
major_old_num=`echo $curr_version | awk -F'.' '{print $1}'`
|
|
minor_old_num=`echo $curr_version | awk -F'.' '{print $2}'`
|
|
patch_old_num=`echo $curr_version | awk -F'.' '{print $3}'`
|
|
major_new_num=`echo $dest_version | awk -F'.' '{print $1}'`
|
|
minor_new_num=`echo $dest_version | awk -F'.' '{print $2}'`
|
|
patch_new_num=`echo $dest_version | awk -F'.' '{print $3}'`
|
|
cur_package_version_major_str="CPACK_PACKAGE_VERSION_MAJOR "$major_old_num
|
|
upd_package_version_major_str="CPACK_PACKAGE_VERSION_MAJOR "$major_new_num
|
|
cur_package_version_minor_str="CPACK_PACKAGE_VERSION_MINOR "$minor_old_num
|
|
upd_package_version_minor_str="CPACK_PACKAGE_VERSION_MINOR "$minor_new_num
|
|
cur_package_version_patch_str="CPACK_PACKAGE_VERSION_PATCH "$patch_old_num
|
|
upd_package_version_patch_str="CPACK_PACKAGE_VERSION_PATCH "$patch_new_num
|
|
sed -i s/"$cur_package_version_str"/"$upd_package_version_str"/g $upgrade_rpm_cmake_path
|
|
sed -i s/"$cur_package_version_patch_str"/"$upd_package_version_patch_str"/g $upgrade_rpm_cmake_path
|
|
sed -i s/"$cur_package_version_major_str"/"$upd_package_version_major_str"/g $upgrade_rpm_cmake_path
|
|
sed -i s/"$cur_package_version_minor_str"/"$upd_package_version_minor_str"/g $upgrade_rpm_cmake_path
|
|
|