MCPcopy
hub / github.com/NVIDIA/aistore / DeployNode

Function DeployNode

devtools/tutils/node.go:415–448  ·  view source on GitHub ↗
(t *testing.T, node *cluster.Snode, conf *cmn.Config, localConf *cmn.LocalConfig)

Source from the content-addressed store, hash-verified

413}
414
415func DeployNode(t *testing.T, node *cluster.Snode, conf *cmn.Config, localConf *cmn.LocalConfig) int {
416 conf.ConfigDir = t.TempDir()
417 conf.LogDir = t.TempDir()
418 conf.TestFSP.Root = t.TempDir()
419 conf.TestFSP.Instance = 42
420
421 if localConf == nil {
422 localConf = &cmn.LocalConfig{}
423 localConf.ConfigDir = conf.ConfigDir
424 localConf.HostNet.Port = conf.HostNet.Port
425 localConf.HostNet.PortIntraControl = conf.HostNet.PortIntraControl
426 localConf.HostNet.PortIntraData = conf.HostNet.PortIntraData
427 }
428
429 localConfFile := filepath.Join(conf.ConfigDir, fname.PlaintextInitialConfig)
430 err := jsp.SaveMeta(localConfFile, localConf, nil)
431 tassert.CheckFatal(t, err)
432
433 configFile := filepath.Join(conf.ConfigDir, "ais.json")
434 err = jsp.SaveMeta(configFile, &conf.ClusterConfig, nil)
435 tassert.CheckFatal(t, err)
436
437 args := []string{
438 "-role=" + node.Type(),
439 "-daemon_id=" + node.ID(),
440 "-config=" + configFile,
441 "-local_config=" + localConfFile,
442 }
443
444 cmd := getAISNodeCmd(t)
445 pid, err := startNode(cmd, args, false)
446 tassert.CheckFatal(t, err)
447 return pid
448}
449
450// CleanupNode kills the process.
451func CleanupNode(t *testing.T, pid int) {

Callers 2

_addNodeDuplicateIPFunction · 0.92

Calls 8

SaveMetaFunction · 0.92
CheckFatalFunction · 0.92
getAISNodeCmdFunction · 0.85
startNodeFunction · 0.85
TempDirMethod · 0.80
JoinMethod · 0.80
TypeMethod · 0.65
IDMethod · 0.65

Tested by 2

_addNodeDuplicateIPFunction · 0.74