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
 | |
| 
 | 
