!464 om适配共享存储dorado模式(主集群)

Merge pull request !464 from Carl/master
This commit is contained in:
opengauss-bot
2023-05-27 06:53:57 +00:00
committed by Gitee
8 changed files with 30 additions and 7 deletions

View File

@ -216,6 +216,9 @@ General options:
# parameter --time-out # parameter --time-out
if (ParaDict.__contains__("time_out")): if (ParaDict.__contains__("time_out")):
self.time_out = ParaDict.get("time_out") self.time_out = ParaDict.get("time_out")
# parameter --dorado-info
if (ParaDict.__contains__("dorado-config")):
self.dorado_config = ParaDict.get("dorado-config")
def checkUser(self): def checkUser(self):
""" """

View File

@ -49,7 +49,8 @@ class LocalBaseOM(object):
gtmInitParas=None, gtmInitParas=None,
paxos_mode=False, paxos_mode=False,
dss_mode=False, dss_mode=False,
dss_config=""): dss_config="",
dorado_config=""):
''' '''
Constructor Constructor
''' '''
@ -79,6 +80,7 @@ class LocalBaseOM(object):
self.paxos_mode = paxos_mode self.paxos_mode = paxos_mode
self.dss_mode = dss_mode self.dss_mode = dss_mode
self.dss_config = dss_config self.dss_config = dss_config
self.dorado_config = dorado_config
def initComponent(self, paxos_mode=False): def initComponent(self, paxos_mode=False):
""" """
@ -153,6 +155,7 @@ class LocalBaseOM(object):
component.paxos_mode = paxos_mode component.paxos_mode = paxos_mode
self.initComponentAttributes(component) self.initComponentAttributes(component)
component.initParas = self.initParas component.initParas = self.initParas
component.dorado_config = self.dorado_config
self.dnCons.append(component) self.dnCons.append(component)
def readConfigInfo(self): def readConfigInfo(self):

View File

@ -80,6 +80,7 @@ class ParallelBaseOM(object):
self.cnCons = [] self.cnCons = []
self.dnCons = [] self.dnCons = []
self.dss_cons = [] self.dss_cons = []
self.dorado_config = ""
# localMode is same as isSingle in all OM script, expect for # localMode is same as isSingle in all OM script, expect for
# gs_preinstall. # gs_preinstall.
# in gs_preinstall, localMode means local mode for master-standby # in gs_preinstall, localMode means local mode for master-standby

View File

@ -68,7 +68,7 @@ gs_preinstall = ["-?", "--help", "-V", "--version", "-U:", "-G:", "-L",
"-l:", "--non-interactive", "--delete-root-trust", "--unused-third-party"] "-l:", "--non-interactive", "--delete-root-trust", "--unused-third-party"]
gs_install = ["-?", "--help", "-V", "--version", "-X:", "-l:", gs_install = ["-?", "--help", "-V", "--version", "-X:", "-l:",
"--gsinit-parameter=", "--dn-guc=", "--cms-guc=", "--gsinit-parameter=", "--dn-guc=", "--cms-guc=",
"--time-out=", "--alarm-component="] "--time-out=", "--dorado-config=", "--alarm-component="]
gs_uninstall = ["-?", "--help", "-V", "--version", "-l:", "-L", gs_uninstall = ["-?", "--help", "-V", "--version", "-l:", "-L",
"--delete-data"] "--delete-data"]
gs_postuninstall = ["-?", "--help", "-V", "--version", "--delete-user", gs_postuninstall = ["-?", "--help", "-V", "--version", "--delete-user",
@ -302,6 +302,7 @@ class Parameter():
"--alarm-type": "warningType", "--alarm-type": "warningType",
"--alarm-server-addr": "warningserverip", "--alarm-server-addr": "warningserverip",
"--time-out": "time_out", "": "", "--time-out": "time_out", "": "",
"--dorado-config": "dorado-config",
"--alarm-component": "alarm_component", "--alarm-component": "alarm_component",
"--SSD-fault-time": "SSDFaultTime", "--SSD-fault-time": "SSDFaultTime",
"--begin-time": "begintime", "--begin-time": "begintime",
@ -473,6 +474,8 @@ class Parameter():
PARAMETER_VALUEDICT['new_values'] = value.strip().split(",") PARAMETER_VALUEDICT['new_values'] = value.strip().split(",")
elif key == "--upgrade-package": elif key == "--upgrade-package":
PARAMETER_VALUEDICT["upgrade-package"] = value.strip() PARAMETER_VALUEDICT["upgrade-package"] = value.strip()
elif key == "--dorado-config":
PARAMETER_VALUEDICT["dorado-config"] = value.strip()
# Only check / symbol for gs_lcct. # Only check / symbol for gs_lcct.
if key in ("--name", "--nodegroup-name"): if key in ("--name", "--nodegroup-name"):
self.checkLcGroupName(key, value) self.checkLcGroupName(key, value)

View File

@ -55,6 +55,7 @@ class BaseComponent(object):
self.paxos_mode = '' self.paxos_mode = ''
self.dss_mode = '' self.dss_mode = ''
self.dss_config = '' self.dss_config = ''
self.dorado_config = ''
def install(self): def install(self):
pass pass

View File

@ -157,6 +157,10 @@ class DN_OLAP(Kernel):
" --socketpath=\"{}\"".format( " --socketpath=\"{}\"".format(
"+{},+{}".format(vgname, pri_vgname), cfg_context, inst_id, "+{},+{}".format(vgname, pri_vgname), cfg_context, inst_id,
"UDS:{}/.dss_unix_d_socket".format(dss_home)) "UDS:{}/.dss_unix_d_socket".format(dss_home))
if (self.dorado_config != "" and self.instInfo.instanceType == DefaultValue.MASTER_INSTANCE):
cmd += " -g %s" % self.dorado_config
tmpDict3 = {}
tmpDict3["xlog_lock_file_path"] = "'%s/redolog.lock'" % self.instInfo.datadir
self.logger.debug("Command for initializing database " self.logger.debug("Command for initializing database "
"node instance: %s" % cmd) "node instance: %s" % cmd)
status, output = CmdUtil.retryGetstatusoutput( status, output = CmdUtil.retryGetstatusoutput(
@ -167,6 +171,8 @@ class DN_OLAP(Kernel):
# set ssl to DB nodes. # set ssl to DB nodes.
dnGucParas = self.getDnGUCDict() dnGucParas = self.getDnGUCDict()
self.setGucConfig(dnGucParas) self.setGucConfig(dnGucParas)
if (self.dorado_config != "" and self.instInfo.instanceType == DefaultValue.MASTER_INSTANCE):
self.setGucConfig(tmpDict3)
self.copyAndModCertFiles() self.copyAndModCertFiles()
def getInstanceNodeName(self): def getInstanceNodeName(self):

View File

@ -290,7 +290,7 @@ class InstallImplOLAP(InstallImpl):
elif self.context.clusterInfo.enable_dss == 'on': elif self.context.clusterInfo.enable_dss == 'on':
dss_config = DssConfig.get_value_b64_handler( dss_config = DssConfig.get_value_b64_handler(
'dss_nodes_list', self.context.clusterInfo.dss_config) 'dss_nodes_list', self.context.clusterInfo.dss_config)
cmd += f" --dss_mode --dss_config={dss_config}" cmd += f" --dss_mode --dss_config={dss_config} --dorado_config={self.context.dorado_config}"
self.context.logger.debug( self.context.logger.debug(
"Command for initializing instances: %s" % cmd) "Command for initializing instances: %s" % cmd)

View File

@ -62,6 +62,7 @@ class CmdOptions():
self.paxos_mode = False self.paxos_mode = False
self.dss_mode = False self.dss_mode = False
self.dss_config = "" self.dss_config = ""
self.dorado_config = ""
def usage(): def usage():
@ -79,7 +80,7 @@ def parseCommandLine():
try: try:
opts, args = getopt.getopt(sys.argv[1:], "U:P:G:l:?", [ opts, args = getopt.getopt(sys.argv[1:], "U:P:G:l:?", [
"help", "dws_mode", "vc_mode", "paxos_mode", "dss_mode", "help", "dws_mode", "vc_mode", "paxos_mode", "dss_mode",
"dss_config=" "dss_config=", "dorado_config="
]) ])
except Exception as e: except Exception as e:
usage() usage()
@ -112,6 +113,8 @@ def parseCommandLine():
g_opts.dss_mode = True g_opts.dss_mode = True
elif key == "--dss_config": elif key == "--dss_config":
g_opts.dss_config = value.strip() g_opts.dss_config = value.strip()
elif key == "--dorado_config":
g_opts.dorado_config = value.strip()
Parameter.checkParaVaild(key, value) Parameter.checkParaVaild(key, value)
@ -178,7 +181,8 @@ class initDbNode(LocalBaseOM):
dbInitParams=None, dbInitParams=None,
paxos_mode=False, paxos_mode=False,
dss_mode=False, dss_mode=False,
dss_config=""): dss_config="",
dorado_config = ""):
""" """
function: init instance function: init instance
input : logFile, user, clusterConf, dbInitParams input : logFile, user, clusterConf, dbInitParams
@ -194,7 +198,8 @@ class initDbNode(LocalBaseOM):
dbInitParams, dbInitParams,
paxos_mode, paxos_mode,
dss_mode=dss_mode, dss_mode=dss_mode,
dss_config=dss_config) dss_config=dss_config,
dorado_config=dorado_config)
if self.clusterConfig == "": if self.clusterConfig == "":
# Read config from static config file # Read config from static config file
self.readConfigInfo() self.readConfigInfo()
@ -269,7 +274,8 @@ if __name__ == '__main__':
g_opts.dbInitParams, g_opts.dbInitParams,
g_opts.paxos_mode, g_opts.paxos_mode,
dss_mode=g_opts.dss_mode, dss_mode=g_opts.dss_mode,
dss_config=g_opts.dss_config) dss_config=g_opts.dss_config,
dorado_config=g_opts.dorado_config)
dbInit.initNodeInst(g_opts.vc_mode) dbInit.initNodeInst(g_opts.vc_mode)
except Exception as e: except Exception as e: