openGauss-OM/script/impl/upgrade/UpgradeConst.py

177 lines
6.6 KiB
Python

#-*- coding:utf-8 -*-
#############################################################################
# Copyright (c) 2020 Huawei Technologies Co.,Ltd.
#
# openGauss is licensed under Mulan PSL v2.
# You can use this software according to the terms
# and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
#
# http://license.coscl.org.cn/MulanPSL2
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# ----------------------------------------------------------------------------
# Const values
#############################################################################
UPGRADE_TIMEOUT_CLUSTER_START = 600
UPGRADE_TIMEOUT_CLUSTER_STOP = 1800
#because the number is float, so notice the recision
DELTA_NUM = 0.000001
#external action
ACTION_CHOSE_STRATEGY = "chose-strategy"
ACTION_INPLACE_UPGRADE = "inplace-binary-upgrade"
#grey upgrade
ACTION_SMALL_UPGRADE = "small-binary-upgrade"
ACTION_LARGE_UPGRADE = "large-binary-upgrade"
# ACTION_ONLINE_UPGRADE is used for record online upgrade step,
# not really provide this action outside to user,
# if use ACTION_BINARY_UPGRADE, it will confuse with off-line binary upgrade
ACTION_AUTO_UPGRADE = "auto-upgrade"
ACTION_AUTO_ROLLBACK = "auto-rollback"
ACTION_COMMIT_UPGRADE = "commit-upgrade"
############################################################
# function key
# ---------------------------------------------------------
ACTION_SYNC_CONFIG = "sync_config"
ACTION_RELOAD_CMAGENT = "reload_cmagent"
ACTION_RELOAD_CMSERVER = "reload_cmserver"
ACTION_SWITCH_PROCESS = "switch_little_effect_process"
ACTION_SWITCH_CMSERVER = "switch_server"
ACTION_SWITCH_BIN = "switch_bin"
ACTION_COPY_CERTS = "copy_certs"
ACTION_CLEAN_INSTALL_PATH = "clean_install_path"
ACTION_TOUCH_INIT_FILE = "touch_init_file"
ACTION_CHECK_VERSION = "check_version"
ACTION_BACKUP_CONFIG = "backup_config"
ACTION_RESTORE_CONFIG = "restore_config"
ACTION_INPLACE_BACKUP = "inplace_backup"
ACTION_INPLACE_RESTORE = "inplace_restore"
ACTION_CHECK_GUC = "check_guc"
ACTION_BACKUP_HOTPATCH = "backup_hotpatch"
ACTION_ROLLBACK_HOTPATCH = "rollback_hotpatch"
ACTION_UPGRADE_SQL_FOLDER = "prepare_upgrade_sql_folder"
ACTION_BACKUP_OLD_CLUSTER_DB_AND_REL = "backup_old_cluster_db_and_rel"
ACTION_UPDATE_CATALOG = "update_catalog"
ACTION_BACKUP_OLD_CLUSTER_CATALOG_PHYSICAL_FILES = \
"backup_old_cluster_catalog_physical_files"
ACTION_RESTORE_OLD_CLUSTER_CATALOG_PHYSICAL_FILES = \
"restore_old_cluster_catalog_physical_files"
ACTION_CLEAN_OLD_CLUSTER_CATALOG_PHYSICAL_FILES = \
"clean_old_cluster_catalog_physical_files"
ACTION_REPLACE_PG_PROC_FILES = "replace_pg_proc_files"
ACTION_CREATE_PG_PROC_MAPPING_FILE = "create_pg_proc_mapping_file"
ACTION_CREATE_NEW_CSV_FILE = "create_new_csv_file"
ACTION_RESTORE_DYNAMIC_CONFIG_FILE = "restore_dynamic_config_file"
ACTION_GREY_SYNC_GUC = "grey_sync_guc"
ACTION_GREY_UPGRADE_CONFIG_SYNC = "grey_upgrade_config_sync"
ACTION_SWITCH_DN = "switch_dn"
ACTION_GET_LSN_INFO = "get_lsn_info"
ACTION_GREY_RESTORE_CONFIG = "grey_restore_config"
ACTION_GREY_RESTORE_GUC = "grey_restore_guc"
ACTION_CLEAN_CONF_BAK_OLD = "clean_conf_bak_old"
ACTION_SET_GUC_VALUE = "setGucValue"
ACTION_CLEAN_CM = "clean_cm_inst"
ACTION_RESTORE_GLOBAL_RELMAP_FILE = "restore_global_relmap_file"
ACTION_CLEAN_TMP_GLOBAL_RELMAP_FILE = "clean_tmp_global_relmap_file"
ACTION_BACKUP_GLOBAL_RELMAP_FILE = "backup_global_relmap_file"
OPTION_PRECHECK = "before"
OPTION_POSTCHECK = "after"
INPLACE_UPGRADE_STEP_FILE = "upgrade_step.dat"
GREY_UPGRADE_STEP_FILE = "upgrade_step.csv"
CLUSTER_CNSCONF_FILE = "cluster_cnconf.json"
TMP_DYNAMIC_DN_INFO = "upgrade_gauss_dn_status.dat"
GET_LSN_SQL_FILE = "get_lsn_sql"
INPLACE_UPGRADE_FLAG_FILE = "inplace_upgrade_flag"
POSTGRESQL_CONF_BAK_OLD = "postgresql.conf.bak.old"
#step flag
BINARY_UPGRADE_NO_NEED_ROLLBACK = -2
INVALID_UPRADE_STEP = -1
# binary upgrade step
BINARY_UPGRADE_STEP_INIT_STATUS = 0
BINARY_UPGRADE_STEP_STOP_NODE = 2
BINARY_UPGRADE_STEP_BACKUP_VERSION = 3
BINARY_UPGRADE_STEP_UPGRADE_APP = 4
BINARY_UPGRADE_STEP_START_NODE = 5
BINARY_UPGRADE_STEP_PRE_COMMIT = 6
# grey upgrade
class GreyUpgradeStep:
def __init__(self):
pass
(STEP_INIT_STATUS,
STEP_UPDATE_CATALOG,
STEP_SWITCH_NEW_BIN,
STEP_UPGRADE_PROCESS,
STEP_UPDATE_POST_CATALOG,
STEP_PRE_COMMIT,
STEP_BEGIN_COMMIT
) = range(0, 7)
BACKUP_DIR_LIST_BASE = ['global', 'pg_clog', 'pg_csnlog']
BACKUP_DIR_LIST_64BIT_XID = ['pg_multixact', 'pg_replslot', 'pg_notify',
'pg_subtrans', 'pg_twophase']
VALUE_OFF = ["off", "false", "0", "no"]
VALUE_ON = ["on", "true", "1", "yes"]
DN_GUC = ["upgrade_mode", "enable_stream_replication"]
CMS_GUC = ["backup_open", "install_type"]
CMA_GUC = ["upgrade_from"]
FIRST_GREY_UPGRADE_NUM = 92
UPGRADE_UNSET_NUM = 0
INST_TYPE_MAP = {-1: "undefined", 0: "cmserver", 4: "datanode", 5: "cmagent"}
CMSERVER_GUC_DEFAULT = {"enable_transaction_read_only": "on",
"coordinator_heartbeat_timeout": "1800",
"instance_failover_delay_timeout": 0,
"cmserver_ha_heartbeat_timeout": 8}
CMSERVER_GUC_CLOSE = {"enable_transaction_read_only": "off",
"coordinator_heartbeat_timeout": "0",
"instance_failover_delay_timeout": 40,
"cmserver_ha_heartbeat_timeout": 20}
CMSERVER_GUC_DEFAULT_HA = {"enable_transaction_read_only": "on",
"instance_failover_delay_timeout": 0,
"cmserver_ha_heartbeat_timeout": 8}
CMSERVER_GUC_CLOSE_HA = {"enable_transaction_read_only": "off",
"instance_failover_delay_timeout": 40,
"cmserver_ha_heartbeat_timeout": 20}
CMSERVER_GUC_GREYUPGRADE_DEFAULT = {"enable_transaction_read_only": "on"}
CMSERVER_GUC_GREYUPGRADE_CLOSE = {"enable_transaction_read_only": "off"}
# Script name
GS_UPGRADECTL = "gs_upgradectl"
# table schema and table name
UPGRADE_SCHEMA = "on_upgrade_69954349032535120"
RECORD_NODE_STEP = "record_node_step"
READ_STEP_FROM_FILE_FLAG = "read_step_from_file_flag"
RECORD_UPGRADE_DIR = "record_app_directory"
XLOG_BACKUP_INFO = "xlog_backup_info.json"
OLD = "old"
NEW = "new"
# upgrade sql sha file and sql file
UPGRADE_SQL_SHA = "upgrade_sql.sha256"
UPGRADE_SQL_FILE = "upgrade_sql.tar.gz"
ON_INPLACE_UPGRADE = "IsInplaceUpgrade"
MAX_APP_SIZE = 2000
UPGRADE_VERSION_64bit_xid = 91.208
ENABLE_STREAM_REPLICATION_VERSION = "92.149"
ENABLE_STREAM_REPLICATION_NAME = "enable_stream_replication"
RELMAP_4K_VERSION = "92.420"