MCPcopy
hub / github.com/cubefs/cubefs / startMetanodeInSpecificNode

Function startMetanodeInSpecificNode

deploy/cmd/metanode.go:104–150  ·  view source on GitHub ↗
(node string)

Source from the content-addressed store, hash-verified

102}
103
104func startMetanodeInSpecificNode(node string) error {
105 config, err := readConfig()
106 if err != nil {
107 return err
108 }
109 files, err := ioutil.ReadDir(ConfDir)
110 if err != nil {
111 return err
112 }
113
114 for _, file := range files {
115 if strings.HasPrefix(file.Name(), "metanode") && !file.IsDir() {
116 data, err := readMetaNode(ConfDir + "/" + file.Name())
117 if err != nil {
118 fmt.Printf("Error reading file %s: %s\n", file.Name(), err)
119 return nil
120 }
121 if data.LocalIP == node {
122 var dataDir string
123 if config.MetaNode.Config.DataDir == "" {
124 dataDir = config.Global.DataDir
125 } else {
126 dataDir = config.MetaNode.Config.DataDir
127 }
128 confFilePath := ConfDir + "/" + file.Name()
129 err = transferConfigFileToRemote(confFilePath, dataDir+"/conf", RemoteUser, node)
130 if err != nil {
131 return err
132 }
133
134 err = checkAndDeleteContainerOnNode(RemoteUser, node, strings.Split(file.Name(), ".")[0])
135 if err != nil {
136 return err
137 }
138 status, err := startMetanodeContainerOnNode(RemoteUser, node, strings.Split(file.Name(), ".")[0], dataDir)
139 if err != nil {
140 return err
141 }
142 log.Println(status)
143 break
144 }
145
146 }
147 }
148
149 return nil
150}
151
152func getMasterAddrAndPort() ([]string, error) {
153 config, err := readConfig()

Callers 2

start.goFile · 0.85
restart.goFile · 0.85

Calls 11

readConfigFunction · 0.85
readMetaNodeFunction · 0.85
ReadDirMethod · 0.65
NameMethod · 0.65
PrintfMethod · 0.65
SplitMethod · 0.65
PrintlnMethod · 0.65
IsDirMethod · 0.45

Tested by

no test coverage detected