def doPrivateConfigSet(self, localInst, configFile): """ """ configFile = os.path.join(localInst.datadir, configFile) self.logger.debug("Set private config file: %s" % configFile) if (localInst.instanceRole == INSTANCE_ROLE_CMAGENT): self.modifyConfigItem(localInst, configFile, "log_dir", "%s/cm/cm_agent" % DefaultValue.getUserLogDirWithUser(self.user)) elif (localInst.instanceRole == INSTANCE_ROLE_COODINATOR): self.modifyConfigItem(localInst, configFile, "listen_addresses", "'localhost,%s'" % ",".join(localInst.listenIps)) self.modifyConfigItem(localInst, configFile, "port", str(localInst.port)) self.modifyConfigItem(localInst, configFile, "pgxc_node_name", "'cn_%d'" % localInst.instanceId) self.modifyConfigItem(localInst, configFile, "pooler_port", str(localInst.haPort)) self.modifyConfigItem(localInst, configFile, "log_directory", "'%s/pg_log/cn_%d'" % (DefaultValue.getUserLogDirWithUser(self.user), localInst.instanceId)) self.modifyConfigItem(localInst, configFile, "audit_directory", "'%s/pg_audit/cn_%d'" % (DefaultValue.getUserLogDirWithUser(self.user), localInst.instanceId)) elif(localInst.instanceRole == INSTANCE_ROLE_DATANODE): peerInsts = self.clusterInfo.getPeerInstance(localInst) if (len(peerInsts) != 2 and len(peerInsts) != 1): self.logger.logExit("Get peer instance failed!") masterInst = None standbyInst = None dummyStandbyInst = None nodename = "" for i in range(len(peerInsts)): if(peerInsts[i].instanceType == MASTER_INSTANCE): masterInst = peerInsts[i] elif(peerInsts[i].instanceType == STANDBY_INSTANCE): standbyInst = peerInsts[i] elif(peerInsts[i].instanceType == DUMMY_STANDBY_INSTANCE): dummyStandbyInst = peerInsts[i] if(localInst.instanceType == MASTER_INSTANCE): masterInst = localInst nodename = "dn_%d_%d" % (masterInst.instanceId, standbyInst.instanceId) elif(localInst.instanceType == STANDBY_INSTANCE): standbyInst = localInst nodename = "dn_%d_%d" % (masterInst.instanceId, standbyInst.instanceId) elif(localInst.instanceType == DUMMY_STANDBY_INSTANCE): dummyStandbyInst = localInst nodename = "dn_%d_%d" % (masterInst.instanceId, dummyStandbyInst.instanceId) self.modifyConfigItem(localInst, configFile, "listen_addresses", "'%s'" % ",".join(localInst.listenIps)) self.modifyConfigItem(localInst, configFile, "port", str(localInst.port)) self.modifyConfigItem(localInst, configFile, "pgxc_node_name", "'%s'" % nodename) self.modifyConfigItem(localInst, configFile, "log_directory", "'%s/pg_log/dn_%d'" % (DefaultValue.getUserLogDirWithUser(self.user), localInst.instanceId)) self.modifyConfigItem(localInst, configFile, "audit_directory", "'%s/pg_audit/dn_%d'" % (DefaultValue.getUserLogDirWithUser(self.user), localInst.instanceId)) if(localInst.instanceType == MASTER_INSTANCE): self.modifyConfigItem(localInst, configFile, "replconninfo1", "'localhost=%s localport=%d remotehost=%s remoteport=%d'" % (localInst.haIps[0], localInst.haPort, standbyInst.haIps[0], standbyInst.haPort)) if(dummyStandbyInst != None): self.modifyConfigItem(localInst, configFile, "replconninfo2", "'localhost=%s localport=%d remotehost=%s remoteport=%d'" % (localInst.haIps[0], localInst.haPort, dummyStandbyInst.haIps[0], dummyStandbyInst.haPort)) elif(localInst.instanceType == STANDBY_INSTANCE): self.modifyConfigItem(localInst, configFile, "replconninfo1", "'localhost=%s localport=%d remotehost=%s remoteport=%d'" % (localInst.haIps[0], localInst.haPort, masterInst.haIps[0], masterInst.haPort)) if(dummyStandbyInst != None): self.modifyConfigItem(localInst, configFile, "replconninfo2", "'localhost=%s localport=%d remotehost=%s remoteport=%d'" % (localInst.haIps[0], localInst.haPort, dummyStandbyInst.haIps[0], dummyStandbyInst.haPort)) elif(localInst.instanceType == DUMMY_STANDBY_INSTANCE): self.modifyConfigItem(localInst, configFile, "replconninfo1", "'localhost=%s localport=%d remotehost=%s remoteport=%d'" % (localInst.haIps[0], localInst.haPort, masterInst.haIps[0], masterInst.haPort)) self.modifyConfigItem(localInst, configFile, "replconninfo2", "'localhost=%s localport=%d remotehost=%s remoteport=%d'" % (localInst.haIps[0], localInst.haPort, standbyInst.haIps[0], standbyInst.haPort)) else: self.logger.logExit("current instance role is invalid [%s %s]." % (localInst.datadir, localInst,instanceRole))