modify upgrade checker
This commit is contained in:
@ -398,7 +398,7 @@ def check_rebalance_task(query_cur):
|
||||
# 4. 检查集群状态
|
||||
def check_cluster_status(query_cur):
|
||||
# 4.1 检查是否非合并状态
|
||||
(desc, results) = query_cur.exec_query("""select count(1) from CDB_OB_MAJOR_COMPACTION where STATUS != 'IDLE'""")
|
||||
(desc, results) = query_cur.exec_query("""select count(1) from CDB_OB_MAJOR_COMPACTION where (GLOBAL_BROADCAST_SCN > LAST_SCN or STATUS != 'IDLE')""")
|
||||
if results[0][0] > 0 :
|
||||
fail_list.append('{0} tenant is merging, please check'.format(results[0][0]))
|
||||
logging.info('check cluster status success')
|
||||
@ -555,6 +555,28 @@ def check_backup_dest_exist(query_cur):
|
||||
else:
|
||||
logging.info('check backup destination success')
|
||||
|
||||
def check_server_version(query_cur):
|
||||
sql = """select distinct(substring_index(build_version, '_', 1)) from __all_server""";
|
||||
(desc, results) = query_cur.exec_query(sql);
|
||||
if len(results) != 1:
|
||||
fail_list.append("servers build_version not match")
|
||||
else:
|
||||
logging.info("check server version success")
|
||||
|
||||
# 14. 检查server是否可服务
|
||||
def check_observer_status(query_cur):
|
||||
(desc, results) = query_cur.exec_query("""select count(*) from oceanbase.__all_server where (start_service_time <= 0 or status != "active")""")
|
||||
if results[0][0] > 0 :
|
||||
fail_list.append('{0} observer not available , please check'.format(results[0][0]))
|
||||
logging.info('check observer status success')
|
||||
|
||||
# 15 检查schema是否刷新成功
|
||||
def check_schema_status(query_cur):
|
||||
(desc, results) = query_cur.exec_query("""select if (a.cnt = b.cnt, 1, 0) as passed from (select count(*) as cnt from oceanbase.__all_virtual_server_schema_info where refreshed_schema_version > 1 and refreshed_schema_version % 8 = 0) as a join (select count(*) as cnt from oceanbase.__all_server join oceanbase.__all_tenant) as b""")
|
||||
if results[0][0] != 1 :
|
||||
fail_list.append('{0} schema not available, please check'.format(results[0][0]))
|
||||
logging.info('check schema status success')
|
||||
|
||||
# last check of do_check, make sure no function execute after check_fail_list
|
||||
def check_fail_list():
|
||||
if len(fail_list) != 0 :
|
||||
@ -593,6 +615,9 @@ def do_check(my_host, my_port, my_user, my_passwd, timeout, upgrade_params):
|
||||
check_archive_job_exist(query_cur)
|
||||
check_archive_dest_exist(query_cur)
|
||||
check_backup_dest_exist(query_cur)
|
||||
check_observer_status(query_cur)
|
||||
check_schema_status(query_cur)
|
||||
check_server_version(query_cur)
|
||||
# all check func should execute before check_fail_list
|
||||
check_fail_list()
|
||||
modify_server_permanent_offline_time(cur)
|
||||
|
||||
Reference in New Issue
Block a user