提交 cc10c50a 编写于 作者: B Brian Johnson

Replaced hard coded directory names with common parameters and methods. GH #5674

上级 9758eea3
......@@ -30,6 +30,8 @@ class Cluster(object):
__BiosPort=8788
__LauncherCmdArr=[]
__bootlog="eosio-ignition-wd/bootlog.txt"
__configDir="etc/eosio/"
__dataDir="var/lib/"
# pylint: disable=too-many-arguments
# walletd [True|False] Is keosd running. If not load the wallet plugin
......@@ -745,6 +747,14 @@ class Cluster(object):
m=re.search(r"node_([\d]+)", name)
return int(m.group(1))
@staticmethod
def nodeExtensionToName(ext):
r"""Convert node extension (bios, 0, 1, etc) to node name. """
prefix="node_"
if ext == "bios":
return prefix + ext
return "node_%02d" % (ext)
@staticmethod
def parseProducerKeys(configFile, nodeName):
......@@ -783,8 +793,7 @@ class Cluster(object):
def parseProducers(nodeNum):
"""Parse node config file for producers."""
node="node_%02d" % (nodeNum)
configFile="etc/eosio/%s/config.ini" % (node)
configFile=Cluster.__configDir + Cluster.nodeExtensionToName(nodeNum) + "/config.ini"
if Utils.Debug: Utils.Print("Parsing config file %s" % configFile)
configStr=None
with open(configFile, 'r') as f:
......@@ -802,20 +811,20 @@ class Cluster(object):
def parseClusterKeys(totalNodes):
"""Parse cluster config file. Updates producer keys data members."""
node="node_bios"
configFile="etc/eosio/%s/config.ini" % (node)
nodeName=Cluster.nodeExtensionToName("bios")
configFile=Cluster.__configDir + nodeName + "/config.ini"
if Utils.Debug: Utils.Print("Parsing config file %s" % configFile)
producerKeys=Cluster.parseProducerKeys(configFile, node)
producerKeys=Cluster.parseProducerKeys(configFile, nodeName)
if producerKeys is None:
Utils.Print("ERROR: Failed to parse eosio private keys from cluster config files.")
return None
for i in range(0, totalNodes):
node="node_%02d" % (i)
configFile="etc/eosio/%s/config.ini" % (node)
nodeName=Cluster.nodeExtensionToName(i)
configFile=Cluster.__configDir + nodeName + "/config.ini"
if Utils.Debug: Utils.Print("Parsing config file %s" % configFile)
keys=Cluster.parseProducerKeys(configFile, node)
keys=Cluster.parseProducerKeys(configFile, nodeName)
if keys is not None:
producerKeys.update(keys)
keyMsg="None" if keys is None else len(keys)
......@@ -1183,11 +1192,8 @@ class Cluster(object):
@staticmethod
def pgrepEosServerPattern(nodeInstance):
if isinstance(nodeInstance, str):
return r"[\n]?(\d+) (.* --data-dir var/lib/node_%s .*)\n" % nodeInstance
else:
nodeInstanceStr="%02d" % nodeInstance
return Cluster.pgrepEosServerPattern(nodeInstanceStr)
dataLocation=Cluster.__dataDir + Cluster.nodeExtensionToName(nodeInstance)
return r"[\n]?(\d+) (.* --data-dir %s .*)\n" % (dataLocation)
# Populates list of EosInstanceInfo objects, matched to actual running instances
def discoverLocalNodes(self, totalNodes, timeout=None):
......@@ -1268,17 +1274,18 @@ class Cluster(object):
Utils.Print("File %s not found." % (fileName))
def dumpErrorDetails(self):
fileName="etc/eosio/node_bios/config.ini"
fileName=Cluster.__configDir + Cluster.nodeExtensionToName("bios") + "/config.ini"
Cluster.dumpErrorDetailImpl(fileName)
fileName="var/lib/node_bios/stderr.txt"
fileName=Cluster.__dataDir + Cluster.nodeExtensionToName("bios") + "/stderr.txt"
Cluster.dumpErrorDetailImpl(fileName)
for i in range(0, len(self.nodes)):
fileName="etc/eosio/node_%02d/config.ini" % (i)
configLocation=Cluster.__configDir + Cluster.nodeExtensionToName(i) + "/"
fileName=configLocation + "config.ini"
Cluster.dumpErrorDetailImpl(fileName)
fileName="etc/eosio/node_%02d/genesis.json" % (i)
fileName=configLocation + "genesis.json"
Cluster.dumpErrorDetailImpl(fileName)
fileName="var/lib/node_%02d/stderr.txt" % (i)
fileName=Cluster.__dataDir + Cluster.nodeExtensionToName(i) + "/stderr.txt"
Cluster.dumpErrorDetailImpl(fileName)
if self.useBiosBootFile:
......@@ -1350,9 +1357,9 @@ class Cluster(object):
return node.waitForNextBlock(timeout)
def cleanup(self):
for f in glob.glob("var/lib/node_*"):
for f in glob.glob(Cluster.__dataDir + "node_*"):
shutil.rmtree(f)
for f in glob.glob("etc/eosio/node_*"):
for f in glob.glob(Cluster.__configDir + "node_*"):
shutil.rmtree(f)
for f in self.filesToCleanup:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册