!524 新增节点时指定了-h,新增后查询集群状态会展示xml中存在但是未新增的其他节点信息
Merge pull request !524 from zhangxubo/develop
This commit is contained in:
@ -134,6 +134,7 @@ General options:
|
||||
GaussLog.exitWithError(ErrorCode.GAUSS_357["GAUSS_35701"] % "-h")
|
||||
|
||||
clusterInfo = ExpansipnClusterInfo()
|
||||
self.clusterInfo = clusterInfo
|
||||
hostNameIpDict = clusterInfo.initFromXml(self.xmlFile)
|
||||
clusterDict = clusterInfo.getClusterDirectorys()
|
||||
backIpList = clusterInfo.getClusterBackIps()
|
||||
|
||||
@ -588,25 +588,34 @@ retry for %s times" % start_retry_num)
|
||||
"""
|
||||
self.logger.debug("Start to generate and send cluster static file.\n")
|
||||
|
||||
curHostName = socket.gethostname()
|
||||
command = "gs_om -t generateconf -X %s --distribute" % self.context.xmlFile
|
||||
sshTool = SshTool([curHostName])
|
||||
resultMap, outputCollect = sshTool.getSshStatusOutput(command,
|
||||
[curHostName], self.envFile)
|
||||
self.logger.debug(outputCollect)
|
||||
self.cleanSshToolFile(sshTool)
|
||||
primaryHost = self.getPrimaryHostName()
|
||||
result = self.commonGsCtl.queryOmCluster(primaryHost, self.envFile)
|
||||
for nodeName in self.context.nodeNameList:
|
||||
nodeInfo = self.context.clusterInfoDict[nodeName]
|
||||
nodeIp = nodeInfo["backIp"]
|
||||
dataNode = nodeInfo["dataNode"]
|
||||
exist_reg = r"(.*)%s[\s]*%s(.*)%s(.*)" % (nodeName, nodeIp, dataNode)
|
||||
if not re.search(exist_reg, result) and nodeIp not in self.context.newHostList:
|
||||
self.logger.debug("The node ip [%s] will not be added to cluster." % nodeIp)
|
||||
dbNode = self.context.clusterInfo.getDbNodeByName(nodeName)
|
||||
self.context.clusterInfo.dbNodes.remove(dbNode)
|
||||
|
||||
toolPath = self.context.clusterInfoDict["toolPath"]
|
||||
appPath = self.context.clusterInfoDict["appPath"]
|
||||
|
||||
nodeNameList = self.context.nodeNameList
|
||||
|
||||
for hostName in nodeNameList:
|
||||
hostSsh = SshTool([hostName])
|
||||
toolPath = self.context.clusterInfoDict["toolPath"]
|
||||
appPath = self.context.clusterInfoDict["appPath"]
|
||||
srcFile = "%s/script/static_config_files/cluster_static_config_%s" \
|
||||
% (toolPath, hostName)
|
||||
static_config_dir = "%s/script/static_config_files" % toolPath
|
||||
if not os.path.exists(static_config_dir):
|
||||
os.makedirs(static_config_dir)
|
||||
|
||||
for dbNode in self.context.clusterInfo.dbNodes:
|
||||
hostName = dbNode.name
|
||||
staticConfigPath = "%s/script/static_config_files/cluster_static_config_%s" % \
|
||||
(toolPath, hostName)
|
||||
self.context.clusterInfo.saveToStaticConfig(staticConfigPath, dbNode.id)
|
||||
srcFile = staticConfigPath
|
||||
if not os.path.exists(srcFile):
|
||||
GaussLog.exitWithError("Generate static file [%s] not found." \
|
||||
% srcFile)
|
||||
GaussLog.exitWithError("Generate static file [%s] not found." % srcFile)
|
||||
hostSsh = SshTool([hostName])
|
||||
targetFile = "%s/bin/cluster_static_config" % appPath
|
||||
hostSsh.scpFiles(srcFile, targetFile, [hostName], self.envFile)
|
||||
self.cleanSshToolFile(hostSsh)
|
||||
|
||||
Reference in New Issue
Block a user